Porte logiche CMOS
Percorso: Fondamenti di elettronica · 14 di 20
Prima di questo, potrebbe interessarti: Tempi di commutazione e potenza
Indice
Reti di pull-up e di pull-down
Nell’invertitore CMOS un transistore tira l’uscita verso massa e un transistore la tira verso l’alimentazione. Le porte a più ingressi seguono la stessa idea con più transistori: una rete di pull-down di transistori tra l’uscita e massa, e una rete di pull-up di transistori tra l’alimentazione e l’uscita, dal verbo inglese to pull, tirare. Per ogni combinazione degli ingressi una sola delle due reti deve condurre: così l’uscita è sempre collegata a o a massa, e non c’è mai un percorso tra le due.
Le porte a due ingressi più usate sono quattro. La AND dà 1 solo se entrambi gli ingressi sono 1, la OR dà 1 se almeno uno è 1; la NAND e la NOR sono le loro negazioni. Con le sole NAND, o con le sole NOR, si costruisce qualunque funzione logica. Nei circuiti CMOS le porte naturali sono proprio NAND e NOR: un transistore conduce con l’ingresso alto e porta l’uscita bassa, quindi ogni rete è invertente, e una AND è una NAND seguita da un invertitore.
Si prenda la NOR. L’uscita deve essere bassa se oppure è alto: nella rete di pull-down bastano due transistori in parallelo, uno comandato da e uno da . L’uscita deve essere alta solo se e sono entrambi bassi: nella rete di pull-up due transistori in serie, perché ciascuno conduce con il suo ingresso basso e basta che uno si spenga per interrompere il percorso. La NAND è il contrario: in serie e in parallelo.
A sinistra la struttura di una porta CMOS: la rete di pull-up, di transistori , collega l’uscita all’alimentazione, la rete di pull-down, di transistori , a massa. A destra la porta NOR a due ingressi: transistori in serie e transistori in parallelo.
In una rete i transistori in serie fanno un AND delle loro condizioni di conduzione, quelli in parallelo un OR. Le due reti di una porta sono duali: dove una ha due transistori in serie l’altra ne ha due in parallelo, comandati dagli stessi ingressi, e viceversa.
Teorema (reti duali)
Sia una rete di transistori costruita componendo in serie e in parallelo transistori comandati dagli ingressi, e sia la funzione logica degli ingressi che vale 1 quando conduce. Sia la rete duale di transistori , ottenuta scambiando serie e parallelo. Allora conduce se e solo se non conduce. In una porta con come pull-down e come pull-up l’uscita è quindi sempre collegata a massa o a , mai a tutte e due, e vale .
Per induzione sul numero di composizioni. Un transistore comandato da conduce quando , quindi ; il transistore duale conduce quando , quindi . Due reti in serie conducono se conducono entrambe, e la funzione è il prodotto logico; due reti in parallelo conducono se ne conduce almeno una, e la funzione è la somma logica.
Si supponga la tesi vera per e , cioè e . Se è la serie di e , allora è il parallelo di e , e per le leggi di De Morgan
Se è il parallelo, è la serie, e . Per ogni combinazione degli ingressi conduce quindi una e una sola delle due reti. Quando conduce il pull-down l’uscita è a massa, cioè quando ; altrimenti conduce il pull-up e .
Fine della dimostrazione.
Il teorema dà un metodo di progetto. Si scrive la funzione negata come combinazione di AND e OR degli ingressi, la si traduce in serie e paralleli di transistori , e si costruisce la rete duale di transistori . Per esempio : nella rete di pull-down i transistori di e in serie, e quello di in parallelo alla serie; nella rete di pull-up i transistori di e in parallelo, e quello di in serie al parallelo. Sei transistori, contro i dieci di una NAND, una NOR e un invertitore.
A sinistra la porta NAND a due ingressi. A destra una porta complessa che calcola con sei transistori: le due reti sono duali.
Transistori in serie e in parallelo
I tempi di commutazione di una porta si stimano come quelli dell’invertitore, se i transistori che caricano o scaricano l’uscita si riducono a uno solo. Due transistori in parallelo, con gli stessi gate, source e drain, portano la somma delle correnti, e sono un transistore con . Per la serie serve un conto.
Proposizione (transistori in serie)
Due transistori dello stesso tipo in serie, con i gate alla stessa tensione, la stessa soglia e le ipotesi del modello quadratico, portano la stessa corrente di un solo transistore con
in zona ohmica come in saturazione.
Si misurano le tensioni rispetto al source del transistore in basso, e si pone
dove è la tensione dei gate. Nella dimostrazione della corrente del MOSFET, integrando la corrente lungo il canale da un estremo a tensione all’altro a tensione , si ottiene . La formula vale anche in saturazione: oltre il punto di strozzamento l’integrando è nullo, e resta costante. Per il transistore in basso, tra e la tensione del nodo intermedio, e per quello in alto, tra e la tensione del drain ,
Sommando, la tensione intermedia sparisce:
che è la corrente di un transistore con , collegato tra e con il gate a .
Fine della dimostrazione.
Con proporzionale a , due transistori uguali in serie sono un transistore lungo il doppio: come due resistori in serie. La dimostrazione tiene la soglia uguale nei due transistori; in realtà quello in alto ha il source sopra massa e, per l’effetto body, una soglia più alta, e la serie conduce un po’ meno.
Due transistori in serie con i gate alla stessa tensione equivalgono a un transistore con ; due transistori in parallelo a un transistore con .
Con i transistori di riferimento, mA/V², V e il carico di fF dell’articolo sui tempi, la stima per eccesso dà ps per l’invertitore. In una NAND a due ingressi con transistori uguali la discesa dell’uscita passa per due transistori in serie, , e dura ps; la salita passa per un transistore se cambia un solo ingresso, ps, o per due in parallelo se scendono entrambi, ps. In una NAND a ingressi la discesa passa per transistori in serie, e per averla veloce come quella dell’invertitore i transistori si fanno volte più larghi. Nella NOR tocca ai transistori stare in serie, e sono già i più larghi: per questo le NOR con molti ingressi occupano molta area, e nei circuiti CMOS si preferiscono le NAND.
La porta complessa ha tre tempi di salita diversi. Se dopo la commutazione , e , l’uscita si carica attraverso i transistori di e di in serie, , in ps; con attraverso il parallelo di e in serie a , , in ps. Il ritardo di una porta non è uno solo: dipende da quali ingressi cambiano.
Pass-transistor e transmission gate
Le reti CMOS collegano l’uscita all’alimentazione o a massa. Una strada diversa è usare i transistori come interruttori che lasciano passare un ingresso verso l’uscita: è la logica a pass-transistor. L’esempio più semplice è il multiplexer: con il segnale di selezione l’uscita è l’ingresso , con l’ingresso , cioè . In CMOS servono tre NAND e un invertitore, quattordici transistori; con due interruttori e un invertitore per ne bastano pochi.
Un interruttore deve lasciar passare corrente nei due versi, perché il carico a volte va caricato e a volte scaricato, e il MOSFET lo fa: source e drain sono fisicamente uguali, e fa da source il terminale a tensione più bassa, per un transistore . Il body non può seguire il source, che cambia, e va collegato alla tensione più bassa del circuito. Un transistore solo, però, non passa bene tutti i livelli.
Proposizione (un transistore n passa male l'1)
Un transistore con il gate a e un terminale a carica un condensatore , inizialmente scarico, secondo
trascurando l’effetto body: la tensione tende a e non la raggiunge mai. Lo stesso transistore scarica invece il condensatore fino a zero.
Durante la carica il terminale a è il drain e quello sul condensatore è il source, e . Poiché il transistore è sempre saturo, e
Separando le variabili, , e integrando da si ottiene , che risolta in dà la formula. Quando si avvicina a , si avvicina alla soglia e la corrente si spegne. Nella scarica verso un terminale a zero il source è quel terminale, resta costante, e il transistore conduce finché la tensione del condensatore non è nulla.
Fine della dimostrazione.
Con l’effetto body le cose vanno peggio: il source sale, e con lui la soglia. Con i transistori di riferimento l’uscita si ferma a V invece di V. Il rimedio è la transmission gate: un transistore e un transistore in parallelo, comandati da segnali opposti. Il passa bene l’1 e male lo 0, il il contrario, e insieme passano entrambi i livelli senza perdite; per di più i due tempi di commutazione diventano simili, perché in ogni transizione lavorano i due transistori insieme.
Un condensatore di 134 fF caricato verso attraverso un interruttore. Con un solo transistore la tensione tende a e, per l’effetto body, si ferma ancora più in basso, a V; con una transmission gate arriva a , e metà dell’alimentazione è raggiunta in 20 ps invece di 66.
La logica a pass-transistor ha un limite di fondo: non rigenera i livelli. L’uscita è l’ingresso trasmesso, con i suoi disturbi, e una catena di interruttori somma le cadute e i rallentamenti. Per questo i blocchi a pass-transistor si alternano con porte CMOS, che riportano i livelli a zero e a .
A sinistra un multiplexer a due ingressi con due transmission gate: con conduce la prima e , con la seconda e . A destra l’invertitore tri-state: con è un invertitore, con l’uscita è staccata sia dall’alimentazione sia da massa.
Il terzo stato
Una porta CMOS impone sempre la tensione della sua uscita. Due uscite collegate allo stesso filo, una alta e una bassa, formerebbero un percorso diretto dall’alimentazione a massa attraverso il transistore della prima e il transistore della seconda. Con i transistori di riferimento, simmetrici, il filo si fermerebbe a , un livello ambiguo, con una corrente di mA e mW dissipati.
Eppure è utile che più circuiti usino lo stesso filo, a turno: è il principio del bus, la linea condivisa su cui processore, memorie e periferiche si scambiano i dati. Chi non trasmette deve staccarsi, lasciando la linea in alta impedenza, un terzo stato indicato con in cui l’uscita non è collegata né a né a massa.
L’invertitore tri-state ha un ingresso di abilitazione . Quattro transistori in serie: in alto un transistore comandato da , poi i transistori e di un invertitore comandati dall’ingresso, in basso un transistore comandato da . Con i due transistori esterni conducono, e il circuito è un invertitore con due transistori in serie in ciascuna rete. Con sono spenti tutti e due, e l’uscita è isolata qualunque sia l’ingresso. Un protocollo del bus decide chi abilita la propria uscita e quando.
Esercizi risolti e commentati
Esercizio 1. Progettare una porta CMOS che calcoli .
Soluzione. La rete di pull-down deve condurre quando : i transistori di e di in parallelo, e il parallelo in serie al transistore di . La rete di pull-up è la duale: i transistori di e di in serie, e la serie in parallelo al transistore di . Per il teorema delle reti duali l’uscita è . Si verifica un caso: con , , conducono i transistori di e di , e l’uscita è 0; nella rete di pull-up il di è spento, quindi la serie è interrotta, e il di è spento: nessun percorso verso .
Commento. Sei transistori. Con porte standard servirebbero una NOR, un invertitore e una NAND: dieci transistori. Le porte complesse fanno risparmiare area e ritardi, al prezzo di reti in serie più lunghe.
Esercizio 2. In una NAND a tre ingressi con i transistori del transistore di riferimento, quanto dura la discesa dell’uscita con il carico di 134 fF? Quanto devono essere larghi i transistori perché duri come nell’invertitore?
Soluzione. Tre transistori in serie equivalgono a uno con , e il tempo è tre volte quello dell’invertitore: ps con la stima per eccesso. Per tornare a ps il transistore equivalente deve avere , cioè ciascun transistore : larghezza m invece di .
Commento. Allargare i transistori aumenta però la capacità che la porta presenta agli ingressi, e rallenta le porte che la pilotano. Oltre tre o quattro ingressi conviene spezzare una porta in più porte piccole.
Esercizio 3. Dove sta la soglia di commutazione di una NOR a due ingressi con i transistori di riferimento, mA/V², con i due ingressi collegati insieme? Quanto devono essere più larghi i transistori per riportarla a ?
Soluzione. Con gli ingressi uniti le reti diventano un invertitore equivalente: i due in parallelo danno , i due in serie . Con la formula della soglia dell’invertitore CMOS e ,
Per serve , cioè : i transistori vanno fatti quattro volte più larghi, oltre al fattore già dovuto alla mobilità.
Commento. Un transistore di una NOR a due ingressi bilanciata è largo più di undici volte il transistore di un invertitore minimo. Con la NAND succede il contrario, ma sui transistori , che partono più stretti. È un altro motivo per cui le librerie di celle CMOS preferiscono le NAND.
Esercizio 4. Un transistore usato come interruttore porta a un invertitore CMOS di riferimento un 1 degradato, V. L’invertitore legge ancora un 1? Consuma potenza statica?
Soluzione. L’ingresso supera V, quindi l’uscita è bassa e il livello logico è corretto. Ma il transistore dell’invertitore ha V, sopra la soglia di V: è acceso. Con l’uscita quasi a zero, V e il transistore è saturo, con mA. Il transistore , acceso con V, assorbe questa corrente con una caduta piccola. L’invertitore dissipa mW di continuo.
Commento. Il bit è giusto, ma la porta consuma come un invertitore a carico resistivo. Per questo dopo un pass-transistor si mette una porta che rigenera il livello, o si usa una transmission gate, o si aggiunge un piccolo transistore che tira l’ingresso fino a quando l’uscita dell’invertitore è bassa.
Esercizio 5. Due invertitori con i transistori di riferimento hanno le uscite sullo stesso filo: uno forza 1, l’altro 0. Calcolare la tensione del filo e la corrente.
Soluzione. Conducono il transistore del primo, con , e il transistore del secondo, con . Con transistori simmetrici, per simmetria, il filo sta a V. Il transistore ha V, meno di V, ed è in zona ohmica:
La potenza è mW.
Commento. Un conflitto sul bus spreca potenza e lascia la linea a un livello che nessuna porta legge con sicurezza. Se il fosse più debole del il filo scenderebbe verso lo 0: vincerebbe il transistore più forte, non il dato giusto. Le uscite tri-state e un protocollo che abilita un solo trasmettitore alla volta servono a evitarlo.
Hai trovato un errore o qualcosa che non funziona in questa pagina? Scrivi una segnalazione