Você está na página 1de 5

2

Circuitos Seqenciais Sistemas Digitais


Muitos sistemas digitais so pulsados ou clocked. Isto , eles operam em sincronismo com um trem de pulsos de perodo T chamado relgio (clock).
T Qn Qn+1

Aula 10 GRECO-CIN-UFPE

A cada transio de clock dizemos que a mquina passa para um prximo estado. Se considerarmos um certo Qn a sada em um dado ponto do sistema no intervalo precedendo o nth pulso de clock, ento Qn+1 a sada correspondente no intervalo imediatamente depois no nth pulso. Tal sistema onde os valores Q1, Q2, Q3, ... Qn so obtidos em seqncia no tempo em intervalos T chamado um sistema lgico seqencial.
1

Registradores
So dispositivos que armazenam vetores de diferentes dimenses. Estas informaes so armazenadas no registrador mediante um sinal de carga externo de carga ( ), e podem ser usadas por outras partes do circuito. Os elementos ou clulas bsicas que compem os registradores so Latches ou Flip-Flops. Os registradores podem armazenar dados e tambm desloc-los para a direita ou para a esquerda.
Registradores que permitem deslocamento de seus dados so denominados Registradores de Deslocamento (Shift-Register). Desloca para a direita Desloca para a esquerda

Registradores - (transferncia paralela)


-Quando o pulso aplicado a entrada Clk (clock) a entrada carregada no registrador. -O sinal de entrada D0-D3 deve permanecer inalterado durante a transao.

E N T R A D A Pulso

Componente comercial

171
12 CLK 13 CLR 11 5 4 14 D3 D2 D1 D0 Q3 Q3 Q2 Q2 Q1 Q1 Q0 Q0 9 10 7 6 2 3 1 15

TTL 74171

Transferncia de informao
Transferncia em paralelo a1 a2 a3 a4 b1 b2 b3 b4

Transferncia de informao
Transferncia serial
0

A linha serial

X x1 x2 x3

a1

a2

a3

(pulso de transferncia)
tempo do A e X aps da transferncia evento transferncia A X A<- [1,0,1] X<- [0,0,0] [1,0,1] [0,0,0] 0 : A<-SR([1,0,1]) X<-SR([1],[0,0,0]) [0,1,0] [1,0,0] 1 : A<-SR([0,1,0]) X<-SR([0],[1,0,0]) [0,0,1] [0,1,0] 2 : A<-SR([0,0,1]) X<-SR([1],[0,1,0]) [0,0,0] [1,0,1] 3 : Aps a transferncia ao valores nos registradores A e X so:

Transferncia serial a1 a2 a3 a4 b1 b2 b3 b4

(pulso de transferncia)

A := [0,0,0] X := [1,0,1]

Exemplo circuito sequencial utilizando Flip-flop tipo D

a 1 0 00 1 1 0 1
D C Q Q D C Q Q

b 01 0
D C Q Q

c 0 1 0

Projetos de circuitos sncronos


Clock controlado por gates para controle de dados em registradores (no recomendado)

Mudana de estado
D=1 D=0 a= 0 b= 1 c= 0 D=1 a= 1 b= 0 c= 1 Enable Clock Clock enable D
D FF D Q

Clock Enable Clock enable


Q

Flip-Flop

a=0 a= 1 b=0 b=0 c=0 c=0

Glitch t independe do tempo do clock alto, o que interessa a transia do clock

Obs: Flip-Flop carrega valor na subida do clock

Carga da informao

10

Projetos de circuitos sncronos


Controle de enable direto no mux interno do registrador. O clock livre e atua direto no circuito do Flip-flop. (opo recomendada)

Entradas Multiplexadas
MUX X

: X <- (A

(T=[1]) V B (T=[2]) V C (T=[3]))

O que acontece com T = [0] ? ou qualquer outro valor no especificado na equao? - A expresso a esquerda ser nula, logo: X <- 0

D Enable Clock

FF D

Clock Enable
A B C

: X <- (X

(T=[0]) V A (T=[1]) V B (T=[2]) V C (T=[3]))

Carga da informao Obs: Flip-Flop carrega valor na subida do clock

Obs: Nesse caso se T=[0] o contedo de X permanece inalterado

11

Registrador de deslocamento - Shift Register


Registradores de deslocamento so dispositivos adequados para converso Serial-Paralela-Serial normalmente utilizados em sistemas de comunicao em terminais de computadores. Exemplo: Registrador de deslocamento (direita/esquerda)
Para a direita Desloca uma posio em todos os elementos do registrador da esquerda para a direita. O bit menos significativo (LSB-bit mais a direita) realimenta o bit mais significativo (MSB - bit mais a esquerda) do registrador ou um novo bit adicionado ao deslocamento. Para a esquerda Desloca uma posio em todos os elementos do registrador da direita para a esquerda. O bit Mais significativo (MSB-bit mais a esquerda) realimenta o bit menos significativo (LSB - bit mais a direita) do registrador ou um novo bit adicionado ao deslocamento.

Registrador de Deslocamento
O circuito pode realizar diferentes dependendo do sinal de controle. funes
: A <- (T=[0]) A v (T=[1] SR(x,A,) v (T=[2]) SL(A,x) T Operao [0] A <- A [1] A <- SR(x,A) A2 A1 [2] A <- SL(A,x) [3] A <- [0] [4] A <- B (load)
x
0 b2 1 0 2 3MUX 4 T

Q cQ

0 b1

1 0 2 3 MUX 4 T

Q cQ

1 0 2 MUX 3 x 0 4 b0 T

V V

10 2 MUX 3

A B C

12

A0

D Q
cQ

Registrador de deslocamento
( Shift Register ) (deslocamento para a direita)
A2 A1 A0

14

Registrador de deslocamento
Entrada Serial vs. Paralela Sada Serial vs. Paralela Direo de deslocamento:Esquerda vs. Direita Entradas Seriais LSI (Left Serail Input) RSI(Right Serial Input) Entradas Paralelas: D, C, B, A Sadas Paralelas: QD, QC, QB, QA Sinal de Clear Dispositivo trigado na subida do relgio

x
0 b2

1 0 2 MUX 3 4 T

Q cQ

0 b1

1 0 2 MUX 3 4 T

Q cQ

1 0 2 MUX 3 x 0 4 b0 T

D Q
cQ

74194

Controle
shift A2 A1 A0

T=3 T=4 T=1

T=1
74194 4-bit Universal Shift Register

0 0 0

1 0 0

0 1 0

0 0 1

S1,S0 determina a funo de deslocamento S1 = 1, S0 = 1: Carrega na subida do relgio - Carga sncrona S1 = 1, S0 = 0: Desloca para Esquerda na subida do relgio - LSI substitui o elemento D S1 = 0, S0 = 1: Desloca para Direita na subida do relgio - RSI substitui o elemento A S1 = 0, S0 = 0: Preserva os valores

15

16

Registrador de Deslocamento
Converso Paralelo <=> Serial
Sender S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR Receiver S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR D7 D6 D5 D4 Clock D7 D6 D5 D4

Diagrama de estados
Diagrama de estados uma tcnica de projeto que permite ao projetista representar graficamente o funcionamento comportamental de uma mquina de estados finita (fsm). Cada diagrama de estados consiste de um conjunto identificado por vrtices que correspondem aos estados do circuito e por arcos que indicam a transio entre estados. Cada par de vrtices (no necessariamente distintos) so conectados por um arco direcionado indicando a transio de um estado para outro. Este arco existe apenas se um determinado sinal de entrada fora a mudana de estado da mquina de um estado Qj para o estado Qk.

Entradas Paralelas

Sadas Paralelas
D3 D2 D1 D0

D3 D2 D1 D0

Transmisso Serial

17

18

Diagrama de estados - Mealy


Se um arco direcionado conecta Qj a Qk quando a entrada da mquina for ak , ento o arco entre os dois estados representado por: a /F(a ,Q ) Qj k k j ak /F(ak ,Qj ) Qk vrtices entrada controle (sada) * Mquina Mealy - Observe que a sada funo da entrada e do estado atual Assim vemos que:
Vrtices correspondem ao estado corrente do circuito. O cdigo descrito no arco representa entrada corrente e a sada corrente. A indicao da direo do arco indica o prximo estado

Diagrama de estado - aplicao


Exemplo: Projete um circuito que gere sada 1 quando for observado 3 uns 1s consecutivos na entrada. Nos demais casos a sada deve ser zero (0). 0/0 1/0 0 0 1o um (1) nenhum 1 0 Q0 0/0 0/0 Q1

Q2 1 2o um(1) 1/1

1/0

19

20

Converso do diagrama de estados


Variveis de entrada Tabela Q x Q0 Q1 Q2 de estados 0 1 Q0/0 Q1/0 Q0/0 Q2/0 Q0/0 Q2/1 0/0 Q0 0/0 0/0 sada prximo estado 1/1 Codificao de estados: Q0 -> 00 Q1 -> 01 Q2 -> 10 Tabela Q x 00 01 10 de transio 0 1 00/0 01/0 00/0 10/0 00/0 10/1 Q2 Q1 1/0

Implementao do circuito
Tabela verdade
entrada x 0 0 0 0 1 1 1 1 estado presente y1 y2 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 prximo estado y1+t y2+t 0 0 0 0 0 0 X X 0 1 1 0 1 0 X X Flip-Flop J1 K1 J2 0 X 0 0 X X X 1 0 X X X 0 X 1 1 X X X 0 0 X X X K2 X 1 X X X 1 X X sada Z 0 0 0 X 0 0 1 X

estado presente

1/0

* Implementao da mquina de estados usando Flip-Flop tipo JK

21

22

Implementao do circuito
Equaes booleanas y1(t+1) = x y1 + x y2
y1y2 x 0 1 00 01 11 10 0 0 X 0 0 0 X 0 x 0 1

Implementao do circuito
x Z
00 01 11 10 0 0 X 0 0 0 X 1
J1 Q

y2(t+1) = x y1 + x y2
y1y2 00 01 11 10 0 0 X 0 1 0 X 1 x 0 1

Z = x y1
y1y2

J1 = xy2
y1y2 x 0 1 00 01 11 10 0 0 X X 0 1 X X

J2 = y1x
y1y2 x 0 1 00 01 11 10 0 X X 0 1 X X 0
FF JK

y1

K1

K1 = x
y1y2 x 0 1 00 01 11 10 X X X 1 X X X 0

K2 = 1
y1y2 x 0 1 00 01 11 10 X 1 X X X 1 X X 1

J2 K2

FF JK

y2

clock

23

24

Contadores
So mquinas seqenciais (FSMs) que possuem uma seqncia de estados bem definida em resposta a sinal de contagem. Os contadores podem contar para frente ou para trs (up/down) e podem ser construdos por diferentes tipos de Flip-Flops. A sada de um contador expe o estado atual da mquina de estados. Exemplo:
Contador de 2 bits: 00, 01, 10 ,11 (contador mdulo 4) Contador de 4 bits: 0000, ...., 1111 (Contador binrio de 4 bits - mdulo 16)

Contadores - implementao
Implementar um contador sncrono octal

Exemplo Contador binrio de 3 bits Estado Prximo Flip-flops Presente Estado tipo T Implementao com C B A C+ B+ A+ TC TB TA Flip-Flops tipo T(Toggle) 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 Diagrama de Tabela de Transio Tabela de entrada transio de de Estados dos Flip-Flops
estados

25

26

Contadores - implementao
Mapa K para Flip-Flops tipo T
CB A 0 1 00 1 1 01 1 1 B TA = 1 C 00 0 1 0 1 01 0 1 B TB = A C 00 0 1 0 0 01 0 1 11 0 1 10 0 0 11 0 1 10 0 1 11 1 1 C 10 1 1

Contadores
Contador Sncrono - 74163
7 P 10 T 163 15 2 CLK RCO 6 5 4 3 9 1 D C B A LOAD CLR QD QC QB QA 11 12 13 14

S TA Q CLK Q R \Reset Count

QA

S TB Q CLK Q R

QB

QC S TC Q CLK Q R

- Sinais de entrada Load and Clear sncronos (sincronizados com o relgio) - Flip-Flop trigados na subida do relgio - Load Paralelo a partir dos sinais de entrada D, C, B, A - P, T Enable Inputs: Ambos os sinais devem ser habilitados para permitir contagem quando o contador atinge o ltimo estado 1111. Este sinal normalmente usado quando queremos cascatear contadores.

CB A

Diagrama de tempo
100 \Reset QC QB QA Count

CB A

Contador UP sncrono - RCO ("Ripple Carry Output") acionado de 4-Bits (74163)

B TC = A B

27

28

Diagrama de tempo do 74163


CLR LOAD A B C D CLK

Projeto - Sntese Lgica


Implementar uma mquina de vender bombom
Caractersticas: Recebe moedas de 5 e 10 centavos No d troco Libera bombom quando valor recebido igual ou superior a 15 centavos Diagrama de estados
Reset 0

P T QA QB QC QD RCO Clear 12 Load 13 14 15 Count 0 1 2 Inhibit

Na subida do relgio

C 5 D

Obs: Implementar projeto com Flip-Flop tipo JK

C 10 D C, D 15 [open]

29

Projeto - Sntese Lgica


0/0 Reset 0 C/0 0/0 5 D/0 C/0 10 D/0 C, D/0 15 [open] 0/0

Present INPUT D C State 0 0 0 0 1 1 0 1 1 5 0 0 0 1 1 0 1 1 10 0 0 0 1 1 0 1 1 15 X X

Next State 0 5 10 X 5 10 15 X 10 15 15 X 15

Output Open 0 0 0 X 0 0 0 X 0 0 0 X 1

Q1 D Q0 N N \ Q0 Q0 \N Q1 N Q1 D

D1 D CLK R \reset

Q1

Q \ Q1

OPEN

D0 CLK

Q RQ

Q0 \ Q0

\reset