Salta al contenuto
Note per Studenti Latch e flip-flop

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: Q=R+Q‾‾Q = \overline{R + \overline{Q}}, Q‾=S+Q‾\overline{Q} = \overline{S + Q}.

SS RR Qt+1Q_{t+1} Effetto
0 0 QtQ_t 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 (S‾\overline{S}, R‾\overline{R}).

Latch abilitati dal clock

Per far cambiare lo stato solo in momenti precisi si aggiunge un ingresso di abilitazione, collegato al clock CC: gli ingressi SS e RR passano attraverso due AND con CC.

Latch D (data): un solo ingresso, S=DS = D e R=D‾R = \overline{D}, così lo stato proibito non può presentarsi.

  • C=1C = 1: il latch è trasparente, QQ segue DD;
  • C=0C = 0: QQ resta all'ultimo valore.

Problema: mentre C=1C = 1 ogni variazione di DD 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.

  • C=1C = 1: il master è trasparente e segue DD; lo slave è bloccato.
  • Quando CC scende: il master si blocca e lo slave copia il suo valore.

Risultato: QQ prende il valore che DD aveva all'istante del fronte, e resta fermo per tutto il ciclo.

Qt+1=DtQ_{t+1} = D_t

Vincoli di temporizzazione: DD 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

JJ KK Qt+1Q_{t+1}
0 0 QtQ_t
0 1 0
1 0 1
1 1 Qt‾\overline{Q_t} (commuta)

Il JK è un SR in cui la combinazione 11 fa commutare lo stato invece di essere proibita: Qt+1=JQt‾+K‾QtQ_{t+1} = J\overline{Q_t} + \overline{K}Q_t.

Il flip-flop T (toggle) è un JK con J=K=TJ = K = T: se T=1T = 1 commuta a ogni fronte, se T=0T = 0 mantiene. Qt+1=T⊕QtQ_{t+1} = T \oplus Q_t. È 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.

Tclock≥tclk→Q+tcombinatoria,max⁡+tsetupT_{clock} \ge t_{clk \to Q} + t_{combinatoria,\max} + t_{setup}

Esempio: tclk→Q=50t_{clk\to Q} = 50 ps, percorso combinatorio più lento 800 ps, setup 30 ps → T≥880T \ge 880 ps, frequenza massima ≈1,14\approx 1{,}14 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 S=R=1S = R = 1 non è ammessa.

Versione ripasso

Rete sequenziale: le uscite dipendono dagli ingressi e da uno stato memorizzato (retroazione).

Errori tipici: latch (livello) confuso con flip-flop (fronte); S=R=1S = R = 1 non ammesso.

Esercizi su questo argomento

Teoria collegata