1. Poli – Dept. de Eng. Eletrônica e de Computação
Universidade Federal do Rio de Janeiro
Circuitos Lógicos
Aula 11
cruz@gta.ufrj.br http://gta.ufrj.br/~cruz
5. Clock
■ Sinal que oscila entre 0 e 1
■ Garante a sincronia dos circuitos
■ Fornecido por um gerador de clock
■ Ciclo de trabalho 50%
□ (ou seja: mesmo tempo em
nível lógico 1 e 0)
tempo
Nível
lógico
1
0
Período
6. Clock
■ Ligar o clock no enable
□ Limitar o tempo que o
circuito “aceita” entradas
tempo
Nível
lógico
1
0
Período
7. Problema
■ Pulso do clock é muito longo
□ Circuito está ativo 50% do
tempo
■ Quero uma forma de aceitar
entradas por apenas uma fração
do clock
□ Só quando o clock mudar
de estado
tempo
Nível
lógico
1
0
Período
8. Detecção de subida de clock
■ Portas possuem atraso (delay)
■ Sinal que passa por muitas portas
chega mais atrasado que sinal
‘direto’
■ AND de variável com a negação
dela mesma
□ Variável não tem atraso
□ Negação tem atraso
□ Porta AND vê 𝐴 ∙ 𝐴 por
fração de segundo
▪ 1 ∙ 1 quando variável
vai de 0 para 1
𝐴 𝐴
ҧ
𝐴
tempo
Nível
lógico
1
0
9. Detecção de descida de clock
■ Solução trivial
□ Colocar mais uma negação em cada entrada do AND
10. Detecção de descida com latches
■ Dois Latches são concatenados
■ Enable de um é a negação do enable do outro
11. Detecção de descida com latches
■ Enable = 1
□ Valor é “carregado” no primeiro
■ Enable = 0
□ Valor é carregado no segundo
□ Primeiro não pode mudar
12. Detecção de descida com latches
■ Enable = 1
□ Valor é “carregado” no primeiro
■ Enable = 0
□ Valor é carregado no segundo
□ Primeiro não pode mudar
A variação do enable de 1 -> 0 permitiu
a carga do valor no segundo latch (e o
aparecimento do valor na saída Q1)
13. Detecção de descida com latches
■ Enable = 1
□ Valor é “carregado” no primeiro
■ Enable = 0
□ Valor é carregado no segundo
□ Primeiro não pode mais mudar
tempo
Nível
lógico
1
0
15. Latch com clock
■ Quando um latch é excitável somente na borda de clock (subida ou descida), ele é chamado de flip-flop
16. Flip-flop SR
𝑪𝒍𝒌 𝑷𝒓 𝑪𝒍𝒓 𝑹 𝑺 𝑸
Subida 1 1 x x Qanterior
Descida 1 1 1 0 0
Descida 1 1 0 1 1
Descida 1 1 0 0 Qanterior
x 0 1 x x 1
x 1 0 x x 0
x x x 1 1 Proibido
17. Módulo flip-flop SR
■ Encapsula um FF SR
□ Entrada S
□ Entrada 𝑅
□ Entrada 𝑐𝑙𝑜𝑐𝑘
▪ De subida ou descida
□ Entrada clr
▪ “Clear” ou “reset assíncrono”
□ Entrada 𝑝𝑟
▪ “Preset” ou “set assíncrono”
□ Saída 𝑄
□ Saída ത
𝑄
18. Módulo flip-flop SR
𝑪𝒍𝒌 𝑷𝒓 𝑪𝒍𝒓 𝑹 𝑺 𝑸
Subida/0/1 1 1 x x Qanterior
Descida 1 1 1 0 0
Descida 1 1 0 1 1
Descida 1 1 0 0 Qanterior
x 0 1 x x 1
x 1 0 x x 0
x x x 1 1 Proibido
20. Latch D
■ Latch RS possui 3 entradas
□ Desnecessário quando só
queremos guardar uma
informação
□ Possui uma configuração
“proibida”
■ Latch D
□ Guarda informação que
chega na entrada D
▪ Se enable está ativo
21. Latch D
■ Latch D
□ Guarda informação que
chega na entrada D
▪ Se enable está ativo
𝑬 𝑫 𝑸
0 x Qanterior
1 0 0
1 1 1
23. Módulo flip-flop D
■ Encapsula um FF D
□ Entrada D
□ Entrada 𝑐𝑙𝑜𝑐𝑘
▪ De subida ou descida
□ Entrada R
▪ Reset assíncrono
□ Entrada S
▪ Set assíncrono
□ Saída 𝑄
□ Saída ത
𝑄
▪ Frequentemente omitida Imagem retirada da wikipedia
24. Módulo flip-flop D
𝑪𝒍𝒌 𝑺 𝑹 𝑫 𝑸
Descida/0/1 0 0 x Qanterior
Subida 0 0 0 0
Subida 0 0 1 1
x 1 0 x 1
x 0 1 x 0
Imagem retirada da wikipedia
25. Aplicação: registrador de deslocamento
■ FFs D cascateados
■ Entrada síncrona de dados
□ Clock pulsa a cada novo bit
■ FF 0 recebe da linha de dados
■ FF n envia dado ao FF n+1 Imagem retirada da wikipedia
26. Conversor serial/paralelo
■ Dados chegam de maneira serial
■ Dados são utilizados de maneira
paralela
■ Registrador de deslocamento
recebe dados seriais
□ “Lembra” de dados
anteriores Imagem retirada da wikipedia
29. Flip-flop JK
■ Latch SR realimentado por 𝑄 e ത
𝑄
□ Realimentação no enable
𝑬 𝑱 𝑲 𝑸
0 x x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
1 1 0 1
1 0 1 0
1 0 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
1 1 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
30. Flip-flop JK
■ Estado inverte se J=K=1
□ Circuito pode oscilar
■ Clock de subida ou descida
□ Força apenas uma inversão
𝑪𝒍𝒌 𝑱 𝑲 𝑸
0 x x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 1 0 1
Subida 0 1 0
Subida 0 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 1 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
31. Módulo flip-flop JK
■ Encapsula as funcionalidades do FF JK
□ Entrada J
□ Entrada K
□ Entrada 𝑐𝑙𝑜𝑐𝑘
▪ De subida ou descida
□ Entrada clr
▪ “Clear” ou “reset assíncrono”
□ Entrada 𝑝𝑟
▪ “Preset” ou “set assíncrono”
□ Saída 𝑄
□ Saída ത
𝑄
32. Módulo flip-flop JK
■ Encapsula todas as
funcionalidades do FF JK
𝑪𝒍𝒌 𝑷𝒓 𝑪𝒍𝒓 𝑱 𝑲 𝑸
Subida/0/1 1 1 x x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Descida 1 1 1 0 1
Descida 1 1 0 1 0
Descida 1 1 0 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Descida 1 1 1 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
x 0 1 x x 1
x 1 0 x x 0
34. Flip-flop T (toggle*)
■ FF JK cujas entradas são
conectadas
“Toggle” significa “alternar”
𝑪𝒍𝒌 𝑻 𝑸
0 x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
35. Módulo Flip-flop T
■ FF JK cujas entradas são
conectadas
𝑪𝒍𝒌 𝑻 𝑸
0 x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓 Imagem retirada da wikipedia
36. Conclusões
■ Lembram um bit
□ Setar (bit = 1)
□ Resetar (bit = 0)
■ Trabalham de maneira síncrona
□ Entrada clock decide quando
valor pode ser alterado
■ Possuem entradas assíncronas
□ Preset
□ Reset/clear
Lembrança permite nos construir
circuitos sequenciais
Imagem dos FFs D e T
retiradas da wikipedia
37. Próxima aula
■ Divisor de frequência
■ Contador
■ Estado de um circuito sequencial
■ Máquina de estados