Salta al contenuto
Note per Studenti Esercizio 15 · quesiti rapidi su latch, registri, C2MOS e parametri temporali (temi d'esame 2024-2026)

Esercizio 15quesiti rapidi su latch, registri, C2MOS e parametri temporali (temi d'esame 2024-2026)

Esame

Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.

In questa pagina 8

Quesiti dai temi di giugno 2024 (e luglio 2025), settembre 2024 (e settembre 2026), giugno 2025, luglio 2026 e dalla raccolta di domande di esempio, con due calcoli numerici (periodo minimo e vincolo di hold). Chiave ufficiale solo per giugno 2024 / luglio 2025.

Teoria usata: Latch, registri e parametri temporaliUn circuito sequenziale ha uno stato memorizzato in due modi: retroazione positiva (due inverter in anello, bistabile, i latch statici) o immagazzinamento di carica (circuiti dinamici). Un latch è sensibile al livello del clock (trasparente quando il clock è attivo, memorizza quando non lo è), un registro (flip-flop) è sensibile al fronte e si realizza con due latch sulle fasi opposte (master-slave). Il latch SR a porte NOR/NAND non ammette la combinazione S = R = 1 perché passando da lì alla memoria lo stato finale è imprevedibile. Parametri temporali del registro: ritardo clock-uscita t_c-q, tempo di setup t_su (dato stabile prima del fronte), tempo di hold t_hold (dato stabile dopo il fronte). Periodo minimo: T_min = t_c-q + t_p,logic(max) + t_su; vincolo di hold: t_cd,reg + t_cd,logic > t_hold. La pipeline spezza la logica con registri per aumentare la frequenza (a spese della latenza).Latch, registri e parametri temporali →, Registri dinamici, C2MOS, TSPC e registri a scorrimentoI registri dinamici memorizzano il bit come carica su un nodo capacitivo in alta impedenza: meno transistor e commutazioni più rapide dei registri statici, ma il dato si perde (serve un clock minimo) e il master-slave con gate di trasmissione è sensibile alla sovrapposizione dei clock (race). Il registro C2MOS (clocked CMOS) usa inverter con transistor di clock in serie: è insensibile alla sovrapposizione dei clock (0-0 e 1-1) se i fronti sono ripidi, perché durante la sovrapposizione ciascuno stadio può solo caricare o solo scaricare il nodo, mai propagare. Il TSPC usa una sola fase di clock (nessun clock invertito) e permette di inglobare logica nei latch. Un registro a scorrimento è una cascata di registri D: a ogni fronte il dato avanza di una posizione (conversione serie-parallelo, ritardi, FIFO); il collegamento diretto richiede t_c-q > t_hold.Registri dinamici, C2MOS, TSPC e registri a scorrimento →.


1. Latch SR a 8 transistor (giugno 2024, luglio 2025)

Nei latch SR a 8 transistor la configurazione proibita è tale poiché: a. per tale configurazione le uscite sono indeterminate; b. se da tale configurazione si passa alla condizione di memoria lo stato delle uscite non è più prevedibile; c. perché memorizza uno 00.

Risposta: b. Con S=R=1S=R=1 (e CLK=1CLK=1) le due uscite sono entrambe forzate a 00 (determinate, ma non complementari). Quando poi SS e RR tornano insieme a 00 le due porte "rilasciano" nello stesso istante e il circuito si assesta in Q=0Q=0 o Q=1Q=1 in modo imprevedibile (gara critica, eventualmente metastabilità).

2. Registri C²MOS (settembre 2024, giugno 2025, settembre 2026)

I registri C²MOS: a. sono a singola fase di clock; b. sono sensibili alla sovrapposizione dei clock nel caso CLK=CLK‾=0CLK=\overline{CLK}=0; c. sono insensibili alla sovrapposizione dei clock.

Risposta: c (purché i fronti siano abbastanza ripidi). Nel C²MOS i transistor di clock sono in serie agli ingressi: in (0-0)(0\text{-}0) agiscono solo i pull-up (nessun cammino da DD a QQ attraverso il pull-down), in (1-1)(1\text{-}1) solo i pull-down. Il registro è a due fasi (CLKCLK e CLK‾\overline{CLK}): la singola fase è del TSPC.

3. Tempo di hold (luglio 2026)

In un flip-flop il tempo di hold tholdt_{hold} indica: a. quanto tempo prima del fronte il dato deve essere stabile; b. quanto tempo dopo il fronte il dato deve restare stabile; c. il periodo minimo di clock.

Risposta: b. (a) è il tempo di setup; (c) dipende da tc-q+tlogic+tsut_{c\text{-}q}+t_{logic}+t_{su}.

4. Definizioni dei parametri (raccolta di esempi)

  • Tempo di propagazione di un registro D: ritardo tra la commutazione del clock e quella dell'uscita QQ (non tra DD e QQ).
  • Setup: dato costante prima del fronte; hold: dopo il fronte.
  • Pipeline: è vantaggiosa perché si massimizza la frequenza di clock (Tmin=tsu+tc-q+max⁡tp,logicT_{min}=t_{su}+t_{c\text{-}q}+\max t_{p,logic}; non il tempo di latenza, che anzi cresce).
  • Due registri D identici in cascata con tc-q<tholdt_{c\text{-}q}<t_{hold}: si introducono inverter in cascata tra i registri per aumentare il ritardo minimo (tempo di contaminazione).

5. Calcolo del periodo minimo e della frequenza massima

Dati: tc-q=0,4 nst_{c\text{-}q}=0{,}4\ \mathrm{ns}, tsu=0,2 nst_{su}=0{,}2\ \mathrm{ns}, thold=0,3 nst_{hold}=0{,}3\ \mathrm{ns}, logica con ritardo massimo 1,6 ns1{,}6\ \mathrm{ns} e minimo 0,05 ns0{,}05\ \mathrm{ns}. Tmin=tc-q+tp,logicmax+tsu=0,4+1,6+0,2=2,2 ns,fmax=455 MHz.T_{min}=t_{c\text{-}q}+t_{p,logic}^{max}+t_{su}=0{,}4+1{,}6+0{,}2=2{,}2\ \mathrm{ns},\qquad f_{max}=455\ \mathrm{MHz}. Hold: tc-q+tcd,logic=0,4+0,05=0,45 ns>0,3 nst_{c\text{-}q}+t_{cd,logic}=0{,}4+0{,}05=0{,}45\ \mathrm{ns}>0{,}3\ \mathrm{ns} ✓ (margine 0,15 ns0{,}15\ \mathrm{ns}, indipendente da TT). Pipeline: una logica da 6 ns6\ \mathrm{ns} con tc-q+tsu=0,6 nst_{c\text{-}q}+t_{su}=0{,}6\ \mathrm{ns} ha Tmin=6,6 nsT_{min}=6{,}6\ \mathrm{ns} (151 MHz151\ \mathrm{MHz}); divisa in 33 stadi da 2 ns2\ \mathrm{ns}: Tmin=2,6 nsT_{min}=2{,}6\ \mathrm{ns} (385 MHz385\ \mathrm{MHz}), latenza 3⋅2,6=7,8 ns3\cdot2{,}6=7{,}8\ \mathrm{ns} contro 6,6 ns6{,}6\ \mathrm{ns}. Hold violato: registri collegati direttamente con tc-q=0,2 ns<thold=0,3 nst_{c\text{-}q}=0{,}2\ \mathrm{ns}<t_{hold}=0{,}3\ \mathrm{ns}: 0,2+0<0,30{,}2+0<0{,}3: violazione di 0,1 ns0{,}1\ \mathrm{ns}, non risolvibile rallentando il clock; due inverter da 0,1 ns0{,}1\ \mathrm{ns} ciascuno la sanano (0,4>0,30{,}4>0{,}3).

6. Registro a scorrimento

Registro a 44 bit, ingresso seriale 1,0,1,11,0,1,1 (un bit per fronte): 0000→1000→0100→1010→11010000\to1000\to0100\to1010\to1101: dopo quattro fronti i bit sono tutti disponibili (conversione serie-parallelo).

Verifica numerica

Python: TminT_{min}, fmaxf_{max}, margini di hold e simulazione dello scorrimento.

Errori comuni

  • Dire che tc-qt_{c\text{-}q} misura D→QD\to Q.
  • Pensare che un hold violato si risolva con un clock più lento.
  • Dire che il C²MOS è a singola fase.
  • Confondere stato non ammesso di un SR con uscite indeterminate durante la configurazione proibita.

Esercizio 15 - quesiti rapidi su latch, registri, C2MOS e parametri temporali (temi d'esame 2024-2026)

  • Latch SR: S=R=1S=R=1 proibito perché il passaggio alla memoria è imprevedibile (b).
  • C²MOS: insensibile alla sovrapposizione (c), due fasi; (0-0) solo pull-up, (1-1) solo pull-down.
  • Hold: stabile dopo il fronte (b); setup: prima; tc-qt_{c\text{-}q}: clock →Q\to Q.
  • Pipeline: massimizza la frequenza; hold violato ⇒\Rightarrow inverter tra i registri.
  • Numeri: Tmin=0,4+1,6+0,2=2,2T_{min}=0{,}4+1{,}6+0{,}2=2{,}2 ns (455455 MHz); hold 0,4+0,05>0,30{,}4+0{,}05>0{,}3; pipeline 6,6→2,66{,}6\to2{,}6 ns (151→385151\to385 MHz, latenza 6,6→7,86{,}6\to7{,}8 ns); hold violato 0,2<0,30{,}2<0{,}3.
  • Shift: 0000→1000→0100→1010→11010000\to1000\to0100\to1010\to1101.
  • Errori: tc-qt_{c\text{-}q}; hold con clock lento; C²MOS a singola fase.

Teoria collegata