Latch e flip-flop
In questa pagina 6
Una rete sequenziale ha uscite che dipendono dagli ingressi e dalla storia passata, riassunta in uno stato memorizzato. La memoria si ottiene con la retroazione: l'uscita di una porta rientra come ingresso. L'elemento base memorizza un bit.
Latch SR
Due porte NOR incrociate: , .
| Effetto | |||
|---|---|---|---|
| 0 | 0 | mantiene lo stato (memoria) | |
| 1 | 0 | 1 | set |
| 0 | 1 | 0 | reset |
| 1 | 1 | — | proibito: entrambe le uscite a 0, e al ritorno a 00 lo stato è imprevedibile |
Con porte NAND si ottiene lo stesso circuito con ingressi attivi bassi (, ).
Latch abilitati dal clock
Per far cambiare lo stato solo in momenti precisi si aggiunge un ingresso di abilitazione, collegato al clock : gli ingressi e passano attraverso due AND con .
Latch D (data): un solo ingresso, e , così lo stato proibito non può presentarsi.
- : il latch è trasparente, segue ;
- : resta all'ultimo valore.
Problema: mentre ogni variazione di arriva all'uscita. In un circuito con retroazione (uscita che, attraverso una rete combinatoria, torna all'ingresso) il valore può cambiare più volte nello stesso ciclo.
Flip-flop D
Cambia stato solo sul fronte del clock (di salita o di discesa). Realizzazione master-slave: due latch D in cascata con clock opposti.
- : il master è trasparente e segue ; lo slave è bloccato.
- Quando scende: il master si blocca e lo slave copia il suo valore.
Risultato: prende il valore che aveva all'istante del fronte, e resta fermo per tutto il ciclo.
Vincoli di temporizzazione: deve essere stabile per un tempo di setup prima del fronte e per un tempo di hold dopo; l'uscita cambia dopo il ritardo clock-uscita.
Flip-flop JK e T
| 0 | 0 | |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | (commuta) |
Il JK è un SR in cui la combinazione 11 fa commutare lo stato invece di essere proibita: .
Il flip-flop T (toggle) è un JK con : se commuta a ogni fronte, se mantiene. . È la base dei contatoriRegistro parallelo a n bit con caricamento abilitato; banco dei registri con due porte di lettura e una di scrittura; registri a scorrimento; contatori sincroni e asincroni (ripple), contatore modulo N con esempio svolto.Registri e contatori →.
Clock e periodo minimo
In un sistema sincrono tutti i flip-flop ricevono lo stesso clock. Tra due flip-flop c'è una rete combinatoria: il segnale deve attraversarla prima del fronte successivo.
Esempio: ps, percorso combinatorio più lento 800 ps, setup 30 ps → ps, frequenza massima GHz. Questo è il motivo per cui la PipelineIdea della catena di montaggio; pipeline a 5 stadi IF, ID, EX, MEM, WB; tempo di ciclo, tempo per n istruzioni in una pipeline a k stadi e speedup con esempi svolti; registri di pipeline; scrittura e lettura dei registri nello stesso ciclo; limiti (stadi sbilanciati, hazard).Pipeline → spezza il percorso combinatorio in stadi più corti.
Errori tipici
- Confondere latch (sensibile al livello del clock) e flip-flop (sensibile al fronte).
- Dimenticare che nel latch SR la combinazione non è ammessa.
Versione ripasso
Rete sequenziale: le uscite dipendono dagli ingressi e da uno stato memorizzato (retroazione).
- Latch SR (due NOR incrociate): mantiene ; set; reset; proibito.
- Latch D con clock : , . : trasparente; : mantiene.
- Flip-flop D: cambia solo sul fronte; master-slave (due latch D con clock opposti). ; vincoli di setup e hold.
- JK: 00 mantiene, 01 reset, 10 set, 11 commuta; . T (): , base dei contatoriRegistro parallelo a n bit con caricamento abilitato; banco dei registri con due porte di lettura e una di scrittura; registri a scorrimento; contatori sincroni e asincroni (ripple), contatore modulo N con esempio svolto.Registri e contatori →.
- Periodo minimo: ; ps circa 1,14 GHz. Per questo la PipelineIdea della catena di montaggio; pipeline a 5 stadi IF, ID, EX, MEM, WB; tempo di ciclo, tempo per n istruzioni in una pipeline a k stadi e speedup con esempi svolti; registri di pipeline; scrittura e lettura dei registri nello stesso ciclo; limiti (stadi sbilanciati, hazard).Pipeline → accorcia i percorsi.
Errori tipici: latch (livello) confuso con flip-flop (fronte); non ammesso.