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

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.

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 →).

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. 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

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.

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=VDDiDDp=V_{DD}i_{DD}, Pmedia=VDDT∫iDDP_{media}=\frac{V_{DD}}T\int i_{DD}.
  • Energia per commutazione: carica: EDD=CLVDD2E_{DD}=C_LV_{DD}^2, immagazzinata 12CLVDD2\frac12C_LV_{DD}^2, dissipata 12CLVDD2\frac12C_LV_{DD}^2 (p-MOS, indipendente da RR); scarica: EDD=0E_{DD}=0, dissipata 12CLVDD2\frac12C_LV_{DD}^2 (n-MOS). Carica a VHV_H con generatore VDDV_{DD}: CLVDDVHC_LV_{DD}V_H.
  • Potenza dinamica: P=αCLVDD2fP=\alpha C_LV_{DD}^2f (α=p0p1\alpha=p_0p_1; inverter α=1\alpha=1); 5050 fF, 2,52{,}5 V, 100100 MHz: 31,25 μ31{,}25\ \muW; VDDV_{DD} a metà: ÷4\div4. Esempio F=AB+C‾F=\overline{AB+C}: p1=0,792p_1=0{,}792, α=0,165\alpha=0{,}165, 0,206 μ0{,}206\ \muW a 1010 fF, 2020 MHz.
  • Conseguenze: nessuna dipendenza dalle dimensioni; VDD↓V_{DD}\downarrow: potenza ↓\downarrow ma tp↑t_p\uparrow; VDD↑V_{DD}\uparrow: potenza ↑\uparrow, tp↓t_p\downarrow.
  • Corto circuito: entrambi acceso durante la commutazione; energia cresce con trt_r; in scarica si assorbe solo questa.
  • Statico: nullo (ideale), perdite trascurate; ≠0\ne0 nelle logiche a carico con uscita bassa.
  • Errori: 12CV2\frac12CV^2 come energia erogata; dipendenza da W/LW/L; α\alpha dimenticato; VDD↓V_{DD}\downarrow non accelera.

Esercizi su questo argomento

Teoria collegata