UNIVASF Eletrônica Digital I Circuitos Seqüenciais Latches e Flip-Flops Material do professor Rodrigo Ramos (UNIVASF)
Circuitos Seqüenciais Circuitos Digitais Combinatório: As saídas, em qualquer instante, das entradas. dependem somente 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. Circuito Seqüencial Entrada Circuito Combinatório Saída Entrada Circuito Combinatório Saída Estado interno 2
Flip-Flop (FF) Também chamado de latch ou multivibrador biestável por possuir dois estados estáveis e. - 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 de realimentação. Existem diversas combinações de conexões e portas lógicas, levando a diferentes tipos de FFs. 3
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 4
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 = e Q' = ). Entrada RESET resseta (limpa) o latch (Q = e Q' = ). 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 = e RESET = deixam o latch no estado de repouso (saídas não mudam latch inalterado, 'lembra' o bit) 5
Setando o latch Latch SR com portas NAND Quando SET é pulsada em nível BAIXO, saída é Q =. Se Q =, antes do pulso, seu estado não muda. 6
Ressetando o latch Latch SR com portas NAND Quando RESET é pulsada em nível BAIXO, saída é Q =. Se Q =, antes do pulso, seu estado não muda. 7
Latch SR com portas NAND Setando e Ressetando o latch simultaneamente Quando SET e RESET são pulsadas em nível BAIXO ao mesmo tempo, temos Q = e Q' =. Inconsistência, uma vez que as saídas são complementares. Além disso, como a simultaneidade absoluta não é possível, a estado por último: Q = (latch saída vai ser dada pela entrada que mudar de Se RESET = antes de SET, saída seria ressetado). Caso SET = antes de RESET, saída seria Q = (latch setado) Portanto, esta condição (RESET = SET = ) não é usada. 8
Resumo das operações Latch SR com portas NAND As saídas R e S são S ativas em R nível. Q n+ Q n Não usada 9
Representação alternativa Latch SR com portas NAND Entradas são ativas em nível BAIXO Costuma-se usar a representação alternativa para NAND
Latch SR com portas NAND Exemplo: As formas de onda abaixo são aplicadas na um latch SR. Determine a forma de onda da considerando inicialmente Q =. entrada saída de Q,
Latch SR com portas NOR Circuito equivalente ao anterior, usando portas NOR. Saídas agora estão em posições trocadas. Entradas ativas nível ALTO. S R Q n+ Q n Não usada 2
Latch SR com portas NOR 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, considerando inicialmente Q =. 3
Latch SR Aplicação: Chave sem Trepidação Na chave mecânica há trepidação de contato (contact bounce). Se a chave sai da para 2, R = e S = Q out =. Se o contato é desfeito, R = e S = Q out = 4
Estado do latch quando energizado 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 Se setado (Q ressetado = ), ativa-se SET momentaneamente. (Q = ), ativa RESET momentaneamente. 5
Latch SR Controlado Latch comandado por entrada ENABLE (latch dinâmico) 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'. Se ENABLE =, Q e Q permanecem inalterados (S = e R = ). Se ENABLE =, o latch funciona normalmente, com entradas ativas em. 6
Latch SR Controlado Aplicaçã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 para. 7
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). 8
Sinais de Clock e Latches 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 O tempo de um ciclo é chamado de período (T) segundos/ciclos inverso do período é a freqüência (f) ciclos/segundo (Hz) 9
Sinais de Clock e Latches Latch 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 =, Q e Q permanecem inalterados (S = e R = ); Se CLK =, o latch funciona normalmente, com entradas ativas em. 2
Sinais de Clock e Latches O pulso de clock sincroniza a atualização das saídas Q e Q. R Q Clk S Q Clk R S Q n+ X X Q n Q n Erro 2
Sinais de Clock e Latches 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. 22
Sinais de Clock e Latches 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) 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. 23
Flip-Flop Mestre-Escravo 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. 24
Flip-Flop M est r e - Escravo 25
Flip-Flop Me st r e - Escravo Relógio Problema da corrida resolvido (registrador de deslocamento com FFs em t a cascata). Q M p 26 Q S t a
Flip-Flop Mestre-Escravo Diagrama de tempo s 27
Problema da detecção de s. Flip-Flop Mestre-Escravo No instante t, Q =, ao contrário do que se esperava. Isto ocorre 2 porque o clock permaneceu ativo. Solução: FFs gatilhados pela borda. 28
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 '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 S = = e e R R = =,, pulso pulso CLK* CLK* é é invertido invertido pela pela porta porta 2 e e SET = Q = RESET = Q = 29
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. 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. 3
Flip-Flop SR Gatilhado pela Borda Triângulo na entrada de clock CLK é usado para representar gatilhamento pela borda. Consideraremos, a partir de agora, que todos os FFs são gatilhados pela borda, a menos que afirmado o contrário. 3
Flip-Flop SR Gatilhado pela Borda Exemplo: Para os sinais e R da figura, determinar sinal em Q (Q i =). 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). S o 32
Flip-Flop SR Gatilhado pela Borda 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. 33
Flip-Flop JK Para o FF SR, evita-se a condição S = R =, 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). Tabela Verdade J clock K Latch SR Q Q J K Q n+ Q n (não muda) Q n ' (comuta) 34
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. 35
Flip-Flop JK Gatilhado pela Borda Exemplo: Dadas as entradas J, K e CLK, determine a saída Q (assumir Q i =). 36
Flip-Flop D Gatilhado pela Borda Equ i va l en t e ao FF JK com um i nve r so r en tr e as du as entradas D : en tr ada de con tr o l e síncrona ( dado ) Ope r ação : Q segue D na bo r da de sub i da em CLK. Exemplo: Dadas as en tr adas D e CLK, de t e r m i ne a sa í da Q ( Q = ). i 37
Flip-Flop D Gatilhado pela Borda Circuito alternativo: Se C =, S' = R' = Q = Q n+ n Para D =, se C vai para, S' = e R' = Q = (Q = D). Para D =, se C vai para, S' = e R' = Q = (Q = D). Qualquer alteração em D quando C = não produz efeito (gatilhado pela borda). 38
Flip-Flop D Gatilhado pela Borda Aplicação: Transferência em Paralelo de Dados No momento da aplicação do pulso, dados X, Y e Z serão transferidos para Q, Q2 e Q3 e armazenados. Estes dados podem ser usados posteriormente. 39
Flip-Flop T Gatilhado pela Borda Equivalente ao FF JK com as duas entradas conectadas. A cada bo r da de sub i da de CLK, FF chave i a ( toggle ) quand o T =. T T T CLK Q n+ Q n Q n 4
Flip-Flop T Gatilhado pela Borda 5V Aplicação: Divisor de Freqüência T Q T Q clock Clk Q Clk Q Q a Q b T clock clock T Qa F Qb = F Qa / 2 Q a F Qb = F clock / 4 T Qb Q b 4
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 ou 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. 42
Flip-Flop JK com Entradas Assíncronas Entradas de Set direto (S ' ou PRESET') e Reset direto d Entradas assíncronas ativas em nível BAIXO. Prevalecem sobre todas as entradas de controle. S ' = e R ' = RESET (Q = ) d d S ' = d e R ' = SET (Q = ) d S ' = e R ' = Não usada (ambigüidade). d d (R ' d ou CLEAR') J K 43
Flip-Flop JK com Entradas Assíncronas As entradas PRESET' e CLEAR' atuam diretamente nas saídas Q e Q, independentemente do pulso de clock e das entradas J e K. - ~ J r-.. '--' >CLK u () PRESET PRESET CLEAR CLK J K X X X Q - - K Q C) n CLEAR - - X X X Q n+ Q n Q n 44
Flip-Flop JK com Entradas Assíncronas Exemplo: Dadas as entradas, determine o sinal na saída Q (Q =) i 45
Símbolos IEEE / ANSI (a) Um único FF J-K disparado por borda negativa; (b) CI comercial 74LS2, relativo a um duplo FF J-K disparado por borda negativa subentende-se que os dois FF são iguais. O em C e J e K indica que C controla J e K. Controlador controla Controlado 46
Símbolos IEEE / ANSI (a) Um único FF D disparado por borda positiva; (b) CI comercial 74HC75, relativo a um quádruplo FF D disparado por borda positiva, com clock e CLEAR comuns (não possui PRESET). 47