Salta al contenuto
Note per Studenti Consumo di potenza nei circuiti CMOS

Consumo di potenza nei circuiti CMOS

In questa pagina 6

La caratteristica statica dell'inverter (Invertitore CMOS - caratteristica di trasferimento staticaL'inverter CMOS ha un p-MOS verso V_DD e un n-MOS verso massa con gli ingressi collegati: V_OH = V_DD, V_OL = 0, nessun cammino diretto in continua (consumo statico nullo). La VTC ha cinque regioni (n-MOS off; n sat/p lin; entrambi sat in V_M; n lin/p sat; p off). Con entrambi in saturazione e λ = 0: V_M = (V_Tn + r(V_DD + V_Tp))/(1 + r) con r = √(|k'_p|Z_p/(k'_n Z_n)). Bilanciamento statico (V_M = V_DD/2 con V_Tn = |V_Tp|): Z_p/Z_n = k'_n/|k'_p| (circa 3,8). Scalare Z_n e Z_p dello stesso fattore lascia V_M invariata e moltiplica la corrente di picco; aumentare Z_p/Z_n alza V_M, V_IL e V_IH; V_M segue V_DD. Margini NM_L = V_IL, NM_H = V_DD − V_IH (circa 1 V a 2,5 V).Invertitore CMOS - caratteristica di trasferimento statica →) mostra che a regime non c'è cammino tra VDDV_{DD} e massa: il consumo è legato alle commutazioni. Il consumo di potenza è, con il ritardo (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 →), la figura di merito dominante dei circuiti integrati attuali: limita la frequenza di funzionamento, la durata delle batterie e la dissipazione termica (la potenza dei microprocessori è cresciuta da pochi watt a centinaia).

Potenza istantanea e media

Definizione (potenza istantanea e potenza media). La potenza istantanea assorbita dall'alimentazione è p(t)=VDD iDD(t)p(t)=V_{DD}\,i_{DD}(t); la potenza di picco è Pmax=VDD iDD,maxP_{max}=V_{DD}\,i_{DD,max} e la potenza media su un periodo TT è Pmedia=1T∫tt+Tp(τ) dτ=VDDT∫tt+TiDD(τ) dτ.P_{media}=\frac1T\int_t^{t+T}p(\tau)\,d\tau=\frac{V_{DD}}T\int_t^{t+T}i_{DD}(\tau)\,d\tau.

Esempio. Una corrente di alimentazione di 2 mA2\ \mathrm{mA} per il 10%10\% del periodo (e nulla altrove) con VDD=2,5 VV_{DD} = 2{,}5\ \mathrm V dà Pmedia=2,5⋅2 mA⋅0,1=0,5 mWP_{media} = 2{,}5 \cdot 2\ \mathrm{mA} \cdot 0{,}1 = 0{,}5\ \mathrm{mW}.

Energia in una commutazione

Si consideri l'inverter che carica e scarica CLC_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 →).

Formula (energia assorbita dall'alimentazione nella carica di una capacità). Carica (uscita 0→VDD0\to V_{DD} attraverso il p-MOS): la corrente fornita da VDDV_{DD} è quella che entra in CLC_L, isupply=CL dvout/dti_{supply}=C_L\,dv_{out}/dt, quindi EDD=∫p dt=VDD∫0VDDCL dvout=CLVDD2.E_{DD}=\int p\,dt=V_{DD}\int_0^{V_{DD}}C_L\,dv_{out}=C_LV_{DD}^2.

Esempio. Con CL=50 fFC_L = 50\ \mathrm{fF} e VDD=2,5 VV_{DD} = 2{,}5\ \mathrm V: EDD=50 fF⋅6,25 V2=312,5 fJE_{DD} = 50\ \mathrm{fF} \cdot 6{,}25\ \mathrm V^2 = 312{,}5\ \mathrm{fJ}, di cui 156,25 fJ156{,}25\ \mathrm{fJ} restano in CLC_L e altrettanti sono dissipati nel p-MOS.

L'energia immagazzinata nella capacità è EC=∫vout CL dvout=12CLVDD2E_C=\int v_{out}\,C_L\,dv_{out}=\tfrac12C_LV_{DD}^2: metà dell'energia fornita resta in CLC_L e l'altra metà, Ediss=12CLVDD2E_{diss}=\tfrac12C_LV_{DD}^2, è dissipata nel p-MOS. Il risultato è indipendente dal valore di RpR_p (dalle dimensioni del transistor): se RpR_p è piccola la corrente è alta e il tempo breve, e il prodotto resta lo stesso.

Scarica (uscita VDD→0V_{DD}\to0 attraverso l'n-MOS): EDD=0E_{DD}=0 (dall'alimentazione non si assorbe nulla) e l'energia 12CLVDD2\tfrac12C_LV_{DD}^2 immagazzinata in CLC_L viene dissipata nell'n-MOS.

fase energia assorbita da VDDV_{DD} energia in CLC_L energia dissipata
carica 0→VDD0\to V_{DD} CLVDD2C_LV_{DD}^2 12CLVDD2\tfrac12C_LV_{DD}^2 12CLVDD2\tfrac12C_LV_{DD}^2 (p-MOS)
scarica VDD→0V_{DD}\to0 00 00 12CLVDD2\tfrac12C_LV_{DD}^2 (n-MOS)

Se la capacità si carica da 00 a una tensione finale VH≠VDDV_H\ne V_{DD} attraverso un generatore costante VDDV_{DD}, l'energia assorbita è CLVDDVHC_LV_{DD}V_H (vale CLVDD2C_LV_{DD}^2 solo se VH=VDDV_H=V_{DD}), e l'energia immagazzinata è 12CLVH2\tfrac12C_LV_H^2; in generale, per un'escursione ΔV\Delta V alimentata a VDDV_{DD} l'energia dissipata è CLVDDΔV−12CLΔV2C_LV_{DD}\Delta V-\tfrac12C_L\Delta V^2. La variazione di energia immagazzinata passando da V1V_1 a V2V_2 vale 12CL(V22−V12)\tfrac12C_L(V_2^2-V_1^2).

Potenza dinamica

Formula (potenza dinamica della logica CMOS). Un ciclo completo (carica e scarica) assorbe CLVDD2C_LV_{DD}^2. Se l'uscita compie f0→1f_{0\to1} transizioni 0→10\to1 al secondo, Pdin=CL VDD2 f0→1=α CL VDD2 fCLK.\boxed{P_{din}=C_L\,V_{DD}^2\,f_{0\to1}=\alpha\,C_L\,V_{DD}^2\,f_{CLK}}.

α=lim⁡N→∞n(N)/N\alpha=\lim_{N\to\infty}n(N)/N è l'attività di commutazione: il numero medio di transizioni 0→10\to1 per periodo di clock. Per un inverter che commuta a ogni ciclo α=1\alpha=1; se la porta commuta con ingresso casuale, α\alpha dipende dalla funzione logica e dalle probabilità degli ingressi: per un'uscita con probabilità p1p_1 di valere 11 (e p0=1−p1p_0=1-p_1), con valori successivi indipendenti, α0→1=p0 p1\alpha_{0\to1}=p_0\,p_1. Più in generale la formula con livelli non completi è P=CL VDD (VOH−VOL) fP=C_L\,V_{DD}\,(V_{OH}-V_{OL})\,f.

Esempio. CL=50 fFC_L=50\ \mathrm{fF}, VDD=2,5 VV_{DD}=2{,}5\ \mathrm V, α=1\alpha=1, f=100 MHzf=100\ \mathrm{MHz}: P=50⋅10−15⋅6,25⋅108=31,25 μWP=50\cdot10^{-15}\cdot6{,}25\cdot10^8=31{,}25\ \mu\mathrm W. A 1 GHz1\ \mathrm{GHz}: 312,5 μW312{,}5\ \mu\mathrm W. Con VDD=1,25 VV_{DD}=1{,}25\ \mathrm V (metà): 7,8 μW7{,}8\ \mu\mathrm W, un quarto.

Grafico interattivo: Potenza dinamica P = C_L·V_DD²·f (µW) in funzione della frequenza f (MHz) per C_L = 50 fF e α = 1: retta di pendenza 0,3125 µW/MHz a V_DD = 2,5 V (31,25 µW a 100 MHz, 312,5 µW a 1 GHz) e quattro volte più bassa a V_DD = 1,25 V (7,8 µW a 100 MHz)

Esempio con probabilità. Una porta F=A⋅B+C‾F=\overline{A\cdot B+C} con PA=0,4P_A=0{,}4, PB=0,3P_B=0{,}3, PC=0,1P_C=0{,}1 (probabilità che l'ingresso valga 11): l'uscita vale 11 quando A⋅B=0A\cdot B=0 e C=0C=0: p1=(1−0,12)(1−0,1)=0,792p_1=(1-0{,}12)(1-0{,}1)=0{,}792, α=p0p1=0,208⋅0,792=0,165\alpha=p_0p_1=0{,}208\cdot0{,}792=0{,}165. Con CL=10 fFC_L=10\ \mathrm{fF}, VDD=2,5 VV_{DD}=2{,}5\ \mathrm V e f=20 MHzf=20\ \mathrm{MHz}: P=0,165⋅10−14⋅6,25⋅2⋅107=0,206 μWP=0{,}165\cdot10^{-14}\cdot6{,}25\cdot2\cdot10^7=0{,}206\ \mu\mathrm W (nel tema d'esame si trascurano i nodi interni e quelli di ingresso).

Conseguenze.

  • La potenza dinamica non dipende dalle dimensioni dei transistor (RR non compare): dipende da CLC_L, VDD2V_{DD}^2 e ff. Per ridurla bisogna ridurre CLC_L (layout compatto, transistor minimi dove possibile), VDDV_{DD} e la frequenza o l'attività.
  • Ridurre VDDV_{DD} è il mezzo più efficace (P∝VDD2P\propto V_{DD}^2) e in una logica CMOS complementare è vantaggioso perché riduce la potenza dinamica a parità di frequenza; ma abbassando VDDV_{DD} la corrente dei transistor cala molto (I∝(VDD−VT)2I\propto(V_{DD}-V_T)^2), le resistenze equivalenti aumentano e il tempo di propagazione aumenta (e i margini di rumore in volt diminuiscono). Viceversa aumentando VDDV_{DD} la potenza dinamica aumenta e il tempo di propagazione diminuisce: compromesso potenza-velocità.
  • La potenza massima si ha quando uscita e ingressi commutano alla frequenza massima (α=1\alpha=1).

Corrente di corto circuito

Durante una commutazione dell'ingresso, per un breve intervallo entrambi i transistor conducono (VTn<Vin<VDD−∣VTp∣V_{Tn}<V_{in}<V_{DD}-\lvert V_{Tp}\rvert) e una corrente scorre direttamente da VDDV_{DD} a massa. Se il tempo di salita (o di discesa) dell'ingresso è breve il contributo è piccolo, ma se VinV_{in} rimane a lungo nell'intorno di VMV_M la corrente aggiuntiva aumenta: l'energia assorbita cresce all'aumentare del tempo di salita trt_r del segnale di ingresso, perché aumenta il tempo durante il quale scorre corrente tra VDDV_{DD} e massa, e il picco (IDD,maxI_{DD,max} in VMV_M) resta lo stesso. Durante la scarica dell'uscita l'alimentazione eroga solo la corrente di corto circuito (nessun assorbimento per caricare CLC_L). Per limitare questo contributo i segnali devono avere fronti ripidi (buffer di pilotaggio).

Quesito d'esame (potenza per cammino diretto). Un inverter bilanciato con carico esterno dominante: raddoppiando W/LW/L di entrambi i transistor la corrente di picco raddoppia, ma anche la capacità di ingresso raddoppia e il fronte del segnale in ingresso, imposto dallo stadio che lo pilota, dipende da quello stadio; quindi la variazione della potenza di corto circuito dipende dallo stadio che pilota l'ingresso (risposta ragionevole; nei materiali non c'è la chiave di questo appello).

Consumo statico

Nei circuiti CMOS complementari ideali la potenza statica è nulla; nella realtà esistono correnti di perdita (subthreshold e delle giunzioni inverse, crescenti al diminuire di VTV_T e delle dimensioni). Si trascurano nei tempi d'esame. Nelle logiche a carico (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 →) esiste invece un consumo statico non nullo quando l'uscita è bassa, perché PDN e carico conducono insieme.

Errori comuni

  • Usare 12CLVDD2\tfrac12C_LV_{DD}^2 come energia assorbita dall'alimentazione per ciclo: è l'energia immagazzinata; l'alimentazione ne eroga CLVDD2C_LV_{DD}^2.
  • Credere che transistor più grandi consumino più potenza dinamica a parità di CLC_L: non cambia (cambia solo CLC_L stessa se aumenta la capacità).
  • Dimenticare il fattore di attività α\alpha (o usare p1p_1 invece di p0p1p_0p_1).
  • Pensare che ridurre VDDV_{DD} riduca anche il ritardo: lo aumenta.

Versione ripasso

  • Potenza: p(t)=VDD iDD(t)p(t)=V_{DD}\,i_{DD}(t), potenza di picco Pmax=VDD iDD,maxP_{max}=V_{DD}\,i_{DD,max}, potenza media Pmedia=VDDT∫tt+TiDD(τ) dτP_{media}=\dfrac{V_{DD}}{T}\displaystyle\int_t^{t+T} i_{DD}(\tau)\,d\tau. Esempio: 22 mA per il 10%10\% del periodo con VDD=2,5V_{DD}=2{,}5 V: Pmedia=0,5P_{media}=0{,}5 mW.
  • Energia in una carica: dall'alimentazione si prelevano EDD=CLVDD2E_{DD}=C_LV_{DD}^2; metà (12CLVDD2\tfrac12C_LV_{DD}^2) resta in CLC_L e metà è dissipata nel p-MOS, indipendentemente da RpR_p. Esempio: CL=50C_L=50 fF, VDD=2,5V_{DD}=2{,}5 V: EDD=312,5E_{DD}=312{,}5 fJ.
  • Energia in una scarica: EDD=0E_{DD}=0; l'energia 12CLVDD2\tfrac12C_LV_{DD}^2 immagazzinata viene dissipata nell'n-MOS.
  • Carica fino a VH≠VDDV_H\ne V_{DD}: energia assorbita CLVDDVHC_LV_{DD}V_H, energia immagazzinata 12CLVH2\tfrac12C_LV_H^2.
  • Potenza dinamica: Pdin=CLVDD2f0→1=α CLVDD2fCLKP_{din}=C_LV_{DD}^2f_{0\to1}=\alpha\,C_LV_{DD}^2f_{CLK}, con α\alpha attività di commutazione (α=1\alpha=1 per un inverter che commuta a ogni ciclo; α=p0p1\alpha=p_0p_1 con ingressi casuali indipendenti). Esempio: 5050 fF, 2,52{,}5 V, 100100 MHz: 31,25 μ31{,}25\ \muW; con VDD=1,25V_{DD}=1{,}25 V, 7,8 μ7{,}8\ \muW, un quarto.
  • Esempio con probabilità: F=A⋅B+C‾F=\overline{A\cdot B+C} con PA=0,4P_A=0{,}4, PB=0,3P_B=0{,}3, PC=0,1P_C=0{,}1: p1=0,792p_1=0{,}792, α=0,208⋅0,792=0,165\alpha=0{,}208\cdot0{,}792=0{,}165; con CL=10C_L=10 fF, VDD=2,5V_{DD}=2{,}5 V, f=20f=20 MHz: P=0,206 μP=0{,}206\ \muW.
  • Conseguenze: la potenza dinamica non dipende dalle dimensioni dei transistor. VDDV_{DD} basso riduce la potenza ma aumenta tpt_p (la corrente cala come (VDD−VT)2(V_{DD}-V_T)^2); VDDV_{DD} alto fa l'opposto: compromesso potenza-velocità.
  • Corto circuito: entrambi i transistor conducono durante la commutazione; l'energia cresce con il tempo di salita trt_r dell'ingresso, perché cresce il tempo di conduzione. Durante la scarica dell'uscita l'alimentazione eroga solo questa corrente.
  • Statico: nullo nel CMOS ideale; perdite di subthreshold trascurate negli esercizi. Non è nullo nelle logiche a carico (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 →) con uscita bassa, perché PDN e carico conducono insieme.
  • Errori: usare 12CLVDD2\tfrac12C_LV_{DD}^2 come energia erogata (l'alimentazione ne eroga CLVDD2C_LV_{DD}^2); attribuire alle dimensioni dei transistor una variazione della potenza dinamica; dimenticare α\alpha; credere che VDDV_{DD} basso acceleri il circuito.
  • Ordine di grandezza: a parità di CLC_L e ff, passare da VDD=2,5V_{DD}=2{,}5 V a 1,251{,}25 V riduce la potenza dinamica di quattro volte; è il motivo per cui le alimentazioni dei chip sono scese nel tempo.

Esercizi su questo argomento

Teoria collegata