Esercizio 22quiz su latch, flip-flop, temporizzazione e macchine a stati (temi d'esame 2022-2026)
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 ( a minimo, in 1-hot) |
| esercitazione | Ingressi e uscite : il sistema è | certamente sequenziale | allo stesso ingresso ha risposto prima e poi |
| 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 | = stato futuro |
| esercitazione | Riconoscere la sequenza : numero minimo di stati in Mealy e in Moore | 2 e 3 | Mealy: "ultimo bit " / 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, , : l'uscita è | con entrambe le uscite valgono (stato proibito) | |
| set 2025 (8) | Nel latch la configurazione : | non è permessa perché può produrre uscite non prevedibili nelle successive commutazioni | entrambe le uscite valgono ; passando a l'esito dipende dai ritardi |
| esercitazione | Nel latch SR le uscite e sono collegate agli ingressi: | della NOR con altro ingresso () e della NOR con altro ingresso () | e |
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 | |
| feb 2023 (15) | Diminuendo la frequenza di clock: | si possono risolvere violazioni del setup time | si allunga il periodo |
| 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 (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 →): , , . Ritardi: FF D: ns, ns; porta AND a 2 ingressi ns, OR a 2 ingressi ns. Il cammino critico verso un ingresso parte dall'uscita o di un FF: per attraversa una AND e la OR: ns ( non ha logica). Periodo minimo, senza margine: Con un margine ns: ns, MHz. L'uscita è di Mealy e non va a un FF: il suo ritardo non entra nel vincolo di setup. Se i FF avessero ns, bisognerebbe verificare : con (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 nel conto del periodo minimo.
Versione ripasso
- Mealy: uscita(stato, ingresso); stato non funzione dell'uscita; codifica non unica; bit di memoria dipendono dalla codifica. Uscita diversa a ingresso uguale sequenziale. Riconoscere : Mealy 2 stati, Moore 3.
- Latch NOR: ; NAND con : proibito, esito imprevedibile al ritorno a .
- Setup: stabile prima del fronte, parametro del FF, limita la frequenza massima; si risolve rallentando. Hold: non si risolve cambiando la frequenza.
- Calcolo: ns GHz (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 →).
- Errori: setup/hold scambiati; Mealy sincrona; stati FF.