latches e flip-flopslgr2/aulas sistemas digitais...latches e flip-flops são componentes primitivos...

13
LATCHES e FLI P-FLOPs Aula 9 GRECO-CIN-UFPE Como implementar uma célula de memória? Latches Latches e Flip Flip- Flops Flops r n-1 r n-2 r n-3 r n-4 r 0 célula { 0,1} = 1 bit de informação Registrador de n bits Registrador de n bits Flip Flip- Flop Flop/ Latches Latches Para que a variável de estado mude é preciso que ocorram determinadas combinações nas variáveis de entrada. Uma vez alterada, a variável de estado permanecerá num estado fixo até que volte a ocorrer certas combinações de entrada. saídas saídas entradas entradas Q y Q y Q y Q y Componente de memória Componente de memória Variável de estado Variável de estado

Upload: others

Post on 03-Dec-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

LATCHES e FLIP-FLOPs

Aula 9GRECO-CIN-UFPE

� Como implementar uma célula de memória?

LatchesLatches ee FlipFlip--FlopsFlops

rn-1 rn-2 rn-3 rn-4 r0

célula { 0,1} = 1 bit de informação

Registrador de n bitsRegistrador de n bits

FlipFlip--FlopFlop//LatchesLatches

n Para que a variável de estado mude é preciso que ocorram determinadas combinações nas variáveis de entrada.

n Uma vez alterada, a variável de estado permanecerá num estado fixo até que volte a ocorrer certas combinações de entrada.

saídassaídasentradasentradasQ yQ y

Q yQ y

Componente de memóriaComponente de memória

Variável de estadoVariável de estado

Page 2: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

� Latches e Flip-Flops são componentes primitivos de memória

� Latches– São componentes cuja saída responde apenas à

mudança da entrada.• Latch sem controle de relógio - Neste caso a saída é

função direta da entrada.• Latch sensível a nível (clocked) (Sensível a nível) - A

saída é modificada apenas quando o circuito é habilitado através de um sinal enable ou clock.

LatchesLatches ee FlipFlip--FlopsFlops

100

R

S

Q

\ Q

Diagrama de tempo do latch RS

Reset Hold Set

Estadoproibido

Reset Set

Estadoproibido

Race

R

S

Q

\Q

LatchesLatches ee FlipFlip--FlopsFlops

;; Latch RS Q Mantém Q

0 1

Indefinido

S 0 0 1 1

R 0 1 0 1

Page 3: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

Chaveamento de sinais eletrônicos usando Latchs RS

� Sinais digitais podem ser introduzidos em um sistema através de chaves mecânicas.

� Quando aberta Vout = o V� Quando fechada Vout = Vh� Problema

– Quando a chave aberta é fechada, seus contatos mecânicos vibram ou “bounce” por um curto período de tempo até estabilizar e fechar completamente.

– Este bounce causa transientes indesejáveis na tensão de saída, que provocam um comportamento irregular do circuito digital (circuito lógico)

Vh Vout

Vh

tempo

� Solução– Retirar o “bounce” usando um Latch tipo RS, ou seja, o circuito pode

ser “debounced”.

– O Latch RS responde quase que instantaneamente a primeira subida do sinal de entrada na linha R ou S. Assim quando a chave é ligada (on) (S=1, R=0), a posição do Latch irá para o estado Q=‘1’ na primeira parte do “bounce” .

– Mesmo que a chave vibre o sinal permanecerá estável, desde que (S=0,R=0) mantém o estado do Latch.

– Assim Q=1 até que o operador desligue a chave (off). – Colocando a chave em off, o Latch vai para um novo estado

(S=0,R=1) com Q=0. O comportamento será similar ao caso anterior.

Chaveamento de sinais eletrônicos usando Latch RS

R

S

Q

\Q

+on

off

S

tempoQ

tempo

Ligar chave (on) Desligar chave (off)

Page 4: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

� Funcionamento do Latch RS– S=0, R=0

• O próximo estado tem valores iguais aos valores anteriores (estado estável)

– S=0, R=1• Esta condição de entarda provoca um reset nolatch, forçando Qn+1 para zero (‘0’), Qn+1 para ‘1’.

– S=1, R=0• Nestas condições o latch é “setado” , ou sejaQn+1 vai para o nível lógico ‘1’, Qn+1 = ‘0’.

– S=1, R=1 Não usado. Por que?• Neste caso em particular as duas saídas seriam ‘0’, o que implicaria

de imediato na inconsistência com a teoria das saídas Q e Q.• Um outro ponto crítico ocorre quando passamos deste estado para

S=0 e R=0. Neste caso, seguindo a tabela verdade e o comportamento do Latch, a saída deveria permanecer inalterada, o que não ocorre, gerando um estado indefinido para Qn+1 e Qn+1 . Devido a esta ambigüidade a condição S=1 e R=1 não é usada paraLatch RS.

LatchesLatches ee FlipFlip--FlopsFlops

R

S

Q

\Q

Qn+1

Mantém Qn0 1

Indefinido

S 0 0 1 1

R 0 1 0 1

; Tabela verdade do latch RSPróximo estado = F(S, R, Current State)

S

R

Q

R-SLatch Q+

Mapa de Karnaugh

Equação de próximo estado:

Q+ = S + R Q(t)

R

SR 00 01 11 10

0 0 X 1

1 0 X 1

0

1

Q ( t )

S

LatchesLatches ee FlipFlip--FlopsFlops -- RSRS

MantémMantém

ResetReset

SetSet

IndefinidoIndefinido

Page 5: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

\ S

\ R

\ Q

Q \enb

Diagrama de tempo Set Reset

LatchesLatches ee FlipFlip--FlopsFlops -- RSRS

; Latch RS - sensível a nível� Latches sensíveis a nível mostram continuamente suas entradas enquanto são habilitados (enb = 0)

Enable

� Para que um Latch funcione corretamente as entradas S (ou R) só podem ser alteradas quando o circuito alcançar um estado estável

� Como conseguir isto? Introduzir um relógio (clock)

pulso de relógio (clock) ou pulso de transferência

� A largura do pulso de clock deve ser suficiente para que o circuito alcance o próximo estado.

� O tempo entre dois pulsos deve ser suficiente para que o flip-flopalcance o estado permanente.– A saída começa a mudar t após o pulso de clock ser aplicado e

uma nova saída em estado permanente aparece 2 t. – Se a entrada muda enquanto o pulso de clock estiver ativo

(alto), o funcionamento do circuito pode não ser o esperado.

LatchesLatches ee FlipFlip--FlopsFlops -- RSRS

R-S

S

R S

R

Q

Q clock R-S

S

R

Q

Q

c

Page 6: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

� Clear e Preset

S

R

Q

Q

Clear (Reset)

Preset (Set)

clockR-S

S

R

Q

Q

c

Reset

Set

LatchesLatches ee FlipFlip--FlopsFlops -- RSRS

normalnormal00

Não usado

Não usado

11

0110

1001

Q’ QPreset(Set)

Clear(Reset)

* com clock = ´ 0’

; Latch JKComo eliminar o estado proibidodos Latches tipo RS?

Usar uma re-alimentação paragarantir que R e S nunca são “1” .

LatchesLatches ee FlipFlip--FlopsFlops -- JKJK

Quando J e K são iguais a “1”a saída é invertida (Toggle)

Equação de próximo estado

Q+ = Q K + Q JJ(T)J(T) K(t)K(t) Q(t)Q(t) Q(t+Q(t+''))00 00 00 0 0 HOLDHOLD00 00 11 1100 11 00 0 0 RESETRESET00 11 11 0011 00 00 1 SET1 SET11 00 11 1111 11 00 1 TOGGLE1 TOGGLE11 11 11 00

R-S latch

K

J S

R

Q

Q Q

Q

EstEst. Pres. . Pres. Pró. EstadoPró. Estado

Page 7: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

; Latch J-K (Condição de concorrência - Racing)

J

K

Q

\ Q

100 Set Reset Toggle

Nesta estrutura olatch começa a oscilar (Toggle)

; O Latch deveria mudar de estado a cada evento de relógio.Para solucionar esta problema devemos usar a estruturaMaster/Slave (Mestre/Escravo).

LatchesLatches ee FlipFlip--FlopsFlops -- JKJK

� Flip-Flop– São componentes de memória, que diferentemente dos

latches, permitem que suas saídas mudem apenas na transição do relógio ou clock.

• Flip-Flop que dispara na subida do relógio (positive edge-triggered). Mostra suas entradas na saída quando o clock vai de do nível lógico’0’ para o nível lógico ‘1’.

• Flip-Flop que dispara na descida do relógio (negative edge-triggered). Mostra suas entradas na saída quando oclock vai de do nível lógico’1’ para o nível lógico ‘0’.

• Flip-Flop Mestre-Escravo

LatchesLatches ee FlipFlip--FlopsFlops

Page 8: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

Estágio Mestre Estágio Escravo

; Entrada disponível no latchMestre enquanto o relógioestá alto.

; Observe que o estágio Escravo está bloqueado (relógio estábaixo).

S

R-S Latch

R-S Latch

R R

S

Clk

\Q

Q

\P

P

R

S

\Q

Q

\Q

Q

; Saída disponível do latchEscravo quando o relógio forpara nível lógico baixo.Relógio liberado para o estágio escravo.

; Observe que o estágio Mestreestá bloqueado (relógio estábaixo).

LatchesLatches ee FlipFlip--FlopsFlops -- RS RS ;; Flip-Flop mestre-Escravo

Q

LatchesLatches ee FlipFlip--FlopsFlops -- RS RS

S

R

P

clockA entrada devepermanecer estávela partir deste ponto

A saída não mudaaté este ponto

p

2 t 2 t

2 t

1010

1010

10

S

R-S Latch

R-S Latch

R R

S

Clk

\Q

Q

\P

P

R

S

\Q

Q

\Q

Q

Page 9: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

Master outputs

Slave outputs

Set Reset T oggle 1’s

Catch 100

J

K

Clk

P

\ P

Q

\ Q

Estágio Mestre Estágio Escravo

J

R-S Latch

R-S Latch

K R

S

Clk

\Q

Q

\P

P

R

S

\Q

Q

\Q

Q

LatchesLatches ee FlipFlip--FlopsFlops -- JKJK

; Flip-Flop JK Mestre Escravo

problema de captura do ‘1’ Devido ao problema da captura do ‘1’ noFF - JK, cuidado deveser tomado paraevitar “glitch” na entradado FF evitando-se saídasindesejáveis

Flip-Flop tipo D� Características

– Flip-Flop tipo D construído a partir de um Flip-Flop tipo RS– A saída recebe a entrada– Equação de próximo estado:

Q+ = D(t)

D

0 1

0 X

0 1

0

1

Q

S=D

D

X 0

1 0

0 1

0

1

Q

R=D

Estado presenteEstado presente Próximo estadoPróximo estado

D 0 1 1 0

Q +

0 1 1 0

Q 0 0 1 1

S 0 1 X 0

R X 0 0 1

Flip-Flop D implementado a partir de Flip-Flop tipo RS

D

S

R C

Q

Q

Q

D

0 1

0 1

Q + = D

0 1

0

1

Q

DDClkClk

QQQ´Q´

Page 10: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

Flip-Flop tipo D a partir de FF JK

� Características– Flip-Flop tipo D construído a partir de um Flip-Flop tipo JK– Equação de próximo estado:

Q(t+δ ) = D(t)

Flip-Flop D implementado a partir de Flip-Flop tipo JK

D

Q J

K C

Q

Q

D

0 1

0 1

Q + = D

0 1

0

1

Q

D = Q= 0, Q+ = 0Então J = 0, K = X

D

X X

1 0

K = D

0 1

0

1

Q D

0 1

X X

J = D

0 1

0

1

Q

D = Q = 1, Q+ = 1Então J = X, K=0

Flip-Flop tipo T

� Características– Flip-Flop tipo T construído a partir de um Flip-Flop tipo JK– A saída Q é invertida sempre que T =´1´.– Equação de próximo estado:

Flip-Flop T implementado a partir de Flip-Flop tipo JK

T

J

K C

Q

Q

Q T

X X

0 1

K = T

0 1

0

1

Q

J = T

T

0 1

X X

0 1

0

1

Q

T 0 1 1 0

Q +

0 1 0 1

Q 0 0 1 1

K X X 1 0

J 0 1 X X

Q(t+δ ) = T(t)Q(t)+T(t)Q(t)

Page 11: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

Flip-Flops

D 0 1 0 1

T 0 1 1 0

Q + 0 1 0 1

Q 0 0 1 1

S 0 1 0 X

R X 0 1 0

K X X 1 0

J 0 1 X X

; Tabela verdade dos Flip-Flops

R-S:

D:

J-K:

T:

Q+ = S + R Q

Q+ = D

Q+ = J Q + K Q

Q+ = T Q + T Q

; Equações de próximo estado dos Flip-Flops

Flip-Flops

� Características ; R-S Clocked Latch:

Usado como elemento de memória.Fundamental na construção de outros tipos de Flip-Flops.

; Flip-Flop J-K Construção versátilPode ser usado na construção de Flip-Flops D e TUsualmente requer menos lógica para implementar controlessequênciais

; Flip-FlopD Reduz conexões, preferível em projetos VLSITécnica simples em projetosMelhor escolha para registradores

; Flip-Flop TNão existe na realidade. São construídos a partir de Flip-Flops JK.Usualmente é uma boa escolha em projetos de contadores.

Page 12: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

; Dispositivo que dispara, ou seja, carrega o dado de entrada na descida do relógio (Negative Edge Triggered).

; Dispositivo no qual a informação de entradafica disponível na saída enquanto o relógio estiver ativado (enable).

Flip-Flop - trigado nasubida do relógio

Latch - sensível a nível

7476*

D Q

Clk

7474D Q

Clk

LatchesLatches ee FlipFlip--FlopsFlops -- RSRS

*Obs: Tipo D a partir do JK*Obs: Tipo D a partir do JK

� Diagrama de Tempo

D

Clk

Q

Q

7474

7476

LatchesLatches ee FlipFlip--FlopsFlops -- RSRS

7474D Q

Clk

Flip-Flopinformaçãosegura quandoo relógio vai para ‘1’

informaçãosegura com o clk =‘1’

Latch7476

D Q

Clk

Page 13: Latches e Flip-Flopslgr2/Aulas Sistemas Digitais...Latches e Flip-Flops são componentes primitivos de memória — Latches – São componentes cuja saída responde apenas à mudança

•• Implementar o diagrama de tempo do circuito abaixo e identificaImplementar o diagrama de tempo do circuito abaixo e identificar r sua funcionalidadesua funcionalidade

ExercícioExercício

J

K C

Q

Q

J

K C

Q

Q

J

K C

Q

Q

‘1’‘1’

clockclock

LSBLSB MSBMSBQa Qb QcQa Qb Qc

� Flip-Flop trigado na borda - Entender seu funcionamento– Além do FF tipo Master-Slave existem dois outros modelos

largamente utilizados:• Positive edge-triggered (Trigado na borda positiva 0 � 1), ou

seja na subida do relógio.• Negative edge-triggered (Trigado na borda negativa 1 � 0), ou

seja na descida do relógio.� Exemplo (FF-D trigado na descida)

R

S

Q

\Q

clock

D D

DDsegura D quando o clock vai para ‘0’

segura D quando o clock vai para ‘0’

clock

D

Q

ExercícioExercício