Você está na página 1de 7

Circuitos sequenciais

• Saídas dependem da sequência das entradas


– não basta uma tabela de verdade!
– Exemplo: controlo do nível de água num tanque:
electro-válvula
entrada
de água CHEIO VAZIO ABRE
ABRE
CHEIO
sistema
nível máximo 0 0 1
digital 0 1 0 ou 1
de
controlo VAZIO nível mínimo
1 0 d (nunca ocorre)
1 1 0
saída de água
o valor da saída ABRE depende
do que aconteceu antes nas entradas
FEUP/DEEC - Sistemas Digitais 105
http://www.fe.up.pt/~jca/feup/sd

Circuitos sequenciais têm memória


• A memória guarda a história das entradas até agora
– não significa uma lista interminável de zeros e uns...
– a história das entradas é codificada no estado do sistema
– o estado é armazenado em elementos de memória
– contém a informação a reter dos valores anteriores das
entradas
• No exemplo anterior
– sem memória seria impossível realizar o controlo de nível
• mesmo se fosse feito à mão por uma pessoa!...
– basta um bit para representar o estado: a encher ou a esvaziar
FEUP/DEEC - Sistemas Digitais 106
http://www.fe.up.pt/~jca/feup/sd

1
Variáveis de estado (num circuito digital)
• O estado é codificado em um ou mais bits
– a estes bits chamam-se “variáveis de estado”
– são guardados em memórias digitais (flip-flops)
• a estudar nos próximos episódios...
– geralmente são “internos” ao circuito
• Num sistema sequencial com N variáveis de estado
• existem 2N estados diferentes
• como N é finito, o número de estados também é finito
• Chamam-se “máquinas de estados finitos”
• em Inglês Finite State Machine - FSM

FEUP/DEEC - Sistemas Digitais 107


http://www.fe.up.pt/~jca/feup/sd

Como funciona?
• Num circuito sequencial (máquina de estados)
– para além do estado interno tem entradas e saídas

entradas saídas

estado

• O estado actual e as entradas definem:


– quais são os valores das saídas
– qual vai ser o próximo estado

FEUP/DEEC - Sistemas Digitais 108


http://www.fe.up.pt/~jca/feup/sd

2
Como funciona? (2)
• Os estados mudam a intervalos regulares
– sincronizados com as transições de um relógio

tL tH
período T (frequência=1/T Hz)
duty-cycle=tH/T (ciclo útil)

• Modelo conceptual: entradas


saídas

estado próximo
presente estado
estado
relógio (memória)

FEUP/DEEC - Sistemas Digitais 109


http://www.fe.up.pt/~jca/feup/sd

Elementos de memória
• Circuitos bi-estáveis
– portas lógicas “normais” com realimentação
– as saídas sustentam valores nas entradas
• O circuito bi-estável mais simples:
(as memórias estáticas são feitas assim!)

Q
Q,Qn pode ser 1,0 ou 0,1

Qn

FEUP/DEEC - Sistemas Digitais 110


http://www.fe.up.pt/~jca/feup/sd

3
Análise “analógica”
Vout

Vin Vout

Vin
Vout1
Vin1 1 Vout1 Vin2
pontos estáveis

Vin2 2 Vout2 instável!


Vin1
Vout2
FEUP/DEEC - Sistemas Digitais 111
http://www.fe.up.pt/~jca/feup/sd

Latch set/reset
Tp

R S R Q QN
Q
0 0 Q ant. QN ant.
0 1 0 1
1 0 1 0
QN 1 1 0 0 (inválido)
Tp S

S
R Q: qual a duração
mínima do pulso
Q em S ou R?
QN
t
FEUP/DEEC - Sistemas Digitais 112
http://www.fe.up.pt/~jca/feup/sd

4
Latch set/reset
• activando a entrada S (set) é colocado Q=1
• activando a entrada R (reset) é colocado Q=0
símbolo: S Q S Q

R QN R Q

Exemplo: controlo do nível de água com uma latch set/reset:


ABRE

R CHEIO
Q

QN
VAZIO
S

FEUP/DEEC - Sistemas Digitais 113


http://www.fe.up.pt/~jca/feup/sd

Latch set/reset com enable


S EN S R Q QN
Q 0 X X Q ant. QN ant.
EN 1 0 0 Q ant. QN ant.
1 0 1 0 1
QN
R 1 1 0 1 0
1 1 1 0 0 (inválido)

símbolo: S Q
EN
R QN

Q: o que acontece se R=S=1 e EN passa de 1 para 0 ?


FEUP/DEEC - Sistemas Digitais 114
http://www.fe.up.pt/~jca/feup/sd

5
Latch tipo D (ou transparente)
D EN D Q QN
Q
0 X Q ant. QN ant.
EN 1 0 0 1
QN 1 1 1 0

EN
símbolo: D Q
D

EN QN Q

Quando EN=1 a latch é transparente (Q=D)


Quando EN passa de 1 para 0, a saída Q memoriza o seu estado
Parâmetros temporais de uma latch tipo D: tsetup e thold
FEUP/DEEC - Sistemas Digitais 115
http://www.fe.up.pt/~jca/feup/sd

edge-triggered D flip-flop
(flip-flop tipo D)
Q1
D D Q D Q Q D CLK Q QN
1 2 X 0 Q ant. QN ant.
EN QN EN QN QN X 1 Q ant. QN ant.
1 1 0
CLK 0 0 1

CLK
CLK

CLK
D
Q1

latch 1 é transparente aqui latch 2 é transparente aqui


FEUP/DEEC - Sistemas Digitais 116
http://www.fe.up.pt/~jca/feup/sd

6
flip-flop tipo D
• quando CLK sobe captura o valor na entrada D
• símbolo: Q D Q D

CLK QN CLK QN

CLK activo na
indica que é edge-triggered transição negativa

• parâmetros temporais: tsetup e thold


CLK Q: o que acontece se estes
D tempos forem violados?
tsetup thold

FEUP/DEEC - Sistemas Digitais 117


http://www.fe.up.pt/~jca/feup/sd

Outros flip-flops edge-triggered


• tipo T (toggle):
T Q T CLK Q
0 Q ant.
CLK QN 1 Q ant.

J K CLK Q
• tipo JK: J Q 0 0 Q ant.
CLK 0 1 0
K QN 1 0 1
1 1 Q ant.

• outras entradas de controlo:


– com enable, com set ou reset assíncronos
FEUP/DEEC - Sistemas Digitais 118
http://www.fe.up.pt/~jca/feup/sd

Você também pode gostar