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
Na última aula
■ Latch
■ Flip-flop
□ SR
Hoje
■ Flip-flops
□ SR
□ D
□ JK
□ T
Clock
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
Clock
■ Ligar o clock no enable
□ Limitar o tempo que o
circuito “aceita” entradas
tempo
Nível
lógico
1
0
Período
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
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
Detecção de descida de clock
■ Solução trivial
□ Colocar mais uma negação em cada entrada do AND
Detecção de descida com latches
■ Dois Latches são concatenados
■ Enable de um é a negação do enable do outro
Detecção de descida com latches
■ Enable = 1
□ Valor é “carregado” no primeiro
■ Enable = 0
□ Valor é carregado no segundo
□ Primeiro não pode mudar
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)
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
Flip-flop SR
Latch com clock
■ Quando um latch é excitável somente na borda de clock (subida ou descida), ele é chamado de flip-flop
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
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 ത
𝑄
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
Flip-flop D
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
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
Flip-flop D
■ Latch D excitado por clock
□ Subida ou descida
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
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
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
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
Flip-flop JK
Flip-flop JK
■ Latch SR realimentado por 𝑄 e ത
𝑄
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 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
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 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
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 ത
𝑄
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
Flip-flop T
Flip-flop T (toggle*)
■ FF JK cujas entradas são
conectadas
“Toggle” significa “alternar”
𝑪𝒍𝒌 𝑻 𝑸
0 x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Módulo Flip-flop T
■ FF JK cujas entradas são
conectadas
𝑪𝒍𝒌 𝑻 𝑸
0 x 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 0 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓
Subida 1 𝑸𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓 Imagem retirada da wikipedia
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
Próxima aula
■ Divisor de frequência
■ Contador
■ Estado de um circuito sequencial
■ Máquina de estados
www.gta.ufrj.br

11_ffs.pdfklllllllllllllllllllllllllllllllllllllllllll

  • 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
  • 2.
    Na última aula ■Latch ■ Flip-flop □ SR
  • 3.
  • 4.
  • 5.
    Clock ■ Sinal queoscila 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 oclock no enable □ Limitar o tempo que o circuito “aceita” entradas tempo Nível lógico 1 0 Período
  • 7.
    Problema ■ Pulso doclock é 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 subidade 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 descidade clock ■ Solução trivial □ Colocar mais uma negação em cada entrada do AND
  • 10.
    Detecção de descidacom latches ■ Dois Latches são concatenados ■ Enable de um é a negação do enable do outro
  • 11.
    Detecção de descidacom latches ■ Enable = 1 □ Valor é “carregado” no primeiro ■ Enable = 0 □ Valor é carregado no segundo □ Primeiro não pode mudar
  • 12.
    Detecção de descidacom 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 descidacom 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
  • 14.
  • 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
  • 19.
  • 20.
    Latch D ■ LatchRS 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 ■ LatchD □ Guarda informação que chega na entrada D ▪ Se enable está ativo 𝑬 𝑫 𝑸 0 x Qanterior 1 0 0 1 1 1
  • 22.
    Flip-flop D ■ LatchD excitado por clock □ Subida ou descida
  • 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 dedeslocamento ■ 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 ■ Dadoschegam de maneira serial ■ Dados são utilizados de maneira paralela ■ Registrador de deslocamento recebe dados seriais □ “Lembra” de dados anteriores Imagem retirada da wikipedia
  • 27.
  • 28.
    Flip-flop JK ■ LatchSR realimentado por 𝑄 e ത 𝑄
  • 29.
    Flip-flop JK ■ LatchSR 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 ■ Estadoinverte 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
  • 33.
  • 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 umbit □ 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 ■ Divisorde frequência ■ Contador ■ Estado de um circuito sequencial ■ Máquina de estados
  • 38.