circuitos seqüenciais latches e flip-flopsromulo.camara/novo/wp-content/uploads/2013/08/... · •...

47
UNIVASF UNIVASF Eletrônica Digital I Eletrônica Digital I Prof. Rodrigo Ramos [email protected] Circuitos Seqüenciais Circuitos Seqüenciais Latches e Flip-Flops Latches e Flip-Flops

Upload: hoangnhu

Post on 19-Jan-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

UNIVASFUNIVASFEletrônica Digital IEletrônica Digital I

Prof. Rodrigo Ramos

[email protected]

Circuitos SeqüenciaisCircuitos Seqüenciais

Latches e Flip-FlopsLatches e Flip-Flops

2

Circuitos Seqüenciais

Combinatório: As saídas, em qualquer instante, dependem somentedas entradas.

Circuitos Digitais

Seqüencial: Possui uma realimentação da saída para a entrada (estado interno) – A saída depende da entrada e do estado interno.Estes dispositivos possuem memória.

CircuitoCombinatórioEntrada Saída

CircuitoCombinatório

Estado interno

EntradaSaída

Circuito Seqüencial

3

Flip-Flop (FF)

• Também chamado de latch ou multivibrador biestável por possuir dois estados estáveis 0 e 1.

- Elementos básicos de contadores e registradores.- Denominação latch é mais usada para circuitos simplificados.- Termo Flip-flop usado para latches com relógio e circuito mais complexo.

• Tem a função de armazenar níveis lógicos temporariamente,funcionando como uma memória.

• É implementado a partir de portas lógicas, através de conexões derealimentação.

• Existem diversas combinações de conexões e portas lógicas,levando a diferentes tipos de FFs.

4

Flip-Flop (FF)

Representação básica do Flip-Flop

- Duas saídas opostas denominadas Q e Q'.- Q saída normal ; Q' saída invertida (nível lógico oposto a Q)- Estado ALTO = SET (setar o FF)- Estado BAIXO = RESET ou CLEAR (ressetar ou limpar o FF)- Pode haver uma ou mais entradas para comutar estados

5

Latch SR com portas NAND

• Circuito de armazenamento mais simples, em que as portas são conectadas de modo cruzado.• Q e Q' são as saídas do latch.• Entrada SET seta o latch (Q = 1 e Q' = 0).• Entrada RESET resseta (limpa) o latch (Q = 0 e Q' = 1).• Sempre que se deseja mudar as saídas, deve-ser colocar uma das entradas em nível BAIXO (entradas ativas quando BAIXO).• Conhecido como latch estático.

Entradas SET = 1 e RESET = 1 deixam o latch no estado de repouso (saídas não mudam – latch inalterado, 'lembra' o bit)

6

• Quando SET é pulsada em nível BAIXO, saída é Q = 1.

Setando o latch

• Se Q = 1, antes do pulso, seu estado não muda.

Latch SR com portas NAND

7

• Quando RESET é pulsada em nível BAIXO, saída é Q = 0.

Ressetando o latch

• Se Q = 0, antes do pulso, seu estado não muda.

Latch SR com portas NAND

8

• Quando SET e RESET são pulsadas em nível BAIXO ao mesmo tempo, temos Q = 1 e Q' = 1.

• Inconsistência, uma vez que as saídas são complementares.

• Além disso, como a simultaneidade absoluta não é possível, a saída vai ser dada pela entrada que mudar de estado por último:

• Se RESET = 0 antes de SET, saída seria Q = 0 (latch ressetado).• Caso SET = 0 antes de RESET, saída seria Q = 1 (latch setado)

• Portanto, esta condição (RESET = SET = 0) não é usada.

Setando e Ressetando o latch simultaneamente

Latch SR com portas NAND

9

Resumo das operações

• As saídas R e S são ativas em nível 0.

Não usada00

110

001

Qn

11

Qn+1RS

Latch SR com portas NAND

10

Representação alternativa

• Entradas são ativas em nível BAIXO• Costuma-se usar a representação alternativa para NAND

Latch SR com portas NAND

11

Exemplo: As formas de onda abaixo são aplicadas na entrada de um latch SR. Determine a forma de onda da saída Q, considerando inicialmente Q = 0.

Latch SR com portas NAND

12

• Circuito equivalente ao anterior, usando portas NOR.

• Saídas agora estão em posições trocadas.

• Entradas ativas nível ALTO.

Não usada11

101

010

Qn

00

Qn+1RS

Latch SR com portas NOR

13

Exemplo: Os sinais S e R são aplicados nas entradas de um latch constituído por portas NOR. Determine o sinal de saída, considerandoinicialmente Q = 0.

Latch SR com portas NOR

14

• Na chave mecânica hátrepidação de contato(contact bounce).

• Se a chave sai da 1 para2, R = 1 e S = 0 Qout = 1.

• Se o contato é desfeito,R = 1 e S = 1 Qout = 1

Aplicação: Chave sem Trepidação

Latch SR

15

• Não é possível prever estado inicial da saída.

• Depende de fatores como atraso de propagação, capacitâncias parasitas e carga externa.

• Para garantir uma operação adequada, o latch deve ser colocado em um estado desejado

• Se setado (Q = 1), ativa-se SET momentaneamente.• Se ressetado (Q = 0), ativa RESET momentaneamente.

Estado do latch quando energizado

16

Latch SR Controlado

Latch comandado por entrada ENABLE (latch dinâmico)

• Se ENABLE = 0, Q e Q’ permanecem inalterados (S’ = 1 e R’ = 1).

• Se ENABLE = 1, o latch funciona normalmente, com entradas ativas em 1.

• Em muitos casos, é conveniente ligar ou isolar o latch de um circuito.

• Um sinal externo de habilitação determina o instante de atualização das saídas Q e Q'.

17

Latch SR ControladoAplicação

• Linha de dados que mudam com o tempo (ex. Barramento).• Em um dado instante, deseja-se capturar um bit. Para isto, habilita-se o latch e Q seguirá a entrada D.• Para manter o dado salvo, desabilita-se o latch. • Chamado de latch tipo D (transparente).

Alteração dos níveis de saída ocorre na transição do sinal C (ENABLE) de 0 para 1.

18

Sinais de Clock e Latches

• Portas lógicas introduzem atrasos de propagação nos sinais, o que pode levar a níveis não desejados chamados perigos (harzards), principalmente em circuitos com memória.

• Um meio de minimizar estes problemas é trabalhar com sinais síncronos (sistemas digitais síncronos).

• Mudanças de estado são determinados por um sinal denominado relógio (clock).• O clock é geralmente um trem de pulsos retangulares (ideal), distribuídos por todos os circuitos.• Saídas mudam de estado na transição do sinal de clock (bordas).

19

• A sincronização é geralmente feita com latches com clock, projetados para mudarem de estado em transição do clock.

• A velocidade de operação depende da freqüência com que ocorrem os ciclos de clock.

• Um ciclo de clock é medido de uma borda de decida até a próxima borda.• O tempo de um ciclo é chamado de período (T) – segundos/ciclos• O inverso do período é a freqüência (f) – ciclos/segundo (Hz)‏

Sinais de Clock e Latches

20

Sinais de Clock e LatchesLatch controlado por clock – principais características

• Latches com clock (relógio) têm entrada CLK, CK ou CP.

• Podem ter uma ou mais entradas de controle, que não terão efeito até que a habilitação pelo clock ocorra (entradas de controle síncronas).

• As entradas de controle deixam o latch pronto para mudar de estado quando ocorrer a habilitação pelo clock.

• Se CLK = 0, Q e Q’ permanecem inalterados (S’ = 1 e R’ = 1);

• Se CLK = 1, o latch funciona normalmente, com entradas ativas em 1.

21

R

S

Clk

Q

Q’

Erro111

0011

1101

Qn

001

Qn

XX0

Qn+1

SRClk

• O pulso de clock sincroniza a atualização das saídas Q e Q’.

Sinais de Clock e Latches

22

Limitação do latch como elemento armazenador

• Sistemas digitais síncronos:• Sinal comum de sincronismo para os elementos armazenadores• Saídas de elementos armazenadores podem ser entradas para outros.

• Nestes casos, surge séria dificuldade.

Sinais de Clock e Latches

23

Limitação do latch como elemento armazenador

• Considere a figura abaixo: cascata de dois latches com clock (registrador de deslocamento).

•Por conta do atraso de propagação ser menor que pulso de clock, apenas uma transição de C altera o estado de ambos os latches (Problema da corrida)‏

Sinais de Clock e Latches

• Uma forma de contornar o problema é fazer o pulso menor (estreito)• No entanto, isto leva a dificuldades de ativação do latch e de distribuição dos pulsos.

24

• Denomina-se Flip-Flop um latch cujo problema da corrida seja resolvido (latches não-transparentes).

• O FF mestre-escravo consiste de dois latches individuais com portas de entrada de dados e de acoplamento.

• O clock aplicado nas portas de entrada é complementar às portas de acoplamento.

• Quando o clock habilita as portas de entrada (desabilitando as portas de acoplamento), os dados são registrados nos terminais S e R,

• Quando as portas de acoplamento são habilitadas (desabilitando as de entrada), os dados são transferidos para a saída.

Flip-Flop Mestre-Escravo

25

Flip-Flop Mestre-Escravo

26

Flip-Flop Mestre-Escravo

ta

p

ta

p

Relógio

QM

QS

0

1

0

1

0

1

Problema da corrida resolvido (registrador de deslocamento com FFs em cascata).

27

Flip-Flop Mestre-Escravo

• Diagrama de tempos

28

Flip-Flop Mestre-Escravo

• Problema da detecção de 1s.

• No instante t2, Q = 1, ao contrário do que se esperava. Isto ocorre

porque o clock permaneceu ativo.

• Solução: FFs gatilhados pela borda.

29

Flip-Flop SR Gatilhado pela Borda• Mudança no nível de saída só ocorre na borda de transição do clock (resolve problema de detecção de 1's do mestre-escravo).

• Consideraremos a versão simplificada. O circuito detector de borda produz um pulso estreito e positivo CLK*.

• As portas habilitadores de entrada direcionam o pulso para a entrada desejada.

• S = 1 e R = 0, pulso CLK* é invertido pela porta 1 e SET = 0 → Q = 1• S = 0 e R = 1, pulso CLK* é invertido pela porta 2 e RESET = 0 → Q = 0

30

Detector de borda positiva Detector de borda negativa

• A duração dos pulsos é normalmente de 2 a 5 ns.• Q só é afetada por S e R neste período curto.

Flip-Flop SR Gatilhado pela Borda

• Exemplo de implementação do detector de borda.

• Inversor produz atraso de alguns ns, de forma que a transição em CLK' ocorra um pouco após a de CLK.• A porta AND produz spike quando ambos estão em nível ALTO (BAIXO).• Resulta em pulso estreito CLK* na borda de subida (descida) do sinal.

31

• Triângulo na entrada de clock CLK é usado para representar gatilhamento pela borda.

Flip-Flop SR Gatilhado pela Borda

• Consideraremos, a partir de agora, que todos os FFs são gatilhados pela borda, a menos que afirmado o contrário.

32

Exemplo: Para os sinais S e R da figura, determinar o sinal em Q (Qi=0).

Observe que o FF não é afetado pelas bordas de subida do clock.

Os sinais S e R só têm efeito na ocorrência da borda de subida (são chamadas de entrada de controle síncrona).

Flip-Flop SR Gatilhado pela Borda

33

Exemplo: O que acontece na saída Q nos instantes b, f e h, se as formas de onda forem aplicadas a um FF gatilhado pela borda de descida?

• Em b, nível ALTO; em f, nível BAIXO; em h, nível ALTO.

Flip-Flop SR Gatilhado pela Borda

34

Flip-Flop JK• Para o FF SR, evita-se a condição S = R = 1, por conta de um resultado

indeterminado na saída.

• Pode-se modificar o FF SR para permitir esta condição: FF JK.

• Neste caso não há condição proibida, e surge o modo de comutação

(toggle mode).

• A modificação sugere que não só S e R modifiquem a saída, mas

também o próprio estado do FF (a realimentação é responsável).

Latch SRclock

J

K

Q

Q

Tabela Verdade

J K

0 01 0 10 1 0

1 1

Qn+1

Qn (não muda)

Qn' (comuta)

35

Flip-Flop JK Gatilhado pela Borda• Versão simplificada, idêntica ao SR, com exceção das realimentações.

• Observe que, se CLK* não for muito estreito, os novos valores de Q e Q'

farão com que o FF comute novamente.

36

Exemplo: Dadas as entradas J, K e CLK, determine a saída Q (assumir Qi=1).

Flip-Flop JK Gatilhado pela Borda

37

Flip-Flop D Gatilhado pela Borda• Equivalente ao FF JK com um inversor entre as duas entradas• D: entrada de controle síncrona (dado)‏• Operação: Q segue D na borda de subida em CLK.

Exemplo: Dadas as entradas D e CLK, determine a saída Q (Qi=1).

38

Flip-Flop D Gatilhado pela Borda• Circuito alternativo:

• Se C = 0, S' = R' = 1 → Qn+1

= Qn

• Para D = 0, se C vai para 1, S' = 1 e R' = 0 → Q = 0 (Q = D). • Para D = 1, se C vai para 1, S' = 0 e R' = 1 → Q = 1 (Q = D).• Qualquer alteração em D quando C = 1 não produz efeito (gatilhado pela borda).

39

Aplicação: Transferência em Paralelo de Dados

No momento da aplicação do pulso, dados X, Y e Z serão transferidos para Q1, Q2 e Q3 e armazenados.

Estes dados podem ser usados posteriormente.

Flip-Flop D Gatilhado pela Borda

40

• Equivalente ao FF JK com as duas entradas conectadas.

• A cada borda de subida de CLK, FF chaveia (toggle) quando T = 1.

TT

Qn’1

Qn

0

Qn+1

CLKT

Flip-Flop T Gatilhado pela Borda

41

Aplicação: Divisor de Freqüência

• FQb = F

Qa / 2

• FQb = Fclock / 4

Flip-Flop T Gatilhado pela Borda

T

Clk

Q

Q’

T

Clk

Q

Q’clock

5V

Qa

Qb

Qa

Qb

clock

Tclock

TQa

TQb

42

Entradas Assíncronas

• FFs estudados até agora possuem apenas entradas de controle síncronas (efeito sincronizado com clock). • Muitas vezes é necessário incorporar entradas independentes, que coloquem FF em estado 0 ou 1 em qualquer instante.

• Estas entradas independem de qualquer outra entrada de controle e são chamadas entradas assíncronas ou diretas.

• Podem ser usadas para manter o FF em um estado particular por qualquer intervalo de tempo desejado.

43

Flip-Flop JK com Entradas Assíncronas

• Entradas de Set direto (Sd' ou PRESET') e Reset direto (R

d' ou CLEAR')

• Entradas assíncronas ativas em nível BAIXO.• Prevalecem sobre todas as entradas de controle.• Sd

' = 1 e Rd' = 0 → RESET (Q = 0)

• Sd' = 1 e R

d' = 0 → SET (Q = 1)

• Sd' = 0 e R

d' = 0 → Não usada (ambigüidade).

J

K

44

• As entradas PRESET' e CLEAR' atuam diretamente nas saídasQ e Q’, independentemente do pulso de clock e das entradas J e K.

Qn’1111

1

1

1

0

1

PRESET’

1

1

1

1

0

CLEAR’

101

010

Qn

00

1XXX

0XXX

Qn+1

KJCLK

Flip-Flop JK com Entradas Assíncronas

45

Exemplo: Dadas as entradas, determine o sinal na saída Q (Qi=1)

Flip-Flop JK com Entradas Assíncronas

46

Símbolos IEEE / ANSI

(a) Um único FF J-K disparado por borda negativa;

(b) CI comercial 74LS112, relativo a um duplo FF J-K disparado porborda negativa – subentende-se que os dois FF são iguais.O 1 em C1 e 1J e 1K indica que C controla J e K.Controlador1 controla 1Controlado

47

Símbolos IEEE / ANSI

(a) Um único FF D disparado por borda positiva;

(b) CI comercial 74HC175, relativo a um quádruplo FF D disparado porborda positiva, com clock e CLEAR comuns (não possui PRESET).