Salta al contenuto
Note per Studenti Porte logiche CMOS - ritardo di Elmore, fan-in e consumo

Porte logiche CMOS - ritardo di Elmore, fan-in e consumo

In questa pagina 6

Per l'inverter il ritardo è 0,69 R CL0{,}69\,R\,C_L (Invertitore CMOS - ritardo di propagazioneIn commutazione l'inverter è un circuito RC del primo ordine: il tempo di propagazione al 50% vale t_p = ln2·τ = 0,69·R·C. Con R_n e R_p resistenze equivalenti e C_L = C_int + C_ext (intrinseca = capacità di drain di n-MOS e p-MOS; estrinseca = gate delle porte pilotate e interconnessioni): t_pHL = 0,69 R_n C_L, t_pLH = 0,69 R_p C_L. Con Z_p = βZ_n, R_p/R_n = r/β (r = R_p0/R_n0 ≈ 2,4): il bilanciamento dinamico (t_pHL = t_pLH) richiede β = r, mentre il minimo del ritardo medio con carico a gate si ha per β = √r. Moltiplicando Z_n e Z_p per S: t_p = t_p0 (1 + C_ext/(S C_int,ref)): a carico estrinseco dominante raddoppiare le larghezze dimezza il ritardo; con carico intrinseco dominante non cambia (autocaricamento).Invertitore CMOS - ritardo di propagazione →); nelle porte con più transistor in serie la rete di resistenze e capacità è più complessa. Questa nota usa le porte statiche complementari (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 →) e le regole per il caso peggiore.

Dipendenza dagli ingressi: caso peggiore e migliore

Il ritardo di una porta dipende da quali ingressi commutano e da quale rete conduce. Si considerano la transizione dell'uscita (tpHLt_{pHL}, tpLHt_{pLH}) e, per ciascuna, la configurazione di ingressi:

  • caso peggiore: conduce un solo cammino, quello di resistenza massima (in ogni gruppo di rami in parallelo ne conduce uno solo); se la commutazione deve anche scaricare/caricare i nodi interni, si considera il caso in cui tutti sono nello stato opposto;
  • caso migliore: conducono tutti i rami in parallelo (resistenza minima).

NAND a 2 ingressi (n-MOS in serie, p-MOS in parallelo; si trascura per ora la capacità del nodo interno):

  • transizione 0→10\to1 (uscita sale, conducono i p-MOS): se entrambi gli ingressi vanno a 00 conducono due p-MOS in parallelo, tpLH=0,69 Rp2CLt_{pLH}=0{,}69\,\dfrac{R_p}2C_L (caso migliore); se uno solo va a 00, tpLH=0,69 RpCLt_{pLH}=0{,}69\,R_pC_L (caso peggiore);
  • transizione 1→01\to0 (uscita scende): servono entrambi gli n-MOS accesi, in serie: tpHL=0,69⋅2Rn CLt_{pHL}=0{,}69\cdot2R_n\,C_L.

Se Rn=Rp=RR_n=R_p=R (n-MOS e p-MOS con resistenze equivalenti uguali), nel caso peggiore tpLH=0,69RCLt_{pLH}=0{,}69RC_L e tpHL=0,69⋅2RCLt_{pHL}=0{,}69\cdot2RC_L, quindi 2 tpLH=tpHL2\,t_{pLH}=t_{pHL}. Per una NOR a 2 ingressi i ruoli si invertono: tpHL=0,69 RnCLt_{pHL}=0{,}69\,R_nC_L (un solo n-MOS acceso nel caso peggiore) e tpLH=0,69⋅2RpCLt_{pLH}=0{,}69\cdot2R_pC_L, quindi tpLH=2 tpHLt_{pLH}=2\,t_{pHL} (con Rn=RpR_n=R_p). Per questo, se tutti i transistor sono di dimensione minima, è conveniente dimensionare la porta con la regola del cammino più lungo (così RPU=RPD=RrefR_{PU}=R_{PD}=R_{ref} nel caso peggiore).

Per una porta a NN ingressi: NAND: caso peggiore tpHLt_{pHL} (NN n-MOS in serie); NOR: caso peggiore tpLHt_{pLH} (NN p-MOS in serie). Dettagli sui casi di commutazione (interni compresi):

  • NOR a 4 ingressi, tpHLt_{pHL}: l'uscita scende se almeno un ingresso sale; il caso peggiore è la commutazione 0→10\to1 di un solo ingresso (conduce un solo n-MOS; se tutti commutano insieme i quattro n-MOS in parallelo scaricano CLC_L molto più in fretta).
  • NOR a 4 ingressi, tpLHt_{pLH}: l'uscita sale solo quando tutti gli ingressi sono a 00 (una sola riga della tabella con uscita 11, serie completa dei p-MOS); il caso peggiore è la commutazione 1→01\to0 di un unico ingresso, quello del p-MOS più vicino a VDDV_{DD}, quando tutti gli altri sono già a 00: i nodi interni sono scarichi (collegati all'uscita bassa) e vanno tutti caricati. Se commuta invece l'ingresso vicino all'uscita, i nodi interni sono già a VDDV_{DD} e va caricata solo CLC_L.
  • NAND a 4 ingressi, tpHLt_{pHL}: unica riga con uscita 00 (tutti gli ingressi a 11); il caso peggiore è la commutazione 0→10\to1 dell'ingresso dell'n-MOS vicino a massa con gli altri già a 11 e i nodi interni carichi: vanno scaricati tutti. tpLHt_{pLH}: peggiore se un solo ingresso va a 00 (un solo p-MOS acceso) mentre gli altri restano a 11.

Rete RC distribuita: ritardo di Elmore

Con mm transistor in serie si ha una catena R1,R2,…,RmR_1,R_2,\dots,R_m con una capacità CkC_k a ciascun nodo. Il ritardo al 50%50\% del nodo di uscita, approssimato con il metodo di Elmore, è τ=∑k=1mCk Rkpath,tp=0,69 τ,\tau=\sum_{k=1}^mC_k\,R_{k}^{path},\qquad t_p=0{,}69\,\tau, dove RkpathR_k^{path} è la resistenza condivisa tra il cammino della corrente verso il nodo kk e quello verso l'uscita: per una catena a partire dal generatore (massa o VDDV_{DD}), la resistenza totale tra il nodo kk e il generatore. Per NN n-MOS in serie con resistenza equivalente RnR_n ciascuno, numerando C1C_1 il nodo vicino a massa e CN=CLC_N=C_L l'uscita: tpHL=0,69 Rn (C1+2C2+3C3+⋯+N CL).t_{pHL}=0{,}69\,R_n\,(C_1+2C_2+3C_3+\dots+N\,C_L). (si legge: la capacità del nodo kk vede kk resistenze; la capacità di uscita le vede tutte). Il peso crescente mostra che le capacità vicine all'uscita contano di più.

Esempio numerico. NAND a 3 ingressi, Zn=3Z_n=3, Zp=r=2,42Z_p=r=2{,}42 (dati del corso: Rn0=13 kΩR_{n0}=13\ \mathrm{k\Omega}, Rp0=31,5 kΩR_{p0}=31{,}5\ \mathrm{k\Omega}, Cd0=2 fF/μmC_{d0}=2\ \mathrm{fF}/\mu\mathrm m, L=0,25 μmL=0{,}25\ \mu\mathrm m), Cext=10 fFC_{ext}=10\ \mathrm{fF}.

  • Rn=13/3=4,33 kΩR_n=13/3=4{,}33\ \mathrm{k\Omega} per transistor; Rp=31,5/2,42=13 kΩR_p=31{,}5/2{,}42=13\ \mathrm{k\Omega}.
  • Cdn=2⋅0,75=1,5 fFC_{dn}=2\cdot0{,}75=1{,}5\ \mathrm{fF}, Cdp=2⋅0,606=1,21 fFC_{dp}=2\cdot0{,}606=1{,}21\ \mathrm{fF}.
  • Nodi interni (tra due n-MOS: source e drain): C1=C2=2⋅1,5=3,0 fFC_1=C_2=2\cdot1{,}5=3{,}0\ \mathrm{fF}; uscita: un drain n-MOS e tre drain p-MOS più il carico: CL=1,5+3⋅1,21+10=15,1 fFC_L=1{,}5+3\cdot1{,}21+10=15{,}1\ \mathrm{fF}.
  • tpHL=0,69⋅4,33 kΩ (3+2⋅3+3⋅15,1) fF=0,69⋅4,33⋅54,4=163 pst_{pHL}=0{,}69\cdot4{,}33\ \mathrm{k\Omega}\,(3+2\cdot3+3\cdot15{,}1)\ \mathrm{fF}=0{,}69\cdot4{,}33\cdot54{,}4=163\ \mathrm{ps}.
  • tpLHt_{pLH} (caso peggiore, un solo p-MOS acceso): 0,69⋅13 kΩ⋅15,1 fF=136 ps0{,}69\cdot13\ \mathrm{k\Omega}\cdot15{,}1\ \mathrm{fF}=136\ \mathrm{ps} (migliore: 45 ps45\ \mathrm{ps}). Con lo stesso carico un inverter di riferimento impiega 105 ps105\ \mathrm{ps}: la NAND3 è più lenta di circa il 55%55\% nel caso peggiore, anche se è stata dimensionata per uguagliarne la resistenza, a causa dei nodi interni e delle capacità di uscita maggiori.

Porte con molti ingressi (fan-in)

Con tutti i transistor della stessa dimensione e trascurando le capacità dei nodi interni, per una NOR a NN ingressi (PUN: NN p-MOS in serie; PDN: NN n-MOS in parallelo), detta CC la capacità di drain e source di ogni transistor:

  • il nodo di uscita ha NN drain di n-MOS e uno di p-MOS: Cout=(N+1) CC_{out}=(N+1)\,C;
  • tpLH=0,69 Rp N (N+1) Ct_{pLH}=0{,}69\,R_p\,N\,(N+1)\,C (caso peggiore: NN p-MOS in serie, resistenza NRpN R_p, capacità (N+1)C(N+1)C) — quadratico in NN;
  • tpHL=0,69 Rn (N+1) Ct_{pHL}=0{,}69\,R_n\,(N+1)\,C (un solo n-MOS acceso): lineare. Analogamente per una NAND a NN ingressi: tpHL=0,69RnN(N+1)Ct_{pHL}=0{,}69R_nN(N+1)C e tpLH=0,69Rp(N+1)Ct_{pLH}=0{,}69R_p(N+1)C. Se si considerassero anche i nodi interni, con capacità 2C2C, il ritardo diventerebbe 2⋅0,69RpCN22\cdot0{,}69R_pCN^2.

Esempio: Rp=10 kΩR_p=10\ \mathrm{k\Omega}, C=2 fFC=2\ \mathrm{fF}: tpLH=0,69⋅10 kΩ⋅2 fF⋅N(N+1)=13,8 ps⋅N(N+1)t_{pLH}=0{,}69\cdot10\ \mathrm{k\Omega}\cdot2\ \mathrm{fF}\cdot N(N+1)=13{,}8\ \mathrm{ps}\cdot N(N+1): N=2N=2: 83 ps83\ \mathrm{ps}; N=4N=4: 276 ps276\ \mathrm{ps} (3,33{,}3 volte); N=8N=8: 994 ps994\ \mathrm{ps} (1212 volte). In generale tp=a1FI+a2FI2+a3FOt_p=a_1FI+a_2FI^2+a_3FO: dipendenza quadratica dal fan-in (resistenza e capacità crescono entrambe) e lineare dal fan-out (ogni porta pilotata aggiunge due capacità di gate a CLC_L). Si evitano porte con fan-in maggiore di 4.

Come ridurre il ritardo

Consumo di potenza di una porta

Vale P=α CL VDD2 fP=\alpha\,C_L\,V_{DD}^2\,f (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 →); α\alpha dipende dalla funzione e dalle probabilità degli ingressi: per un'uscita con probabilità p1p_1 di valere 11, α0→1=p0 p1\alpha_{0\to1}=p_0\,p_1. Per un NAND a 2 ingressi con ingressi equiprobabili (PA=PB=0,5P_A=P_B=0{,}5): p1=1−0,25=0,75p_1=1-0{,}25=0{,}75, α=0,75⋅0,25=0,1875\alpha=0{,}75\cdot0{,}25=0{,}1875. La potenza è massima quando uscita e ingressi commutano alla stessa frequenza. Per un valore realistico si sommano anche i nodi interni (C1C_1, C2C_2) pesati con le loro probabilità di commutazione, che si trascurano nei temi d'esame.

Errori comuni

  • Scambiare i casi: nella NAND il caso peggiore è per tpHLt_{pHL} (serie di n-MOS), nella NOR per tpLHt_{pLH}.
  • Applicare Elmore con pesi sbagliati: il nodo di uscita ha il peso NN (tutte le resistenze), quello vicino alla sorgente il peso 11.
  • Trascurare che in tpLHt_{pLH} della NAND basta un p-MOS acceso (caso peggiore) mentre in tpHLt_{pHL} ne servono tutti gli n-MOS.
  • Confondere il fan-in (ingressi della porta) con il fan-out (porte collegate all'uscita).
  • Dire che raddoppiare il fan-in raddoppia il ritardo: lo quadruplica (per NN grandi).

Versione ripasso

  • Caso peggiore / migliore: peggiore = un solo cammino conduttivo (il più resistivo); migliore = tutti i rami in parallelo. NAND2: tpLH=0,69RpCLt_{pLH}=0{,}69R_pC_L (peggiore; Rp/2R_p/2 se entrambi vanno a 00), tpHL=0,69⋅2RnCLt_{pHL}=0{,}69\cdot2R_nC_L; con Rn=RpR_n=R_p: 2tpLH=tpHL2t_{pLH}=t_{pHL}. NOR2: tpLH=2tpHLt_{pLH}=2t_{pHL}.
  • Elmore: t=0,69∑CkRkpatht=0{,}69\sum C_kR_k^{path}; NN n-MOS: tpHL=0,69Rn(C1+2C2+⋯+NCL)t_{pHL}=0{,}69R_n(C_1+2C_2+\dots+NC_L) (C1C_1 vicino a massa). NAND3 (Zn=3Z_n=3, Cext=10C_{ext}=10 fF): 163163 ps (tpLHt_{pLH} peggiore 136136 ps, migliore 4545; inverter 105105 ps).
  • Fan-in NN (nodi interni trascurati): NOR: tpLH=0,69RpCN(N+1)t_{pLH}=0{,}69R_pCN(N+1), tpHL=0,69RnC(N+1)t_{pHL}=0{,}69R_nC(N+1); NAND: scambiati. 13,8 N(N+1)13{,}8\,N(N+1) ps: N=2,4,8→83,276,994N=2,4,8\to83,276,994 ps. tp=a1FI+a2FI2+a3FOt_p=a_1FI+a_2FI^2+a_3FO; evitare fan-in >4>4.
  • Rimedi: dimensionamento progressivo (più grandi lontano dall'uscita, fino −20%-20\%); riordino (ingresso tardivo vicino all'uscita, solo se prevedibile); cascata di porte con meno ingressi; buffer.
  • Potenza: P=αCLVDD2fP=\alpha C_LV_{DD}^2f, α=p0p1\alpha=p_0p_1 (NAND2 equiprobabile: 0,18750{,}1875); nodi interni trascurati negli esami.
  • Errori: casi NAND/NOR scambiati; pesi di Elmore; tpLHt_{pLH} NAND con un p-MOS; fan-in/fan-out; fan-in doppio ≠\ne ritardo doppio.

Esercizi su questo argomento

Teoria collegata