Salta al contenuto
Note per Studenti Esercizio 22 · quiz su latch, flip-flop, temporizzazione e macchine a stati (temi d'esame 2022-2026)

Esercizio 22quiz su latch, flip-flop, temporizzazione e macchine a stati (temi d'esame 2022-2026)

Esame
In questa pagina 5

Testo (domande a risposta multipla dei temi d'esame giugno 2022, luglio 2022, settembre 2022, febbraio 2023, settembre 2025 e giugno 2026 sui circuiti sequenziali, più domande di esercitazione e un calcolo di frequenza massima). Per ogni domanda: risposta e motivo.


Teoria usata: Elementi di memoria - latch SR, latch D e flip-flop DUn circuito sequenziale ha uscite che dipendono da ingressi e stato (memoria); è un circuito combinatorio con elementi di memoria in retroazione; stato presente = uscite dei FF, stato futuro = ingressi dei FF. Sincrono (clock) o asincrono. Latch SR (NOR): S=1,R=0 set; S=0,R=1 reset; 00 memoria; 11 proibito. Latch D: C=1 trasparente (Q=D), C=0 memoria, sensibile al livello. Flip-flop D edge-triggered = due latch D in cascata (master-slave) con clock opposti: cambia solo sul fronte attivo e non è trasparente. Si assume D flip-flop positive-edge-triggered.Elementi di memoria - latch SR, latch D e flip-flop D →, Temporizzazione dei flip-flop - setup, hold e frequenza massima di clockUn flip-flop memorizza il dato corretto solo se l'ingresso è stabile per $t_s$ (setup) prima e $t_h$ (hold) dopo il fronte di clock; l'uscita cambia dopo il tempo di propagazione $t_{pd,FF}$ dal fronte. In un circuito sincrono il periodo deve soddisfare $T\ge t_{pd,FF}+t_{COMB}+t_{s,FF}+t_{slack}$, quindi $f_{max}=1/T_{min}$; abbassare la frequenza risolve le violazioni di setup. Il vincolo di hold $t_{pd,FF,min}+t_{COMB,min}\ge t_h$ non dipende dal clock (e non si risolve rallentandolo). Il clock skew modifica i vincoli.Temporizzazione dei flip-flop - setup, hold e frequenza massima di clock →, Analisi delle reti sequenziali - tabella e diagramma degli stati, Mealy e MooreAnalizzare una rete sequenziale sincrona significa ricavare, dal circuito, le equazioni di ingresso dei flip-flop (stato futuro) e dell'uscita, la tabella degli stati ($2^{m+n}$ righe per $m$ FF e $n$ ingressi), il diagramma degli stati (cerchi = stati, frecce = transizioni con ingresso/uscita) e la simulazione temporale. Mealy: uscita funzione di stato e ingresso (scritta sulle frecce, può cambiare tra due fronti di clock); Moore: uscita funzione del solo stato (scritta nel cerchio, cambia solo al fronte). Due stati sono equivalenti se danno le stesse uscite e portano a stati equivalenti: si fondono per ridurre i FF.Analisi delle reti sequenziali - tabella e diagramma degli stati, Mealy e Moore →, Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli statiSintesi di una rete sequenziale sincrona: specifiche $\to$ diagramma degli stati $\to$ tabella (riduzione degli stati equivalenti) $\to$ codifica binaria degli stati $\to$ scelta del FF (D PET) $\to$ equazioni di ingresso dei FF e delle uscite $\to$ minimizzazione $\to$ circuito e verifica. Lo stato riassume la parte di storia utile; per i riconoscitori si ha uno stato per ogni prefisso riconosciuto, riusando gli stati (sovrapposizioni). Reset: stato iniziale noto. Codifica Gray (numero minimo di FF) vs 1-hot (un FF per stato, logica più semplice): per il riconoscitore 1101 Gray costa circa la metà.Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli stati →.

Macchine a stati e circuiti sequenziali

tema domanda risposta motivo
giu 2022 (14) In una macchina di Mealy: (stato e uscite cambiano sempre insieme / lo stato è funzione dell'uscita) nessuna delle precedenti nella Mealy l'uscita dipende da stato e ingresso e può cambiare tra due fronti; lo stato non è funzione dell'uscita
giu 2026 (14) In una macchina di Mealy: (la codifica degli stati è unica / il numero di stati determina i bit di memoria) nessuna delle precedenti la codifica si sceglie (Gray, 1-hot...); i bit dipendono dalla codifica (⌈log⁡2m⌉\lceil\log_2m\rceil a minimo, mm in 1-hot)
esercitazione Ingressi (A,B)=(0,1),(1,1),(1,1)(A,B)=(0,1),(1,1),(1,1) e uscite Y=0,1,0Y=0,1,0: il sistema è certamente sequenziale allo stesso ingresso (1,1)(1,1) ha risposto prima 11 e poi 00
esercitazione Differenza tra circuito combinatorio e sequenziale: i combinatori non hanno memoria, i sequenziali sì i sequenziali dipendono dalla storia (stato)
esercitazione Con le equazioni di ingresso dei FF si definiscono: lo stato futuro del sistema DD = stato futuro
esercitazione Riconoscere la sequenza 0101: numero minimo di stati in Mealy e in Moore 2 e 3 Mealy: "ultimo bit 00" / altro; Moore: serve lo stato in più "riconosciuto" con l'uscita 1

Latch e flip-flop

tema domanda risposta motivo
lug 2022 (16) Latch RS con NOR, R=1R=1, S=1S=1: l'uscita QQ è 00 con S=R=1S=R=1 entrambe le uscite valgono 00 (stato proibito)
set 2025 (8) Nel latch S‾ R‾\overline S\,\overline R la configurazione S‾=R‾=0\overline S=\overline R=0: non è permessa perché può produrre uscite non prevedibili nelle successive commutazioni entrambe le uscite valgono 11; passando a (1,1)(1,1) l'esito dipende dai ritardi
esercitazione Nel latch SR le uscite QQ e Q‾\overline Q sono collegate agli ingressi: della NOR con altro ingresso SS (QQ) e della NOR con altro ingresso RR (Q‾\overline Q) Q‾=S+Q‾\overline Q=\overline{S+Q} e Q=R+Q‾‾Q=\overline{R+\overline Q}

Setup e hold

tema domanda risposta motivo
giu 2022 (15), esercitazione Il setup time è: il tempo per cui l'ingresso deve restare stabile prima del fronte del clock dopo il fronte è l'hold; il tempo di propagazione è un'altra cosa
lug 2022 (15) Il setup time di un flip-flop: dipende solo dal flip-flop è un parametro del FF (non della logica a monte o a valle)
giu 2026 (15) Il setup time: influisce sulla massima frequenza di clock T≥tpd,FF+tCOMB+ts,FFT\ge t_{pd,FF}+t_{COMB}+t_{s,FF}
feb 2023 (15) Diminuendo la frequenza di clock: si possono risolvere violazioni del setup time si allunga il periodo TT
set 2022 (15) Violazioni di hold time si risolvono: nessuna delle due (né diminuendo né aumentando la frequenza) il vincolo di hold non dipende dal clock: si aggiunge ritardo ai percorsi corti

Calcolo: frequenza massima del riconoscitore 1101

Realizzazione con codifica Gray del riconoscitore 11011101 (Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli statiSintesi di una rete sequenziale sincrona: specifiche $\to$ diagramma degli stati $\to$ tabella (riduzione degli stati equivalenti) $\to$ codifica binaria degli stati $\to$ scelta del FF (D PET) $\to$ equazioni di ingresso dei FF e delle uscite $\to$ minimizzazione $\to$ circuito e verifica. Lo stato riassume la parte di storia utile; per i riconoscitori si ha uno stato per ogni prefisso riconosciuto, riusando gli stati (sovrapposizioni). Reset: stato iniziale noto. Codifica Gray (numero minimo di FF) vs 1-hot (un FF per stato, logica più semplice): per il riconoscitore 1101 Gray costa circa la metà.Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli stati →): DA=AB+BXD_A=AB+BX, DB=XD_B=X, Z=AB‾ XZ=A\overline B\,X. Ritardi: FF D: tpd=0,4t_{pd}=0{,}4 ns, ts=0,15t_s=0{,}15 ns; porta AND a 2 ingressi 0,20{,}2 ns, OR a 2 ingressi 0,20{,}2 ns. Il cammino critico verso un ingresso DD parte dall'uscita AA o BB di un FF: per DAD_A attraversa una AND e la OR: tCOMB=0,2+0,2=0,4t_{COMB}=0{,}2+0{,}2=0{,}4 ns (DB=XD_B=X non ha logica). Periodo minimo, senza margine: Tmin=0,4+0,4+0,15=0,95 ns,fmax=10,95 ns≈1,05 GHz.T_{min}=0{,}4+0{,}4+0{,}15=0{,}95\ \mathrm{ns},\qquad f_{max}=\frac{1}{0{,}95\ \mathrm{ns}}\approx1{,}05\ \mathrm{GHz}. Con un margine tslack=0,1t_{slack}=0{,}1 ns: T=1,05T=1{,}05 ns, f≈952f\approx952 MHz. L'uscita ZZ è di Mealy e non va a un FF: il suo ritardo non entra nel vincolo di setup. Se i FF avessero th=0,3t_h=0{,}3 ns, bisognerebbe verificare tpd,min⁡+tCOMB,min⁡≥tht_{pd,\min}+t_{COMB,\min}\ge t_h: con DB=XD_B=X (nessuna logica) il percorso più corto è determinato dal solo ingresso.

Errori comuni

  • Scambiare setup e hold, o dire che hold si risolve con un clock più lento.
  • Dire che una Mealy ha l'uscita sincrona al clock: può cambiare tra due fronti.
  • Confondere numero di stati e numero di flip-flop: dipende dalla codifica.
  • Dimenticare tpd,FFt_{pd,FF} nel conto del periodo minimo.

Versione ripasso

Teoria collegata