Vai al contenuto
Emmy

L'invertitore logico

Elettronica · Elettronica digitale Articolo

Percorso: Fondamenti di elettronica · 12 di 20

Prima di questo, potrebbe interessarti: Il transistore MOSFET

Indice

Porte logiche

Un circuito digitale lavora con grandezze che portano uno di due simboli, 0 e 1: di solito tensioni, basse per lo 0 e alte per l’1. Un simbolo porta un bit di informazione, e per rappresentare un numero ne servono molti: 92 in binario è 1011100, sette bit. Sui bit si fanno le operazioni dell’algebra di Boole, NOT, AND, OR e le loro combinazioni, e i circuiti che le eseguono si chiamano porte logiche. Con porte di pochi tipi si costruisce qualunque funzione logica: bastano anche le sole porte NAND.

Di una porta interessano la funzione logica, scritta nella tabella di verità, e poi le proprietà elettriche: la caratteristica che lega le tensioni di ingresso e di uscita, la robustezza ai disturbi, la potenza che consuma, l’area che occupa sul chip e il tempo che impiega a rispondere. In un processore le porte sono centinaia di milioni, e ognuna di queste proprietà si moltiplica per quel numero.

La porta più semplice è l’invertitore, o porta NOT: l’uscita è 1 quando l’ingresso è 0, e viceversa. Questo articolo ne studia due realizzazioni, con un resistore e un transistore e con due transistori complementari, e da lì ricava le idee che servono per tutte le porte: la soglia di commutazione, la rigenerazione dei livelli, i margini di rumore. I tempi e la potenza durante le commutazioni sono nell’articolo successivo.

L’invertitore a carico resistivo

Un MOSFET a canale nn è un interruttore comandato dalla tensione del gate. Con un resistore RR tra l’alimentazione e il drain, e il source a massa, si ottiene un invertitore. Con l’ingresso basso il transistore è spento, nel resistore non passa corrente e l’uscita è alla tensione di alimentazione, che nei circuiti MOS si indica di solito con VDDV_{DD}. Con l’ingresso alto il transistore conduce molto più del resistore e porta l’uscita vicino a massa.

La porta NOT e due modi di costruirla In alto il simbolo dell'invertitore logico, un triangolo con un cerchietto sulla punta, con l'ingresso A a sinistra e l'uscita Y a destra, e la tabella di verità: con A uguale a 0 l'uscita vale 1, con A uguale a 1 vale 0. In basso a sinistra l'invertitore a carico resistivo: un resistore R dalla tensione di alimentazione V D D al nodo di uscita, e un transistore a canale n dal nodo di uscita a massa, con il gate collegato all'ingresso. In basso a destra l'invertitore CMOS: un transistore a canale p con il source a V D D e un transistore a canale n con il source a massa, con i drain collegati insieme all'uscita e i gate collegati insieme all'ingresso. A Y A Y 0 1 1 0 R VDD Vout Vin carico resistivo VDD Vout Vin p n CMOS

In alto il simbolo della porta NOT e la sua tabella di verità. In basso l’invertitore a carico resistivo, a sinistra, e l’invertitore CMOS, a destra. In entrambi VGSV_{GS} del transistore nn è la tensione di ingresso e VDSV_{DS} quella di uscita.

Negli esempi l’alimentazione è VDD=3,3V_{DD} = 3{,}3 V, il resistore R=10R = 10 kΩ\Omega, e il transistore è quello di riferimento dell’articolo sul MOSFET: k=0,86k = 0{,}86 mA/V² e VTH=0,34V_{TH} = 0{,}34 V. Nel circuito VGS=VinV_{GS} = V_{in}, VDS=VoutV_{DS} = V_{out}, VGD=VinVoutV_{GD} = V_{in} - V_{out}, e la corrente del transistore è quella del resistore: Vout=VDDRIDV_{out} = V_{DD} - RI_D. Facendo salire l’ingresso da zero:

  • per Vin<VTHV_{in} < V_{TH} il transistore è spento e Vout=VDDV_{out} = V_{DD};
  • appena oltre la soglia l’uscita è ancora vicina a VDDV_{DD}, quindi VGD<VTHV_{GD} < V_{TH} e il transistore è in saturazione: Vout=VDDRk(VinVTH)2V_{out} = V_{DD} - Rk(V_{in} - V_{TH})^2, una parabola;
  • quando VGD=VinVoutV_{GD} = V_{in} - V_{out} raggiunge VTHV_{TH} il transistore entra in zona ohmica. Sostituendo l’uscita della saturazione nella condizione si trova Vin=0,90V_{in} = 0{,}90 V, con Vout=0,56V_{out} = 0{,}56 V;
  • oltre, l’uscita risolve l’equazione di secondo grado VDDVout=2Rk[(VinVTH)VoutVout2/2]V_{DD} - V_{out} = 2Rk\left[(V_{in} - V_{TH})V_{out} - V_{out}^2/2\right].

Con l’ingresso a VDDV_{DD} l’uscita vale 6464 mV. La si stima bene senza risolvere l’equazione: con VDSV_{DS} piccola il transistore è una resistenza Rch=1/2k(VDDVTH)=196 ΩR_{ch} = 1/2k(V_{DD} - V_{TH}) = 196\ \Omega, e il partitore con RRVoutVDDRch/(R+Rch)=63V_{out} \approx V_{DD}R_{ch}/(R + R_{ch}) = 63 mV. La stima vale perché 6363 mV è molto meno di VGSVTH=2,96V_{GS} - V_{TH} = 2{,}96 V, come richiede l’approssimazione.

La caratteristica dell'invertitore a carico resistivo Grafico della tensione di uscita in funzione della tensione di ingresso, da 0 a 3,3 volt su entrambi gli assi. Fino a V T H, 0,34 volt, il transistore è spento e l'uscita vale 3,3 volt. Poi, con il transistore saturo, l'uscita scende come una parabola, sempre più ripida; a 0,90 volt il transistore passa in zona ohmica, e l'uscita scende sempre più piano fino a 64 millivolt per un ingresso di 3,3 volt. La curva incontra la bisettrice tratteggiata nella soglia di commutazione V M, 0,87 volt. Due punti segnano dove la pendenza vale meno uno: in V I L, 0,40 volt, con uscita V O H di 3,27 volt, e in V I H, 1,00 volt, con uscita V O L di 0,36 volt. 0123 0123 VM VIL VIH VOH VOL Vin (V) Vout (V) transistore: spento fino a VTH, saturo fino al trattino, poi in zona ohmica

La caratteristica ingresso-uscita dell’invertitore a carico resistivo con VDD=3,3V_{DD} = 3{,}3 V, R=10R = 10 kΩ\Omega, k=0,86k = 0{,}86 mA/V² e VTH=0,34V_{TH} = 0{,}34 V. Il punto arancione è la soglia di commutazione, sulla bisettrice tratteggiata; i due punti blu sono quelli dove la pendenza vale 1-1, che definiscono i margini di rumore.

La soglia di commutazione

La caratteristica passa con continuità da VDDV_{DD} a quasi zero. Quali tensioni sono uno 0 e quali un 1? C’è un ingresso che l’invertitore non inverte.

Definizione (soglia di commutazione)

La soglia di commutazione VMV_M di un invertitore è la tensione di ingresso per cui l’uscita è uguale all’ingresso: Vout(VM)=VMV_{out}(V_M) = V_M.

Se la caratteristica è continua e decrescente, con Vout(0)>0V_{out}(0) > 0 e Vout(VDD)<VDDV_{out}(V_{DD}) < V_{DD}, la soglia esiste ed è unica. La funzione g(v)=Vout(v)vg(v) = V_{out}(v) - v è continua, positiva in 00 e negativa in VDDV_{DD}, quindi si annulla almeno una volta; ed è strettamente decrescente, quindi una volta sola.

Un ingresso un po’ sopra VMV_M dà un’uscita sotto VMV_M, e un ingresso un po’ sotto dà un’uscita sopra: la soglia separa le tensioni lette come 1 da quelle lette come 0, e una seconda porta uguale, collegata all’uscita, fa la stessa lettura. In VMV_M il livello logico è ambiguo, e un circuito affidabile lavora con tensioni lontane dalla soglia.

Nell’invertitore a carico resistivo, alla soglia VGD=VMVM=0<VTHV_{GD} = V_M - V_M = 0 < V_{TH}: il transistore è in saturazione, e VMV_M risolve

VDDRk(VMVTH)2=VM.V_{DD} - Rk\left(V_M - V_{TH}\right)^2 = V_M .

Come equazione di secondo grado in VMVTHV_M - V_{TH}, la soluzione positiva è

VM=VTH+1+4Rk(VDDVTH)12Rk,V_M = V_{TH} + \frac{\sqrt{1 + 4Rk\left(V_{DD} - V_{TH}\right)} - 1}{2Rk} ,

che con Rk=8,6 V1Rk = 8{,}6\ \text{V}^{-1} vale 0,870{,}87 V: una soglia molto più vicina a massa che all’alimentazione.

Rigenerare i livelli

Vicino alla soglia la caratteristica è ripida. La pendenza in VMV_M è

dVoutdVinVM=2Rk(VMVTH)=9,2,\left.\frac{dV_{out}}{dV_{in}}\right|_{V_M} = -2Rk\left(V_M - V_{TH}\right) = -9{,}2 ,

e per un ingresso VM+ΔVV_M + \Delta V, con ΔV\Delta V piccolo, l’uscita è circa VM9,2ΔVV_M - 9{,}2\,\Delta V: lo scarto dalla soglia esce nove volte più grande. In una catena di invertitori uguali una tensione un po’ ambigua si allontana dalla soglia a ogni passaggio, e dopo pochi invertitori è diventata uno 0 o un 1 netti. Si dice che la porta rigenera i livelli logici. Con una pendenza minore di 1 in modulo succederebbe il contrario: le tensioni si avvicinerebbero alla soglia a ogni porta, e in una catena lunga ogni piccolo disturbo cambierebbe il risultato.

Una catena di invertitori rigenera i livelli La caratteristica dell'invertitore a carico resistivo con la bisettrice tratteggiata. Un tracciato arancione parte dall'asse orizzontale appena a destra della soglia di commutazione V M, sale fino alla curva, va in orizzontale fino alla bisettrice, scende o sale di nuovo fino alla curva, e così via: ogni tratto verticale è l'uscita di un invertitore, che diventa l'ingresso del successivo. Il tracciato si allarga a spirale: dopo pochi invertitori le tensioni sono arrivate a 3,3 volt e a 64 millivolt, e restano lì. Nell'animazione il tracciato si disegna dall'inizio alla fine. 0123 0123 VM Vin (V) Vout (V)

Una catena di invertitori a carico resistivo uguali, in un diagramma a ragnatela. Si parte da un ingresso 5 mV sopra la soglia VMV_M: il tratto verticale fino alla curva dà l’uscita del primo invertitore, il tratto orizzontale fino alla bisettrice la riporta sull’asse degli ingressi, per il secondo invertitore, e così via. In pochi passaggi le tensioni arrivano a 3,33{,}3 V e a 6464 mV.

Rigenerare richiede un dispositivo attivo. Un circuito di soli resistori non ci riesce, qualunque sia la sua forma.

Proposizione (nessun guadagno dai resistori)

In una rete di resistori e generatori indipendenti con un generatore di tensione VinV_{in} riferito a massa, ogni tensione di nodo connesso al generatore è V=αVin+βV = \alpha V_{in} + \beta, con 0α10 \le \alpha \le 1 e β\beta indipendente da VinV_{in}.

Dimostrazione.

La rete è lineare. Per sovrapposizione degli effetti ogni tensione di nodo è la somma del contributo di VinV_{in}, con gli altri generatori spenti, e del contributo degli altri generatori, con VinV_{in} spento; il secondo non dipende da VinV_{in} ed è β\beta. Il primo è proporzionale a VinV_{in}: lo si scrive αVin\alpha V_{in}, dove α\alpha è la tensione del nodo quando Vin=1V_{in} = 1 V è l’unico generatore acceso. Spegnendo gli altri generatori, quelli di tensione diventano cortocircuiti e quelli di corrente circuiti aperti, e resta una rete di resistori con un solo generatore. Per la proposizione sulle tensioni di nodo ogni tensione di nodo è allora compresa tra 00 e 11 V, cioè 0α10 \le \alpha \le 1.

Fine della dimostrazione.

La pendenza di una caratteristica fatta di soli resistori, dV/dVin=αdV/dV_{in} = \alpha, non supera 1. Il transistore invece prende energia dall’alimentazione e la usa per produrre variazioni di uscita più grandi di quelle di ingresso: è la stessa proprietà che rende possibili gli amplificatori, e che gli articoli sugli amplificatori studiano per i segnali piccoli.

I margini di rumore

Tra un’uscita e l’ingresso della porta successiva si sommano disturbi: accoppiamenti con i fili vicini, cadute sulle linee di massa, rumore. Di quanto si può sbagliare la tensione senza sbagliare il bit? Per rispondere si divide la caratteristica secondo la sua pendenza.

Definizione (margini di rumore)

Siano VIL<VIHV_{IL} < V_{IH} le tensioni di ingresso in cui la caratteristica ha pendenza 1-1, e VOH=Vout(VIL)V_{OH} = V_{out}(V_{IL}), VOL=Vout(VIH)V_{OL} = V_{out}(V_{IH}). Gli ingressi tra 00 e VILV_{IL} sono uno 0 valido, quelli tra VIHV_{IH} e VDDV_{DD} un 1 valido. I margini di rumore sono

NML=VILVOL,NMH=VOHVIH.NM_L = V_{IL} - V_{OL} , \qquad NM_H = V_{OH} - V_{IH} .

Negli intervalli validi la pendenza è minore di 1 in modulo, e un disturbo sull’ingresso esce attenuato; tra VILV_{IL} e VIHV_{IH} esce amplificato. Una porta con un ingresso valido dà un’uscita non peggiore di VOHV_{OH} per l’1 e di VOLV_{OL} per lo 0, perché la caratteristica è decrescente. Se il disturbo che si somma a quell’uscita è minore del margine, l’ingresso della porta successiva resta valido: NMLNM_L è il disturbo massimo tollerato su uno 0, NMHNM_H su un 1.

Per l’invertitore a carico resistivo i punti a pendenza 1-1, trovati numericamente, sono VIL=0,40V_{IL} = 0{,}40 V con VOH=3,27V_{OH} = 3{,}27 V e VIH=1,00V_{IH} = 1{,}00 V con VOL=0,36V_{OL} = 0{,}36 V. I margini sono NMH=2,27NM_H = 2{,}27 V e NML=0,04NM_L = 0{,}04 V: su un 1 si tollerano più di due volt di disturbo, su uno 0 quaranta millivolt. È la conseguenza della soglia troppo bassa. L’invertitore ideale ha la soglia a VDD/2V_{DD}/2 e una caratteristica che salta da VDDV_{DD} a zero proprio lì: i due margini valgono VDD/2V_{DD}/2, il massimo possibile.

La potenza statica

Con l’ingresso basso l’invertitore a carico resistivo non consuma nulla: il transistore è spento. Con l’ingresso alto, invece, dall’alimentazione a massa scorre di continuo

I=VDDVoutR=3,30,064104 A=0,32 mA,I = \frac{V_{DD} - V_{out}}{R} = \frac{3{,}3 - 0{,}064}{10^4}\ \text{A} = 0{,}32\ \text{mA} ,

e l’invertitore dissipa VDDI=1,07V_{DD}I = 1{,}07 mW senza fare nulla. Un milione di invertitori così, con metà delle uscite basse, dissiperebbe più di 500 W; un processore da telefono, con miliardi di transistori, ne consuma qualche watt. Il resistore si può ingrandire, ma la corrente scende a scapito della velocità, perché è il resistore che carica l’uscita quando deve salire.

Il difetto sta nell’asimmetria del circuito. L’uscita alta si ottiene aprendo il percorso verso massa, e costa zero. L’uscita bassa nasce da una gara tra il resistore, che tira verso l’alimentazione, e il transistore, che tira verso massa: vince il transistore, ma la corrente scorre e l’uscita non arriva a zero.

L’invertitore CMOS

La soluzione è sostituire il resistore con un secondo interruttore, che si apra quando l’ingresso è alto e si chiuda quando è basso: un MOSFET a canale pp con il source all’alimentazione. È l’invertitore CMOS. Con l’ingresso basso il transistore nn è spento e il pp conduce, e l’uscita è collegata a VDDV_{DD}; con l’ingresso alto succede il contrario, e l’uscita è collegata a massa. In entrambi i casi uno dei due percorsi è aperto, e non scorre corrente.

Nei conti i due transistori sono simmetrici: stesso kk e soglie opposte, VTH,n=VTH,p=VTH=0,34V_{TH,n} = -V_{TH,p} = V_{TH} = 0{,}34 V. Il transistore pp ha per questo un canale circa 2,8 volte più largo, perché le lacune sono meno mobili. Nel circuito VGS,n=VinV_{GS,n} = V_{in}, VDS,n=VoutV_{DS,n} = V_{out}, VSG,p=VDDVinV_{SG,p} = V_{DD} - V_{in}, VSD,p=VDDVoutV_{SD,p} = V_{DD} - V_{out}, e le due correnti sono uguali.

Con Vin<VTHV_{in} < V_{TH} il transistore nn è spento, e il pp, acceso, deve portare corrente nulla: è possibile solo in zona ohmica con VSD,p=0V_{SD,p} = 0, cioè Vout=VDDV_{out} = V_{DD}. Salendo, il transistore nn si accende in saturazione, perché l’uscita è ancora alta, mentre il pp resta in zona ohmica, e l’uscita scende. A metà strada entrambi saturano, poi i ruoli si scambiano, fino a Vin>VDDVTHV_{in} > V_{DD} - V_{TH}, dove il pp è spento e l’uscita è a zero.

Proposizione (soglia dell'invertitore CMOS)

In un invertitore CMOS con VDD>VTH,n+VTH,pV_{DD} > V_{TH,n} + |V_{TH,p}| la soglia di commutazione è

VM=knVTH,n+kp(VDDVTH,p)kn+kp.V_M = \frac{\sqrt{k_n}\,V_{TH,n} + \sqrt{k_p}\left(V_{DD} - |V_{TH,p}|\right)}{\sqrt{k_n} + \sqrt{k_p}} .

Per Vin=VMV_{in} = V_M ogni uscita tra VMVTH,nV_M - V_{TH,n} e VM+VTH,pV_M + |V_{TH,p}| rende uguali le due correnti. Con transistori simmetrici VM=VDD/2V_M = V_{DD}/2.

Dimostrazione.

Con ingresso e uscita uguali a VMV_M è VGD,n=0V_{GD,n} = 0 e VDG,p=0V_{DG,p} = 0. Se il transistore nn fosse spento, cioè VMVTH,nV_M \le V_{TH,n}, la corrente sarebbe nulla anche nel pp, e l’uscita sarebbe VDDVMV_{DD} \ne V_M; allo stesso modo il pp non può essere spento. Accesi tutti e due, con VGD,n=0<VTH,nV_{GD,n} = 0 < V_{TH,n} e VDG,p=0<VTH,pV_{DG,p} = 0 < |V_{TH,p}|, sono entrambi in saturazione, e l’uguaglianza delle correnti è

kn(VMVTH,n)2=kp(VDDVMVTH,p)2.k_n\left(V_M - V_{TH,n}\right)^2 = k_p\left(V_{DD} - V_M - |V_{TH,p}|\right)^2 .

Le due parentesi sono positive, perché i transistori sono accesi; estraendo la radice, kn(VMVTH,n)=kp(VDDVMVTH,p)\sqrt{k_n}(V_M - V_{TH,n}) = \sqrt{k_p}(V_{DD} - V_M - |V_{TH,p}|), da cui la formula.

Con l’ingresso a VMV_M le due correnti di saturazione sono uguali e non dipendono dall’uscita: qualunque uscita che tenga saturi entrambi i transistori va bene. Il transistore nn è saturo per VGD,n=VMVoutVTH,nV_{GD,n} = V_M - V_{out} \le V_{TH,n}, il pp per VDG,p=VoutVMVTH,pV_{DG,p} = V_{out} - V_M \le |V_{TH,p}|: sono i due estremi dell’intervallo. Con kn=kpk_n = k_p e VTH,n=VTH,pV_{TH,n} = |V_{TH,p}| la formula dà VM=VDD/2V_M = V_{DD}/2.

Fine della dimostrazione.

Nel modello quadratico la caratteristica ha quindi in VMV_M un tratto verticale, da VMVTHV_M - V_{TH} a VM+VTHV_M + V_{TH}. Con la modulazione della lunghezza di canale le correnti di saturazione dipendono un poco dall’uscita, e il tratto diventa una discesa molto ripida ma non verticale. Con transistori simmetrici la soglia sta a metà dell’alimentazione qualunque sia VDDV_{DD}: se l’alimentazione cala, la soglia la segue.

La caratteristica dell'invertitore CMOS Grafico della tensione di uscita dell'invertitore CMOS in funzione della tensione di ingresso, da 0 a 3,3 volt su entrambi gli assi. L'uscita vale 3,3 volt fino a V T H, 0,34 volt, poi scende lentamente, e a metà dell'alimentazione, in V M uguale a 1,65 volt, cade in verticale da circa 2 volt a circa 1,3 volt; poi scende di nuovo lentamente fino a zero, che raggiunge a 2,96 volt. La curva è simmetrica rispetto al punto centrale. La bisettrice tratteggiata passa per il centro del tratto verticale. Due punti segnano dove la pendenza vale meno uno: in V I L, 1,32 volt, con uscita 2,97 volt, e in V I H, 1,98 volt, con uscita 0,33 volt. Etichette indicano lo stato dei transistori: a sinistra del tratto verticale n saturo e p ohmico, a destra n ohmico e p saturo, sul tratto entrambi saturi. 0123 0123 VIL VIH VM VOH VOL Vin (V) Vout (V) n saturo p ohmico n ohmico p saturo entrambi saturi

La caratteristica dell’invertitore CMOS simmetrico con VDD=3,3V_{DD} = 3{,}3 V e VTH=0,34V_{TH} = 0{,}34 V, nel modello quadratico. Il tratto verticale in VM=1,65V_M = 1{,}65 V va da 1,311{,}31 a 1,991{,}99 V; i due punti sono quelli a pendenza 1-1. Le etichette dicono in che zona lavorano i due transistori.

Proposizione (margini di rumore dell'invertitore CMOS simmetrico)

In un invertitore CMOS simmetrico con VDD>2VTHV_{DD} > 2V_{TH}

VIL=3VDD+2VTH8,VOH=7VDD+2VTH8,V_{IL} = \frac{3V_{DD} + 2V_{TH}}{8} , \qquad V_{OH} = \frac{7V_{DD} + 2V_{TH}}{8} ,

VIH=VDDVILV_{IH} = V_{DD} - V_{IL}, VOL=VDDVOHV_{OL} = V_{DD} - V_{OH}, e i due margini di rumore sono uguali:

NML=NMH=VDD+2VTH4.NM_L = NM_H = \frac{V_{DD} + 2V_{TH}}{4} .
Dimostrazione.

A sinistra della soglia il transistore nn è saturo e il pp in zona ohmica. Con a=VinVTHa = V_{in} - V_{TH}, b=VDDVinVTHb = V_{DD} - V_{in} - V_{TH} e w=VDDVoutw = V_{DD} - V_{out} l’uguaglianza delle correnti, divisa per kk, è

a2=2bww2.a^2 = 2bw - w^2 .

Si deriva rispetto a VinV_{in}: da/dVin=1da/dV_{in} = 1, db/dVin=1db/dV_{in} = -1, e nel punto a pendenza 1-1 è dw/dVin=dVout/dVin=1dw/dV_{in} = -dV_{out}/dV_{in} = 1. Si ottiene 2a=2w+2b2w2a = -2w + 2b - 2w, cioè w=(ba)/2=VDD/2Vinw = (b - a)/2 = V_{DD}/2 - V_{in}. Sostituendo nell’equazione, con x=Vinx = V_{in},

(xVTH)2+(VDD2x)2=2(VDDxVTH)(VDD2x).\left(x - V_{TH}\right)^2 + \left(\frac{V_{DD}}{2} - x\right)^2 = 2\left(V_{DD} - x - V_{TH}\right)\left(\frac{V_{DD}}{2} - x\right) .

I termini in x2x^2 si cancellano, e restano

2(VDD2VTH)x=14(3VDD+2VTH)(VDD2VTH),2\left(V_{DD} - 2V_{TH}\right)x = \frac{1}{4}\left(3V_{DD} + 2V_{TH}\right)\left(V_{DD} - 2V_{TH}\right) ,

cioè x=VIL=(3VDD+2VTH)/8x = V_{IL} = (3V_{DD} + 2V_{TH})/8. Allora w=VDD/2VIL=(VDD2VTH)/8w = V_{DD}/2 - V_{IL} = (V_{DD} - 2V_{TH})/8 e VOH=VDDw=(7VDD+2VTH)/8V_{OH} = V_{DD} - w = (7V_{DD} + 2V_{TH})/8. Le ipotesi sulle zone sono verificate: VIL>VTHV_{IL} > V_{TH} perché VDD>2VTHV_{DD} > 2V_{TH}, e VOHVIL=VDD/2>VTHV_{OH} - V_{IL} = V_{DD}/2 > V_{TH}, quindi il pp è in zona ohmica.

Scambiando VinV_{in} con VDDVinV_{DD} - V_{in} e VoutV_{out} con VDDVoutV_{DD} - V_{out} le equazioni dei due transistori si scambiano tra loro: la caratteristica è simmetrica rispetto al punto (VDD/2,VDD/2)(V_{DD}/2, V_{DD}/2), e dà VIH=VDDVILV_{IH} = V_{DD} - V_{IL} e VOL=VDDVOHV_{OL} = V_{DD} - V_{OH}. Infine NML=VILVOL=VIL+VOHVDD=(VDD+2VTH)/4NM_L = V_{IL} - V_{OL} = V_{IL} + V_{OH} - V_{DD} = (V_{DD} + 2V_{TH})/4, e per simmetria NMHNM_H è uguale.

Fine della dimostrazione.

Con VDD=3,3V_{DD} = 3{,}3 V e VTH=0,34V_{TH} = 0{,}34 V i margini valgono 1,01{,}0 V ciascuno, venticinque volte quello basso dell’invertitore a carico resistivo, e poco meno della metà dell’alimentazione. Negli intervalli estremi l’uscita è esattamente VDDV_{DD} o zero, e la corrente dall’alimentazione è nulla: la potenza statica sparisce, a parte le piccole correnti sotto la soglia dei transistori spenti. Corrente scorre solo durante le commutazioni, quando i due transistori sono accesi insieme e quando l’uscita si carica e si scarica: è il tema dell’articolo sui tempi e sulla potenza. Infine la struttura si estende ad altre porte, NAND e NOR, con le stesse proprietà.

L’uscita per via grafica

L’uscita dell’invertitore CMOS per un dato ingresso si trova anche disegnando le correnti dei due transistori in funzione della stessa variabile, la tensione di uscita. La corrente del transistore nn è la sua caratteristica con VDS=VoutV_{DS} = V_{out}; quella del pp è la sua caratteristica con VSD=VDDVoutV_{SD} = V_{DD} - V_{out}, ribaltata e spostata di VDDV_{DD}. L’uscita è dove le due curve si incontrano.

L'uscita dell'invertitore CMOS per via grafica Due grafici della corrente in funzione della tensione di uscita, da 0 a 3,3 volt. In ciascuno, in blu la corrente del transistore n, che sale da zero e diventa orizzontale quando il transistore satura, e in arancio quella del transistore p, orizzontale a sinistra e che scende a zero in V D D. In alto, con ingresso di 1,2 volt, la curva arancione è molto più alta di quella blu e le due si incontrano in un solo punto, vicino a V D D, a circa 3,1 volt. In basso, con ingresso a metà dell'alimentazione, i due tratti orizzontali hanno la stessa altezza e si sovrappongono tra circa 1,3 e 2 volt: ogni tensione di uscita in quell'intervallo va bene. 01230123 ID (mA) Vin = 1,2 V 01230123 ID (mA) Vin = 1,65 V transistore n transistore p Vout (V)

Le correnti del transistore nn, in blu, e del transistore pp, in arancio, in funzione della tensione di uscita. In alto, con Vin=1,2V_{in} = 1{,}2 V, il transistore pp può portare molta più corrente del nn saturo: le curve si incontrano vicino a VDDV_{DD}, a 3,083{,}08 V, con il pp in zona ohmica. In basso, con Vin=VMV_{in} = V_M, i due tratti di saturazione hanno la stessa altezza e si sovrappongono: è il tratto verticale della caratteristica.

Il disegno fa vedere perché il tratto verticale è così ripido. Appena l’ingresso supera VMV_M, la corrente di saturazione del transistore nn supera quella del pp, e l’intersezione salta dalla parte bassa: il transistore nn esce dalla saturazione e l’uscita crolla.

Esercizi risolti e commentati

Esercizio 1. Nell’invertitore a carico resistivo con il transistore di riferimento e VDD=3,3V_{DD} = 3{,}3 V, quanto deve valere RR perché l’uscita bassa, con l’ingresso a VDDV_{DD}, non superi 5050 mV? Quanto consuma allora l’invertitore con l’uscita bassa?

Soluzione. Con la stima del partitore, VoutVDDRch/(R+Rch)V_{out} \approx V_{DD}R_{ch}/(R + R_{ch}) con Rch=196 ΩR_{ch} = 196\ \Omega. La condizione Vout0,05V_{out} \le 0{,}05 V dà

RRch(VDD0,05 V1)=196 Ω65=12,7 kΩ.R \ge R_{ch}\left(\frac{V_{DD}}{0{,}05\ \text{V}} - 1\right) = 196\ \Omega\cdot65 = 12{,}7\ \text{k}\Omega .

La corrente è circa (3,30,05)/12,7 kΩ=0,26(3{,}3 - 0{,}05)/12{,}7\ \text{k}\Omega = 0{,}26 mA, e la potenza 0,850{,}85 mW.

Commento. Alzare RR abbassa l’uscita e il consumo, ma rallenta la salita dell’uscita, che si carica attraverso RR. E abbassa ancora la soglia: con RkRk più grande la parabola della saturazione scende prima.

Esercizio 2. Con lo stesso transistore, quale resistore porta la soglia dell’invertitore a carico resistivo a VDD/2V_{DD}/2? Quanto valgono allora la pendenza in VMV_M e l’uscita bassa?

Soluzione. Alla soglia il transistore è saturo: VDDRk(VDD/2VTH)2=VDD/2V_{DD} - Rk(V_{DD}/2 - V_{TH})^2 = V_{DD}/2, quindi

Rk=VDD/2(VDD/2VTH)2=1,651,312 V1=0,96 V1,Rk = \frac{V_{DD}/2}{\left(V_{DD}/2 - V_{TH}\right)^2} = \frac{1{,}65}{1{,}31^2}\ \text{V}^{-1} = 0{,}96\ \text{V}^{-1} ,

cioè R=0,96/0,86 mA/V2=1,1R = 0{,}96/0{,}86\ \text{mA/V}^2 = 1{,}1 kΩ\Omega. La pendenza in VMV_M è 2Rk(VMVTH)=20,961,31=2,5-2Rk(V_M - V_{TH}) = -2\cdot0{,}96\cdot1{,}31 = -2{,}5, e l’uscita bassa è circa 3,3196/(1115+196)=0,493{,}3\cdot196/(1115 + 196) = 0{,}49 V.

Commento. Con un resistore dieci volte più piccolo la soglia è al centro, ma l’uscita bassa sale a mezzo volt, la corrente statica a 2,52{,}5 mA e la pendenza scende: nessun dimensionamento del carico resistivo ha insieme soglia centrata, uscita bassa vicina a zero e consumo piccolo. L’invertitore CMOS li ha tutti.

Esercizio 3. In un invertitore CMOS i due transistori hanno la stessa larghezza, con kn=0,86k_n = 0{,}86 mA/V² e kp=kn180/500k_p = k_n\cdot180/500, e soglie ±0,34\pm0{,}34 V. Dove sta la soglia di commutazione con VDD=3,3V_{DD} = 3{,}3 V?

Soluzione. Il rapporto kp/kn=0,36=0,60\sqrt{k_p/k_n} = \sqrt{0{,}36} = 0{,}60. Dividendo numeratore e denominatore della formula per kn\sqrt{k_n},

VM=0,34+0,60(3,30,34)1+0,60=1,32 V.V_M = \frac{0{,}34 + 0{,}60\cdot(3{,}3 - 0{,}34)}{1 + 0{,}60} = 1{,}32\ \text{V} .

Commento. Il transistore pp, più debole, perde la gara prima: la soglia scende di un terzo di volt sotto la metà dell’alimentazione. Per centrarla il canale del pp va allargato di 500/180=2,8500/180 = 2{,}8 volte. Spesso si accetta un rapporto un po’ minore, che sposta poco la soglia e risparmia area e capacità.

Esercizio 4. Calcolare la tensione di uscita dell’invertitore CMOS simmetrico con Vin=1,2V_{in} = 1{,}2 V, prima esattamente e poi sostituendo il transistore pp con la sua resistenza di canale.

Soluzione. Il transistore nn è saturo e porta k(1,20,34)2=0,860,862=0,638k(1{,}2 - 0{,}34)^2 = 0{,}86\cdot0{,}86^2 = 0{,}638 mA. Il pp ha VSGVTH=3,31,20,34=1,76V_{SG} - |V_{TH}| = 3{,}3 - 1{,}2 - 0{,}34 = 1{,}76 V ed è in zona ohmica; con w=VSD,pw = V_{SD,p} l’uguaglianza delle correnti, divisa per kk, è 0,862=21,76ww20{,}86^2 = 2\cdot1{,}76\,w - w^2, cioè w23,52w+0,740=0w^2 - 3{,}52\,w + 0{,}740 = 0. La soluzione minore, l’unica con il pp in zona ohmica, è w=0,224w = 0{,}224 V, e Vout=3,30,224=3,08V_{out} = 3{,}3 - 0{,}224 = 3{,}08 V. Con la resistenza di canale Rch,p=1/(2k1,76)=329 ΩR_{ch,p} = 1/(2k\cdot1{,}76) = 329\ \Omega si ottiene invece Vout3,33290,638 mA=3,09V_{out} \approx 3{,}3 - 329\cdot0{,}638\ \text{mA} = 3{,}09 V.

Commento. La stima lineare sbaglia di dieci millivolt, perché w=0,22w = 0{,}22 V non è del tutto trascurabile rispetto a 1,761{,}76 V. È il punto di intersezione del pannello in alto della figura sul metodo grafico.

Esercizio 5. Quanto valgono soglia e margini di rumore dell’invertitore CMOS simmetrico con VDD=1,2V_{DD} = 1{,}2 V e con VDD=5V_{DD} = 5 V?

Soluzione. La soglia è sempre a metà: 0,60{,}6 V e 2,52{,}5 V. I margini, (VDD+2VTH)/4(V_{DD} + 2V_{TH})/4, valgono (1,2+0,68)/4=0,47(1{,}2 + 0{,}68)/4 = 0{,}47 V e (5+0,68)/4=1,42(5 + 0{,}68)/4 = 1{,}42 V. La condizione VDD>2VTH=0,68V_{DD} > 2V_{TH} = 0{,}68 V è soddisfatta in entrambi i casi.

Commento. Il margine è sempre un po’ meno della metà dell’alimentazione, e in proporzione migliora quando l’alimentazione scende: a 1,21{,}2 V è il 39% di VDDV_{DD}, a 55 V il 28%. Sotto VTH,n+VTH,pV_{TH,n} + |V_{TH,p}| i due transistori non sono mai accesi insieme in modo pieno, e la porta funziona con le correnti sotto la soglia: è possibile, e si fa nei circuiti a bassissimo consumo, ma i tempi di commutazione diventano molto più lunghi.

Hai trovato un errore o qualcosa che non funziona in questa pagina? Scrivi una segnalazione