Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e...

50
Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores Circuitos Sequenciais o Circuitos simples com realimentação o Latches o Flip-flops Edge-triggered (disparados pela borda) Metodologias de Temporização o Flip-flops em cascata o Clock skew (deformação) Entradas Assíncronas o Metaestabilidade e sincronização Registradores Básicos o Registradores de Deslocamento

Transcript of Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e...

Page 1: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1

Capítulo 5: Flip-flops e Registradores

Circuitos Sequenciaiso Circuitos simples com realimentaçãoo Latcheso Flip-flops Edge-triggered (disparados pela borda)

Metodologias de Temporizaçãoo Flip-flops em cascatao Clock skew (deformação)

Entradas Assíncronaso Metaestabilidade e sincronização

Registradores Básicoso Registradores de Deslocamento

Page 2: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 2

C1 C2 C3

comparator

value

equal

multiplexer

reset

open/closed

new equal

mux control

clock

comb. logic

state

Circuitos Sequenciais

Circuitos com realimentaçãoo Saídas = f(entradas, entradas passadas, saídas

passadas)o Base para a introdução de “memória” em circuitos

lógicoso Exemplo: tranca digital com combinação

- Estado é memória- Estado é uma “saída" e uma “entrada" para a lógica

combinacional- Elementos de armazenamento da combinação são tb.

memória

Page 3: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 3

X1X2•••

Xn

switchingnetwork

Z1Z2•••

Zn

Circuitos com Realimentação

Como controlar a realimentação?o O que interrompe valores de circularem

indefinidamente?

Page 4: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 4

“lembre"

“carregue""data" “valor armazenado"

"0"

"1"

"stored value"

Circuito mais simples com Realimentação

Dois inversores formam célula estática de memóriao Valor é mantido enquanto a alimentação for mantida

Como inserir um novo valor na célula de memória?o Interromper seletivamente o caminho de realimentaçãoo Carregar novo valor na célula

Page 5: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 5

R

S

Q

Q'

R

S

Q

R'

S'Q

Q

Q'

S'

R'

Memórias com Portas com Acoplamento Cruzado

Memória com portas NOR “Cross-coupled”o Similar ao par inversor, com capacidade de forçar a saída para

0 (reset=1) ou 1 (set=1)

Memória com portas NAND “Cross-coupled” o Similar ao par inversor, com capacidade de forçar a saída para

0 (reset=0) ou 1 (set=0)

Page 6: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 6

Reset Hold Set SetReset Race

R

S

Q

\Q

100

Comportamento no Tempo

R

S

Q

Q'

Page 7: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 7

S R Q0 0 hold0 1 01 0 11 1 unstable

Comportamento de Estados do latch R-S

Tabela verdade do comportamento do latch RS

Q Q'0 1

Q Q'1 0

Q Q'0 0

Q Q'1 1

Page 8: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 8

Comportamento Teórico do Latch RS

Diagrama de Estadoso Estados: possíveis valoreso Transições: mudanças

baseadas nas entradas

Q Q'0 1

Q Q'1 0

Q Q'0 0

Q Q'1 1

SR=00SR=11SR=00

SR=10

SR=01

SR=00SR=10

SR=00SR=01

SR=11 SR=11

SR=10SR=01

SR=01 SR=10

SR=11

Possível oscilação entre osestados 00 e 11

Page 9: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 9

Comportamento Observado do Latch RS

Muito difícil se observar a saída do estado 1-1o Normalmente ou R ou S muda primeiro

Retorno ambíguo ao estado 0-1 ou 1-0o Transição não-determinística

SR=00SR=00

Q Q'0 1

Q Q'1 0

Q Q'0 0

SR=10

SR=01

SR=00SR=10

SR=00SR=01

SR=11 SR=11

SR=01 SR=10

SR=11

Page 10: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 10

Q(t+)

R

S

Q(t)

S R Q(t) Q(t+)0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 X1 1 1 X

Mantém estado

reset

set

Não permitida Equação característicaQ(t+) = S + R’ Q(t)

Análise do Latch RS

Desfazer o caminho de realimentação

R

S

Q

Q'

0 0

1 0

X 1

X 1Q(t)

R

S

Page 11: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 11

enable'

S'Q'

QR' R

S

Latch RS com Entrada de Sincronismo

“enable” controla quando as entradas R and S são apresenta- das ao latch o Variações em R e S

enquanto “enable” = 0 podem alterar as saídas

Set Reset

S'

R'

enable'

Q

Q'

100

Page 12: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 12

period

duty cycle (in this case, 50%)

Clock (Relógio)

Utilizado para sincronismoo Esperar o suficiente para que as entradas (R' e S') se

estabilizemo Então permitir que elas atuem no valor armazenado

Um “clock” é um sinal periódico normalo Período (tempo entre “ticks”)o Duty-cycle (tempo em que o clock = ‘1’ - expresso em

% do período)

Page 13: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 13

clock

R' and S'

changing stable changing stablestable

Clock (continuação)

Controlando um latch R-S através de um clocko Não se deve permitir que R ou S se alterem enquanto o

clock está ativo (permitindo que R ou S atuem nas saídas)

o Sinais R’ e S’ precisam estar estáveis enquanto o clock está ativo

clock'

S'Q'

QR' R

S

Page 14: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 14

clock

R

S Q

Q' R

S Q

Q'R

S

Latches em Cascata

Conecte a saída de um latch à entrada de outro

Como impedir a condição “race” de acontecer?o Necessidade de controlar o fluxo de dados de um latch

para o próximoo Avançar de um latch por período de clocko Preocupação com lógica entre latches (arrows) que seja

muito rápida

Page 15: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 15

Estrutura Master-Slave

Quebra o fluxo alternando clockso Usa clock positivo para armazenar as entradas em um

latcho Usa clock negativo para mudar as saídas de outro latch

R-S

O par deve ser visto como uma unidade básicao Flip-flop master-slave (mestre-escravo)o Saídas mudam uns poucos retardos de porta depois do

“falling edge” (borda de descida) do clockEstágio mestre Estágio escravo

P

P'

CLK

R

S Q

Q' R

S Q

Q'R

S

Page 16: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 16

Set1s

catch

SR

CLKPP'QQ'

Reset

Saídas doMestre

Saídas doEscravo

O Problema da ‘captura de 1s’

No primeiro estágio R-S do FF master-slaveo Um “glitch” (transição rápida) 0-1-0 em R ou S enquanto

o clock está em ‘1’ é ‘capturado’ pelo estágio mestreo Implica em restrições na lógica em ser “hazard-free”

Estágio mestre Estágio escravo

P

P'

CLK

R

S Q

Q' R

S Q

Q'R

S

Page 17: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 17

O Flip-Flop JK

Elimina a condição instável (R=1; S=1) do flip-flop RS

J K Clock Q(t+1)

X X 0 Q(t)

0 0 1 Q(t)

0 1 1 0

1 0 1 1

1 1 1 Q(t)’Equação característica:

Q(t+1) = K’.Q(t) + J.Q(t)’

“Toggle”

Page 18: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 18

O flip-flop JK (continuação)

Largura de pulso devepermitir apenas umamudança na saída!

Page 19: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 19

10 gates

O Flip-Flop D

S e R são o complemento um do outroo Elimina o problema da captura de 1so Não pode simplemente manter o valor anterior

(necessita ter o novo valor pronto a cada período de clock)

o Valor de D imediatamente antes do clock ir para ‘0’ é armazenado no flip-flop

o Se pode construir um flip-flop R-S adicionando lógica para fazer D = S + R' Q

D Q

Q'

master stage slave stage

P

P'

CLK

R

S Q

Q' R

S Q

Q'

Page 20: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 20

Q

D

Clk=1

R

S

0

D’

0

D’ D

Q’

Flip-flop D, negative edge-triggered (disparado pela borda negativa)

4-5 retardos de portas

Precisa obedecer às restriçõesdos tempos de “set-up” e “ hold”

para capturar

Equação característica:Q(t+1) = D(t)

mantem D' quandoO clock vai a ‘0’

mantem D quandoo clock vai a ‘0’

Flip-flops Edge-Triggered (Disparados pela Borda)

Solução mais eficiente: somente 6 portaso Sensível à entrada somente próximo à borda do clock

Page 21: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 21

Q

D

Clk=0

R

S

D

D’

D’

D’ D

Quando o clock vai de ‘1’ para ‘0’O dado é armazenado Quando o clock = ‘0’

O dado é mantido

Flip-flops Edge-Triggered (continuação)

Análise Passo-a-passo

Q

novo D

Clk=0

R

S

D

D’

D’

D’ D

novo D antigo D

Page 22: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 22

positive edge-triggered FF

negative edge-triggered FF

D

CLK

Qpos

Qpos'

Qneg

Qneg'

100

Flip-Flops Edge-triggered (continuação)

Positive edge-triggeredo Entradas amostradas na borda de subida; saídas mudam

após a borda de subida (do clock)

Negative edge-triggered flip-flopso Entradas amostradas na borda de descida; saídas mudam

após a borda de descida

Page 23: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 23

Flip-flops Edge-triggered (continuação) D-type positive edge-triggered flip-flop

0

1

1

D’

D’D

S’

R’

mantem D’ quando o clock vai a ‘1’

mantém D quando o clock vai a ‘1’

Page 24: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 24

Flip-flops Edge-triggered (continuação)

1

D’

D

D’

D’D

S’

R’

Após a subida do clock:

Símbolo

Page 25: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 25

Metodologias de Temporização

Regras para interconexão de componentes e clockso Garantem operação adequada do sistema quando

observadas

Abordagem depende dos blocos básicos utilizados para os elementos de memóriao Foco em sistemas com flip-flops edge-triggered

- Encontrados em dispositivos lógicos programáveiso Muitos CI’s contém latches sensíveis a nível

Regras básicas para uma temporização correta:o (1) Entradas corretas, com relação ao tempo, devem ser

fornecidas aos flip-flopso (2) Não mais de uma mudança de estado de flip-flop por

“clocking event”

Page 26: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 26

Existe uma “janela” de tempo em torno do “clocking event” durante a qual a entrada precisa permanecer estável e inalterada para que seja reconhecida

clock

entradaalterandoestável

entrada

clock

Tsu Th

clock

entrada D Q D Q

Metodologias de Temporização (cont.)

Definição de termoso clock: evento periódico que provoca a mudança de

estado do elemento de memória; (rising/falling edge, high/low level)

o setup time: tempo mínimo antes do “clocking event” que a entrada precisa estar estável (Tsu)

o hold time: tempo mínimo depois do “clocking event” até o qual a entrada precisa continuar estável (Th)

Page 27: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 27

Comportamento é o mesmo a não ser que a entradamude enquanto o clock = ‘1’

D Q

CLK

positiveedge-triggered

flip-flop

D QG

CLK

Latch transparente(level-sensitive)

D

CLK

Qedge

Qlatch

Comparação entre Latches e Flip-Flops

Page 28: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 28

Tipo Entradas são amostradas Saída é válida

unclocked sempre retardo a partir da mudança na entradalatch

level-sensitive clock = ‘1’ retardo a partir da mudança na entradalatch (Tsu/Th em torno do ou borda do clock (o que ocorrer por

falling edge do clock) último)

master-slave clock = ‘1’ retardo a partir da transição negativaflip-flop (Tsu/Th em torno do do clock

falling edge do clock)

negative Transição de ‘1’ para ‘0’ retardo a partir da transição negativaedge-triggered no clock (Tsu/Th em tor- do clockflip-flop no do falling edge)

Comparação entre Latches e Flip-Flops (continuação)

Page 29: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 29

Todas as medidas são feitas a partir do “clocking event”, isto é, a partir da borda de subida do clock

Especificações de Tempo Típicas

Positive edge-triggered D flip-flopo Tempos de Setup e hold timeso Largura de clock mínimao Retardos de propagação (0 para 1, 1 para 0, máximo e

típico)Th5ns

Tw 25ns

Tplh25ns13ns

Tphl40ns25ns

Tsu20ns

D

CLK

Q

Tsu20ns

Th5ns

Page 30: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 30

IN

Q0

Q1

CLK

100

Flip-flops Edge-triggered em Cascata

Shift register (Registrador de deslocamento)o Novo valor entra no primeiro estágioo Valor anterior do primeiro estágio entra no segundo

estágioo Consider setup/hold/retardo (retardo precisa ser > hold)

CLK

INQ0 Q1

D Q D Q OUT

Page 31: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 31

as restrições de temporizaçãogarantem a operação

adequada dos componentesem cascata

assume distribuiçãoinstantânea do clock

Flip-flops Edge-triggered em Cascata (continuação)

Porque isto funciona?o Retardo de propagação excede os tempos de “hold”o Largura do clock excede o tempo de “setup”o Isto garante que o próximo estágio armazenará valor

atual antes que ele mude para o novo valor

Tsu

4ns

Tp

3ns

Th

2ns

In

Q0

Q1

CLK

Tsu

4ns

Tp

3ns

Th

2ns

Page 32: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 32

estado original: IN = 0, Q0 = 1, Q1 = 1devido ao “skew”, o próximo estado se torna: Q0 = 0, Q1 = 0, e não Q0 = 0, Q1 = 1

CLK1 é uma versãoatrasada do CLK0

In

Q0

Q1

CLK0

CLK1

100

Clock Skew

O problemao Comportamento correto assume que o próximo estado

de todos os elementos de armazenamento é determinado por todos os elementos de armazenamento ao mesmo tempo

o Isto é difícil de ser obtido em sistemas de alta performance, já que o tempo para o clock chegar no flip-flop é comparável aos retardos através da lógica

o Efeito do “skew” em flip-flops em cascata:

Page 33: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 33

Sumário de Latches e Flip-Flops

Desenvolvimento do flip-flop Do Level-sensitive utilizado em circuitos integrados sob medida

- pode ser feito com 4 chaveso Edge-triggered utilizado em dispositivos lógicos programáveiso Boa escolha para registradores de armazenamento de dados

Historicamente o flip-flop J-K foi mais popular do que atualmenteo Similar ao R-S mas com 1-1 sendo usado para alterar (“toggle”) a saída

(complementar o estado)o Função de entrada mais complexa:

D = JQ' + K'Qo Não é uma boa escolha para PALs/PLAs, já que necessita de 2 entradaso Pode sempre ser implementado utilizando flip-flop D

Entradas de Preset e clear são altamente desejáveis em flip-flopso Utilizadas como inicialização de um sistema em um estado conhecido

Page 34: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 34

Metaestabilidade e Entradas Assíncronas

Circuitos síncronos com clocko Entradas e estado amostrados, e saídas que se alteram, com

relaçãoa um sinal de referência comum (chamado de clock)

o Ex: master/slave, edge-triggered

Circuitos assíncronoso Entradas, estado, e saídas amostrados ou que se alteram

independentemente de um sinal de referência comum (glitches/hazards são uma preocupação central)

o Ex: latch RS

Entradas assíncronas de circuito síncronoso Entradas podem mudar a qq momento (tempos de setup/hold

podem não ser atendidos)o Entradas síncronas são preferíveiso Não podem ser evitadas em certas circunstâncias (ex: sinal de

reset, “memory wait”, entrada do usuário)

Page 35: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 35

probabilidade baixa, mas não nula, de que a saída do FF fique presa

em um estágio intermediário

gráficos no osciloscópio demonstrandofalha de sincronização e eventual

decaimento ao estado permanente

logic 0 logic 1logic 0

logic 1

Falha de Sincronização

Ocorre quando a entrada do Flip-flop muda próximo à borda do clocko FF pode entrar num estado metaestável – nem 0 nem 1o FF pode permanecer neste estado indefinidamente

Page 36: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 36

D DQ Qentrada

assíncronaentrada

sincronizada

sistema síncrono

Clk

Lidando com a Falha de Sincronização

Probabilidade da falha não pode ser reduzida a 0, mas pode ser reduzidao (1) desacelerar o clock do sistema: isto dá ao

sincronizador mais tempo para entrar em um estado permanente; falha de sincronizacão se torna um grande problema para sistemas de alta velocidade

o (2) usar no sincronizador a tecnologia lógica mais rápida possível

o (3) cascatear dois sincronizadores: isto efetivamente sincroniza duplamente

Page 37: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 37

D Q

D Q

Q0

Clock

Clock

Q1

Entrada assíncrona D Q

D Q

Q0

Clock

Clock

Q1

Entrada assíncrona

D Q

Sistema síncrono

Sincronizadorr

Lidando com Entradas Assíncronas

Nunca permita que entradas assíncronas sejam conectadas a mais de um flip-flopo Sincronize assim que possível e então trate a saída do

sincronizador como sendo o sinal assíncrono

Page 38: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 38

Entrada é assíncrona e está conectada a D0 e D1

um FF captura o sinal, e o outro não

estado inconsistente pode ser atingido!

Entrada

Q0

Q1

CLK

Lidando com Entradas Assíncronas (continuação)

O que pode dar errado?o Entrada muda muito perto da borda do clock (violando a

restrição do tempo de setup)

Page 39: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 39

Características de Flip-Flops

Reset (estabelece o estado em 0) – Ro Síncrono: Dnew = R' • Dold (quando a próxima borda do clock chegar)o Assíncrono: não espera pelo clock; rápido porém perigoso

Preset ou set (estebelece o estado em 1) – S (or sometimes P)o Síncrono: Dnew = Dold + S (quando a próxima borda do clock chegar)o Assíncrono: não espera pelo clock; rápido porém perigoso

Reset e Preseto Dnew = R' • Dold + S (set-dominant)o Dnew = R' • Dold + R'S (reset-dominant)

Capacidade Seletiva de entrada (input enable/load) – LD or ENo Multiplexer na entrada: Dnew = LD' • Q + LD • Doldo Load pode ou não se sobrepor ao reset/set (normalmente R/S tem

prioridade)

Saídas complementares – Q e Q'

Page 40: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 40

R S R S R S

D Q D Q D Q D Q

OUT1 OUT2 OUT3 OUT4

CLK

IN1 IN2 IN3 IN4

R S

"0"

Registradores

Coleção de flip-flops com controles e lógica similareso Valores armazenados estão relacionados de alguma

forma (ex: formam um valor binário)o Compartilham linhas de clock, reset, e seto Lógica similar em cada estágio

Exemploso Shift registers (registradores de deslocamento)o Contadores

Page 41: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 41

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

Registrador de Deslocamento

Armazenam amostras da entradao ex: registrador de deslocamento de 4 bits

- armazenam os ultimos 4 valores em sequência

Page 42: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 42

clear estabelece o conteúdo do registradore da saída em 0

s1 e s0 determinam o tipo de deslocamento

s0 s1 function0 0 mantém estado0 1 deslocamento à direita1 0 deslocamento à esquerda1 1 carregue nova entrada

left_inleft_out

right_out

clearright_in

output

input

s0s1

clock

Registrador de Deslocamento Universal

Armazena 4 valoreso Entradas seriais ou paralelaso Saídas seriais ou paralelaso Permite o deslocamento à esquerda ou à direitao Desloca novos valores à esquerda ou à direita

Page 43: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 43

Nth célula

s0 e s1control mux0 1 2 3

D

Q

CLK

CLEAR

Q[N-1](left)

Q[N+1](right)

Input[N]

p/ N-1th célula

para N+1th célula

clears0 s1 new value1 – – 00 0 0 output0 0 1 output value of FF to left (shift right)0 1 0 output value of FF to right (shift left)0 1 1 input

Projeto do Registrador de Deslocamento Universal

Considere um dos quatro flip-flopso Próximo valor no próximo ciclo de clock:

Page 44: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 44

entradas paralelas

saídas paralelas

Transmissão serial

Aplicação de Registradores de Deslocamento

Conversão paralelo-serial para transmissão serial

Page 45: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 45

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

OUT

Reconhecedor de Padrões

Função combinacional de amostras da entradao ex: reconhecendo o padrão 1001 em um único sinal de

entrada

Page 46: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 46

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

Contadores

Sequencias através de um conjunto fixo de padrõeso Neste caso: 1000, 0100, 0010, 0001o Um dos padrões é o estado inicial (usar load ou set/reset)

Contador Mobius (ou Johnson)o In this case, 1000, 1100, 1110, 1111, 0111, 0011, 0001,

0000

Page 47: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 47

D Q D Q D Q D Q

OUT1 OUT2 OUT3 OUT4

CLK

"1"

Contador Binário

Lógica entre os registradores (não somente um multiplexer)o XOR decide quando um determinado bit deve ser

“toggled”o Sempre para o bit de mais baixa ordem; somente

quando o primeiro bit é verdade para o segundo bit, e assim por diante

Page 48: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 48

EN

DCBA

LOAD

CLK

CLR

RCO

QDQCQBQA

(1) Low 4-bits = 1111

(2) RCO vai para 1

(3) High 4-bitssão incrementados

Contador Binário Ascendente Síncrono de 4-bits

Componente padrão em muitas aplicaçõeso FF positive edge-triggered com entradas de load e clearo Dado carregado das entradas paralelas D, C, B, Ao Entradas de Enable: precisam estar em 1 para contagem

o RCO: saída de ripple-carry utilizada para cascateamento- ‘1’ quando o contador está em seu estado mais alto (1111)- implementado usando uma porta AND

Page 49: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 49

EN

DCBA

LOAD

CLK

CLR

RCO

QDQCQBQA

"1"

"0""0""0""0"

"0"

EN

DCBA

LOAD

CLK

CLR

RCO

QDQCQBQA

"1"

"0""1""1""0"

Contadores de Offset

Contador de offset inicial - uso do load síncronoo ex: 0110, 0111, 1000, 1001,

1010, 1011, 1100, 1101, 1111, 0110, . . .

Contador de offset final - comparador para o valor finalo ex: 0000, 0001, 0010, ..., 1100,

1101, 0000

Combinações dos contadores acima (valores iniciais e finais)

Page 50: Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1 Capítulo 5: Flip-flops e Registradores  Circuitos Sequenciais oCircuitos simples com realimentação.

Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 50

Sumário – Lógica Sequencial

Blocos fundamentais de circuitos com estadoo Latch e flip-flopo Latch R-S; flip-flops R-S master/slave, D master/slave, D edge-triggered

Metodologias de Temporizaçãoo Utilização de clockso Flip-flops em cascata funcionam porque o tempo de propagação

excede o tempo de holdo Cuidade com o clock skew

Entradas assíncronas e seus Perigoso Falha no sincronizador: o que é e como minimizar seu impacto

Registradores Básicoso Registradores de Deslocamentoo Detetores de Padrõeso Contadores