circuitos seqüenciais latches e flip-flopsromulo.camara/novo/wp-content/... · flip-flop (ff) •...
TRANSCRIPT
UNIVASF Eletrônica Digital I
Circuitos Seqüenciais
Latches e Flip-Flops Material do professor Rodrigo Ramos (UNIVASF)
Circuitos Seqüenciais
Circuitos Digitais
Combinatório: As saídas, em qualquer instante,
das entradas.
dependem somente
Seqüencial: Possui uma realimentação da saída para a entrada
(estado interno) – A saída depende da entrada e do estado interno.
Estes dispositivos possuem memória.
Circuito Seqüencial
Entrada Saída
Entrada Saída
Estado interno
2
Circuito
Combinatório
Circuito
Combinatório
Flip-Flop (FF)
• Também chamado de latch ou multivibrador biestável por possuir
dois
-
-
-
estados estáveis 0 e 1.
Elementos básicos de contadores e registradores.
Denominação latch é mais usada para circuitos simplificados.
Termo Flip-flop usado para latches com relógio e circuito mais
complexo.
• Tem a função de armazenar níveis lógicos temporariamente,
funcionando como uma memória.
• É implementado a partir de portas lógicas, através de conexões de
realimentação.
• Existem diversas combinações de conexões e portas lógicas,
levando a diferentes tipos de FFs.
3
Flip-Flop (FF)
Representação básica do Flip-Flop
- -
-
-
-
Duas saídas opostas denominadas Q e Q'.
Q saída normal ; Q' saída invertida (nível lógico oposto a Q)
Estado ALTO = SET (setar o FF)
Estado BAIXO = RESET ou CLEAR (ressetar ou limpar o FF)
Pode haver uma ou mais entradas para comutar estados
4
Latch SR com portas NAND
Circuito de armazenamento mais simples, em que as portas são •
conectadas de modo cruzado. • •
•
•
Q e Q' são as saídas do latch.
Entrada Entrada
Sempre
SET seta o latch (Q = 1 e Q' = 0). RESET resseta (limpa) o latch (Q = 0 e Q' = 1).
que se deseja mudar as saídas, deve-ser colocar uma
das entradas em nível BAIXO (entradas ativas quando BAIXO). • Conhecido como latch estático.
Entradas SET = 1 e RESET = 1 deixam o latch no estado de bit) repouso (saídas não mudam – latch inalterado, 'lembra' o
5
Latch SR com portas NAND
Setando o latch
• Quando SET é pulsada em nível BAIXO, saída é Q = 1.
• Se Q = 1, antes do pulso, seu estado não muda.
6
Latch SR com portas NAND
Ressetando o latch
• Quando RESET é pulsada em nível BAIXO, saída é Q = 0.
• Se Q = 0, antes do pulso, seu estado não muda.
7
Latch SR com portas NAND
Setando e Ressetando o latch simultaneamente
• Quando SET e RESET são pulsadas em nível BAIXO ao mesmo
tempo, temos Q = 1 e Q' = 1.
• Inconsistência, uma vez que as saídas são complementares.
• Além disso, como a simultaneidade absoluta não é possível, a
estado por último:
Q = 0 (latch
saída vai ser dada pela entrada que mudar de • Se RESET = 0 antes de SET, saída seria
ressetado). • Caso SET = 0 antes de RESET, saída seria Q = 1 (latch
setado)
• Portanto, esta condição (RESET = SET = 0) não é usada.
8
Latch SR com portas NAND
Resumo das operações
• As saídas R e S são
S
1
1
0
0
ativas em
R
1
0
1
0
nível 0.
Qn+1
Q n
0
1
Não usada 9
Latch SR com portas NAND
Representação alternativa
• •
Entradas são ativas em nível BAIXO
Costuma-se usar a representação alternativa para NAND
10
Latch SR com portas NAND
Exemplo: As formas de onda abaixo são aplicadas na da
entrada saída
de Q, um latch SR. Determine a
= forma de onda
considerando inicialmente Q 0.
11
Latch SR com portas NOR
• Circuito equivalente ao anterior, usando portas NOR.
• Saídas agora estão em posições trocadas.
• Entradas ativas nível ALTO.
S
0
0
1
1
R
0
1
0
1
Qn+1
Q n
0
1
Não usada 12
Latch SR com portas NOR
Exemplo: Os sinais S e R são aplicados nas entradas de um latch
constituído por portas NOR. Determine o sinal de saída, considerando
inicialmente Q = 0.
13
Latch SR
Aplicação: Chave sem Trepidação
• Na chave mecânica há
trepidação de contato (contact bounce).
• Se a chave sai da 1 para
2, R = 1 e S = 0 Qout = 1.
• Se o contato é desfeito,
R = 1 e S = 1 Qout = 1
14
Estado do latch quando energizado
• Não é possível prever estado inicial da saída.
• Depende de fatores como atraso de propagação, capacitâncias
parasitas e carga externa.
• Para garantir uma operação adequada, o latch deve ser
colocado em um estado desejado
• •
Se Se
setado (Q ressetado
= 1), ativa-se SET momentaneamente.
(Q = 0), ativa RESET momentaneamente.
15
Latch SR Controlado
Latch comandado por entrada ENABLE (latch dinâmico)
Em muitos casos, é conveniente ligar ou isolar o latch de um circuito. •
• Um sinal externo de habilitação determina o instante de atualização
das saídas Q e Q'.
• Se ENABLE = 0, Q e Q’ permanecem inalterados (S’ = 1 e R’ = 1).
• Se ENABLE = 1, o latch funciona normalmente, com entradas ativas em 1. 16
Latch SR Controlado Aplicação
• Linha de dados que mudam com o tempo (ex. Barramento).
• Em um dado instante, deseja-se capturar um bit. Para isto, habilita-se o latch
e Q seguirá a entrada D. • •
Para manter o dado salvo, desabilita-se o latch.
Chamado de latch tipo D (transparente).
Alteração dos níveis de
saída ocorre na transição
do sinal C (ENABLE) de 0
para 1.
17
Sinais de Clock e Latches
Portas lógicas introduzem atrasos de propagação nos sinais, o que •
pode levar a níveis não desejados chamados perigos (harzards), principalmente em circuitos com memória.
• Um meio de minimizar estes problemas é trabalhar com sinais
síncronos (sistemas digitais síncronos). • Mudanças de estado são determinados por um sinal denominado
relógio (clock). • O clock é geralmente um trem de pulsos retangulares (ideal),
distribuídos por todos os circuitos. • Saídas mudam de estado na transição do sinal de clock (bordas).
18
Sinais de Clock e Latches
A sincronização é geralmente feita com latches com clock, projetados •
para mudarem de estado em transição do clock.
• A velocidade de operação depende da freqüência com que ocorrem
os ciclos de clock. • Um ciclo de clock é medido de uma borda de decida até a
próxima borda. • •
O O
tempo de um ciclo é chamado de período (T) – segundos/ciclos
inverso do período é a freqüência (f) – ciclos/segundo (Hz)
19
Sinais de Clock e Latches Latch controlado por clock – principais características
Latches com clock (relógio) têm entrada CLK, CK ou CP. •
• Podem ter uma ou mais entradas de controle, que não terão efeito até que a
habilitação pelo clock ocorra (entradas de controle síncronas).
• As entradas de controle deixam o latch pronto para mudar de estado quando
ocorrer a habilitação pelo clock.
• Se CLK = 0, Q e Q’ permanecem inalterados (S’ = 1 e R’ = 1);
• Se CLK = 1, o latch funciona normalmente, com entradas ativas em 1.
20
Sinais de Clock e Latches
• O pulso de clock sincroniza a atualização das saídas Q e Q’.
Clk
0
1
1
1
1
R
X
0
0
1
1
S
X
0
1
0
1
Q n+1
Q n
Q n
1
0
Erro
21
R Q
Clk
S Q’
Sinais de Clock e Latches
Limitação do latch como elemento armazenador
• Sistemas digitais síncronos: • Sinal comum de sincronismo para os elementos
armazenadores • Saídas de elementos armazenadores podem ser entradas
para outros.
• Nestes casos, surge séria dificuldade.
22
Sinais de Clock e Latches Limitação do latch como elemento armazenador
Considere a figura abaixo: cascata de dois latches com clock (registrador de •
deslocamento).
•Por conta do atraso de propagação ser menor que pulso de clock, apenas uma transição de C altera o estado de ambos os latches (Problema da corrida)
• Uma forma de
contornar o problema
é fazer o pulso menor
(estreito) • No entanto, isto leva
a dificuldades de
ativação do latch e de
distribuição dos
pulsos.
23
Flip-Flop Mestre-Escravo
• Denomina-se Flip-Flop um latch cujo problema da corrida seja resolvido
(latches não-transparentes).
• O FF mestre-escravo consiste de dois latches individuais com portas
de entrada de dados e de acoplamento.
• O clock aplicado nas portas de entrada é complementar às portas de
acoplamento.
• Quando o clock habilita as portas de entrada (desabilitando as portas
de acoplamento), os dados são registrados nos terminais S e R,
• Quando as portas de acoplamento são habilitadas (desabilitando as de
entrada), os dados são transferidos para a saída.
24
est e Escravo Flip-Flop M r -
25
st e Escravo Flip-Flop Me r -
1
Relógio Problema resolvido
da corrida 0
1 (registrador de
deslocamento com FFs em cascata).
26
Q M
0 1
Q S
0
p
t a
t a
s
Flip-Flop Mestre-Escravo
• Diagrama de tempo
27
Flip-Flop Mestre-Escravo
• Problema da detecção de 1s.
No instante t , Q = 1, ao contrário 2 do que se esperava. Isto ocorre •
porque o clock permaneceu ativo.
• Solução: FFs gatilhados pela borda. 28
Flip-Flop SR Gatilhado pela Borda
Mudança no nível de saída só ocorre na borda de transição do clock •
(resolve problema de detecção de 1's do mestre-escravo).
• Consideraremos a versão simplificada. O circuito detector de borda
produz um pulso estreito e positivo CLK*.
• As portas habilitadores de entrada direcionam o pulso para a entrada
desejada.
• •
S S
= =
1 0
e e
R R
= =
0, 1,
pulso pulso
CLK* CLK*
é é
invertido invertido
pela pela
porta porta
1 2
e e
SET = 0 → Q = 1
RESET = 0 → Q = 0
29
Flip-Flop SR Gatilhado pela Borda
Exemplo de implementação do detector de borda.
•
•
Inversor produz atraso de alguns ns, de forma que a transição em CLK'
ocorra um pouco após a de CLK. • A porta AND produz spike quando ambos estão em nível ALTO
(BAIXO). • Resulta em pulso estreito CLK* na borda de subida (descida) do sinal.
Detector de borda positiva Detector de borda negativa
• •
A duração dos pulsos é normalmente de 2 a 5 ns. 30
Q só é afetada por S e R neste período curto.
Flip-Flop SR Gatilhado pela Borda
• Triângulo na entrada de clock CLK é usado para representar
gatilhamento pela borda.
• Consideraremos, a partir de agora, que todos os FFs são
gatilhados pela borda, a menos que afirmado o contrário. 31
32
Flip-Flop SR Gatilhado pela Borda
Exemplo: Para os sinais e R da figura, determinar
sinal em Q (Qi=0).
S o
Observe que o FF não é
afetado pelas bordas de
subida do clock.
Os sinais S e R só têm
efeito na ocorrência da
borda de subida (são
chamadas de entrada de
controle síncrona).
Flip-Flop SR Gatilhado pela Borda
Exemplo: O que acontece na saída Q nos instantes b, f e h, se as formas
de onda forem aplicadas a um FF gatilhado pela borda de descida?
• Em b, nível ALTO; em f, nível BAIXO; em h, nível ALTO. 33
Flip-Flop JK
Para o FF SR, evita-se a condição S = R = 1, por conta de um resultado •
indeterminado na saída.
•
•
Pode-se modificar o FF SR para permitir esta condição: FF JK.
Neste caso não há condição proibida, e surge o modo de comutação
(toggle mode).
• A modificação sugere que não só S e R modifiquem a saída, mas
também o próprio estado do FF (a realimentação é responsável).
Tabela Verdade
n+1 Q J
clock
K Q
34
J K Q
0 0 Qn (não muda)
1 0 1 0 1 0
1 1 Qn' (comuta)
Latch SR
Flip-Flop JK Gatilhado pela Borda • Versão simplificada, idêntica ao SR, com exceção das realimentações.
• Observe que, se CLK* não for muito estreito, os novos valores de Q e Q'
farão com que o FF comute novamente. 35
Flip-Flop JK Gatilhado pela Borda
Exemplo: Dadas as entradas J, K e CLK, determine a saída Q (assumir Qi=1).
36
• Equ va en e ao FF JK com um nve so en e as du • D en ada de con o e síncrona dado • Ope ação Q segue D na bo da de sub da em CLK
37
as en adas D e CLK de e m ne a sa da Q Q =1
Flip-Flop D Gatilhado pela
tr
Borda
i l
tr
r
t i r r )
as entradas
: tr l (
: r i .
Exemplo: Dadas tr , t r i í ( ). i
Flip-Flop D Gatilhado
Circuito alternativo:
pela Borda
•
Se C =
Para D
Para D
0, S' = R' = 1 → Q n+1 = Q
n
S' = 1 e R'
S' = 0 e R'
•
•
•
•
= 0, se C vai para 1, = 1, se C vai para 1,
= 0 → Q = 0 (Q = D). = 1 → Q = 1 (Q = D).
Qualquer alteração em D quando C = 1 não produz efeito (gatilhado
pela borda).
38
Flip-Flop D Gatilhado pela Borda
Aplicação: Transferência em Paralelo de Dados
No momento da aplicação
do pulso, dados X, Y e Z
serão transferidos para Q1,
Q2 e Q3 e armazenados.
Estes dados podem ser
usados posteriormente.
39
A cada bo da de sub da de CLK FF chave a toggle quand
Flip-Flop T Gatilhado pela Borda
• Equivalente ao FF JK com as duas entradas conectadas.
• r i , i ( ) o T = 1.
T T
T CLK Q n+1
0 Q n
1 Qn’ 40
Flip-Flop T Gatilhado pela Borda
Aplicação: Divisor de Freqüência 5V
clock
Q b Q
a
T clock
clock F
Qb
F Qb
=
=
F Qa / 2
/ 4
•
•
T Qa
Q a Fclock
T Qb
Q b
41
T Q
Clk
Q’
T Q
Clk
Q’
Entradas Assíncronas
• FFs estudados até agora possuem apenas entradas de
controle síncronas (efeito sincronizado com clock).
• Muitas vezes é necessário incorporar entradas
independentes, que coloquem FF em estado 0 ou 1 em qualquer instante.
• Estas entradas independem de qualquer outra entrada de
controle e são chamadas entradas assíncronas ou diretas.
• Podem ser usadas para manter o FF em um estado
particular por qualquer intervalo de tempo desejado.
42
4
Flip-Flop JK com Entradas Assíncronas
Entradas de Set direto (S ' ou PRESET') e Reset direto d (R '
d ou CLEAR') •
• •
•
•
•
Entradas assíncronas ativas em nível BAIXO. Prevalecem sobre todas as entradas de controle.
S ' d
S ' d
S ' d
=
=
=
1
1
0
e
e
e
R ' d
R ' d
R ' d
=
=
=
0
0
0
→
→
→
RESET (Q = 0)
SET (Q = 1)
Não usada (ambigüidade).
3
K
J
Flip-Flop JK com Entradas Assíncronas
• As entradas PRESET' e CLEAR' atuam diretamente nas saídas
Q e Q’, independentemente do pulso de clock e das entradas J e K.
u PRESET’
1
0
1
1
1
1
CLEAR’
0
1
1
1
1
1
CLK
X
X
J
X
X
0
0
1
1
K
X
X
0
1
0
1
Q n+1 PRESET
0
1
Q
() - ~
- J Q
r-.. '--' >CLK n
0
1
Q ’
- - - K Q
C)
n CLEAR n
44
Flip-Flop JK com Entradas Assíncronas
Exemplo: Dadas as entradas, determine o sinal na saída Q (Q =1) i
45
Símbolos IEEE / ANSI
(a) Um único FF J-K disparado por borda negativa;
(b) CI comercial 74LS112, relativo a um duplo FF J-K disparado por
borda negativa – subentende-se que os dois FF são iguais.
O 1 em C1 e 1J e 1K indica que C controla J e K.
Controlador1 controla 1Controlado
46
Símbolos IEEE / ANSI
(a) Um único FF D disparado por borda positiva;
(b) CI comercial 74HC175, relativo a um quádruplo FF D disparado por
borda positiva, com clock e CLEAR comuns (não possui PRESET).
47