Logiche dinamiche - precarica e valutazione
In questa pagina 5
La logica statica (Porte logiche CMOS - struttura statica complementare e dimensionamentoUna porta CMOS statica complementare ha una rete di pull-down (PDN, n-MOS) verso massa e una di pull-up (PUN, p-MOS) verso V_DD, duali tra loro: serie ↔ parallelo. La PDN conduce quando la funzione f degli ingressi vale 1 e porta l'uscita a 0, quindi F = NOT f (le porte a uno stadio sono invertenti). Serie di n-MOS = AND, parallelo = OR; i p-MOS (chiusi con ingresso basso) fanno l'opposto. Escursione completa, nessun consumo statico, ritardo da R e C di uscita. Dimensionamento: si parte dall'inverter di riferimento (Z_n = 1, Z_p = r ≈ 2,4) e si scala ogni transistor del numero di transistor della serie peggiore a cui appartiene, così che la resistenza nel caso peggiore uguagli quella dell'inverter (NAND2: Z_n = 2, Z_p = r; NOR2: Z_n = 1, Z_p = 2r). Per un obiettivo R_pd = R*: Z_n = m R_n0/R* con m transistor in serie nel cammino peggiore. Per minimizzare la capacità di uscita si collegano all'uscita meno drain possibile.Porte logiche CMOS - struttura statica complementare e dimensionamento →) ha sempre un cammino a bassa resistenza tra l'uscita e o massa. Una logica dinamica conserva il valore di uscita temporaneamente come carica su un nodo capacitivo in alta impedenza: in certi istanti (oltre alle transizioni) l'uscita non è collegata né a massa né a . Lo stesso principio dei registri dinamici (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 →) è qui applicato alla logica combinatoria. È una tecnica che dà escursione piena (, ) e commutazioni più veloci, a patto di un clock.
Porta dinamica a precarica e valutazione
La porta ha tre parti:
- la rete di pull-down (PDN) che realizza , come nella CMOS statica, tra l'uscita e un nodo ;
- un n-MOS di valutazione () tra e massa, con gate al clock;
- un p-MOS di precarica () tra e l'uscita, con gate al clock.
Definizione (porta dinamica: fasi di precarica e di valutazione). Funzionamento in due fasi:
- Precarica (): acceso, spento. L'uscita viene caricata a (attraverso , con costante di tempo , della precarica), indipendentemente dagli ingressi (nessun cammino a massa).
- Valutazione (): spento, acceso. Se la PDN conduce (ingressi tali che ) l'uscita si scarica a ( con la serie di PDN e ); altrimenti l'uscita resta a , conservata come carica su . Dunque dopo la valutazione .
Esempio. Con : in precarica () l'uscita sale a ; in valutazione (), se la PDN conduce, scende a con (per e : ), altrimenti resta a .
Proprietà:
- servono transistor per ingressi (contro della CMOS complementare e della pseudo-nMOS: Logica pseudo-nMOS e logiche a caricoNella logica pseudo-nMOS (a rapporto, ratioed) la PUN della CMOS complementare è sostituita da un solo p-MOS con gate a massa, sempre acceso, che fa da carico per la PDN a n-MOS. Così servono N+1 transistor invece di 2N e la capacità di ingresso è minore, ma l'uscita bassa non è 0: V_OL si ricava uguagliando la corrente dell'n-MOS (zona lineare) a quella del p-MOS (saturazione), ed esiste potenza statica quando l'uscita è bassa (P = V_DD·I). V_OH = V_DD. Per V_OL piccola serve Z_n ≫ Z_p; il ritardo di salita è lento (carica solo il p-MOS debole: t_pLH = 0,69 R_p C_L), quello di discesa è più veloce (t_pHL ≈ 0,69 R_n C_L). Lo stesso schema (carichi p-MOS a massa) si ritrova nelle ROM a NOR.Logica pseudo-nMOS e logiche a carico →);
- nessun consumo statico e nessun contrasto durante la valutazione (il p-MOS è spento): i livelli sono pieni e la porta è senza rapporto ( qualunque siano le dimensioni);
- capacità di ingresso minore (un solo transistor per ingresso) e carico intrinseco minore: la porta è più veloce ( non è rallentato da un carico di pull-up);
- consumo di potenza dinamica: ad ogni ciclo, se l'uscita si scarica in valutazione, viene ricaricata in precarica ( con pari alla probabilità di scarica; il clock stesso consuma).
Problemi
- Ingressi stabili in valutazione. Una volta che l'uscita ha iniziato a scaricarsi non può risalire: un ingresso che commuti da a durante la valutazione può lasciare l'uscita sbagliata. Gli ingressi devono essere stabili (o solo salire) nella fase di valutazione.
- Perdite di carica. Il nodo in alta impedenza perde carica per correnti di perdita delle giunzioni e subthreshold: l'informazione si conserva solo per tempi dell'ordine del millisecondo, quindi esiste un tempo massimo di mantenimento e un clock minimo. Si aggiunge talvolta un piccolo p-MOS keeper in retroazione.
- Condivisione di carica (charge sharing). Se un ramo della PDN si accende parzialmente, la carica di si ridistribuisce con le capacità dei nodi interni (a dopo la scarica del ciclo precedente): . Esempio: , , : (cala di , ancora letto come da un inverter con ); con , : errore. Si precaricano anche i nodi interni, o si aumenta .
- Non cascabilità. Se l'uscita di una porta dinamica pilota l'ingresso di un'altra, in precarica entrambe le uscite sono a : la seconda PDN parte conduttiva e, all'inizio della valutazione, scarica la propria uscita prima che la prima porta abbia deciso: errore irrecuperabile.
Logica domino
La soluzione è la logica domino: si aggiunge un inverter (statico) all'uscita di ogni porta dinamica. In precarica l'uscita dell'inverter è , quindi tutte le porte successive vedono ingressi bassi e le loro PDN sono spente; durante la valutazione le uscite possono solo salire da a , una dopo l'altra, come tessere del domino. Vantaggi: cascabile, l'inverter pilota bene il carico e isola il nodo dinamico, si può aggiungere un keeper. Svantaggio: realizza solo funzioni non invertenti (AND, OR e combinazioni; l'inversione richiede altre tecniche, per esempio la doppia rotaia).
Confronto
| logica | transistor per ingressi | consumo statico | clock | |
|---|---|---|---|---|
| CMOS complementare | nullo | no | ||
| pseudo-nMOS | sì (uscita bassa) | no | ||
| dinamica | nullo | sì | ||
| pass-transistor | nullo | degradato | no |
Errori comuni
- Dire che la porta dinamica "memorizza" l'uscita indefinitamente: il nodo perde carica e va riprecaricato.
- Collegare due porte dinamiche direttamente (senza inverter domino).
- Dimenticare il transistor di valutazione: senza di esso, durante la precarica ci sarebbe un cammino -massa.
- Applicare ingressi che commutano da a durante la valutazione.
Versione ripasso
- Idea: l'uscita è conservata come carica su un nodo in alta impedenza; la porta ha una PDN che realizza , un n-MOS di valutazione (gate al clock, verso massa) e un p-MOS di precarica (gate al clock, verso ): transistor per ingressi (Porte logiche CMOS - struttura statica complementare e dimensionamentoUna porta CMOS statica complementare ha una rete di pull-down (PDN, n-MOS) verso massa e una di pull-up (PUN, p-MOS) verso V_DD, duali tra loro: serie ↔ parallelo. La PDN conduce quando la funzione f degli ingressi vale 1 e porta l'uscita a 0, quindi F = NOT f (le porte a uno stadio sono invertenti). Serie di n-MOS = AND, parallelo = OR; i p-MOS (chiusi con ingresso basso) fanno l'opposto. Escursione completa, nessun consumo statico, ritardo da R e C di uscita. Dimensionamento: si parte dall'inverter di riferimento (Z_n = 1, Z_p = r ≈ 2,4) e si scala ogni transistor del numero di transistor della serie peggiore a cui appartiene, così che la resistenza nel caso peggiore uguagli quella dell'inverter (NAND2: Z_n = 2, Z_p = r; NOR2: Z_n = 1, Z_p = 2r). Per un obiettivo R_pd = R*: Z_n = m R_n0/R* con m transistor in serie nel cammino peggiore. Per minimizzare la capacità di uscita si collegano all'uscita meno drain possibile.Porte logiche CMOS - struttura statica complementare e dimensionamento → per il confronto).
- Fasi: con precarica, l'uscita va a qualunque siano gli ingressi; con valutazione: se la PDN conduce l'uscita scende a ( con la serie di PDN e ), altrimenti resta a . Dopo la valutazione . Esempio: k, fF: ps.
- Pregi: escursione piena ( senza rapporto tra le dimensioni), nessun consumo statico, nessun contrasto con il p-MOS spento in valutazione, un solo transistor per ingresso (meno capacità, più veloce). Il consumo dinamico è con la probabilità di scarica (Consumo di potenza nei circuiti CMOSNella logica CMOS il consumo è quasi tutto dinamico. Per ogni carica di C_L da 0 a V_DD l'alimentazione eroga E_DD = C_L V_DD²; metà (½C_L V_DD²) viene immagazzinata nella capacità e metà dissipata nel p-MOS, indipendentemente dal valore di R; nella scarica l'energia immagazzinata è dissipata nell'n-MOS e dall'alimentazione non si assorbe nulla. La potenza media è P = α C_L V_DD² f (α = probabilità di una transizione 0→1 per periodo; per un inverter che commuta a ogni ciclo α = 1; con probabilità di uno p₁ all'uscita α = p₁(1−p₁) se i valori successivi sono indipendenti). Non dipende dalle dimensioni dei transistor (solo da C_L), scala col quadrato di V_DD (dimezzare V_DD: potenza ÷4) ma abbassare V_DD rallenta il circuito. Si aggiungono la corrente di corto circuito (ingressi lenti) e le correnti di perdita.Consumo di potenza nei circuiti CMOS →).
- Problemi: gli ingressi devono essere stabili in valutazione (un non può far risalire l'uscita); le perdite di carica impongono un clock minimo (si aggiunge talvolta un keeper p-MOS); il charge sharing con i nodi interni abbassa l'uscita, : con fF e fF si ha V (ancora letto come con V), con fF si ha V, cioè errore; una porta dinamica non si collega direttamente a un'altra.
- Logica domino: un inverter statico in uscita a ogni porta dinamica; in precarica l'inverter dà e spegne le PDN a valle, in valutazione le uscite possono solo salire come tessere del domino. È cascabile, ma realizza solo funzioni non invertenti.
- Confronto: CMOS statica transistor, consumo statico nullo, , senza clock; pseudo-nMOS , consumo statico con uscita bassa, ; dinamica , nullo, , con clock; pass-transistor , nullo, livello degradato (Logica a pass-transistor e gate di trasmissioneNella logica a pass-transistor gli ingressi pilotano sia i gate sia i terminali di source/drain di una rete di interruttori (N transistor per N ingressi, nessun consumo statico, alcune funzioni, come AND, MUX e XOR, richiedono pochi transistor). Gli n-MOS trasmettono bene gli 0 ma male gli 1 (V_DD − V_Tn, con effetto body: circa 1,8 V da 2,5 V), i p-MOS al contrario (V_Tp in modulo per lo 0): il livello degradato non è rigenerato e può far condurre un inverter successivo (consumo statico). Il gate di trasmissione (n-MOS e p-MOS in parallelo, con G e nG complementari) trasmette bene entrambi i livelli, con resistenza R_n‖R_p quasi costante, ma costa due transistor e raddoppia le capacità. Una catena di n pass-transistor ha ritardo ∝ n² (Elmore, 0,69 R C n(n+1)/2): si inseriscono buffer ogni m = 1,7√(t_buf/(R_eq C)) stadi.Logica a pass-transistor e gate di trasmissione →).
- Errori: dire che l'uscita resta memorizzata indefinitamente (il nodo perde carica e va riprecaricato); collegare due porte dinamiche senza inverter; dimenticare il transistor di valutazione (in precarica si avrebbe un cammino -massa); far scendere un ingresso in valutazione.