circuitos lÓgicos flip-flops
TRANSCRIPT
![Page 1: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/1.jpg)
CIRCUITOS LÓGICOSFLIP-FLOPS
Marco A. Zanata Alves
CIRCUITOS LÓGICOS 1Slides baseados nos slides de Rodrigo Hausen - CMCC – UFABC (2013)
http://compscinet.org/hausen/courses/circuitos/
![Page 2: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/2.jpg)
LATCH DO TIPO R-S (RESET-SET)
R S 𝑄𝑖 𝑄𝑖1 0 0 1 (reset Q)
0 1 1 0 (set Q)
0 0 𝑄𝑖−1 𝑄𝑖_1 (mantém Q)
1 1 X X Estado Proibido
𝑅 𝑄
𝑄𝑆
=𝑆
𝑅 𝑄
𝑄
![Page 3: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/3.jpg)
LATCH DO TIPO 𝑆 − 𝑅 COM PORTAS NAND
É possível construir um latch similar com portas NAND, mas as entradas se tornam ativas em nível baixo.
𝑅
𝑄
𝑄
𝑆
=𝑆
𝑅
𝑄
𝑄
𝑆 𝑅 𝑄𝑖 𝑄𝑖0 1 0 1 (reset Q)
1 0 1 0 (set Q)
0 0 𝑄𝑖−1 𝑄𝑖_1 (mantém Q)
1 1 X X Estado Proibido
![Page 4: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/4.jpg)
CIRCUITO DE HABILITAÇÃO (ENABLE)
Problema 1: considere o circuito abaixo. Qual é o estado de cada saída X e Y quando En = 0 e quando En = 1?
S
R
Enable
X
Y
Enable 𝑋 𝑌
0 1 1
1 𝑆 𝑅
Circuito de habilitação com portas NAND
torna as entradas S e R:
Se En = 1: ativas em nível baixo, (𝑆 e 𝑅)
Se En = 0, desabilitadas
A entrada Enable é chamada
entrada de habilitação (enable input)
![Page 5: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/5.jpg)
Latch 𝑆 − 𝑅
LATCH DO TIPO S-R COM ENABLE
𝑄
𝑄
S
R
En =R
S
En
𝑄
𝑄
En S R 𝑄𝑖1 0 1 0 (reseta Q)
1 1 0 1 (seta Q)
1 0 0 𝑄𝑖−1 (mantém Q)
0 ? ? 𝑄𝑖−1 (mantém Q, não importa R nem S)
![Page 6: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/6.jpg)
LATCH DO TIPO D (DATA)
R
S Q
Q
EnEn
D
=
D Q
Q
En
𝐷 𝐸𝑛 𝑄𝒊
0 1 0 (reset)
1 1 1 (set)
? 0 𝑄𝑖−1 (mantém, sem importar com D)
![Page 7: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/7.jpg)
FLIP FLOPS
![Page 8: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/8.jpg)
FLIP-FLOPS
Analise o comportamento do circuito abaixo.
R
Ck Q
Q
S
(Primeiro conselho: “DON’T PANIC”)
![Page 9: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/9.jpg)
latch S-R c/ enable
(escravo)
latch S-R c/ enable
(mestre)
FLIP-FLOPS
Analise o comportamento do circuito abaixo.
R
Ck Q
Q
S
![Page 10: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/10.jpg)
FLIP-FLOPS
R
Ck
Q'
S
R
En
R'
En'
Q
Q
Q
S Q S' Q'
(Segundo conselho: use um
diagrama de forma de onda)
![Page 11: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/11.jpg)
FLIP-FLOP S-R: DIAGRAMA DE FORMA DE ONDA
S
R
Ck
S’ ?
R’ ?
En’
Q’
Q’’
![Page 12: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/12.jpg)
FLIP-FLOP S-R: DIAGRAMA DE FORMA DE ONDA
S
R
Ck
S’ ?
R’ ?
En’
Q’ ? ? ?
Q’’ ? ? ?
![Page 13: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/13.jpg)
FLIP-FLOP S-R: DIAGRAMA DE FORMA DE ONDA
S
R
Ck
S’ ?
R’ ?
En’
Q’ ? ? ? Set Reset igual
Q’’ ? ? ?
![Page 14: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/14.jpg)
FLIP-FLOP S-R: DIAGRAMA DE FORMA DE ONDA
S
R
Ck
S’ ?
R’ ?
En’
Q’ ? ? ? Set Reset igual
Q’’ ? ? ?
Sensível à
borda de
descida do
clock!
![Page 15: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/15.jpg)
FLIP-FLOP S-R
Flip-flop S-R sensível à borda de descida do clock (borda negativa)
R
Ck
Q'
S
R
En
R'
En'
Q
Q
Q
S Q S' Q'
Ck=
R 𝑄
S 𝑄
S R Ck Qi
0 0 ? Qi−1 (mantem Q)
0 1 1→0 0 (reset Q)
1 0 1→0 1 (set Q)
1 1 1→0 X (proibido)
FF
![Page 16: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/16.jpg)
FLIP-FLOP S-R
Flip-flop S-R sensível à borda de subida do clock (borda positiva)
R
Ck
Q'
S
R
En
R'
En'
Q
Q
Q
S Q S' Q'
=
R 𝑄
S 𝑄
S R Ck Qi
0 0 ? Qi−1 (mantem Q)
0 1 0→1 0 (reset Q)
1 0 0→1 1 (set Q)
1 1 0→1 X (proibido)
Ck
FF
![Page 17: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/17.jpg)
FLIP-FLOP S-R: ENTRADAS PROIBIDAS
Assim como o latch S-R e o latch S-R com enable, o flip-flop S-R não admite que ambas as entradas S e R estejam ativas quando a borda de descida/subida do clock é detectada.
Para um flip-flop S-R sensível à borda de subida, se S = 1, R = 1 e Ck fizer a transição 0→1, o circuito entra em oscilação descontrolada
![Page 18: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/18.jpg)
FLIP-FLOP D: MEMÓRIA SÍNCRONA DE 1 BIT
Solução 1: evitar que ambas as entradas fiquem em 1, fazendo um flip-flop D
Ck
R
S
Ck
D
= Ck
D
𝑄
𝑄
𝑄
𝑄
D Ck 𝑄𝑖
0 1→0 0 (reset = armazena 0)
1 1→0 1 (set = armazena 1)
![Page 19: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/19.jpg)
FLIP-FLOP D: APLICAÇÃO
O que faz o circuito abaixo?
entrada: Ck
saídas: a2, a1, a0
Suponha que o estado inicial de cada saída é 0.
D
𝑄
𝑄
clock
a0
D
𝑄
𝑄 D
𝑄
𝑄
a2a1
Ck Ck Ck
![Page 20: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/20.jpg)
FLIP-FLOP D: APLICAÇÃO
O que faz o circuito abaixo?
entrada: Ck
saídas: a2, a1, a0
Suponha que o estado inicial de cada saída é 0.
D
𝑄
𝑄
clock
a0
D
𝑄
𝑄 D
𝑄
𝑄
a2a1
Ck Ck Ck
Contador de 3
bits!
![Page 21: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/21.jpg)
CIRCUITOS PROBLEMÁTICOS
![Page 22: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/22.jpg)
CIRCUITOS INSTÁVEIS
Analisando esse circuito observamos:
Supondo que X=0, então Y=1, Z=0 e X=1, o que é inconsistente com nossa suposição inicial.
Esse circuito não possui um estado estável, por isso é chamado de instável
X Y Z
![Page 23: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/23.jpg)
CIRCUITOS SÍNCRONOS
![Page 24: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/24.jpg)
CIRCUITOS SÍNCRONOS
Circuitos combinacionais não possuem nenhum caminho cíclico, onde a saída realimenta a entrada.
Uma vez definida a entrada do circuito combinacional, o valor correto sempre será visto na saída.
Os circuitos sequenciais possuem caminhos cíclicos, ou seja, realimentação.
Tais circuitos podem possuir problemas de instabilidade
A análise desses circuitos demandam tempo e muitas pessoas brilhantes comentem enganos.
![Page 25: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/25.jpg)
CIRCUITOS SÍNCRONOS
Para evitar esses problemas de circuitos sequenciais, os designers quebram as realimentações inserindo registradores (latches ou flip-flops) no caminho.
Assim, o circuito será transformado em uma coleção de lógica combinacional e registradores.
Se tais registradores forem governados pelo mesmo clock, estamos lidando com um circuito síncrono.
![Page 26: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/26.jpg)
REGRAS PARA CIRCUITOS SEQUENCIAIS SÍNCRONOS
Todo elemento do circuito deve ser ou um registrador ou um circuito combinacional
No mínimo um elemento do circuito deve ser um registrador
Todos registradores devem receber o mesmo sinal de clock
Todo caminho ciclico possui pelo menos um registrador
![Page 27: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/27.jpg)
EXEMPLO
O circuito abaixo é síncrono ou assíncrono?
D
𝑄
𝑄
clock
a0
D
𝑄
𝑄 D
𝑄
𝑄
a2a1
Ck Ck Ck
![Page 28: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/28.jpg)
SÍNCRONO VS. ASSÍNCRONO
Em teoria circuitos assíncronos são mais genéricos que os síncronos, umas vez que eles não estão limitados por registradores ligados ao clock.
Da mesma maneira que circuitos analógicos (podem usar qualquer tensão) são mais genéricos que os circuitos lógicos.
Entretanto, circuitos lógicos síncronos se mostraram ao longo da história, muito mais fáceis de projetar e usar que os circuitos assíncronos.
Embora houveram décadas de estudo sobre circuitos assíncronos, praticamente todos os sistemas digitais são síncronos.
![Page 29: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/29.jpg)
SÍNCRONO VS. ASSÍNCRONO
Claro que circuitos assíncronos são ocasionalmente necessários, quando estamos comunicando dois sistemas com clocks diferentes ou recebendo entradas em tempos arbitrários.
Da mesma maneira que sistemas analógicos ainda são necessários para conversar com o mundo real de tensões contínuas
![Page 30: CIRCUITOS LÓGICOS FLIP-FLOPS](https://reader035.vdocuments.pub/reader035/viewer/2022071618/62d1e0a76c21db2ad2127bae/html5/thumbnails/30.jpg)
CONTADOR SÍNCRONO COM FLIP-FLOPS DO TIPO D
CIRCUITOS LÓGICOS 30