SISTEMAS DIGITAIS Flip-flops Prof. Carlos Sêrro Prof. João Paulo Carvalho Adaptados para lógica positiva por Guilherme Arroz Novembro de 2005 Sistemas Digitais 1 Prof. Carlos Sêrro Prof. João Paulo Carvalho Latch RS controlado EN Novembro de 2005 (t) S (t) R (t) Q (t+∆t) 0 x x Q (t) 1 0 0 Q (t) 1 0 1 0 1 1 0 1 1 1 1 1 Sistemas Digitais 2 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flops Ao contrário do que acontece com um latch, a mudança de estado de um flipflop dá-se sempre num momento bem determinado Num flanco de comutação de um impulso de relógio O relógio é controlado pelo utilizador Novembro de 2005 Sistemas Digitais 3 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flops Impulso de relógio e flancos Flanco ascendente Novembro de 2005 Flanco descendente Sistemas Digitais 4 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flops A mudança de estado de um flip-flop é independente do momento em que as entradas são alteradas Só ocorre junto ao flanco de relógio para o qual o flip-flop foi desenhado (flanco de comutação) É importante que as entradas (síncronas) não mudem quando ocorre o flanco de comutação Novembro de 2005 Sistemas Digitais 5 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave Master Novembro de 2005 Slave Sistemas Digitais 6 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave 00 1 Quando CP está a 0, o master está isolado de possíveis variações nas entradas mantendo o estado anterior. O slave, por seu lado, está receptivo ao estado que o master impõe nas suas entradas, e assume esse estado. O estado do slave (e do flip-flop) fica, portanto, igual ao do master Novembro de 2005 Sistemas Digitais 7 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave 01 10 Quando CP passa de 0 para 1, o slave passa a ficar isolado do master, mantendo o estado anterior (uma vez que /CP vem a 0). O master, pelo contrário, passa a ficar aberto à influência das entradas e assume o estado que estas lhe impõem. Novembro de 2005 Sistemas Digitais 8 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave 1 0 Agora CP está a 1, o slave está completamente isolado do master e o estado do flip-flop está estável. O master, pelo contrário, está totalmente aberto à influência das entradas e assume o estado que estas lhe impõem. Novembro de 2005 Sistemas Digitais 9 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave 10 01 Agora CP passa a 0, isolando o master da influência das entradas. O slave, por seu lado, adquire o estado que o master lhe impuser, eventualmente diferente do que anteriormente possuia. Se houver lugar a uma mudança de estado do slave (e do flip-flop), ela ocorre neste flanco descendente Novembro de 2005 Sistemas Digitais 10 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave 0 1 CP passa a 0 e o ciclo repete-se Novembro de 2005 Sistemas Digitais 11 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave Em resumo, o flip-flop só muda de estado, se mudar, nos flancos descendentes dos impulsos de relógio aplicados a CP Novembro de 2005 Sistemas Digitais 12 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave Flancos de comutação (descendentes) CP_H Novembro de 2005 Sistemas Digitais 13 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop RS Master-Slave CP S (t) R (t) Q (t+∆t) 0 0 Q (t) 0 1 0 1 0 1 1 1 ? 0 x x Q (t) 1 x x Q (t) O comportamento do flip-flop é imprevisível. Temos uma situação de corrida idêntica à que ocorre num Latch SR quando as entradas mudam simultaneamente de 1 para 0, ou num latch SR controlado quando a entrada de Enable fica inactiva, com S e R a 1 Novembro de 2005 Sistemas Digitais 14 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop JK Master Slave Para evitar a situação de imprevisibilidade do RS master-slave, surge o flip-Flop JK Num FF JK, quando ambas as entradas estão activas, o FF muda de estado Também se diz que comuta A entrada J tem o mesmo papel que a entrada S (faz o Set da saída Q) A entrada K tem o mesmo papel que a entrada R (faz o Reset da saída Q) Novembro de 2005 Sistemas Digitais 15 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop JK Master Slave CP J (t) K (t) Q (t+∆t) 0 0 Q (t) 0 1 0 1 0 1 1 1 Q (t) 0 x x Q (t) 1 x x Q (t) O FF comuta (muda de estado) Novembro de 2005 Sistemas Digitais 16 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop JK Master-Slave Novembro de 2005 Sistemas Digitais 17 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-Flop JK Master-Slave Qualificador de atraso: significa que a saída correspondente só comuta (muda, se mudar) no flanco que se segue ao que torna a entrada de relógio activa Símbolo IEC Indica que o FF possui uma estrutura Master-Slave Novembro de 2005 Sistemas Digitais 18 Prof. Carlos Sêrro Prof. João Paulo Carvalho Entradas assíncronas As entradas indicadas nos FFs anteriores (S, R, J e K) dizem-se síncronas porque os seus efeitos só se fazem sentir nas saídas imediatamente depois dos flancos de comutação Isto se derem origem a mudanças de estado, senão os efeitos não se fazem sentir Novembro de 2005 Sistemas Digitais 19 Prof. Carlos Sêrro Prof. João Paulo Carvalho Entradas assíncronas Mas os FFs também possuem, em geral, entradas assíncronas, cujos efeitos nas saídas se fazem sentir imediatamente, sem que os flancos de comutação intervenham Isto é, não dependem dos impulsos de relógio Para não se confundirem com as entradas de Set (S) e de Reset (R) designam-se, habitualmente, por Preset (o mesmo que Set) e por Clear (o mesmo que Reset) Novembro de 2005 Sistemas Digitais 20 Prof. Carlos Sêrro Prof. João Paulo Carvalho Entradas assíncronas A actuação de uma das entradas assíncronas de Preset ou de Clear permite a colocação do flip-flop num determinado estado inicial (após o “power-on) Naturalmente, só devemos activar uma dessas entradas de cada vez A não activação de ambas significa que o FF tem o seu comportamento síncrono habitual Novembro de 2005 Sistemas Digitais 21 Prof. Carlos Sêrro Prof. João Paulo Carvalho Entradas assíncronas Preset (Q = 1) Clear (ou Reset) (Q = 0) Novembro de 2005 Sistemas Digitais 22 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D MS À semelhança do que se fez nos Latches, é possível definir um flip-flop Masterslave do tipo D (com apenas uma entrada). Basta considerar um flip-flop SR em que a entrada R seja sempre igual à negação da entrada S Novembro de 2005 Sistemas Digitais 23 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D MS O símbolo IEC de um flip-flop D MasterSlave é: 1D C1 R S Novembro de 2005 Sistemas Digitais 24 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D MS 1D C1 Então, as saídas só comutam (mudam, se tiverem que mudar) no flanco seguinte (flanco descendente) R S A entrada de relógio fica activa quando esta linha vem a 1 Novembro de 2005 Neste caso o ff comuta no flanco descendente Sistemas Digitais 25 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops Edge-triggered Os Flip-Flops Edge-Triggered reagem às entradas síncronas num determinado flanco do impulso de relógio (o flanco de comutação) As mudanças nas saídas são, então, independentes dos níveis de tensão nas entradas ou das mudanças nesses níveis, excepto num curto intervalo de tempo em torno do flanco de comutação do ff Novembro de 2005 Sistemas Digitais 26 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops Edge-triggered FF Edge-Triggered positivos: comutam no flanco ascendente do impulso de relógio (quando o relógio muda de 0 para 1) FF Edge-Triggered negativos: comutam no flanco descendente (quando o relógio muda de 1 para 0) Novembro de 2005 Sistemas Digitais 27 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D ET Num flip-flop D edge-triggered positivo a saída Q assume o estado da entrada D quando se dá uma transição 0 -> 1 na entrada CP mantém o estado, independentemente de D, enquanto CP está 1, a 0, ou ainda durante as transições 1 -> 0 nessa linha O flip-flop só comuta, portanto, quando na entrada CP ocorrem flancos ascendentes de impulsos de relógio Novembro de 2005 Sistemas Digitais 28 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D ET Num FF D edge-triggered negativo o comportamento é semelhante, mas a comutação (mudança de estado, se houver caso disso) apenas se verifica no flanco descendente do relógio Novembro de 2005 Sistemas Digitais 29 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D ET CP Novembro de 2005 D (t) Q(t+∆t) 0 0L 1 1 x Q(t) 0 x Q(t) 1 x Q(t) Sistemas Digitais Este FF comuta no flanco ascendente 30 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops D ET 1D 1D C1 C1 Flip-flop D edge-triggered positivo Flip-flop D edge-triggered negativo Indica que o FF é edge-triggered Novembro de 2005 Indica que o FF é edge-triggered negativo Sistemas Digitais 31 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops JK ET O comportamento de um flip-flop JK edge-triggered positivo é semelhante ao do JK estudado anteriormente, com a diferença de que só reage às entradas síncronas no flanco ascendente do relógio Novembro de 2005 Sistemas Digitais 32 Prof. Carlos Sêrro Prof. João Paulo Carvalho Flip-flops JK ET CP J (t) K (t) Q(t+∆t) 0 0 Q(t) 0 1 0 1 0 1 1 1 Q(t) x x Q(t) 0 x x Q(t) 1 x x Q(t) Novembro de 2005 Sistemas Digitais 1J C1 1K Flip-flop JK edge-triggered positivo 33 Prof. Carlos Sêrro Prof. João Paulo Carvalho FFs: comportamento temporal Do ponto de vista temporal, os flip-flops são caracterizados por vários parâmetros Um dos aspectos mais importantes é o de que, no momento em que ocorre o flanco de comutação, as entradas devem estar estáveis de forma a evitar uma situação em que a reacção do flip-flop fique dependente de uma corrida entre sinais dentro do circuito e seja, portanto, não previsível Novembro de 2005 Sistemas Digitais 34 Prof. Carlos Sêrro Prof. João Paulo Carvalho FFs: comportamento temporal tpd - Tempo de propagação, de atraso ou de reacção do ff É o tempo que decorre entre o momento em que ocorre o flanco de comutação em CP e o momento em que as saídas são actualizadas Novembro de 2005 Sistemas Digitais 35 Prof. Carlos Sêrro Prof. João Paulo Carvalho FFs: comportamento temporal tsu - Tempo de Set-Up ou de preparação É o tempo que decorre entre o último instante em que as entradas têm de estar estáveis e o momento em que se dá o flanco de comutação Devem evitar-se mudanças nas entradas síncronas dentro do intervalo de tempo tsu Novembro de 2005 Sistemas Digitais 36 Prof. Carlos Sêrro Prof. João Paulo Carvalho FFs: comportamento temporal th – Tempo de Hold ou de manutenção É o tempo que medeia entre o flanco de comutação e o instante em que as entradas síncronas já podem variar sem afectar o bom funcionamento do FF Devem evitar-se mudanças nas entradas síncronas dentro do intervalo de tempo th Novembro de 2005 Sistemas Digitais 37 Prof. Carlos Sêrro Prof. João Paulo Carvalho FFs: Comportamento Temporal Tempo de Set-up Novembro de 2005 Tempo de Hold Sistemas Digitais 38