You are on page 1of 30

1

Circuiti integrati
Per circuito integrato (IC, integrated circuit) si intende un circuito elettronico dove tutti i
componenti (diodi, transistor, resistenze, condensatori, …) sono costruiti all’interno di un unico
pezzo di silicio. Durante la fabbricazione i vari componenti che lo formano sono costruiti tutti
contemporaneamente mediante un processo chimico suddiviso a sua in vari fasi.
Un circuito integrato si distingue da un circuito a componenti discreti, poiché in quest’ultimo i
vari componenti sono realizzati separatamente l’uno dall’altro e poi montati in una scheda che
contiene solo le interconnessioni.
I vantaggi di un circuito integrato rispetto a un circuito a componenti discreti sono molteplici. Ad
esempio un circuito integrato è:
• Più compatto
• Multifunzionale, poiché nello stesso spazio possono essere concentrati molti sottocircuiti atti
allo svolgimento di diverse funzioni.
• Più veloce poiché le distanze tra i componenti sono minime e si riducono gli effetti di
resistenze e capacità parassite.

Complessità e scala di integrazione


La complessità di un circuito integrato può andare da una singola porta logica costituita da pochi
transistor a sistemi analogici o digitali molto più complessi, come un microcontrollore o un
microprocessore. In base al numero di transistor si definisce la scala di complessità di un circuito
integrato. In base alla scala di complessità un IC si classifica nel modo seguente:
• SSI (Small Scale Integration): circuito con meno di 10 transistor.
• MSI (Medium Scale Integration): IC con un numero di transistor da 10 a 100.
• LSI (Large Scale Integration): IC con un numero di transistor da 100 a 10000.
• VLSI (Very Large Scale integration): IC con un numero di transistor da 10000 a 100000.
• ULSI (Ultra Large Scale Integration): IC con più di 100000.

2
La legge di Moore
Negli ultimi 50 anni la microelettronica è stata caratterizzata da enormi innovazioni in termini di
prodotto e di tecnologia di processo. La continua ricerca in termini di nuove soluzioni
tecnologiche e di processi produttivi più efficienti ha portato all’introduzione di nuovi dispositivi
elettronici in grado di poter essere utilizzati in un sempre maggior numero di applicazioni. Inoltre
la nascita di tecnologie in grado di poter essere utilizzate in molteplici settori ha determinato un
aumento sia del numero dei potenziali fruitori che del numero di aziende interessate allo
sviluppo di tali tecnologie.
Negli ultimi anni la ricerca si è indirizzata verso dispositivi sempre più miniaturizzati e più veloci,
oltre che in grado di ridurre il consumo di energia; tutto ciò ha permesso la realizzazione di
circuiti integrati (IC) con un numero crescente di transistor per unità di area ed in grado di
realizzare funzioni via via sempre più complesse. L’aumento delle prestazioni assolute dei
dispositivi realizzati (dimensioni, velocità, consumi) è stata così regolare negli anni che già nel
1975 Gordon E. Moore propose la sua omonima legge, dopo aver osservato che il numero di
transistor per circuito integrato era aumentato, dalla data della loro invenzione, di un fattore due
ogni anno su un arco temporale di 16 anni:

“Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18
mesi”

3
L’iniziale analisi di Moore aveva indicato, quali fattori concorrenti allo sviluppo esponenziale della
complessità:
1. L’aumento dell’area del chip
2. La riduzione delle dimensioni delle strutture elementari che componevano i circuiti integrati,
3. Il miglioramento della capacità di progettare i dispositivi (fossero essi transistori bipolari o di
tipo MOS) e la realizzazione di circuiti più efficienti.
Moore stesso riconosceva che alcuni di questi fattori avrebbero avuto negli anni seguenti un
impatto limitato e quindi l’evoluzione ulteriore sarebbe dipesa essenzialmente dal solo ridursi
delle dimensioni critiche, rallentando, di conseguenza, il suo ritmo. L’analisi è stata
sostanzialmente confermata dagli sviluppi successivi:
• l’area del chip è aumentata di un fattore quattro dal 1965 al 1975, grazie a un generale
miglioramento della qualità dei materiali, ma è poi stata limitata dalla necessità di garantire
un costo accettabile dei prodotti (il costo per unità di area dei circuiti integrati, espresso in
dollari/cm2, è rimasto sostanzialmente stabile nel tempo);
• la dimensione lineare minima definita sulle strutture MOS si è ridotta di un fattore tre ogni
dieci anni ed ha fornito il contributo principale;
• il miglioramento nella capacità di progettare dispositivi complessi si è concentrato
essenzialmente sul tempo di progettazione, con l’introduzione di tecniche automatizzate
(librerie di funzioni logiche, sintesi logica), a scapito della densità dei circuiti;
• nel caso delle memorie, tecniche di auto-allineamento e di sviluppo tridimensionale dei
dispositivi hanno permesso di ridurre ulteriormente l’ingombro.

4
5
6
Segnali digitali
Per segnale digitale si intende un segnale che può assumere un numero discreto di valori. Un
sottoinsieme dei segnali digitali è rappresentato dai segnali binari o booleani che possono essere
rappresentati da variabili booleane, cioè variabili con due possibili valori. La coppia di possibili
valori può essere rappresentata come 0 e 1, VERO e FALSO, ALTO e BASSO, ecc. A livello logico il
valore della variabile booleana è memorizzato in un bit.
Segnali digitali con più di due valori possono essere codificati da più variabili booleane, cioè
occorrono più bit. Ad esempio: una variabile discreta con 4 possibili valori può essere
memorizzata in 2 bit; un byte = 8 bit memorizza il valore di un segnale discreto con 256 possibili
valori.

Ovviamente, la variabile booleana è solo un astrazione matematica. In un circuito elettronico che


opera su segnali digitali, il valore della variabile booleana è affidato fisicamente a grandezze
elettriche. Tipicamente viene usata la tensione di un nodo di un circuito.

7
È consuetudine associare ai due possibili valori della variabile booleana due livelli di tensione:
• Il livello di tensione più basso (che definiamo VL) è associato al valore logico "0", detto anche
livello BASSO o FALSO e indicato anche con L (=LOW).
• Il livello più alto (che definiamo VH) è associato al valore logico "1", detto anche livello ALTO o
VERO e indicato anche con H (=HIGH).

Scelta dei valori di tensione


La scelta dei due livelli di tensione è ovviamente arbitraria, ma convenzionalmente si usa come
livello di tensione basso il valore VL=0V (cioè il potenziale più basso del circuito) e come livello di
tensione alto VH=VDD, dove VDD indica la tensione di alimentazione del circuito (cioè il potenziale
più alto).
Ad esempio se un circuito digitale è alimentato a 5V abbiamo: VL = 0V e VH = 5V.

8
Dai valori logici ai segnali di tensione
Ad esempio, consideriamo la funzione AND a tre ingressi. L’uscita della AND è a 1 se e solo se
tutti gli ingressi sono a 1, altrimenti è a 0.
Vogliamo realizzare questa funzione logica con un circuito elettronico (ad esempio alimentato a
VDD=5V).
Realizzare la funzione logica AND a tre ingressi A, B e C significa costruire un circuito elettronico
con 3 ingressi che ricevono tre valori di tensione VA, VB, VC e un’uscita la cui tensione è VF. I
transistor devono essere opportunamente connessi tra loro in modo che VF sia sempre a 0V
tranne quando VA=VB=VC=5V. In quest’ultimo caso le tensione di uscita dovrà essere VF=5V.
Se (come mostrato nella figura) gli ingressi della porta logica sono A=0, B=C=1, la sua uscita sarà
0. Il circuito realizzato avrà come ingressi VA = 0V, VB=VC=5V e la sua uscita sarà VF=0V.

9
Porte logiche elementari
Tra i circuiti digitali più semplici a cui possiamo pensare ci sono le porte logiche elementari. Ad
esempio:
• La funzione identità, F=A
• La funzione AND, che vale 1 se e solo se entrambi gli ingressi sono a 1
• La funzione OR, che vale 1 se almeno uno degli ingressi è a 1
• La funzione XOR, che vale 1 se uno e uno solo degli ingressi è a 1. La funzione XOR a due
ingressi coincide con la funzione «A è diverso da B». Infatti essa vale 1 se e solo se i due
ingressi sono diversi.
Nella slide vediamo i simboli circuitali usati per identificare queste porte e la corrispondente
tabella di verità nel caso di funzioni di due ingressi.

10
Altre funzioni elementari sono le versioni negate delle porte appena viste:
• La funzione NOT, la cui uscita è il negato dell’ingresso
• La funzione NAND, che vale 1 se almeno uno degli ingressi è a 0
• La funzione NOR, che vale 1 se e solo se entrambi gli ingressi sono a 0
• La funzione XNOR, che vale 1 se entrambi gli ingressi sono a 1 o entrambi sono a 0. la
funzione XNOR a due ingressi equivale alla funzione «A è uguale a B». Infatti essa vale 1 se e
solo se i due ingressi sono uguali.
Nella slide vediamo i simboli circuitali usati per identificare queste porte e la corrispondente
tabella di verità nel caso di funzioni di due ingressi. I simboli si ricavano da quelli delle
corrispondenti funzioni dirette con l’aggiunta di un pallino all’uscita che indica la negazione del
segnale.

11
Blocchi logici più complessi
L’insieme di varie porte logiche formano blocchi o moduli logici più complessi. Un paio di esempi
sono mostrati in figura.
Ad esempio un sommatore è una rete di varie stadi di porte logiche opportunamente connesse
tra loro che ricevono in ingresso due vettori di bit A e B (64 bit nell’esempio mostrato in figura) e
producono in uscita un vettore S di altrettanti bit e un segnale C ad un solo bit.
Gli ingressi A e B rappresentano la codifica binaria di due numeri interi da sommare. Il segnale di
uscita S è la codifica binaria del numero intero A+B; il segnale C è il bit di riporto della somma
A+B.
Il secondo esempio mostrato è un blocco moltiplicatore che riceve in ingresso due numeri A e B
a 32bit e fornisce in uscita il prodotto P = A*B che richiede 64 bit (in questo esempio).

12
Modulo logico
Mettendo insieme vari blocchi digitali elementari è possibile realizzare moduli più complessi. Un
esempio di modulo che analizzeremo è la ALU (Unità Logico-Aritmetica) di un
microcontrollore/microprocessore.
Una ALU è costituita da vari blocchi logici quali:
• Sommatori
• Comparatori
• Traslatori
• Moltiplicatori
Una ALU contiene inoltre altri blocchi elementari come:
• Multiplexer
• Decoder
• Buffer
• Registri

La ALU può a sua volta interfacciarsi con altri moduli, che possono essere:
• Altre ALU
• Memoria cache
• Memoria dati

13
Un banco di memoria è un altro esempio di modulo logico.
In figura vediamo l’esempio di una memoria RAM Statica che include:
• Una matrice di celle
• Circuiti periferici: decoder, buffer e altra logica di controllo.

14
Un altro modulo molto ricorrente nei sistemi digitali è quello dedicato alla generazione del clock
e include:
• Oscillatori
• Multiplexer
• Uno o più PLL (Phase Locked Loop) che è un particolare blocco in grado di generare una
frequenza multipla o sottomultipla di una frequenza di riferimento.
• Divisori di frequenza

15
Sistema digitale
In figura vediamo lo schema a blocchi di un microcontrollore molto semplice: l’ATMega32U2.
Esso contiene diversi moduli logici:
• Una ALU in grado di svolgere le comuni operazioni logiche e aritmetiche.
• Un set di 32 registri di sistema a 32 bit
• Una memoria RAM dati
• Una memoria non volatile di tipo EEPROM
• Una memoria di programma di tipo Flash
• Una serie di periferiche (Gestore di interrupt, Timer/Counter, Interfaccia USB, Moduli di I/O,
…)

16
17
L’approccio che seguiremo durante il corso per studiare i circuiti digitali partirà dall’analisi del
dispositivo base (il MOS) per arrivare alla comprensione dell’intero sistema digitale (come un
microcontrollore, un microprocessore, una FPGA, ecc.)

Dopo una breve panoramica sul transistor MOS, che ci metterà a disposizione un modello molto
semplice e compatto per l’analisi circuitale, studieremo come costruire le porte logiche
elementari a livello di transistor. Ci focalizzeremo in particolare su due tipi di implementazioni: la
logica statica complementare e la logica a pass-transistor/gate di trasmissione. Oltre alle porte
logiche elementari vedremo come realizzare altri circuiti logici elementari sia combinatori (ad
esempio multiplexer e decoder) sia sequenziali (latch, FF e registri).

Successivamente l’analisi verrà ampliata ai blocchi e moduli logici più complessi: blocchi logico
aritmetici (traslatori, sommatori, moltiplicatori), registri a scorrimento, timer/contatori,
generatori di clock, memorie, ALU, ecc.

Concluderemo lo studio con alcuni esempi di implementazione periferiche di comunicazione


comunemente usate nei sistemi a microcontrollore.

18
Nell’analisi dei circuiti, sia elementari sia complessi, faremo riferimento a tre parole chiave
importanti per quantificare la «bontà» di un circuito digitale:
• Occupazione di area. L’area occupata dal circuito è misurabile in prima approssimazione dal
numero di MOSFET necessari a realizzarlo. Altri parametro legati all’occupazione di area, sono
il numero di segnali di ingresso e uscita. Infatti un circuito con molti segnali di I/O richiede
molte piste di interconnessione (quindi uno spazio maggiore per realizzarlo). Come vedremo
anche il tipo di interconnessione (serie o parallelo) dei MOS può avere un impatto sull’area
occupata.
• Prestazioni. Le prestazioni di un circuito si misurano mediante due parametri importanti:
• Il tempo richiesto a svolgere una data operazione (latenza), ovvero il tempo di ritardo
da quando vengono forniti i dati di ingresso al momento in cui sono pronte le uscite.
Esso deriva dalla somma dei tempi di ritardo dei vari stadi logici che compongono il
circuito.
• Il flusso di dati cioè il numero di elaborazioni al secondo.
• Consumo di potenza o energia. Il consumo è importante per due aspetti:
• Dissipazione del calore e raffreddamento del sistema. In questo caso il parametro
importante è la potenza (cioè l’energia dissipata per unità di tempo). Essa determina il
surriscaldamento del sistema. Il consumo è limitato dalla massima temperatura che il
sistema può raggiungere senza incorrere in rotture. Il massimo consumo è
determinato anche dall’efficienza del sistema di raffreddamento, cioè di rimozione del
calore (a liquido, ad aria, con ventilazione forzata o senza ventilazione forzata, ecc.).
• Durata della batteria. Nelle applicazioni portatili è importante la durata della batteria,
che è nient’altro che una riserva di energia. In questo contesto il parametro chiave per
descrivere il consumo è l’energia richiesta per una singola operazione, dalla quale si
ricava il numero massimo di operazioni che il sistema può eseguire nota la quantità di
energia immagazzinata nella batteria.

19
20
L’amplificatore a source comune
Consideriamo l’amplificatore a source comune con carico resistivo mostrato in figura.
All’ingresso del circuito (gate dell’NMOS) è applicato un piccolo segnale AC sovrapposto al bias
DC.
In assenza del piccolo segnale, il punto di lavoro del circuito si ricava dall’intersezione della
caratteristica IDS-VDS del MOS con la retta di carico (linea rossa) che rappresenta la resistenza al
drain del transistor.
Come è noto, applicando un piccolo segnale sovrapposto al bias DC, la corrente di saturazione
del transistor varia leggermente (linee tratteggiate) portando a una piccola variazione della
tensione di uscita VOUT (tensione di drain del MOS). Se la variazione di tensione all’ingresso è
molto piccola, sappiamo che il circuito si comporta come un amplificatore lineare.

21
L’amplificatore a source comune come circuito «digitale»
Consideriamo lo stesso circuito ma cambiamo la coppia di generatori DC + AC all’ingresso con un
generatore di onda quadra che oscilla tra 0V e VDD.
In questo caso l’ingresso del circuito può assumere SOLO due valori: 0V e VDD, come un segnale
digitale.
Il grafico a destra mostra la caratteristica IDS-VDS del transistor nei due casi:
• se l’ingresso è 0V, allora IDS = 0 poiché il MOS è interdetto.
• se l’ingresso è pari a VDD, allora IDS dapprima aumenta in modo parabolico (regione lineare) e
poi tende a saturare (regione di saturazione).

Punti operativi
L’intersezione tra IDS nei due casi e la retta di carico con pendenza 1/R (linea rossa) ci fornisce i
due punti di lavoro in funzione della tensione di ingresso:
• Se VIN = 0V (livello logico basso), l’intersezione avviene per VOUT = VDD (livello logico alto).
• Se VIN = VDD (livello logico alto), l’intersezione avviene per VOUT = VL << VDD anche se non nulla.
In prima approssimazione possiamo comunque interpretare VL come un livello logico basso.

Interpretando VIN e VOUT come segnali digitali, vediamo che ad un valore logico basso
dell’ingresso si ha un valore alto in uscita; viceversa, ad un valore alto in ingresso si ha un valore
basso in uscita. Il circuito svolge la funzione logica elementare NOT detta anche invertitore.
Poiché questo tipo di invertitore usa un solo componente attivo (il MOS a canale n) viene detto
invertitore NMOS

Questo rappresenta il primo esempio di circuito digitale. Sebbene questo circuito non sia
ottimizzato per svolgere la funzione di invertitore è utile per fare alcune considerazioni e dare
alcune definizioni che saranno poi facilmente estese ad ogni altro circuito.

22
Caratteristica di trasferimento ingresso-uscita
La prima osservazione importante, riguarda la variazione della tensione di ingresso e di uscita.
Sebbene i segnali di ingresso e uscita siano digitali e rappresentino delle variabili booleane, essi
sono comunque rappresentati da una tensione elettrica, che può variare in modo «analogico»
assumendo tutti i valori tra 0V e VDD.
Quando una variabile booleana commuta, ad esempio, tra 0 e 1, il corrispondente segnale
digitale passa dalla tensione bassa VL alla tensione alta VH. Tuttavia, mentre la variabile booleana
è un astrazione matematica, la tensione è una grandezza fisica e la sua variazione non può essere
istantanea. Nel breve periodo in cui avviene la transizione il segnale di tensione assume tutti i
valori compresi tra VL e VH, variando in modo «continuo»
Ciò premesso, è molto importante analizzare il comportamento del circuito quando al suo
ingresso è applicata una generica tensione VIN compresa tra VL e VH. In particolare, ciò che
vogliamo analizzare è la dipendenza della tensione di uscita VOUT in funzione della tensione di
ingresso VIN per ogni valore di VIN compreso tra VL = 0V e VH = VDD.
Ciò che otteniamo è la cosiddetta caratteristica di trasferimento ingresso-uscita o VTC (Voltage
Transfer Characteristic). La caratteristica di trasferimento ingresso-uscita di una porta logica è il
luogo dei punti nel piano VIN-VOUT tali che all’applicazione della tensione di ingresso VIN la
tensione di uscita della porta logica e VOUT.

23
Deduzione intuitiva della VTC dell’invertitore a un MOS e una resistenza
A titolo di esempio, assumiamo la tensione di alimentazione VDD = 2.5V e la tensione di soglia del
MOS VT=0.6V. Vogliamo tracciare la forma della tensione di uscita in funzione della tensione di
ingresso.
Il grafico di sinistra mostra le caratteristiche IDS-VDS del MOS per diversi valori della tensione di
ingresso VIN=VGS e la corrispondente retta di carico del circuito.
Il grafico di destra mostra la VTC del circuito e ha nell’asse delle ascisse la tensione di ingresso VIN
e in ordinata il corrispondente valore di VOUT. La VTC di destra non è nient'altro che il luogo dei
punti operativi (VIN, VOUT) del circuito.

Partiamo da VIN = 0. La corrente IDS nel circuito è nulla e l’intersezione con la retta di carico
avviene per VOUT = VDD. Nel grafico di destra il punto operativo è (VIN,VOUT) = (0V, 2.5V).
Finché VIN < VT, VGS è inferiore alla tensione di soglia, la corrente IDS è nulla e la tensione di uscita
rimane VOUT = 2.5V. Il punto operativo si sposta orizzontalmente da (0V, 2.5V) a (0.6V, 2.5V).
Quando VIN supera i 0.6V la corrente di drain del MOS inizia a salire e l’intersezione con la retta di
carico si sposta a tensione VOUT < VDD. Nel piano VIN-VOUT il punto di lavoro si sposta in basso a
destra. Più VIN aumenta, più il punto di lavoro si sposta in basso a destra.
Quando VIN raggiunge VDD, IDS raggiunge il massimo valore e l’intersezione con la retta di carico si
porta a un valore di VOUT molto piccolo, ma non nullo. Nel piano VIN-VOUT, il punto operativo
arriva al valore (VOL, 2.5V). VOL > 0 è il minimo valore di tensione raggiungibile dall’uscita.

Guadagno
Vale la pena notare che la VTC ha sempre pendenza negativa e presenta un guadagno (alto) in
modulo nella regione centrale e basso (in modulo) nelle regioni laterali. Questa proprietà verrà
ripresa e discussa in seguito nelle prossime lezioni.

24
25
Tempo di commutazione
Come abbiamo già detto sebbene un segnale digitale a regime possa assumere due possibili
valori (VL e VH), la commutazione tra un livello e quello opposto richiede un certo tempo (che
SOLO idealmente è nullo).
Detti VL e VH i valori basso e alto della tensione dei due livelli logici, definiamo:
• tempo di salita (tr): il tempo che il segnale impiega a portarsi dal 10% della sua escursione
massima (VH-VL), al 90% dell’escursione.
• tempo di discesa (tf): il tempo che il segnale impiega a portarsi dal 90% al 10% della sua
escursione massima (VH-VL).
In generale ci riferiremo al tempo di commutazione come a tf o a tr a seconda del verso della
commutazione (salita i discesa).

Esempi
• Se VL = 0V e VH = 5V, l’escursione è 5V. Il tempo di salita è il tempo necessario a salire da 0.5V
a 4.5V; il tempo di discesa è il tempo richiesto a passare da 4.5V a 0.5V.
• Se VL = 1V e VH = 3V, l’escursione è 2V. Il tempo di salita è il tempo necessario a salire da
1V+0.2V=1.2V a 1V+1.8V=2.8V; il tempo di discesa è il tempo richiesto a passare da 2.8V a
1.2V.

26
Tempo di propagazione
Nel valutare le prestazioni dei circuiti digitali un parametro importante è il tempo di ritardo
introdotto da una porta logica, detto anche tempo di propagazione.
Il tempo di ritardo rappresenta il tempo richiesto alla porta logica (cioè ai transistor che la
compongono) per far commutare l’uscita in risposta alla commutazione dell’ingresso. Tale
ritardo deriva dal tempo richiesto a caricare o scaricare le capacità parassite dei nodi del circuito.

Con riferimento al diagramma temporale in figura, definiamo VIN il segnale di ingresso e VOUT il
segnale di uscita. Nell’esempio disegnato si assume che la funzione logica svolta dal circuito sia
l’operazione NOT.

Se si prende come riferimento il valor medio tra il livello logico alto e quello basso in uscita, si
può definire un ritardo tra l’istante in cui la tensione di ingresso attraversa il livello di riferimento
e quello in cui esso è attraversato dalla tensione di uscita. Definiamo tempo di propagazione (tp)
il tempo che trascorre dall’istante in cui il segnale di ingresso attraversa il livello intermedio tra
VL e VH (50% dell’escursione), all’istante in cui il segnale di uscita attraversa il punto intermedio.
In generale è possibile che tale ritardo sia diverso quando l’uscita passa dal livello alto a quello
basso rispetto a quando l’uscita passa dal livello basso a quello alto: per tale motivo si
definiscono due tempi di propagazione:
• tpHL per la transizione dal livello alto a quello basso;
• tpLH per la transizione opposta dal livello basso a quello alto.
In sintesi, il pedice LH o HL che usiamo nel tempo di propagazione identifica la commutazione del
nodo di uscita. Definiamo anche un ritardo medio (tp) , corrispondente alla media dei due ritardi:
+
=
2

27
Limiti dell’invertitore NMOS
Sebbene il circuito che abbiamo studiato realizzi correttamente la funzione logica NOT, esso ha
alcuni limiti:
• Sebbene l’escursione del segnale di ingresso sia tra 0V e VDD, il segnale di uscita ha un
escursione minore tra VOL > 0 e VDD.
• La realizzazione di una resistenza non è agevole poiché occupa molta area andando contro il
principio di integrare quanto più componenti possibile in un unico chip.

28
L’invertitore pseudo-NMOS
Un miglioramento si ottiene se la resistenza R è sostituita da un pMOS con il gate a massa
(sempre acceso). Il pMOS svolge la stessa funzione di R, ma con una minore occupazione di area.
Il funzionamento del circuito è rappresentato nel grafico a destra, che mostra la corrente IDS
dell’NMOS con ingresso VIN=0V e VIN=VDD. La retta di carico è sostituita dalla caratteristica IDS del
pMOS polarizzato con VGS=-VDD e VDS=VOUT-VDD. Anche in questo caso i punti di lavoro dell’uscita
corrispondenti ai livelli logici alto e basso sono rispettivamente VDD e VOL>0.
Il funzionamento del circuito sostanzialmente uguale al precedente con l’unica differenza che al
posto di una resistenza c’è un pMOS (che funziona da resistenza non lineare). Quindi il pMOS
non viene usato come un vero e proprio dispositivo attivo, ma solo come carico passivo. Per
questo motivo il circuito appena descritto è detto invertitore pseudo-NMOS.

29
L’invertitore CMOS
La sostituzione di R con un pMOS non risolve il problema dell’escursione di tensione di uscita
ridotta.
Per risolvere anche il secondo problema è necessario modificare il circuito come in figura.
Questa volta l’ingresso pilota sia il pMOS sia l’nMOS.
Brevemente possiamo verificare che:

Se VIN = 0V, i MOS hanno la seguente polarizzazione:


nMOS: VGS = 0V  spento
pMOS: VGS = -VDD acceso
Il nodo di uscita è connesso a VDD tramite il pMOS e si carica a VOH = VDD.

Se VIN = VDD, i MOS hanno la seguente polarizzazione:


nMOS: VGS = VDD  acceso
pMOS: VGS = 0  spento
Il nodo di uscita è connesso a massa tramite l’nMOS e si scarica a VOL = 0V.

In questo circuito nMOS e pMOS hanno un comportamento simmetrico e duale. Entrambi sono
pilotato dalla tensione di ingresso. Il circuito viene chiamato invertitore CMOS. Il termine CMOS
(Complementary MOS) si riferisce al tipo di tecnologia con la quale vengono costruiti tutti i
moderni circuiti digitali che include nMOS e pMOS con struttura complementare.

30

You might also like