Appunti Circuiti Digitali

annuncio pubblicitario
[email protected]
https://www.facebook.com/gdg89
Circuiti Digitali, Appunti UniSa Ing. Informatica
corso Prof. Nicola Lamberti
Maggio 2014
Indice
Parametri di qualità di una porta logica……………………..…………………………………. 1
Parametri statici …………………………………………………….………………………………………………… 1
Parametri dinamici………………………………………………………………….………….…………………….. 2
Invertitore …………………………………………………………………………..………………..………. 6
Transistore MOS ………………………………………………………………………..…….……………. 7
Invertitore realizzato con transistore NMOS ………………………………..…………..…. 11
Esercizio NMOS …………………………………………………………………………………………………….. ...19
Famigli logica EEMOS …………………………………………………………….………………….... 21
Regioni di funzionamento ………………………………………………….…………………………….…….. 21
Caratteristica I/O ……………………………………………………………………….…………………………..…… 22
Parametri statici …………………………………………………………………….………………………………. 23
Parametri dinamici ....…………………………………………………………….……………………………..… 26
Esercizio EEMOS …………………………………………………………………….……………………………….. 31
Famiglia logica EDMOS ...................................................................................................… 34
Caratteristica di I/O e parametri statici ………………………………………………………………… 34
Prestazioni dinamiche …………………….……………………………………………………………………... 41
Porte logiche della famiglia EDMOS ..…………………………………………………………… 47
Porta NOR ………………………………….………………………………...…………………………………………. 47
Porte NAND ………………………….…………………………………………………………………………………. 48
Porta XNOR ……………...........………………………………………………………………………………………. 50
Famiglia logica CMOS ……..…………………………………………..……………………………….. 52
Caratteristica I/O e parametri statici …………………………….…………………………………………... 54
Prestazioni dinamiche …………………………………………….……………………………………………... 63
Conclusioni ……………………………………………………........……………………………………………........ 71
Esercizio FCMOS-CMOS ………………………………….……………………………………………………..… 73
Porte logiche famigli CMOS …………………..…………………………………………………….. 75
Porte NOR e NAND ………………………………………………………………………………………………….. 75
Transmission gate ………………………………………………………………………………………………….. 79
ZeePpe
Circuiti sequenziali ……………………………………………………………………………………... 83
Introduzione ai bistabili …………………………………………………………………………………………. 83
Bistabile SR asincrono ……………………………………………………………………………………………. 83
Flip flop SR sincrono …………………………………………………………………………………………….… 86
Flip flop D …..…………………………………………………………………………………………………………… 88
Flip flop JK ….…………………………………………………………………………………………………………... 89
Registro a scorrimento …………………………………………………………………………………………... 90
Flip flop master-slave SR ………………………………………………………………………………………… 91
Flip flop master-slave D ………..………………………………………………………………………………… 93
Regisrto a scorrimento con flip flop master-slave ………………………………………………….. 93
Divisore di frequenza …….……………………………………………………………………………………….. 95
Flip flop JK sensibile ai fronti ……………………………………………………………………………….… 97
Flip Flop D sensibile ai fronti …………………………………………………………………………………. 99
Implementazione del flip flop JK temporizzato master-slave con porte NOR in
tecnologia EDMOS ….……………………………………………………………………………………………... 102
Flip flop D dinamico in logica EDMOS ……………………………………………………………..…….. 105
Flip flop D edge triggered master-slave realizzato in logica CMOS con
transmission gate …………………………………………………………………………………………………. 105
Flip flop JK in logica CMOS ….………………………………………………………………………………… 109
Conclusioni …………………………………………………………………………………………………………… 110
Memorie a semiconduttore …………………………………………………………………….…. 111
Parametri relativi alla tempistica della memoria ….……………………………………………… 113
Memoria ROM con struttura a NOR …………………………………………………………………….… 113
Memoria ROM con struttura a NAND …………………………………………………………………….. 115
Confronto tra la struttura a NOR e quella a NAND ………………………………………………… 116
PROM costruita a partire dalla struttura a NOR ……………………………………………………. 118
EPROM costruita a partire di una PROM …………………………………………………………….… 118
Decodificatore di riga a NOR ……………………………………………………………………………….... 119
Decodificatore di riga a NAND ………………………………………………………………………………. 120
Programmazione di una memoria ............................................................................................. 121
Decodificatore di colonna …………………………………………………………………………………….. 121
Amplificatore di lettura ………………………………………………………………………………………... 123
Amplificatore di lettura in logica CMOS ………………………………………………………………… 126
Memorie a lettura e scrittura (RAM statica) …………………………………………………………. 127
Circuito di lettura e scrittura per memorie RAM ………………………………………………….. 129
RAM dinamiche ……………………………………………..……………………………………………………... 131
RAM dinamica ad un solo transistore …………………………………………………………………... 133
Appunti Circuiti Digitali - Unisa
1
Parametri di Qualità di una porta logica
I parametri di qualità si dividono in statici e dinamici. I primi riguardano grandezze che non sono funzioni
del tempo, i secondi invece coinvolgono quantità dipendenti dal tempo.
(Per gli esempi si considera una porta NOT)
In elettronica le grandezze costanti nel tempo sono indicate con la lettera maiuscola mentre quelle
funzione del tempo con la lettera minuscola.
Parametri statici
Swing logico SL
È un parametro per rilevare la qualità di una porta logica, è dato dalla differenza tra il valore di tensione alto e il valore di tensione basso. Intuitivamente, più è alto lo swing logico più facile sarà distinguere il livello
alto da quello basso.
Caratteristica Ingresso-Uscita
È la curva caratteristica della porta. Più la curva caratteristica di una porta generica si avvicina alla curva caratteristica della corrispondente porta ideale, migliora sarà la qualità della porta.
Fascia di transizione
comprende tutti quei valori dell'ingresso che non sono ritenuti né alti e né bassi. Gli estremi di tale fascia di
transizione sono considerati parametri di qualità statici:
è il più grande ingresso considerato ancora basso
è il più piccolo ingresso considerato ancora alto
è la più piccola uscita considerata alta, è l’uscita corrispondente all’ingresso
è la più grande uscita considerata piccola, è l’uscita corrispondente all’ingresso
I punti (
)e(
) sono in corrispondenza alla pendenza -1, i punti a pendenza -1 ci consentono di separare la regione intermedia di transizione da quelle contenenti i valori alti e bassi degli ingressi e
delle uscite.
È importante che valga
poiché le porte sono pensate per lavorare insieme, l’uscita di una porta
è l’ingresso di un’altra. È necessario che un uscita bassa sia considerata come un ingresso basso.
Per lo stesso motivo deve essere
ZeePpe
2
Pendenza
La curva ideale ha pendenza infinita e negativa e perciò per avvicinarsi alle condizioni di idealità conviene
scegliere la caratteristica I/O con pendenza più elevata. Ovviamente si presenta il problema di scegliere il
punto in cui la pendenza possa essere valutata; tale punto è denominato “tensione di soglia logica” ed è
quel valore d'ingresso che si ripresenta in uscita così com'è. In altri termini la soglia logica soddisfa la seguente equazione:
dove
è la funzione che lega l'ingresso all'uscita
Immunità ai disturbi
indica il massimo livello del disturbo ammissibile che, sommandosi in modo algebrico al segnale, fornisce
un'uscita ancora riconducibile allo stato logico previsto.
Si definiscono dunque i margini di immunità superiore ed inferiore come:
il margine di immunità al rumore è definito come il minimo tra
e
.
Parametri dinamici
In un invertitore ideale la commutazione tra alto e basso e la risposta all'ingresso avvengono in maniera
istantanea e non ha quindi senso parlare di prestazioni dinamiche, invece in una porta reale i tempi di
commutazione non saranno nulli (transitorio) inoltre tra ingresso e manifestazione dell’uscita si deve considerare un certo ritardo:
Appunti Circuiti Digitali - Unisa
3
Tempo di salita
È il tempo necessario al segnale per passare da un livello logico basso a un livello logico alto. Per evitare false partenze dovute al rumore e considerando che il segnale è alto se maggiore di
o basso se minore di
si misura dal valore (
) al valore (
)
Tempo di discesa
È il tempo necessario al segnale per passare da un livello logico alto ad un livello logico basso.
dal valore (
a(
si misura
(time propagation high low)
È il tempo che intercorre dal momento in cui l’ingresso assume il valore SL/2 (metà swing logico) e l’uscita
assume ancora il valore SL/2 quando l’uscita passa da un livello logico alto a un livello logico basso.
(time propagation low high)
Come
quando l’uscita passa da un livello logico basso a un livello logico alto.
(time propagation delay)
Definito come la media tra
e
t
t
Tenendo conto sia del transitorio d'ingresso che di quello d'uscita il time propagation delay è una misura
della velocità della porta logica. Se si collegano in serie n porte logiche, il ritardo di propagazione dell'ennesimo stadio è dato dalla somma dei
dei precedenti stadi.
ZeePpe
4
Potenza
Il funzionamento dinamico della porta è caratterizzato anche dal cosiddetto “consumo di potenza” che è la
potenza fornita dall'alimentazione e assorbita dalla porta logica nel suo funzionamento.
La potenza dissipata dalla porta ideale(statica e dinamica) è 0.
La potenza assorbita può essere considerata come somma di due contributi: la potenza statica e la potenza
dinamica. La potenza statica è la potenza dissipata in condizioni statiche, ovvero senza che ci siano variazioni degli ingressi e delle uscite. Per potenza dinamica, si intende la potenza dissipata dalla porta logica dovuta alle sole variazioni degli ingressi e delle uscite (quest'ultime in particolare).
La potenza statica è la potenza dissipata quando l’uscita è alta oppure bassa, per definizione si calcola come la media della potenza dissipata con uscita alta e potenza dissipata con uscita bassa:
è la potenza assorbita quando l’uscita è alta. Dalla definizione di potenza (
) si ha
allora vale
La potenza dinamica serve alla porta per eseguire un ciclo completo di commutazione; la transizione da uno
stato all'altro, non è immediata, ma è preceduta da un transitorio che richiede un dispendio di potenza.
I tempi di commutazione sono più brevi di quelli relativi allo stato di stazionarietà e perciò il consumo stazionario supera quello del transitorio. La
è molto più grande della . Esistono delle porte con potenza
statica pari a zero che sono migliori di quelle con
.
Prodotto ritardo consumo
Sarebbe desiderabile avere sia un ritardo di propagazione basso(e quindi un’alta velocità) che una bassa
dissipazione di potenza. Tuttavia, questi due aspetti sono in conflitto l’uno con l’altro. Per esempio, se si riducesse la dissipazione di potenza abbassando il valore della corrente di alimentazione, il ritardo aumenterebbe. Si definisce “prodotto ritardo consumo”
il prodotto tra il consumo di potenza ed il ritardo di
propagazione che indica il massimo tempo di commutazione.
DP è un parametro di merito che serve per confrontare tra loro porte logiche diverse. Un valore piccolo di
DP indica che un circuito è caratterizzato da un’alta velocità di commutazione e dissipa una potenza molto
ridotta. Nella pratica, è necessario prevenire a un compromesso tra dissipazione di potenza e velocità di
commutazione. Valori tipici di
sono compresi tra 5 e 50 pJ (L'unità di misura del DP è quella di un'energia trattandosi della moltiplicazione di un tempo per una potenza).
Un circuito logico ideale ha prodotto ritardo consumo nullo.
Altri parametri di qualità sono il fan out ,il fan in, il livello d'integrazione, il F.I.T(failure in time) ed il costo.
Il “fan out” è, per definizione, il numero di porte che si possono collegare in uscita ad un dispositivo logico
senza degradare le prestazioni. Date N porte a valle del circuito, considerato il loro tipico comportamento
capacitivo, e come se ci fossero N condensatori collegati in parallelo di uguale capacità; la capacità equivaAppunti Circuiti Digitali - Unisa
5
lente sarà N volte quella dei singoli condensatori. L'aumento della capacità al terminale d'uscita della porta
e diretta conseguenza di un incremento della sua potenza dinamica. Equivalentemente ,il degrado delle
prestazioni può essere illustrato tenendo a mente che ciascuna porta e immaginabile come un generatore
di tensione in serie ad un resistore. Le resistenze in parallelo degli N dispositivi a valle danno luogo ad una
resistenza equivalente N volte più piccola di quella della singola porta che causa una diminuzione della tensione d'uscita Vo, rendendo ardua l'interpretazione dello stato logico.
Il “fan in” è il numero massimo d'ingressi tali da non degradare le prestazioni. Si tratta di un parametro di
qualità che permette di discriminare le diverse tecnologie. La tecnologia che presenta un fan in elevato,
seppur limitato, è infatti la migliore. Il fan out, ponendo delle limitazioni funzionali, è più stringente del fan
in a cui ,tra l'altro, si può porre rimedio aumentando il numero di porte.
Il livello d'integrazione I (i maiuscolo) è il numero delle porte logiche montate sul singolo chip. Maggiore è I
più complesse risultano le funzioni eseguibili con una sola unita.
I e limitato dalla potenza, nello specifico:
Se infatti la potenza della singola porta è P e quella massima che il circuito può sopportare è
, il numero di porte logiche oltre il quale non si può andare è dato dal rapporto precedente. Se non si rispetta tale limite il circuito fonde. La relazione sopra riportata e altresì esprimibile come:
Se cresce la frequenza del circuito o equivalentemente decresce il ritardo di propagazione, diminuisce il livello d'integrazione.
Il F.I.T (o affidabilità) è il numero di porte che si possono guastare nell'unita di tempo e si misura in
/h. Un valore di I elevato fa si che il circuito integrato sia più semplice e quindi meno soggetto a malfunzionamenti; per contro un basso livello d'integrazione causa la necessita di dover assemblare fra loro i
chip con un conseguente aumento dei costi e della probabilità di errore.
In un circuito elettronico le correnti, anche se presenti non, portano dietro nessuna informazione.
Sarebbe estremamente comodo se fosse possibile portare tutte le correnti a zero
ZeePpe
6
Invertitore
La porta NOT o invertitore è un circuito elettronico elementare che elabora un ingresso alto in modo da
produrre un'uscita bassa e viceversa. Tale blocco si dice ideale se
e
volt. In tal caso la
porta ha uno swing logico pieno.
La caratteristica di una porta NOT è tracciata su un grafico dove sull'asse delle ascisse sono indicati i valori
della tensione d'ingresso, mentre su quello delle ordinate sono poste le uscite. Un invertitore ideale ha la
caratteristica mostrata nella figura a sinistra, mentre un invertitore reale avrà una caratteristica I/O continua, monotona e decrescente come quella in figura a destra.
Una porta logica è migliore quanto più la sua caratteristica si avvicina a quella della porta ideale. Nel caso
della porta NOT, per valutare una caratteristica, si considera la sua derivata
. La pendenza della caratte-
ristica deve essere negativa, quindi negativa deve essere la derivata. Si può affermare ancora che maggiore
è il valore assoluto della derivata, migliore è la caratteristica.
Si consideri lo schema circuitale in figura composto da una resistenza, un'alimentazione positiva, un condensatore ed un interruttore pilotato dalla tensione d'ingresso. Se
l'interruttore si chiude e, per effetto del cortocircuito, la tensione del condensatore ( ) è nulla; viceversa un ingresso basso determina l'apertura dell'interruttore ed il condensatore ,collegato tramite la resistenza alla batteria, si carica fino a raggiungere, in un tempo infinito, una tensione ai suoi capi pari a V+. La commutazione dell'uscita necessita di
un transitorio perché la carica e la scarica del condensatore non è istantanea.
La carica del condensatore è direttamente relazionata alla sua costante di tempo da un legame di proporzionalità, infatti:
è all'incirca uguale a
con
.
La velocità del transitorio del circuito è resa elevata dalla scelta di una
costante di tempo esigua, il che è ottenibile a partire da un valore basso di resistenza. Se R è piccola la corrente che attraversa il resistore,
esprimibile come
, aumenta e di conseguenza subisce un in-
cremento anche la potenza assorbita dall'alimentazione
.
Velocizzare la porta, riducendo i transitori, va a spese pertanto della
potenza. Lo schema circuitale rappresentato non è la realizzazione di
una porta, ma è adatto ad illustrare il comportamento reattivo “capacitivo” di un dispositivo logico, pur non essendoci necessariamente in
esso dei condensatori.
Da questo esempio si intuisce che il cuore di un invertitore è un interruttore pilotato. Un interruttore del genere si realizza con degli elementi detti Transistori. Esistono due classi principali di transistori: bipolari e MOS.
Appunti Circuiti Digitali - Unisa
7
Transistore MOS
La tecnologia MOS è basata su transistori MOS(metal oxide semiconductor).Un transistore MOS è una
struttura costituita da metallo, ossido di silicio(isolante) e da un semiconduttore.
Quest'ultimo è un materiale con una resistività intermedia tra quella degli isolanti e dei conduttori. La sua
resistività può essere variata agendo sulla densità delle cariche per aumentare o ridurre la capacità di condurre del materiale. Un ulteriore pregio dei semiconduttori sta nel fatto che è possibile modificare il segno
della carica trasportata. Per fare ciò si “droga” il materiale agendo sulla struttura dello stesso.
Con drogaggio si intende l’aggiunta al semiconduttore puro di piccole percentuali di atomi non facenti parte
del semiconduttore stesso allo scopo di modificare le proprietà elettroniche del materiale. Il drogaggio può
essere di due tipi:


Di tipo n: l’atomo drogante ha un elettrone in più di quelli che servono per soddisfare i legami del
reticolo cristallino e tale elettrone acquista libertà di movimento all’interno del semiconduttore
Di tipo p: l’atomo drogante ha un elettrone in meno e tale mancanza di elettrone, indicata con il
nome di lacuna, si comporta come una particella carica positivamente e si può spostare all’interno
del semiconduttore.
Il semiconduttore utilizzato è il silicio, composto da atomi tetravalenti.
Il drogaggio di tipo n può essere effettuato con atomi di fosforo o arsenico. Questi sono atomi pentavalenti, quindi, formato l’ottetto, un elettrone rimane libero di muoversi. Questo rende il comportamento del silicio simile a quello di un conduttore.
Il drogaggio di tipo p invece può essere effettuato con l’aggiunta di atomi di alluminio o di boro, elementi
trivalenti. In questo caso non si forma l’ottetto e la mancanza di elettrone può migrare da atomo ad atomo
simulando il fluire di una particella con carica positiva(lacuna).
In ogni caso il semiconduttore trattato è elettricamente neutro per la presenza di ioni fissi.
Immaginiamo ora di unire due semiconduttori, uno drogato di tipo n e uno drogato di tipo p. Nella regione
a cavallo della giunzione p-n, detta regione di svuotamento,
non ci sono portatori di carica liberi, quindi non circola corrente. Gli elettroni in più in N tendono ad andare verso P
caricandolo negativamente P e positivamente N. Si viene a
creare un campo elettrico E.
La regione di giunzione può aumentare o diminuire a seconda del valore del potenziale che possiamo imporre tra i
punti a e b.
ZeePpe
8
In figura è illustrato un transistore MOS. La parte sottostante è in
materiale semiconduttore drogato di tipo P, in alto si distinguono
le regioni di Source e di Drain,
drogate fortemente di tipo n, tra
le quali è posto uno strato di ossido(dielettrico) ed infine nella
parte superiore è presente il Gate, in materiale metallico. Source,
Gate, Drain e substrato sono dotati di appositi terminali.
Tra Source e substrato, così come
tra Drain e Substrato, vi è una zona di giunzione p-n, quindi tra di loro non circola corrente.
Il transistore assomiglia ad un condensatore a elettrodi paralleli con al centro un isolante, il primo piatto è
in metallo, il secondo è in semiconduttore. Se il substrato è collegato a massa(è ad un basso potenziale),mentre lo strato di metallo assume un potenziale positivo, si avrà una concentrazione di cariche positive
sul fondo e di cariche negative in alto. Collegando un generatore ai terminali di Source e Drain si verifica un
moto di cariche dovuto alla differenza di potenziale imposta dal generatore tra Source e Drain. La corrente
generata non dipende solo dalla tensione prodotta dal generatore, ma anche dalla quantità di carica presente nel canale, cioè la parte di semiconduttore posta tra Source e Drain. Il Gate è una sorta di valvola per
regolare la densità della carica e la genera sfruttando l'effetto capacitivo, non a caso un tempo il transistore
era detto “a valvole termoioniche”.
A lato è presente il simbolo circuitale del
transistore MOS. La corrente circola dal
Source al Drain perciò il terminale Source
viene evidenziato con una freccetta
uscente, in questo modo il Source è distinto dal Drain. Nel transistore NMOS circolano elettroni(cariche negative) ,in quello
PMOS lacune(cariche positive).
Un transistore è formato dai seguenti componenti:
Gate
Funge da valvola
per le cariche
sfruttando l’effetto
capacitivo
Source
È la sorgente delle
cariche (elettroni o
lacune)
Appunti Circuiti Digitali - Unisa
Drain
Body
È il “pozzo” dove
È la parte in semigiungono le cariche conduttore, insieme al Gate è causa
dell’effetto capacitivo. Di solito è collegato a massa
Canale
È l’area tra Source
e Drain dove circola corrente
9
In genere il Source ed il Body si collegano a massa e perciò le tensioni che si considerano sono VGS e VDS, la
corrente del terminale Body è sempre nulla perché lo è la corrente del condensatore a regime e le altre tre
correnti danno somma nulla, quindi per Kirchhoff si ha che
. Il verso delle correnti dipende da se
stiamo considerando un NMOS o un PMOS.
Le caratteristiche del MOS non sono lineari. In regime stazionario IG=0 per ogni VGS e VDS in quanto impostando il potenziale del Gate si ottiene una carica sul condensatore che equivale a
, ma non si
fa circolare corrente.
Non considerando (poiché
), le variabili in gioco sono
. Si possono scegliere arbitrariamente tra esse due variabili indipendenti e due dipendenti. Si ottiene dunque:
e
La
sono funzioni non lineari
dipende sia dalla quantità di carica impostata tramite il gate(
) che da
.
Riportiamo la curva caratteristica del dispositivo:
Siccome
, riportiamo sull'asse delle ordinate l'unica corrente utile alla nostra analisi( ) e su quella
delle ascisse la
. Bisogna però denotare che l'andamento della curva è funzione anche di
.
Si notano due regioni di funzionamento, separate in figura dalla parabola tratteggiata: la regione di triodo
(ohmica) e quella di saturazione (pinch off). Anche l'espressione analitica che lega
alle tensioni varia in
base alla regione di funzionamento.
Le due regioni sono separate dalla curva limite parabolica
,
è la tensione di soglia. Si dice
che l'NMOS sta in pinch off, o equivalentemente in regione di saturazione, se
al contrario
il transistore è nella regione di triodo.
ZeePpe
10
Se nel canale non ci sono cariche, il che equivale a cortocircuitare il condensatore(
),non può circolare corrente. La tensione di soglia è il valore della
al di sopra del quale si forma il canale. Se
allora
per ogni VDS ed il MOS è detto “spento”. Valori tipici della tensione di soglia sono 1 volt,1 volt
e mezzo,2 volt.
Se il MOS è acceso, ossia
, bisogna controllare che valore assuma
nella regione di saturazione ed ID vale:
. Se
siamo
è l’indice di conducibilità del cavo
è la mobilità degli elettroni
è la capacità dell’ossido
è la larghezza del canale
è la lunghezza del canale
è il fattore di forma
𝑊 e 𝐿 devono essere fisicamente realizzabili. Immaginiamo che 𝛼 sia l’unità di grandezza più piccola
realizzabile, risulta evidente che 𝑊 e 𝐿 devono per forza essere multipli di 𝛼. Questo vuol dire che 𝑍
sarà un rapporto tra due numeri interi in ogni caso.
Da
si intuisce che meno il canale è largo e più è lungo e maggiore risulta la resistenza opposta al movimento delle cariche.
è più piccolo dell'unità, si pone allora il terzo fattore uguale a 1, allora si può affermare che in Pinch
off la corrente ID non di pende da
ma solo da
.
Quando invece
si è nella regione di triodo e ID vale:
La corrente non è più una retta orizzontale, ma ha un andamento curvo poiché dipende anche dal quadrato
di
.
Appunti Circuiti Digitali - Unisa
11
Invertitore realizzato con transistore NMOS
Consideriamo lo schema del transistore realizzato con un resistore,
un interruttore e un condensatore. Le varie implementazioni della
porta logica si distinguono per come si realizzano gli interruttori.
Al posto dell'interruttore si può, ad esempio, porre un transistore
NMOS.
Se
l'interruttore è aperto (
), se
l'interruttore è “quasi” chiuso e circola corrente.
Nel disegno è riportato lo schema di una porta logica NOT realizzata con un transistore NMOS.
Il Source ed il Body devono essere allo stesso potenziale altrimenti
si incide sulla tensione di soglia. Se
, la soglia è
, viceversa si ha un innalzamento della soglia che prende il nome di effetto body.
[√
]
√
è la tensione di Fermi, una tensione caratteristica del dispositivo
è il coefficiente di effetto body
è la tensione tra Source e Body.
Il dispositivo è caratterizzato da 4 parametri:
, ,
e . I più importanti sono
altri scompaiono se la tensione della sorgente e quella del body si eguagliano.
e
perché gli
Quando il MOS è spento si ha che
, applicando la legge di Kirchhoff per le correnti, si ottiene
in cui “ ” è la corrente assorbita da ciascuna delle N porte a valle. Questa relazione vale
solo a regime, poiché altrimenti sarebbe
quindi
.
La corrente nel resistore è
quindi
, dunque
. Per quanto riguarda il
livello logico alto questa porta si comporta come una porta ideale, con livello logico alto massimo e corrente d’ingresso nulla.
Il livello logico basso può essere visto come la quando l'ingresso è
. Per trovare dobbiamo innanzitutto verificare che il MOS sia acceso e poi individuare la regione in cui lavora. Il MOS sarà sicuramente acceso perché
è maggiore della tensione di soglia(di circa 1 volt).Per capire in quale
regione ci si trova dobbiamo confrontare
con
. Il dispositivo non
può lavorare in pinch off poiché, per essere bassa, l'uscita deve essere più piccola della soglia e
non potrà mai essere tale che
. Ovviamente la regione di funzionamento sarà allora quella di
triodo.
Consideriamo allora la corrente :
Poiché
Considerando ancora che
,
,
:
,
ZeePpe
12
sarà piccola (qualche decimo di volt),
quindi sarà molto più piccola e potrà essere trascurata.
Abbiamo così ottenuto la relazione che ci permette di calcolare il livello logico basso
:
non potrà mai essere zero poiché non può essere che
, non siamo allora difronte a una porta
come quella ideale.
Per migliorare il comportamento della porta bisogna che sia il più piccolo possibile.
una volta assegnato non può variare, e sceglierlo troppo piccola andrebbe a discapito dello swing logico. Diventa comodo
allora scegliere il prodotto
abbastanza grande.
dipende dal fattore di forma
“largo” (
, un
si può ottenere con un dispositivo con il canale
, dove
è la lunghezza del conduttore e la sua sezione,
elevato).
La resistenza di un conduttore filiforme è
grande allora vuol dire grande, il dispositivo risulta ancora grande.
Si può concludere dicendo che si ottiene un piccolo con un dispositivo grande, avere dispositivi grandi
penalizza il livello d’integrazione. Bisogna allora raggiungere un compromesso tra livello di integrazione e
swing logico.
Consideriamo ora
a una retta di pendenza
, che esprime la relazione tra
che per
vale
Consideriamo ora la caratteristica di
del dispositivo. Notiamo che per
il MOS è
spento, non appena
il MOS si accende e
si trova in pinch off, poi per
il MOS lavora in triodo.
La regione di triodo e di pinch off sono separate
da una retta che ha origine in . Infatti
per
si è in regione di triodo,
rappresenta una retta a pendenza
unitaria traslata verso destra di .La regione sopra la retta è di saturazione,quella sotto è di
triodo. Ovviamente all'accensione il transistore
non potrà lavorare subito in regione di triodo
Appunti Circuiti Digitali - Unisa
e per
e
. Questa relazione è relativa
vale zero. La retta è detta retta di
carico e indica il funzionamento del resistore.
Sovrapponiamo tale retta all'insieme delle
curve caratteristiche, l’ascissa dell’ intersezione tra una curva relativa a una specifica
e la retta è proprio la tensione di
uscita . Si ottiene allora la caratteristica di
.
Allora la tensione residua è l’ascissa del
punto d’intersezione della retta con la curva
associata all’ingresso
.
13
altrimenti ci sarebbe una discontinuità nella caratteristica che provoca un salto di
Nella regione di pinch off la corrente
Considerando che:
.
vale:
,
,
:
Da cui:
è una parabola con concavità rivolta verso il basso. Ciò vale finché non è uguale a
.
Possiamo ora calcolare la pendenza della curva caratteristica, procediamo con il calcolare la derivata
:
La pendenza allora dipende direttamente dal prodotto
, aumentandolo si hanno benefici sia sulla
pendenza che sul livello logico basso.
Calcoliamo ora il punto a pendenza -1 che ci permette di individuare
e
, coordinate del confine
della regione di transizione.
Per calcolare
ricordiamo che
è l’uscita quando l’ingresso è
(
:
)
Spostiamoci ora nella regione di triodo, e consideriamo la corrente
Questa volta non possiamo trascurare il termine
perché questa volta non è un valore molto piccolo.
Non è semplice esplicitare la relazione rispetto a , si nota però che si tratta di una parabola con concavità
verso l’alto.
Calcoliamo ora il punto a pendenza -1 di coordinate
. Per calcolare la derivata senza aver esplicitato la relazione possiamo procedere derivando membro a membro rispetto a
*
+
ZeePpe
14
[
]
Ponendo
Mettendo ora a sistema questa equazione con la ① si ottengono
e
. La coppia di equazioni non è
lineare ed avrà due soluzioni di cui si sceglierà quella fisicamente realizzabile.
Dato che la corrente d'ingresso del Gate è nulla, il collegamento di porte logiche a valle non modifica le caratteristiche statiche che possono essere migliorate manipolando il prodotto di
e trovando un compromesso con il livello d'integrazione. Da un punto di vista statico il fan out può essere inoltre illimitato
perché a regime le porte collegate non consumano corrente.
Prestazioni dinamiche
Cerchiamo ora di comprendere come si comporta la porta in regime dinamico. Il MOS è un componente dal
tipico comportamento reattivo, come condensatori e induttori che però sono componenti lineari. Il MOS
può essere in effetti, visto come un condensatore ad armature parallele separate da un dielettrico (ossido)
di cui la prima armatura è lo strato metallico e l'altra il canale formatosi nel semiconduttore. La carica positiva è sul metallo, quella negativa nel canale, nel substrato non
c'è carica.
Il MOS ha tre terminali(4 se si include il body che è sempre ad un
potenziale più basso, in genere a massa):quello di Source, di
Drain, di Gate. E' come se avessimo conseguentemente un condensatore a tre terminali anziché due. Per schematizzare gli effetti reattivi interponiamo una capacità tra Gate e Source
( ),tra Gate e Drain (
) e tra Drain e Source (
).L'ultima
capacità è dovuta al fatto che la distribuzione di carica nel canale
non è uniforme ed è causa di un altro effetto reattivo.
e
sono confrontabili mentre
è più piccola. La presenza delle
capacità che tengono in conto il comportamento reattivo ci fa
capire che il transistore MOS non ha solo un regime stazionario,
ma anche uno dinamico. Le capacità non hanno un'espressione
analitica semplice perché non assumono valori costanti e dipendono dalle tensioni ai loro capi e non soltanto da come è fatto il
dispositivo:
=
( ) ,
=
(
) ,
=
( )
Ricordiamo che la caratteristica dei condensatori e:
.
Il nostro obbiettivo è quello di migliorare le prestazioni dinamiche, ossia ritardo ti propagazione e consumo
di potenza. Quindi si vuole ridurre sia
che .
Consideriamo allora il time propagation delay:
. Risulta complicato calcolare analiticamente il
, allora invece di considerare
e
consideriamo il fall-time e il rise-time. Immaginiamo inoltre
che
sia un ingresso ideale fornito da un generatore di tensione che commuta a gradino, in questo caso
l’uscita non varierà comunque istantaneamente. Con questa ipotesi esemplificativa stiamo dicendo che il
ritardo con cui commuta la porta è dovuto solo alla porta stessa e non a ciò che accade a monte. Possiamo
Appunti Circuiti Digitali - Unisa
15
inoltre eseguire un'analisi “qualitativa” basata su e per cercare di capire come migliorare le prestazioni. Ribadiamo che fare ciò è giustificato dalle intenzioni di voler solo apprendere come velocizzare la porta
senza alcuna volontà di progettare la migliore porta possibile. Ridurre e equivale a rendere minore
e
.
Consideriamo la capacità
, applicando il teorema di Miller possiamo
scomporre
in due componenti,
e
in cui
è collegato
all’ingresso e
all’uscita.
Avremmo allora una capacità in ingresso che tiene conto del parallelo
tra
e
, e una capacità in uscita che invece considera il parallelo
tra
e
:
A valle della porta sono collegate N (fan-out) porte, e ognuna ha una
capacità in entrata . Queste capacità sono allora collegate in parallelo
alla capacità di uscita .
Inoltre vi è la presenza di un’altra capacità
detta capacità di linea
dovuta al fatto che un collegamento elettrico ad alta frequenza può esser visto come un condensatore.
A valle della porta allora sarà presente una capacità che tiene conto
del contributo della capacità ai terminali d’uscita, delle N capacità ai
terminali d’ingresso delle porte a valle e della capacità di linea.
Si nota che dipende direttamente dal fan-out , questo vuol dire
che non è illimitato ma che esiste un massimo oltre il quale le prestazioni dinamiche della porta degradano notevolmente (la porta diventa estremamente lenta e consuma una potenza eccessiva).
e sono rispettivamente il tempo di scarica e il tempo di carica del
condensatore . Velocizzando la carica e la scarica di questo condensatore si riduce il ritardo di propagazione della porta.
è una capacità non lineare e crescente con , consideriamo il caso
peggiore
. Possiamo considerare costante al valore
sovrastimando così il ritardo di propagazione.
Teorema di Miller
Sia B un bipolo di impedenza Z afferrante ai nodi N1 e N2. Il teorema di Miller afferma che B può essere sostituito con due bipoli
B1 e B2 connessi rispettivamente tra N1 e N0 e tra N2 e N0 (N0 è
un nodo di riferimento), di impedenze
𝑍
𝐴𝑣
𝑍
𝑍
𝐴𝑣
𝐴𝑣
𝑍
Essendo 𝐴𝑣 la finzione di trasferimento N1→N2. Il risultato è valido se quest’ultima non varia a seguito della sostituzione.
ZeePpe
16
Proseguiamo allora provando a ridurre il tempo di discesa . è misurato da quando l’uscita commuta dal valore logico alto al valore logico basso, nel caso del transistore MOS da
a . Facciamo allora
variare l’ingresso istantaneamente da a
.
Quando
il MOS è spento e
;
quando invece
il MOS è acceso e affinché
il condensatore si scarica attraverso il MOS.
Intuitivamente maggiore è la conduttività del MOS, più rapidamente avviene il processo di scarica e ciò
si riflette in un tempo di discesa minore. La conduttività del MOS è correlata a
, maggiore è il
,
cioè maggiore la larghezza del canale, maggiore sarà la conducibilità del MOS, minore sarà il :
Concentriamoci ora sul questo viene misurato quando l’uscita commuta da un livello logico basso a
un livello logico alto, nel caso del MOS da
Facciamo allora variare istantaneamente l’ingresso
da
.
Quando
il MOS è acceso e
;
viceversa quando
il MOS è spento e diventa
per mezzo della carica del condensatore attraverso la resistenza .
La costante di tempo di un condensatore è
, quindi minore è la resistenza e più veloce sarà il
processo di carica del condensatore.
Una resistenza piccola però incide sulle prestazioni statiche in modo negativo!
Una soluzione razionale è quella di fissar il valore di in modo che non risulti né troppo alto né troppo
basso e poi si decide di utilizzare un
molto grande per migliorare contemporaneamente il tempo di
discesa e le prestazioni statiche.
Con queste scelte risulta
e quindi
.
Il problema del ridurre il ritardo di propagazione si riduce allora nel ridurre il tempo di salita e velocizzare quindi la carica del condensatore .
Consideriamo allora le correnti:
Questa è un equazione differenziale del primo ordine a variabili separabili:
∫
∫
(
)
L'estremo inferiore d'integrazione del secondo membro è . Esso dovrebbe essere il 10% dello swing, ma
scegliamo di eseguire una sovrastima, cosa già fatta con
. L'estremo superiore non può essere
altrimenti il transitorio, essendo asintotico, durerebbe un tempo infinito, si sceglie come escamotage
(perché già da questo valore l'uscita è alta).
Possiamo allora giungere alla conclusione che:
(
)
Questa porta ha delle discrete caratteristiche statiche, un livello d'integrazione non soddisfacente perché il
resistore occupa molto spazio e causa un compromesso tra prestazioni in regime stazionario e velocità di
reazione alle variazioni dell'ingresso.
Appunti Circuiti Digitali - Unisa
17
Consumo di potenza
Analizziamo ora il consumo di potenza di questa porta.
Ricordiamo che alla potenza contribuiscono la potenza statica e la potenza dinamica
La potenza statica è data da:
La tensione ai capi della porta è
e sia
è la corrente che attraversa la porta.
è la potenza assorbita quando l’uscita è alta.
Per avere uscita alta l’ingresso deve essere basso, con ingresso basso il MOS è spento e attraverso esso non
circola corrente. Applicando Kirchhoff otteniamo
, ricordando che
, e che a regime
,
possiamo concludere dicendo che
la è proprio la
quindi
Quando l'uscita è alta la porta logica non ha consumo statico di potenza.
è la potenza assorbita quando l’uscita è bassa.
Quando l’uscita è bassa ( ), l’ingresso è
, considerando però che
e il MOS è acceso, quindi in esso circola corrente. Per Kirchhoff
, si ha
. Allora la
è uguale a
.
Allora:
Possiamo allora ottenere la
Proviamo a calcolare la potenza dinamica.
La potenza dinamica è la potenza assorbita dal dispositivo per commutare. Immaginiamo che l’uscita passa
da a , questo vuol dire che stiamo caricando il condensatore . Calcoliamo l’energia immagazzinata
dal condensatore durante il processo di carica.
L’energia necessaria alla carica di è:
∫
In una buona porta
∫
è quasi (o uguale) a
L’energia immagazzinata in un condensatore è
∫
. Possiamo allora affermare con buona approssimazione:
. Quindi metà dell’energia necessaria alla carica
viene immagazzinata in e metà viene dissipata. Nel processo di scarica di un condensatore tutta l’energia
precedentemente immagazzinata viene ceduta, quindi si può affermare che in un processo di carica-scarica
di l’energia necessaria è proprio
.
L’energia può essere considerata come la potenza spesa nel tempo, tenendo conto di ciò possiamo andare
a definire la potenza dinamica come:
ZeePpe
18
̅
Dove ̅ è la frequenza con cui avviene il processo di carica, di solito viene usata una frequenza calcolata statisticamente.
La potenza dinamica rispetto a quella statica è trascurabile perché i tempi di transitorio sono più brevi di
quelli in cui la porta è in regime stazionario. Possiamo allora considerare la Potenza :
Il consumo di potenza tipico delle porte NMOS è relativamente piccolo(circa qualche centinaio di micro
watt) e questo ci dà l'opportunità di fare affidamento su di un alto livello d'integrazione. Esso infatti dipende anche dal consumo di potenza della singola porta logica; dato che esso è accettabile si possono installare
sul chip abbastanza porte. Se il chip ha una potenza massima di 1 watt e la porta consuma 100 microwatt
(all'incirca
watt), il numero massimo di porte che si può installare sul chip è più o meno 10000.
Una porta veloce richiede un valore esiguo di R, ma come si nota dall'uguaglianza precedente, ciò equivale
ad aumentare il consumo di potenza ed inoltre le caratteristiche statiche peggiorano. Buone prestazioni
statiche vengono assicurate operando su Km.
Mettiamo in relazione il consumo di potenza con il ritardo di propagazione considerando il prodotto ritardo-consumo
:
(
)
(
(
Per diminuire
)
)
è
il costruttore del transistore MOS dovrebbe ridurre
Abbiamo già evidenziato che l'elemento preponderante in è il fan out e conseguentemente si potrebbe
pensare di diminuire , ma ciò causa un deterioramento delle prestazioni statiche. L'unica strada che si può
tentare consiste nell'agire sulle capacità parassite per rendere il loro valore trascurabile.
Una soluzione sicuramente più sensata (vista la dipendenza quadratica tra
e
) e sui cui è questa
volta il progettista ad avere potere decisionale è la diminuzione di
(valore logico alto e tensione di
alimentazione). Tale scelta è equivalente a rendere meno alto lo swing logico
e a diminuire (valore logico basso). Quest'ultima conseguenza è evidente richiamando la relazione che coinvolge :
Tirando le somme una porta NMOS è innanzitutto ingombrante, quindi con un basso livello d’integrazione
ed impone forti compromessi tra caratteristiche statiche e caratteristiche dinamiche
Appunti Circuiti Digitali - Unisa
19
ESERCIZIO NMOS
𝑉𝐷𝐷
𝑉𝑇
5 𝑉𝑜𝑙𝑡
𝑉𝑜𝑙𝑡
𝜇𝐶𝑜𝑥
𝑍
𝑅
𝜇𝐴
𝑉2
3
𝑘Ω
Come prima cosa calcoliamo 𝐾𝑚
𝐾𝑚
6
𝜇𝐶𝑜𝑥 𝑍
SI tratta di un NMOS quindi il livello logico alto è
𝑉
𝑉𝐷𝐷
3
𝜇𝐴
𝑉
3
5 𝑉𝑜𝑙𝑡
𝐼
𝑂
Calcoliamo la caratteristica di .
In regione di pinch off la corrente vale:
𝑉𝐷𝐷
𝑉𝑂
𝐾𝑚 𝑉𝐼 𝑉𝑇
𝑅
𝑉𝑂 𝑉𝐷𝐷 𝑅𝐾𝑚 𝑉𝐼 𝑉𝑇
𝑉𝑂 5 3 𝑉𝐼
La retta che delimita le regioni è: 𝑉𝑂 𝑉𝐼 𝑉𝑇
Dal sistema contenente le ultime due equazioni si ottiene il punto di transizione tra pinch off e
triodo:
𝑉𝐼
68 𝑉 𝑠𝑜𝑙𝑢𝑧𝑖𝑜𝑛𝑒 𝑑𝑎 𝑠𝑐𝑎𝑟𝑡𝑎𝑟𝑒 𝑝𝑒𝑟𝑐 è 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑎
𝑉𝐼
35 𝑉 ⇒ 𝑉𝑂
35 𝑉
Calcoliamo la tensione di soglia 𝑉𝐿𝑇 , in questo punto 𝑉𝐼 𝑉𝑂 È l’intersezione della caratteristica di
𝐼 𝑂 con la retta a pendenza unitaria passante per l’origine.
𝑉𝐿𝑇
5
3 𝑉𝐿𝑇
⇒ 𝑉𝐿𝑇
𝑉
Calcoliamo le coordinate del punto a pendenza -1
𝑑𝑉𝑂
7
6 𝑉𝐼
⇒ 𝑉𝐼𝑙𝑀
67 𝑉
𝑑𝑉𝐼
6
𝑉𝑂 𝑚 5 3 𝑉𝐼𝑙𝑀
⇒ 𝑉𝑂 𝑚
9 7𝑉
Consideriamo la pendenza della caratteristica di 𝐼 𝑂
𝑑𝑉𝑂
6 𝑉𝐼
𝑑𝑉𝐼
il 6 è 𝑅𝐾𝑚 .
Consideriamo ora il dispositivo in zona di triodo. La corrente vale
𝑉𝐷𝐷 𝑉𝑂
𝐾𝑚 𝑉𝐼 𝑉𝑇 𝑉𝑂 𝑉𝑂
𝑅
5
𝑉𝑂
3
5
𝑉𝑂
3
6
3 𝑉𝐼 𝑉𝑂
𝑉𝐼
𝑉𝑂
𝑉𝑂
𝑉𝑂
𝑉𝑂
ZeePpe
20
In questa regione possiamo calcolare il livello logico basso. Per farlo possiamo trascurare 𝑉𝑂 poiché
l’uscita sarà molto piccola
𝑉𝐷𝐷
𝑉𝐿
𝑉
𝑅𝐾𝑚 𝑉𝐷𝐷 𝑉𝑇
Calcoliamo ora le coordinate dell’altro punto a pendenza -1
𝑑𝑉𝑂
𝑑𝑉𝑂
3 [ 𝑉𝑂
𝑉𝐼
𝑑𝑉𝐼
𝑑𝑉𝐼
imponendo ora
𝑑𝑉𝑂
𝑑𝑉𝐼
e 𝑉𝑂
𝑉𝑂
𝑑𝑉𝑂
]
𝑑𝑉𝐼
𝑉𝑂𝑙𝑀
3 𝑉𝑂𝑙𝑀
𝑉𝐼 𝑚
𝑉𝑂𝑙𝑀
Il sistema di quest’ultima equazione e l’equazione della corrente in triodo danno 𝑉𝑂𝑙𝑀 e 𝑉𝐼
𝑉𝐼 𝑚
3 𝑉
𝑉𝑂𝑙𝑀
7 5𝑉
Possiamo ora calcolare i margini di immunità ai disturbi Δ𝐻 e Δ𝐿
Δ𝐻 𝑉𝑂 𝑚 𝑉𝐼 𝑚
9 7
3
Δ𝐿 𝑉𝐼𝑙𝑀 𝑉𝑂𝑙𝑀
67
795
Quindi il margine di immunità ai disturbi Δ è:
Δ min Δ𝐻 Δ𝐿
𝑚
593 𝑉
𝑉
𝑉
Avere margini Δ𝐻 e Δ𝐿 molto diversi tra loro è indice di qualità basso poiché scegliendo Δ Δ𝐿 si
penalizza di molto Δ𝐻 . Di conseguenza un importante indice di qualità è la simmetria della caratteristica di 𝐼 𝑂 rispetto alla bisettrice.
Appunti Circuiti Digitali - Unisa
21
Famiglia Logica EEMOS
Un'evoluzione del circuito NMOS è l'EEMOS (MOS ad arricchimento) famiglia logica le cui prestazioni sono
migliori di quelle dell'' NMOS. EEMOS sta per enhancement-enhancement MOS e la porta EEMOS è formata da due transistori ad arricchimento.
Il transistore è ad “arricchimento” perché all'aumentare della
(tensione d'ingresso) il canale è arricchito
di portatori di carica.
Lo schema circuitale di un invertitore con transistore EEMOS è mostrato a lato. È da notare che al posto del resistore compare un ulteriore transistore detto “LOAD MOS” (MOS di carico). Il successivo MOS è invece denominato “DRIVER MOS” (MOS “pilota” perché da esso dipende l'uscita). Per rendere il tripolo così ottenuto a
due terminali, il Gate del dispositivo di carico è cortocircuitato:
.
Non si possono cortocircuitare Gate e Source del MOS di carico
perché se
il transistore load non si accende mai perché
vale sempre la disequazione
.
Il
, quando è acceso, lavora SEMPRE in regione di pinch
off. Come già precisato in precedenza un MOS è in regione di saturazione quando
(condizione di accensione) e
. Nel caso del MOS di carico si ha che:
e
, pertanto si perviene a :
In conclusione il MOS di carico è in pinch off quando
condizione sempre verificata.
,
Regioni di funzionamento EEMOS
load
è acceso se
cioè se
sale al di sopra di
. Ne consegue che l'accensione si verifica
load
quando
. Se
il
si spegne. Intuitivamente il livello logico alto quindi sarà proprio
(il massimo possibile senza provocare lo spegnimento
load
del MOS). Se
il
si spegne ed il condensatore che non è ideale dissipa attraverso
la sua resistenza interna parte dell'energia immagazzinata; ciò riduce la tensione ai suoi capi in modo da
load
scendere sotto la soglia e provocare la riaccensione del
.
Vi è una perdita piuttosto consistente del livello logico alto(circa il 10%) e diminuisce inoltre lo swing logico.
load
Il vantaggio che però otteniamo è un livello d'integrazione più alto visto che il
, sostitutivo del resistore, è più piccolo.
In realtà considerando l’effetto body del MOS di carico, è ancora più piccolo di
.
*√
√
load
Nel
non è nulla, quindi il load soffre di effetto body.
driver
Non soffre di effetto body invece il
poiché è facile vedere che
+
.
ZeePpe
22
Quindi la soglia del MOS pilota è costante, mentre quella del MOS di carico varia in funzione di
In particolare
aumenta al crescere dell'uscita ed il caso peggiore si ha naturalmente quando
.
.
Ricordando che
e considerato che
dipende da , se quest'ultima è , il livello logico alto è ulteriormente ridotto rispetto al valore massimo possibile e tale diminuzione è abbastanza significativa, non si può trascurare.
*√
√
+
Da questo punto di vista la porta EEMOS è peggiore di quella NMOS. I due transistori MOS della porta possono essere anche strutturalmente uguali però bisogna ricordare che quello di carico soffre di effetto body.
Caratteristica di I/O
Per calcolare la caratteristica di I/O dobbiamo far variare la da 0 a
anche se presupponiamo che il valore logico alto sia minore di
. Ciò che ci interessa fare è infatti capire il funzionamento della porta in
tutte le condizioni possibili e perciò anche in situazioni inattese.
Questa volta dovremo considerare che stiamo coinvolgendo due dispositivi non lineari e dunque ci saranno
load
driver
delle regioni associate al funzionamento di
ed altre relative a
. La prima cosa che siamo
load
in grado di affermare è che l'uscita
non potrà mai superare
o
si spegnerebbe non
facendo circolare più corrente (si interromperebbe infatti il collegamento con l'alimentazione).
load
Come già è stato detto il transistore
, se acceso, può lavorare solo in regione di pinch off.
driver
Vediamo ora come si comporta il transistore
.
driver
è OFF quando
cioè se
.
driver
driver
è ON quando
cioè se
.
è in pinch off quando
cioè quando
.
è una retta a pendenza unitaria che ha origine in
: la regione al di sopra di essa è
quella di saturazione, quella sottostante è di triodo.
driver
Quando
è OFF vuol dire che l'ingresso è basso e perciò l'uscita sarà costante ed uguale a
.
Appunti Circuiti Digitali - Unisa
23
Parametri statici
Applicando Kirchhoff si ottiene
La
è zero e pertanto:
load
driver
in cui
è la corrente del Drain di
e
è quella del Drain di
.
La
varia a seconda della regione di funzionamento del transistore driver mentre la
poiché il load è sempre in pinch off ed è uguale a:
(
è costante,
)
Analizziamo ora le varie regioni di funzionamento.
Regione in cui il
driver
Per
il
è spento:
driver
è spento e
dunque:
(
)
considerando che:
si ha:
(
)
La tensione per
è costante.
Le porte logiche EEMOS appartengono ad un'altra famiglia logica rispetto alle NMOS perché è cambiata la
topologia del circuito (al posto del resistore c'è un transistore), ciò ora è evidente poiché è diverso il livello
logico alto.
Regione in cui il
driver
è acceso ed in regione di saturazione:
Quando
si entra in regione di pinch off in cui
in cui
. Questa volta sia il load che il driver funzionano in regione di saturazione.
Nuovamente è valida la relazione
.
(
)
(
(
(
)
)
(
)
e
)
(
)
ZeePpe
24
Per estrarre le radici quadrate di ambo i membri bisogna scegliere se anteporre alle radici il segno + o il segno -. Dal punto di vista matematico le due scelte sono entrambe corrette, ma non dal punto di vista fisico.
√
(
√
)
(
)
Il secondo membro è una quantità positiva per
che è proprio la condizione di funzionamento
in cui ci troviamo. Per l’uguaglianza allora anche il primo membro è positivo. Si sceglie allora davanti alle
radici il segno +.
La forma esplicita, calcolata rispetto a è:
√
(
)
ATTENZIONE Questa equazione NON è l'equazione di una retta in quanto il MOS di carico presenta effetto
body e perciò
non è costante, ma è una funzione crescente della tensione di uscita . È l'equazione
di una parabola.
Concentriamoci sulle espressioni di
e
:
e
Gli unici parametri che distinguono i due
sono i fattori di forma
Calcoliamo la pendenza della caratteristica di
la derivata di rispetto a .
e
.
in regione di pinch off e per fare ciò computiamo
√
(
)
√
Possiamo già anticipare che, come ci aspettavamo, la pendenza è negativa perché all'aumentare di
deve diminuire. Rispetto all'unità il rapporto
deve essere maggiore perchè noi vogliamo che la pen-
denza sia quanto più grande possibile in modulo.
Tipicamente
cioè la conduttività del driver è circa un'unità di grandezza superiore a
quella del load. Per avere
bisogna agire sui fattori di forma in modo tale che
Ricordando che:
*√
√
+
√
Definiamo la quantità
√
Appunti Circuiti Digitali - Unisa
, possiamo allora scrivere in maniera più compatta come:
25
Sostituiamo nell'equazione che coinvolge la pendenza della curva caratteristica di
colato:
il valore appena cal-
√
√
La pendenza è più piccola del 10-20% di quella che otterremmo valutando
be semplicemente √
). Non abbiamo potuto considerare
come costante (che sareb-
costante perchè in regione di pinch
off assume valori molto grandi e non si può trascurare nell’espressione dell’effetto body.
Siccome varia in funzione dell’uscita, la pendenza cambia da punto a punto e non è costante.
Il punto a pendenza -1 esiste, ma si può calcolare solo in modelli più raffinati. Infatti il modello utilizzato
non è un modello adeguato, si passa infatti da una pendenza nulla ad una pendenza
che di norma è cir-
ca uguale a 5, è presente allora un punto angoloso e fisicamente è impossibile che la derivata presenti
punti di discontinuità. Con buona approssimazione però si può assumere che il punto a pendenza -1 abbia
ascissa pari a
Con tale approssimazione si ha:
Regione in cui il
driver
è acceso ed in regione di triodo:
Se
il transistore driver lavora in regione di triodo mentre il load continua a stare in pinch
off.
Consideriamo nuovamente le correnti che circolano ne due transistori, si ha sempre
.
(
)
* (
(
)
(
)
+
)
(
(
)
)
è una parabola decrescente.
Vogliamo calcolare
e le coordinate dell'altro punto a pendenza -1.
Per calcolare poniamo
:
(
)
(
)
load
Anche in questo caso il
è caratterizzato da effetto body. C'è da dire però che siccome ad un ingresso alto corrisponde un'uscita bassa, da cui dipende il valore di
in prima approssimazione può essere
considerata costante e pari a
senza determinare un grosso errore.
ATTENZIONE: solo
può fare lo stesso con
nella relazioni che riguarda
nell’espressione di
è proporzionale a ⁄√
do su
. Perciò per ridurre
può essere considerato come costante, non si
.
si deve aumentare il rapporto al denominatore agen-
(in questo modo aumenta anche la pendenza della caratteristica di
), il che comporta un
ZeePpe
26
aumento di dimensione delle porte e di un basso livello d'integrazione. Nella scelta di
e
, al fi9,
ne di determinare una certo rapporto tra
e
, c'è molta flessibilità. Ad esempio se
possiamo scegliere in diversi modi diversi
⁄3.
e
:
9e
Proprio perché un parametro per migliorare le prestazioni è √
3e
oppure
questi circuiti sono denominati “logica
a rapporto”.
Calcoliamo il punto a pendenza -1 di coordinate
tata rispetto a :
(
Deriviamo ad ambo i membri rispetto a
*
Ponendo
)
(
non esplici-
)
:
(
(
. Partiamo dalla caratteristica
) +
)
*
(
[
)
(
)
si esprime la relazione sopra riportata in funzione di
(
)
+
e
(
]
:
)
Siccome siamo in regione di triodo e l'uscita è abbastanza piccola(qualche decimo di volt), possiamo considerare
costante e pari a
:
(
)
Da notare è che l'uguaglianza sopra riportata è a due incognite e perciò, per trovare il valore di
e
abbiamo bisogno di un'altra equazione che si ottiene considerando che il punto non solo deve essere a
pendenza -1, ma deve appartenere anche alla caratteristica ingresso-uscita. La coppia di equazioni, inoltre,
è non è lineare ed avrà due soluzioni di cui si sceglierà soltanto quella fisicamente realizzabile. La seconda
equazione di cui tener conto sarà quindi:
(
)
(
)
Parametri dinamici
Nell'analisi delle prestazioni statiche abbiamo omesso di considerare le porte logiche a valle perché sapevamo che a regime stazionario la caratteristica d'ingresso risultava identicamente nulla e perciò le porte
collegate non assorbivano corrente dal precedente stadio. In regime dinamico non è più possibile studiare
ciascuna porta isolata e bisogna tenere conto dei comportamenti reattivi capacitivi, tipici dei componenti
MOS.
driver
load
Gli effetti reattivi si possono schematizzare attraverso tre capacità per il
e due per il
:
(tra Gate e Source del driver),
(tra Gate e Source del load),
(tra Gate e Drain del driver),
(tra Drain e Source del load),
(tra Drain e Source del driver).
Appunti Circuiti Digitali - Unisa
27
Cominciamo con il considerare tutte le capacità collegate in uscita alla
porta che sono:
,
,
,
. Riappelliamoci al teorema di Miller e scomponiamo la capacità collegata ai terminali d'ingresso
e d'uscita (
) nella somma di due componenti: una posta tra l'ingresso e la massa e l'altra tra il terminale d'uscita e la massa.
è collegata all’ingresso e
Le capacità
,
capacità in uscita sarà:
,
all’uscita.
,
sono in parallelo, quindi la
Mentre la capacità in ingresso sarà:
Rammentiamo che tutte le capacità non sono lineari, dipendono dalla
tensione ai loro capi e dunque non sono costanti. Nel caso resistivo le
due componenti reattive dovute al load non compaiono nell'espressione di
e pertanto è intuitivo che
l'EEMOS presenta un valore di
che supera quello dell'NMOS. Tale aumento degli effetti reattivi non è
preoccupante dal momento che le capacità preponderanti sono quelle dovute ai collegamenti delle porte a
valle. Naturalmente un valore più alto di , quindi un valore più alto della capacità vista in uscita , vuol
dire una velocità della porta EEMOS inferiore a quella dell'NMOS.
Ai terminali di uscita della porta logica sono collegate le capacità parallele ciascuna relativa all'ingresso di
una porte a valle:
Al calcolo di CL contribuiscono pertanto le capacità ai terminali d'uscita, le capacità ai terminali di ingresso delle porte a valle(dove è il fan out) e la cosiddetta capacità di linea. Come già detto queste capacità
non sono lineari. Per facilitare il calcolo consideriamo tali capacità costanti calcolate nel caso peggiore sovrastimandole.
Ritardo di propagazione.
Per accelerare la porta bisognerebbe ricavare analiticamente t
et
, ma per fare ciò si necessita della conoscenza sia di
che di
. La prima quantità non è nota poiché è la tensione d'uscita di una
porta a monte ed il calcolo analitico, a differenza di quello eseguito sperimentalmente in laboratorio, è
troppo complesso e ridondante visto che ciò che desideriamo avere non è un modello perfetto del funzionamento della porta, ma soltanto delle indicazioni su come renderla più celere. Supponiamo per semplificare l'analisi che
sia una funzione ideale fornita da un generatore di tensione che commuta a gradino.
L'uscita, a differenza dell'input, non varia istantaneamente. Non si possono calcolare t
et
, ma si
possono considerare il fall-time ed il rise-time che, ricordiamolo, sono rispettivamente il tempo necessario
all'uscita per passare dal 90% dello swing al 10% dello swing e l'intervallo di tempo in cui si va dal 10% dello
swing al 90% dello swing. Con questa ipotesi esemplificativa stiamo dicendo che il ritardo con cui commuta
la porta è dovuto solo alla porta stessa e non a ciò che accade a monte. Possiamo inoltre eseguire un'analisi
“qualitativa” basata su e per cercare di capire come migliorare le prestazioni. Ribadiamo che fare ciò è
giustificato dalle intenzioni di voler solo apprendere come velocizzare la porta senza alcuna volontà di proZeePpe
28
gettare la migliore porta possibile. Ridurre
e
equivale a rendere minori rispettivamente t t
Approssimiamo perciò il time propagation delay come
et
.
.
Il corrisponde al tempo di scarica del condensatore , mentre al tempo di carica. Siccome il ritardo di
propagazione è stato approssimato come media del tempo di salita e di discesa, lo si può ridurre velocizzando la carica e la scarica del condensatore . , come già sottolineato, non è lineare ed è una funzione
crescente di , possiamo però per rendere più facile operare su questa quantità, sovrastimarne il valore
ponendo
e riferirci a
come ad una capacità costante.
Il è misurato quando l'uscita commuta da valore logico alto a basso. Affinché il comportamento dell'uscita sia quello appena descritto, trattandosi di un invertitore, l'ingresso istantaneamente (per l'approssimazione fatta) muta da livello logico basso al livello logico alto. Quando
il
è spento, il
è acceso e lavora in regione di saturazione. Nel momento in cui diventa il
si accende ed il condensatore si scarica attraverso il
. Intuitivamente maggiore è la conducibilità del
e più rapidamente avviene la scarica e ciò si riflette in un tempo di discesa minore. Rammentando che la conducibilità di un
è correlata a
, possiamo ipotizzare ragionevolmente che:
L'aumento di
zioni statiche.
, oltre che aiutare a diminuire
, ha anche benefici, come già specificato, sulle presta-
Il è misurato quando l'uscita commuta da valore logico basso a quello alto, quindi, nel caso del transistore EEMOS da a
(
non è
a causa dell'effetto body).
Affinché il comportamento dell'uscita sia quello appena descritto, l'ingresso istantaneamente muta da livello logico alto al livello logico basso, cioè da a .
Quando
il
è acceso e
Viceversa quando
il
si spegne e
per mezzo della carica del condensatore attraverso il
. Se
è molto conduttivo
si carica rapidamente e perciò è ragionevole sostenere che:
ATTENZIONE: Abbiamo potuto affermare che al variare “istantaneo” dell'uscita, il
si accendesse
e spegnesse altrettanto “istantaneamente” perché tutti gli effetti reattivi sono stati concentrati nella capacità d'uscita .
Per garantire buone caratteristiche statiche abbiamo sottolineato in precedenza che
(di
circa un odine di grandezza) e da quanto detto è immediato imporre la seguente relazione che lega il tempo
di salita e di discesa:
⇒
Quindi
è all’incirca più grande di
di un ordine di grandezza.
Se trascuriamo, nel calcolo approssimato di
, il fall time compiamo un errore di circa il 10%, ma questa è
solo una delle tante sovrastime di cui ci serviamo per facilitare il rilevamento di un metodo per velocizzare
la porta.
Appunti Circuiti Digitali - Unisa
29
La scarica è più veloce di circa un ordine di grandezza perché dipende dal
pilota che è più celere del
di carico a causa della sua elevata conduttività. Il problema consiste perciò nel velocizzare la carica del
condensatore.
Quando il condensatore si carica il
pilota è spento e dunque il circuito che dobbiamo studiare è quello
illustrato in figura.
Dalla legge di Kirchhoff:
Considerando che il
lavora sempre in pinch off, e che
rente che attraversa un condensatore, si può scrivere:
è la cor-
soffre di effetto body, quindi andrebbe considerata
con effetto body. Considerando
non si commette un grosso errore.
Quest'ultima equazione è differenziale a variabili separabili e si può riscrivere come:
integrando primo e secondo membro:
∫
∫
*
+
L'estremo inferiore d'integrazione del secondo membro è . Dovremmo partire dal 10% dello swing, ma
eseguiamo una sovrastima, cosa già fatta con
. Quando abbiamo studiato l'NMOS non abbiamo scelto come estremo d'integrazione superiore perché era sufficiente il minimo valore dell'uscita considerato
livello logico alto(
) ed inoltre in questo modo il transitorio, essendo asintotico, non sarebbe durato un
tempo infinito. In questo caso, l'integrale a priori non diverge, essendo
(in cui
presenta effetto body) per cui si può optare per .
Cerchiamo di capire su quali parametri si può agire per ridurre .
è una caratteristica del dispositivo e non ne si può variare il valore. Sicuramente si possono manipolare invece le grandezze
, , , ma ciò causerebbe un peggioramento delle caratteristiche statiche.
E' conveniente propendere per un incremento di
che per giunta non impone di dover fronteggiare alcun compromesso con le caratteristiche statiche. Queste ultime, infatti, dipendono da
, ma l'aumen-
to di
non pregiudica l'opportunità di agire contemporaneamente anche su
in modo da avere
allo stesso tempo buone prestazioni statiche e dinamiche.
Questo non deve però portarci a credere che non esista un limite alla massima velocità della porta EEMOS.
Esso consiste nel livello d'integrazione poiché
e
sono funzioni di
e
(i fattori di
forma della porta dati da
) e quindi le dimensioni della porta aumentano al crescere della velocità ed il
livello d'integrazione peggiora.
In conseguenza di ciò la porta EEMOS non viene mai usata a velocità esorbitanti, ma tra quelle finora studiate è la porta più piccola e quindi garantisce la possibilità di realizzare funzioni logiche più sofisticate su di
un singolo chip.
ZeePpe
30
Consumo di potenza.
La potenza per definizione è data dalla somma della potenza dinamica e della potenza statica. La potenza
dinamica è di molto inferiore rispetto alla potenza statica poiché la porta passa molto più tempo in condizioni statiche che dinamiche. Possiamo allora omettere il contributo della potenza dinamica.
La potenza statica è data dalla media tra la potenza statica consumata quando l’uscita è alta e la potenza
statica consumata quando l’uscita è bassa.
Calcoliamo la potenza assorbita quando l’uscita è alta,
dove
è la corrente assorbita
dall'alimentazione quando l'uscita è alta. Affinché l’uscita sia alta l’ingresso deve essere basso, per ingresso
basso
è spento, quindi nella porta non circola corrente. Di conseguenza la
è uguale a zero,
quindi quando l’uscita è alta la porta non ha consumo statico di potenza.
Quando l'uscita è bassa, l'ingresso sarà alto e pari a
(con effetto body), la potenza statica in
questo caso è
.
Applicando Kirchhoff si ha che:
Il
è in regione di triodo(ingresso alto) e il
invece è in regione di pinch off.
(
)
È più sensato allora, data la loro uguaglianza considerare
.
può essere approssimata come
perché l'uscita è di pochi decimi di volt e perciò l'effetto body
in questo caso può essere trascurato.
(
)
Possiamo allora calcolare l’espressione della potenza statica:
(
)
Il consumo di potenza tipico delle porte EEMOS è relativamente piccolo(circa qualche centinaio di microwatt, due ordini di grandezza più piccolo rispetto alle porte della tecnologia bipolare) e questo ci dà l'opportunità di fare affidamento su di un alto livello d'integrazione.
Una porta veloce richiede un valore elevato di
, ma come si nota dall'uguaglianza precedente ,ciò
equivale ad aumentare il consumo di potenza.
Consideriamo ora il prodotto ritardo-consumo della porta:
(
)
*
+
Nel calcolo di
,
si semplifica e perciò si può dire che il prodotto ritardo consumo non dipende dalla
conducibilità del
. Per ridurre DP si potrebbe pensare di diminuire la tensione d'alimentazione
,
ma ciò ha effetti negativi sui margini d'immunità ai disturbi e sullo swing logico.
Conclusioni
L'invertitore EEMOS ha prestazioni deludenti per quanto concerne lo swing(per l'effetto body) ed inoltre se
da un lato consente un eccellente livello d'integrazione, dall'altro è una porta molto lenta. Per rendere il diAppunti Circuiti Digitali - Unisa
31
spositivo più veloce bisogna aumentare
(se si aumenta anche
migliorano inoltre il livello logico basso e la pendenza), ma ciò peggiora il consumo di potenza. Per quanto riguarda l'energia necessaria
alla porta per funzionare ( ) si potrebbe pensare di diminuire la tensione d'alimentazione
, ma ciò ha
effetti negativi sui margini d'immunità ai disturbi e sullo swing logico.
ESERCIZIO EEMOS
𝑉𝐷𝐷
5 𝑉𝑜𝑙𝑡
𝜇𝐴
𝑉2
𝜇𝐶𝑜𝑥
𝑉𝑇
𝛾
Φ𝑓
𝑉𝑜𝑙𝑡 - la stessa sia per load che per driver
5 𝑉𝑜𝑙𝑡
6 𝑉𝑜𝑙𝑡
𝑍 𝑑𝑟𝑖𝑣𝑒𝑟
𝑍
3
𝑙𝑜𝑎𝑑
3
Possiamo immediatamente calcolare il rapporto
𝑑𝑟𝑖𝑣𝑒𝑟
𝐾𝑚
𝑙𝑜𝑎𝑑
𝐾𝑚
𝑑𝑟𝑖𝑣𝑒𝑟
𝐾𝑚
𝑙𝑜𝑎𝑑
𝐾𝑚
:
3
3
9
Calcoliamo la caratteristica senza effetto body.
Per prima cosa ricaviamo il livello logico alto:
𝑉
𝑉𝐷𝐷 𝑉𝑇𝑙𝑜𝑎𝑑 5
𝑉
𝑑𝑟𝑖𝑣𝑒𝑟
La caratteristica è costante a 𝑉 per 𝑉𝐼 𝑉𝑇
, non appena 𝑉𝐼 𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟 il driver si accende e
lavora in pinch off, la caratteristica è:
𝑉
𝑉𝑇𝑙𝑜𝑎𝑑
𝑉𝐷𝐷
𝑉
5
𝐾 𝑑𝑟𝑖𝑣𝑒𝑟
√ 𝑚𝑙𝑜𝑎𝑑 𝑉𝐼
𝐾𝑚
9 𝑉𝐼
7
𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟
3𝑉𝐼
Da notare che se non si considera l’effetto body in questa regione la caratteristica è una retta decrescente.
La pendenza di questa retta è costante e pari a
𝑑𝑉𝑂
𝑑𝑉𝐼
3, non è possibile dunque calcolare il punto
a pendenza -1. Si considera il punto angoloso come punto a pendenza -1:
𝑉𝐼𝑙𝑀
𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟
𝑉
𝑉𝑂 𝑚
𝑉
𝑉
Spostiamoci nella regione in cui il
basso:
𝑙𝑜𝑎𝑑
𝐾𝑚
(𝑉𝐷𝐷
lavora in zona di triodo per calcolare il livello logico
𝑉𝑙
𝑉𝑇𝑙𝑜𝑎𝑑 )
𝑑𝑟𝑖𝑣𝑒𝑟
𝐾𝑚
(𝑉
𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟 )𝑉𝑙
5
𝑉𝑙
9
𝑉𝑙
5𝑉𝑙
𝑉𝑙
𝑉𝑙
3 𝑉𝑙
𝑉𝑙
𝑉𝑙
8
5 93 𝑉 𝑛𝑜𝑛 𝑎𝑐𝑐𝑒𝑡𝑡𝑎𝑏𝑖𝑙𝑒
7𝑉
ZeePpe
32
Calcoliamo il punto a pendenza -1 derivando la seguente espressione rispetto a 𝑉𝐼 :
𝑉𝑂
𝑑𝑉𝑂
𝑑𝑉𝐼
𝑉𝑂
Imponiamo ora
𝑑𝑉𝑂
𝑑𝑉𝐼
, 𝑉𝑂
9
𝑉𝐼
9 [ 𝑉𝑂
𝑉𝑂𝑙𝑀 e 𝑉𝐼
𝑉𝑂𝑙𝑀
𝑉𝑂𝑙𝑀
𝑉𝐼
𝑉𝑂
𝑑𝑉𝑂
𝑑𝑉𝐼
𝑉𝐼
𝑚
𝑉𝑂
𝑉𝑂
𝑑𝑉𝑂
]
𝑑𝑉𝐼
:
9 𝑉𝑂𝑙𝑀
𝑉𝐼 𝑚
9 𝑉𝑂𝑙𝑀 𝑉𝐼 𝑚
𝑉𝑂𝑙𝑀
Il sistema di quest’ultima con la relazione caratteristica ci da:
𝑉𝐼 𝑚
5 𝑉 𝑒 𝑉𝑂𝑙𝑀
75 𝑉
Ripetiamo i calcoli considerando ora l’effetto body. In questo caso vale
𝑉𝑇𝑙𝑜𝑎𝑑
𝑉𝑇𝑙𝑜𝑎𝑑
𝛾 [√𝑉𝑂
Φ𝑓
√ Φ𝑓 ]
𝑉𝑇𝑙𝑜𝑎𝑑
𝛾 [√𝑉𝑂
Partiamo con il calcolare il livello logico alto:
𝑉
𝑉𝐷𝐷
𝑉𝑇𝑙𝑜𝑎𝑑
𝑉𝐷𝐷
stiamo calcolando il livello logico alto, quindi vale 𝑉𝑂
Φ𝑓
√ Φ𝑓 ]
𝑉
𝑉
5
5 √𝑉
6
6 ⇒𝑉
3 𝑉
Si nota che non considerando l’effetto body si commette un errore che si aggira intorno al 5
. Non si può quindi trascurare l’effetto body.
Andiamo ora a calcolare la caratteristica di 𝐼 𝑂.
Per 𝑉𝐼 𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟 la caratteristica resta costante e l’effetto body ne abbassa solo il valore.
Nella zona in cui il
lavora in pinch off si ha:
𝑉
𝑉𝑇𝑙𝑜𝑎𝑑
𝑉𝐷𝐷
𝛾 [√𝑉𝑂
Φ𝑓
𝐾 𝑑𝑟𝑖𝑣𝑒𝑟
√ 𝑚𝑙𝑜𝑎𝑑 𝑉𝐼
𝐾𝑚
√ Φ𝑓 ]
-
𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟
𝑉
5
5 √𝑉𝑂
6
6
3 𝑉𝐼
Ora non è più una retta ma una parabola. La pendenza della parabola è:
𝐾 𝑑𝑟𝑖𝑣𝑒𝑟
√ 𝑚𝑙𝑜𝑎𝑑
𝛼 𝐾𝑚
𝑑𝑉𝑂
𝑑𝑉𝐼
𝛼 la calcoliamo in 𝑉𝑂
𝛾
𝑐𝑜𝑛 𝛼
√𝑉𝑂
Φ𝑓
𝑉
𝛼
5
3
6
5
𝑑𝑉𝑂
3
66
𝑑𝑉𝐼
5
Si ha sempre il punto angoloso, ma la pendenza è minore in modulo. Il punto angoloso ha le stesse
coordinate del caso senza effetto body, quindi restano invariati i valori di 𝑉𝐼𝑙𝑀 e 𝑉𝑂 𝑚 .
Spostiamoci nella regione in cui il
𝑙𝑜𝑎𝑑
𝐾𝑚
(𝑉𝐷𝐷
𝑉𝑙
𝑉𝑇𝑙𝑜𝑎𝑑
𝛾 [√𝑉𝑙
lavora in triodo.
Φ𝑓
√ Φ𝑓 ])
𝑑𝑟𝑖𝑣𝑒𝑟
𝐾𝑚
(𝑉
𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟 )𝑉𝑙
𝑉𝑙
In questo caso l’uscita è piccola, quindi si può non considerare l’effetto body commettendo un errore limitato
Appunti Circuiti Digitali - Unisa
33
𝑙𝑜𝑎𝑑
𝐾𝑚
(𝑉𝐷𝐷
𝑉𝑇𝑙𝑜𝑎𝑑 )
𝑉𝑙
5
𝑉𝑇𝑑𝑟𝑖𝑣𝑒𝑟 )𝑉𝑙
𝑑𝑟𝑖𝑣𝑒𝑟
𝐾𝑚
(𝑉
𝑉𝑙
9
3
𝑉𝑙
𝑙𝑎 𝑠𝑜𝑙𝑢𝑧𝑖𝑜𝑛𝑒 𝑎𝑐𝑐𝑒𝑡𝑡𝑎𝑏𝑖𝑙𝑒 è 𝑉𝑙
𝑉𝑙
𝑉𝑙
33 𝑉
Il crescere del livello logico basso non è dato dall’effetto body (che abbiamo omesso) ma
dall’abbassamento del livello logico alto.
Si ha allora un abbassamento del livello logico alto e un innalzamento del livello logico basso, quindi
a ne risente lo swing logico che passa da un valore di 3 73 𝑉 a 3 65 𝑉.
È quindi ora palese che in questa porta non può essere trascurato l’effetto body.
Andiamo a calcolare ora i parametri dinamici della porta.
Per proseguire abbiamo bisogno del valore della capacità 𝐶𝐿 , che viene assegnato: 𝐶𝐿
pF
Calcoliamo il time propagation delay che come abbiamo visto può essere considerato circa uguale
alla metà del rise time.
∙
𝑡𝑟
𝑛𝑠
]
6 [5
∙
3
5
335
3
𝑙𝑜𝑎𝑑
È un tempo di salita abbastanza grande poiché 𝐾𝑚
è piccolo.
𝑡𝑃𝐷
𝑡𝑟
𝑛𝑠
Calcoliamo la potenza statica:
𝑉𝐷𝐷 𝐾𝑀𝑙𝑜𝑎𝑑 (𝑉𝐷𝐷
𝑃𝑆𝑇
𝑃𝑆𝑇
∙5∙
∙
∙
6
∙
3
5
𝑉𝑙
𝑉𝑇𝑙𝑜𝑎𝑑 )
335
9 𝑚𝑊
Consuma poca potenza.
Proviamo a calcolare ora la potenza dinamica:
𝑃𝐷 𝐶𝐿 𝑉𝐷𝐷 𝑆𝐿 𝑓 ̅
Possiamo calcolare la frequenza 𝑓 ∗ per cui si ha 𝑃𝐷
𝐶𝐿 𝑉𝐷𝐷 𝑆𝐿 𝑓 ∗
𝑓∗
𝑃𝑆𝑇
𝑙𝑜𝑎𝑑
𝑉𝐷𝐷 𝐾𝑀
(𝑉𝐷𝐷
𝑉𝑙
𝑙𝑜𝑎𝑑
𝐾𝑀
(𝑉𝐷𝐷 𝑉𝑙 𝑉𝑇𝑙𝑜𝑎𝑑 )
⇒ 𝑓∗
𝐶𝐿 𝑉
𝑉𝑙
𝑉𝑇𝑙𝑜𝑎𝑑 )
5 𝑀𝐻𝑧
La frequenza limite a cui la porta può lavorare è:
𝑓𝑙𝑖𝑚
5 𝑀𝐻𝑧
𝑡𝑃𝐷
Quindi è impossibile che si abbia 𝑓 𝑓 ∗, si avranno valori di 𝑓 all’incirca pari a un decimo di 𝑓 ∗,
quindi la potenza dinamica sarà circa dieci volte più piccola di quella statica e può essere trascurata
ZeePpe
34
Famiglia logica EDMOS
Nel dispositivo EEMOS il livello logico basso è di circa un decimo di volt, mentre quello alto è minore o
uguale di
. Siccome l'effetto body, che si fa sentire in particolar modo proprio quando l'uscita
assume il massimo valore possibile, riduce il livello logico alto.
Una possibile soluzione a questo problema potrebbe consistere nel collegare il Gate del MOS di carico ad
un'altra fonte di alimentazione anziché cortocircuitarlo.
L'accensione del
di carico prevede che
. Mentre nel caso precedente
ora
e dipende dalla tensione d'alimentazione scelta. IL
si accende nel momento in cui
. Se
(cioè se il livello logico alto è la tensione
) ne consegue
che
in cui
assume valore massimo visto che l'uscita è
alta. Garantire lo swing pieno comporta l'uso di una batteria con tensione d'alimentazione molto elevata e che cresce all'aumentare di
. Il miglioramento
delle prestazioni statiche è solo fittizio visto che avviene per mezzo di un dispendio energetico non indifferente.
Il modello sopra descritto è infatti inusitato visto che bisogna alimentare il dispositivo con una tensione
che è comunque maggiore del livello logico alto
ottenibile.
Conviene allora introdurre un'ulteriore famiglia logica che differisce dall'EEMOS non solo topologicamente,
ma anche tecnologicamente. L'EEMOS si distingueva dall'NMOS esclusivamente per la topologia poiché al
posto di un resistore presentava un altro transistore, ma entrambe le famiglie logiche si fondavano sull'uso
di MOS ad arricchimento (quindi sulla stessa tecnologia).
L'EDMOS (enhancement-depletion MOS) è costituito da un MOS pilota ad arricchimento e da un MOS di carico a svuotamento. In basso è raffigurato un invertitore di tipo EDMOS.
Un'ulteriore diversificazione dall'EEMOS sta nel fatto che il Gate del
è
collegato al Source anziché al Drain.
In un MOS ad arricchimento il canale si forma per valori della tensione d'ingresso superiori alla soglia . Un incremento della
, inoltre, “arricchisce” il canale di portatori di carica negativi. Il MOS a svuotamento è un dispositivo drogato
in modo che il canale esista anche se non è applicata alcuna tensione in ingresso. Quando si applica una tensione al Gate il canale si svuota, cioè diminuiscono
i portatori di carica, riducendo il flusso di corrente attraverso il transistor. In sostanza un MOS a svuotamento si comporta come un interruttore normalmente
chiuso, mentre una MOS ad arricchimento si comporta come un interruttore
normalmente aperto.
Il MOS a svuotamento è realizzato per mezzo del processo di “impiantazione ionica” con cui si crea il canale tecnologicamente. L'impiantazione ionica consiste
nel proiettare con un cannone elettronico degli ioni negativi nella regione tra il Source ed il Gate. Tali ioni
vanno a legarsi agli atomi di silicio che acquisiscono così degli elettroni. Lo sbilanciamento di carica dà luogo
alla formazione del canale. Visto che il canale è stato costituito in sede di realizzazione del transistore, le
azioni esercitate da una variazione della tensione d'ingresso sono riconducibili a due tipi: se
aumenta,
la quantità di carica nel canale a sua volta aumenta, se invece
decresce i portatori di carica diminuiscono in numero. Quando
il canale è completamente svuotato. La soglia in questo caso non è più la
minima tensione d'ingresso per formare il canale, bensì la più piccola
che permette ancora la presenza
di cariche nel canale.
Appunti Circuiti Digitali - Unisa
35
La soglia del MOS a svuotamento è negativa e di circa -2,-3 volt. Quella del MOS ad arricchimento è invece di circa 1 volt.
L'EDMOS costa un po' più dell'EEMOS a causa dei processi realizzativi aggiuntivi del MOS a svuotamento,
ma il dispendio addizionale è accettabile. Un vantaggio dell'EDMOS è che la condizione di accensione è
sempre verificata dato che vale sempre la relazione
. Ci aspettiamo dunque un livello logico alto migliore di quello della precedente famiglia logica.
Ricordiamo che la relazione che esprime la tensione di soglia è:
[√
Nel caso del MOS pilota
terizzato da effetto body visto che
]
√
, considerato che
.
[√
. Il MOS di carico sarà invece carat√
]
è una tensione negativa, come già sottolineato.
aumenta al crescere della tensione d'uscita. Se
è molto grande,
ed il dispositivo si spegne. Per non far mai spegnere il load MOS si
deve fare in modo che
.
Nei dispositivi a svuotamento
è dell'ordine di qualche decina o centinaio di volt e perciò il MOS di carico non si spegne mai.
però può lavorare sia in saturazione che in triodo ed in quest'ultimo caso
non si comporta adeguatamente come un carico perché la corrente
non dipende solo da
, ma
anche da
.
Caratteristica di
Abbiamo dedotto che nella maggior parte dei casi pratici il
può essere considerato acceso. Non
abbiamo ancora stabilito, però, in quale regione esso operi. Ci occuperemo ora di esaminare il comportamento dei due transistori che costituiscono la porta EDMOS per tutti i valori possibili dell'ingresso ovvero
per
.
è in pinch off se
cioè se
.
Si stabilisce pertanto che per tutti i valori dell'uscita tali che
(con
quantità negativa), il MOS di carico funziona in regione di saturazione, altrimenti è in triodo.
è acceso se
, vale a dire se
. Esso è inoltre in pinch off se
, quindi se
.
è l'equazione di una retta a pendenza unitaria che ha origine in
. Da quanto detto
segue che tutti i punti al di sopra della retta fanno parte della regione di saturazione, quelli sottostanti costituiscono la regione ohmica.
Distinguiamo nel primo quadrante diverse regioni che numeriamo da 1 a 4:
1.
2.
3.
4.
è off e
è in triodo;
è in pinch off e
è in triodo;
è in pinch off e
è in pinch off;
è in triodo e
è in pinch off;
ZeePpe
36
Regione 1
Quando
pinch off.
Supponiamo per assurdo che il
la correnti:
e certamente spento, bisogna vedere se
lavora in triodo o
sia in regione di saturazione. Applichiamo la legge di Kirchhoff del-
Quindi:
è impossibile che
Questo vuol dire che se
, poiché si ha che
e la
è spento
lavora in triodo
è negativa.
Vale sempre la relazione :
ma questa volta
* (
(
)
+
)
L’unica soluzione accettabile è
.
Da qui possiamo ottenere il livello logico alto che è
.
Bisogna però assicurarsi che
altrimenti
non è più
, ma dipende dall'accensione del MOS.
Per comprendere quale tensione d'alimentazione azzera
il l
, si risolve la seguente equazione:
[√
è spento e per
l'uscita
rendendola pari a
√
e facendo spegnere
]
Regione 2
La caratteristica di
è una funzione continua e pertanto, per
, il transistore
potrà che operare in regione di triodo. Siamo nella zona del piano in cui vale
si accende e lavora in pinch off.
Appunti Circuiti Digitali - Unisa
non
, quindi il
37
Applichiamo la legge di Kirchhoff della corrente.
Sostituendo le espressioni per le correnti dei dispositivi:
* (
)
(
+
(
)
)
(
)
L'equazione soprastante è l'espressione implicita della caratteristica di
quando
è in pinch off
e
in triodo. Non è però nostro interesse esplicitarla e per rendere più immediati i calcoli ricorreremo a delle esemplificazioni; innanzitutto scegliamo di risolverla rispetto alla variabile , piuttosto che rispetto a . Tutte le approssimazioni che ci appresteremo a fare sono dovute al fatto che desideriamo scoprire come evolve la caratteristica senza darne una rappresentazione eccessivamente dettagliata per capire
il funzionamento del dispositivo e come migliorarne le prestazioni.
√
√
Bisogna capire quale segno porre dinanzi alla radice quadrata. Sicuramente il segno del secondo membro
sarà lo stesso di quello del primo membro dell'equazione. Siccome siamo sicuri che il termine a sinistra
dell'uguale è positivo bisogna scegliere il segno positivo.
√
Notiamo che nella relazione tra
dipende da √
che
√
e
interviene il fattore √
e perciò se calcolassimo
noteremo
.
A questa conclusione si giunge ragionando per ordini di grandezza e seguendo un ragionamento dettato più
dal buon senso che dalla precisione analitica.
√
dipende da √
e da
√
(dal momento che
è quasi un termine lineare). Il primo dei due sotto radice si può trascurare. Allora
de da √
dipen-
.
Anche in questo caso la pendenza della caratteristica di I/O dipende da √
(Come EEMOS) e perciò per
questo dispositivo si può parlare di “logica a rapporto”. Si direbbe che i requisiti sulla pendenza siano soddisfatti (pendenza di modulo elevato), ma bisogna prestare attenzione anche a parametri meno qualitativi
come i margini di immunità al rumore, senz'altro più salienti.
Un'altra similitudine con l'EEMOS riguarda le conduttività. Per ottenere una pendenza soddisfacente occorre rendere
maggiore di
.
Concentriamoci sulle espressioni di
e
:
è lo stesso per entrambi i dispositivi poiché l’ossido utilizzato è lo stesso.
ZeePpe
38
Il MOS a svuotamento, per quanto riguarda
, si comporta come quello ad arricchimento: le caratteristiche statiche dipendono dal rapporto tra i fattori di forma dei due MOS costituenti il dispositivo.
ATTENZIONE: Le relazioni che coinvolgono le derivate sopra indicate non sono di proporzionalità perché la
pendenza delle curve non è costante. Stiamo considerando la caratteristica come una retta, ciò è dovuto al
fatto di aver scelto di assumere determinate approssimazioni che verranno spiegate in seguito.
Nella regione 2,
non è trascurabile dato che l'uscita, variando da
elevata. Nell'equazione:
√
a
, è abbastanza
√
bisogna tenere a mente che dipende non solo da e dalla sua radice, ma anche dalla radice di
.
però presenta una dipendenza dai termini lineari intuitivamente maggiore di quella esistente con i termini
sotto radice; in virtù di ciò possiamo considerare
costante ed uguale al suo massimo valore
,commettendo un errore di lieve entità. È da notare però che
NON deve essere approssimata a
altrimenti l'errore sarebbe grossolano. Proprio perché abbiamo trascurato l'influenza di
su rispetto a quella esercitata da vale la relazione:
⁄
pur NON essendo la caratteristica una retta.
Calcoliamo le coordinate del punto a pendenza -1 ossia
. Esso si troverà ragionevolmente nella
regione indicata con il numero 2. La strada più semplice consiste nel derivare ambo i membri dell'equazione
seguente rispetto a
Consideriamo
per poi porre i termini
costante nei calcoli e pari a
[
.
.
]
(
(
)
(
)
)
Dall'equazione precedente si ricava
oppure
e se ne sostituisce il valore nell'equazione della caratteristica di
. Si otterranno due soluzioni e si sceglierà quella fisicamente realizzabile: per esempio
deve essere necessariamente maggiore di
e tale da far sì che
sia in pinch off e
in triodo.
Regione 3
Quando
e
sono entrambi in regione di saturazione vale ancora l'uguaglianza
ma si tiene conto del fatto che le correnti dei MOS sono esprimibili rispettivamente come
Appunti Circuiti Digitali - Unisa
39
(
)
(
(
(
)
(
√
)
)
(
)
)
√
Si nota che non c'è dipendenza diretta da
.
ATTENZIONE: in questo caso non si può trascurare la dipendenza di
da , come fatto in precedenza,
perché è irragionevole, si avrebbe una retta con pendenza infinita. Dobbiamo usare un modello più raffinato.
√
√
Ricordiamo l'equazione che esprime
in condizione di effetto body
*√
√
√
[
Si ricordi che non è costante, ma dipende dalla
Allora si può dire che:
+
]
.
√
√
Approssimiamo
ad una costante ponendo
perché in questa regione è tale all'incirca il valore
assunto dall'uscita. Facendo ciò, possiamo usare la relazione
, valida solo per una retta (penden-
za costante).
è circa 1-2 decimi, la radice di
è all'incirca 3 e dunque la pendenza è approssimabile a 30.
Questa pendenza pur essendo abbastanza elevata non è infinita. L'uguaglianza sopra riportata conferma
che la caratteristica di
dipende da √
, ma sottolinea anche una differenza fondamentale tra
EDMOS e EEMOS. L'EDMOS è migliore perché la pendenza è superiore di circa un ordine di grandezza.
La pendenza non è un eccellente criterio di qualità della porta e dunque bisogna confrontare i margini per
capire quale tra le due famiglie logiche ha prestazioni più soddisfacenti.
ZeePpe
40
Regione 4
Ancora una volta si parte dall'equazione:
Sostituendo le espressioni per le correnti:
(
)
* (
(
)
)
+
(
)
C'è, come al solito, effetto body, ma vista la maggiore influenza sull'espressione implicita della caratteristica
di
del termine lineare e di quello quadratico
rispetto alla radice di
presente nella relazione
tipica di
, scegliamo di considerare la tensione di soglia costante e di valore
. Si è attribuito a
la quantità
a causa del fatto che in questa regione l'uscita è bassa.
Calcoliamo il livello logico basso, imponendo che nella precedente relazione
(
)
(
.
)
Siccome stiamo presupponendo che l'uscita sia quasi nulla, il termine quadratico
venendo così all'approssimazione:
(
)
(
(
può essere eliso per-
)
)
(
)
Come avveniva con l'EEMOS, la riduzione del livello logico basso richiede un intervento volto a maggiorare
rispetto a
. Un beneficio aggiuntivo di tale provvedimento è il miglioramento della pendenza
della caratteristica. Ovviamente non potrà mai essere esattamente zero perché ciò comporterebbe un
valore di
nullo oppure un
infinito. .Ad ogni modo ci aspettiamo un livello logico basso più
piccolo di quello dei dispositivi EEMOS perché il livello logico alto è più alto essendo la tensione d'alimentazione stessa.
Calcoliamo il secondo punto a pendenza -1 in maniera analoga a quanto fatto precedentemente.
(
Calcoliamo la derivata rispetto a
)
(
)
di entrambi i membri dell'equazione:
[
]
[
[
Poniamo
(
(
per ottenere un'equazione nelle variabili
Appunti Circuiti Digitali - Unisa
)]
)]
e
.
41
Sostituendo
, espressa come sopra, nell'equazione della caratteristica di
Di seguito è disegnata la caratteristica di
si calcola
.
di un dispositivo EDMOS.
Prestazioni dinamiche
Nell'analisi delle prestazioni statiche abbiamo omesso di considerare le porte logiche a valle perché sapevamo che a regime stazionario la caratteristica d'ingresso risultava identicamente nulla e perciò le porte
collegate non assorbivano corrente dal precedente stadio. In regime dinamico non è più possibile studiare
ciascuna porta isolata dalle altre e bisogna tenere conto dei comportamenti reattivi capacitivi, tipici dei
componenti MOS, in quanto non valgono più le precedenti considerazioni.
Gli effetti reattivi si possono schematizzare attraverso tre capacità per il
e due per il
:
,
,
,
e
.
Per il teorema di Miller possiamo scomporre
in due componenti:
che può essere considerata come in ingresso alla porta e
che invece posta in uscita.
Valgono allora le seguenti espressioni per le capacità di ingresso e di uscita:
Rammentiamo che tutte le capacità non sono lineari, dipendono dalla tensione ai loro capi e dunque non sono costanti. Possiamo “linearizzarle”
considerandole costanti e calcolate alla massima tensione
.
Notiamo immediatamente che dipende soltanto da
mentre
dipende anche da
.
Si può affermare che
poiché
.
tiplicato per un fattore denominato “guadagno della porta”.
Nel caso resistivo le due componenti reattive dovute al
è molnon comZeePpe
42
paiono nell'espressione di
e pertanto è intuitivo che l'EDMOS presenta un valore di
che supera quello
dell'NMOS. Tale aumento degli effetti reattivi non è preoccupante dal momento che, come a breve denoteremo, le capacità preponderanti sono quelle dovute ai collegamenti delle porte a valle. Naturalmente è già
possibile inferire che un valore più alto di
e quindi della capacità vista in uscita , si manifesta in una
velocità della porta EDMOS inferiore a quella dell'NMOS.
Vogliamo sintetizzare tutti gli effetti reattivi in un'unica capacità, posta in uscita alla porta: .
Al calcolo di contribuiscono pertanto le capacità ai terminali d'uscita, le
so delle porte a valle e la capacità di linea.
capacità ai terminali di ingres-
Ritardi di propagazione
Per accelerare la porta bisognerebbe ricavare analiticamente
e
,ma per fare ciò si necessita della
conoscenza sia di
che di
. Supponiamo per semplificare l'analisi che
sia una funzione ideale fornita da un generatore di tensione che commuta a gradino. L'uscita, a differenza dell'input, non varia
istantaneamente. Calcoliamo allora il fall-time ed il rise-time. Con questa ipotesi esemplificativa stiamo dicendo che il ritardo con cui commuta la porta è dovuto solo alla porta stessa e non a ciò che accade a monte. Ribadiamo che fare ciò è giustificato dalle intenzioni di voler solo apprendere come velocizzare la porta
senza alcuna volontà di progettare la migliore porta possibile. Ridurre e equivale a rendere minori rispettivamente
e
. Approssimiamo perciò il time propagation delay come
Il corrisponde al tempo di scarica del condensatore , mentre al tempo di carica. Siccome il ritardo di
propagazione è stato approssimato come media del tempo di salita e di discesa ,lo si può ridurre velocizzando la carica e la scarica del condensatore.
Ricordiamo che per semplificare i calcoli sovrastimiamo il valore di calcolandolo alla tensione massima
e considerandola costante.
Proviamo a diminuire il tempo di discesa .
è misurato quando l'uscita commuta da valore logico alto a basso. Affinché il comportamento dell'uscita
sia quello appena descritto, trattandosi di un invertitore, l'ingresso istantaneamente muta da livello logico
basso ad alto.
Quando
il
è spento,il
è acceso e lavora in regione di triodo. Nel momento in cui
diventa il
si accende ed il condensatore si scarica attraverso il
. Intuitivamente
maggiore è la conducibilità del
e più rapidamente avviene la scarica, ciò si riflette in un tempo di
discesa minore. La conducibilità del
è correlata a
quindi possiamo affermare che:
L'aumento di
, oltre che aiutare a diminuire
, ha anche benefici sulle prestazioni statiche.
Analizziamo ora il tempo di salita .
Il è misurato quando l'uscita commuta da valore logico basso al valore logico alto, quindi, nel caso del
transistore EDMOS da a
.
Affinché il comportamento dell'uscita sia quello appena descritto, l'ingresso istantaneamente muta da a
. Quando
il
è acceso e lo è anche il
e
; viceversa quando diventa
Appunti Circuiti Digitali - Unisa
43
il
Se
si spegne e
diventa per mezzo della carica del condensatore attraverso il
è molto conduttivo si carica rapidamente e perciò è ragionevole sostenere che:
.
Per garantire buone caratteristiche statiche abbiamo sottolineato in precedenza che
quanto detto è immediato imporre la seguente relazione che lega il tempo di salita e di discesa:
⇒
e da
⇒
Possiamo allora approssimare il tempo di propagazione come:
Se trascuriamo, nel calcolo approssimato di
, il fall time compiamo un errore di circa il 10%, ma questa è
solo una delle tante sovrastime di cui ci serviamo per facilitare il rilevamento di un metodo per velocizzare
la porta.
Il problema consiste perciò nel velocizzare la carica del condensatore.
Quando il condensatore si carica il MOS pilota è spento e dunque il circuito che dobbiamo studiare è quello
illustrato in figura.
La legge di Kirchhoff ci permette di dire che:
ATTENZIONE: siamo abituati ad indicare le grandezze variabili nel
tempo con lettere minuscole e pedici maiuscoli, ma non lo abbiamo
fatto con
. Possiamo permetterci questa licenza in virtù del fatto che abbiamo concentrato tutti gli effetti reattivi nel condensatore. La capacità non è assolutamente costante siccome non è lineare, ma per manipolare tale quantità in maniera più agevole l'abbiamo sovrastimata e considerata costante e di valore
. Se non avessimo fatto ciò, la caratteristica del condensatore sarebbe stata
.
A differenza di quel che si verificava con l'EEMOS in cui il MOS di carico era sempre in pinch off, con l'EDMOS dobbiamo distinguere le
due possibili regioni di funzionamento. Il rise time perciò si può indicare come somma del tempo di salita quando il
è in regione di triodo con il tempo di salita quando
è invece in regione di saturazione.
Calcolando l'andamento della caratteristica di
abbiamo verificato che quando l'uscita varia da
il load
è in regione di pinch off, quando invece l'uscita è compresa tra
la regione di funzionamento è quella di triodo.
Consideriamo allora il MOS di carico in triodo.
a
ZeePpe
44
∫
∫
Scegliamo di non considerare l’effetto body, e sostituiamo
con
L'estremo inferiore d'integrazione relativo all'equazione di
è . Dovremmo partire dal 10% dello
swing, ma eseguiamo una sovrastima, cosa già fatta con
. Consideriamo
che compare nella funzione integranda costante ed uguale a
, commettendo un errore alquanto grossolano, che compenseremo in un modo che analizzeremo nel seguito. Cerchiamo di capire fisicamente cosa implica questa approssimazione. Dire che
equivale a sostenere che il condensatore si carica, facendo aumentare la tensione ai suoi capi da a
attraverso una corrente costante e pari a
. Sappiamo però che nella realtà, man mano che
aumenta, la corrente attraverso diminuisce e la carica del condensatore rallenta. In pratica stiamo sottostimando il ritardo di propagazione.
Prima abbiamo fatto cenno ad una compensazione dell'errore cagionato dall'assunzione che
sia costante; se poniamo
anche al numeratore è vero che stiamo caricando il condensatore con
una corrente costante, ma lo stiamo facendo per un intervallo di tensione di ampiezza minore e ciò riduce
l'errore commesso.
Quando la tensione
passa dal valore
a
)
(
∫
(
,il
passa in regione di triodo.
)
Non possiamo scegliere come estremo superiore d'integrazione
altrimenti l'integrale diverge. Per
risolvere l'inconveniente basta ricordare che l'uscita è considerata alta quando assume un valore maggiore
o uguale di
e imporre tale quantità come estremo d'integrazione. Nuovamente si stabilisce che
, trascurando l'effetto body, ma stavolta l'approssimazione è più accettabile perché all'aumentare di
si fa sentire maggiormente la dipendenza dal termine quadratico
piuttosto che da
.
L'integrale si risolve sviluppandolo in fratti semplici.
(
)
(
)
(
)
⇒
{
L’integrale allora diventa:
∫
Appunti Circuiti Digitali - Unisa
(
)
45
∫
(
)
[ log(
∫
log
)
log(
)
log(
)
log
]
log(
)
log
Possiamo ora scrivere l’espressione di
*
log
+
Quindi il time propagation delay è uguale a:
*
log
+
Cerchiamo di capire su quali parametri si può agire per ridurre .
è una caratteristica del dispositivo e non si può variare. Sicuramente si possono manipolare invece le
grandezze
e , ma ciò è causa di un peggioramento delle caratteristiche statiche, legate a tali quantità.
Per avere variazioni apprezzabili del logaritmo, il suo argomento deve variare sensibilmente e ciò va nettamente a discapito delle caratteristiche statiche correlate a
e
.
È conveniente propendere per un incremento di
che per giunta non impone di dover fronteggiare alcun compromesso con le caratteristiche statiche. Queste ultime, infatti, dipendono da
(rapporto che
deve essere molto maggiore dell'unità), ma l'aumento di
non pregiudica l'opportunità di agire contemporaneamente anche su
in modo da avere allo stesso tempo buone prestazioni statiche e dinamiche. Per avere un ritardo di propagazione di un nanosecondo
deve essere uguale a 10 e per ottenere anche buone caratteristiche statiche
deve essere all'incirca 9 volte
.
Questo non deve però portarci a credere che non esista un limite alla massima velocità della porta EDMOS.
Esso consiste nel livello d'integrazione poiché
e
sono funzioni di
e
e quindi le
dimensioni della porta aumentano al crescere della velocità ed il livello d'integrazione peggiora. Quando si
richiede una porta EDMOS molto veloce si corre il rischio di aumentarne le dimensioni al punto tale da rendere più conveniente, per conseguire un buon livello d'integrazione, l'uso della tecnologia bipolare.
Nella porta EEMOS il MOS di carico è sempre in regione di pinch off ed in essa la carica del condensatore
avviene a corrente non costante, che ha dipendenza quadratica da (perché
non è nulla come
nell'EDMOS). Nella porta EDMOS ,invece ,la corrente si può considerare approssimativamente costante
perché diminuisce linearmente al crescere di , visto che
.
Ciò ci fa capire che la porta EDMOS è senz'altro più rapida di quella EEMOS.
Consumo di potenza
Calcoliamo la potenza statica.
ZeePpe
46
dove
è la corrente assorbita dall'alimentazione quando l'uscita è alta.
Quando l’ingresso è basso nel
non circola corrente, quindi possiamo affermare che:
Siamo in regime stazionario, e le porte a valle non assorbono corrente, quindi
tamente
. Segue immedia-
Quando l'uscita è alta la porta logica non ha consumo statico di potenza.
dove
è la corrente assorbita dall'alimentazione quando l'uscita è bassa.
Se l'uscita è bassa, l'ingresso sarà alto e pari a
e il
sarà acceso.
Applicando Kirchhoff si ha che:
Il
è in regione di triodo(ingresso alto) e l'espressione della corrente è più complicata di quella del
che invece è in regione di pinch off. È più sensato allora considerare
.
può essere approssimata come
perché l'uscita ammonta a pochi decimi di volt e perciò l'effetto
body in questo caso può essere trascurato.
La potenza statica allora è:
Visto che il transitorio dura meno del periodo in cui la porta è a regime
calcolo del consumo di potenza la potenza dinamica.
e dunque trascuriamo nel
Una porta veloce richiede un valore elevato di
, ma come si nota dall'uguaglianza precedente ,ciò
equivale ad aumentare il consumo di potenza.
Consideriamo ora il prodotto ritardo-consumo della porta che rappresenta l'energia necessaria al dispositivo per funzionare.
∗
*
log
+
non dipende da
. Per ridurre
si potrebbe pensare di diminuire la tensione d'alimentazione
, ma ciò ha effetti negativi sui margini d'immunità ai disturbi e sullo swing logico che subisce un decremento proporzionale.
Appunti Circuiti Digitali - Unisa
47
Porte logiche della famigli EDMOS
Il nostro scopo è delineare gli schemi circuitali che ci permettono di realizzare delle funzioni logiche. Finora
abbiamo esaminato esclusivamente le varie soluzioni topologiche per poter implementare un invertitore,
ma è indubbio che per ottenere delle funzioni logiche più articolate è necessario capire come strutturare
anche altre porte logiche come NAND, NOR, XOR, ecc.
Una prima differenza che possiamo cogliere tra le succitate porte e l'invertitore è un numero d'ingressi superiore ad uno. Per incrementare il fan in, considerando che gli ingressi sono collocati in corrispondenza del
Gate del
, è sufficiente utilizzare più di un
collegati in cascata oppure in parallelo (in
modo da avere però una sola uscita).
Porta NOR
Consideriamo innanzitutto il caso in cui i
Se gli ingressi
e
sono entrambi bassi i due
siano collegati in parallelo.
saranno spenti e l'uscita sarà alta.
Se
è basso e
alto il
è spento mentre il
è acceso perciò si ricrea la stessa situazione circuitale della porta NOT. L'uscita sarà per tale motivo bassa.
Se
è alto e
basso ci troviamo in una situazione analoga alla precedente solo che questa volta il
è acceso mentre il
è spento. L'uscita sarà ancora bassa.
Uno sguardo più attento merita la quarta possibile configurazione degli ingressi cioè entrambi gli ingressi
alti. In questo caso entrambi i
sono accesi e collegati in parallelo.
La conducibilità equivalente di due transistori paralleli ed uguali fra di loro (
pio della singola conducibilità.
2
è il dop-
ZeePpe
48
Ciò implica che il canale diventa largo il doppio. Il livello logico basso dell'EDMOS è inversamente proporzionale al rapporto
; dal momento che
è raddoppiato,
è dimezzato. L'uscita in conclu-
sione è bassa ed uguale alla metà del livello logico basso.
La porta realizzata è una NOR in quanto l'unica possibilità di produrre un'uscita alta è avere entrambi gli ingressi bassi.
Per ottenere un numero d'ingressi maggiore di due basta collegare altre porte in parallelo. Non ci sono inoltre controindicazioni legate all'aumento del fan-in.
Il livello logico basso non è
bensì perché l'uscita è bassa non solo quando entrambi gli ingressi sono
alti, ma anche quando lo è uno solo dei due (si considera il caso peggiore). La porta NOR appartiene, come
previsto, alla famiglia logica EDMOS visto che ha gli stessi livelli logici.
Se non si verifica mai il caso peggiore in cui un solo ingresso alla volta è alto, è possibile ridurre il fattore di
forma. Supponiamo ad esempio che su 10 MOS ne siano quasi sempre accesi 2. Anziché realizzare 10 MOS
ciascuno con fattore di forma pari a 9 volte
, si può pensare di ridurlo a 5
. quando i MOS in
parallelo sono accesi due per volta, danno luogo infatti ad un fattore di forma complessivo di 9 volte
.
Se invece fossero accesi sistematicamente 3 MOS per volta il fattore di forma del singolo MOS potrebbe essere 3 dato che quello complessivo dei dispositivi accesi sarebbe 9.
Queste considerazioni sono applicabili solo se si conosce perfettamente il comportamento della porta e
quindi non sono estendibili alle porte general purpose.
Porta NAND
I transistori driver possono essere anche collegati in serie:
Se
il
ed il
sono spenti e l'uscita è alta.
Se invece
e
il
è spento ed il
è acceso. Essendo i due MOS pilota
in serie se il primo non è attraversato da corrente, la stessa cosa varrà per il secondo e viceversa. L'uscita
sarà pertanto ancora alta.
Se tutti e due gli ingressi sono alti, i due MOS saranno contemporaneamente accesi. La conducibilità equivalente dei due MOS in serie è la metà di quella del singolo transistore.
Appunti Circuiti Digitali - Unisa
49
2
La conducibilità di due MOS uguali (
collegati in serie è
Ciò è indice del fatto che la lunghezza del canale raddoppia ed il fattore di forma
livello logico basso è inversamente proporzionale al rapporto
si dimezza. Il
e perciò al dimezzarsi di
raddoppia. Il livello logico basso è
e tale è l'uscita della porta.
Questa porta è la NAND, basta avere un solo ingresso basso per produrre un'uscita alta.
All'interno della stessa famiglia logica tutti i dispositivi dovrebbero avere le stesse caratteristiche(livello logico alto, livello logico basso, time propagation delay, ecc.). In questo caso, pur essendo la porta NAND realizzata in logica EDMOS, non combaciano alcune caratteristiche, come il valore del livello logico basso che è
raddoppiato.
La porta NAND così implementata presenta dei malfunzionamenti.
Per far funzionare adeguatamente la porta bisogna ottenere un
complessivo uguale a 9. Per fare ciò
2
si deve imporre che il
e
siano 18. Partendo da questo assunto il rapporto tra i fattori di for-
ma del collegamento in serie sarà proprio uguale a 9.
Dalle considerazioni messe in luce appare chiaro che esiste un limite al fan in. Per incrementare il numero
d'ingressi si aggiungono ulteriori porte al collegamento in serie. Il fattore di forma di ciascun
diventa
(con
9
) in cui è il numero di ingressi. Il livello d'integrazione peggiora ed il livello logico basso è volte quello delle NOT in logica EDMOS.
Il fan in massimo ammonta a 3.
Tutte le funzioni logiche possono essere realizzate per mezzo della NOR e della NAND. Noi però utilizzeremo solo la porta NOR in logica EDMOS.
Evidenziando i collegamenti di body viene a galla un ulteriore problema della porta NAND: nelle porte NOT
e NOR soffre di effetto body solo il MOS di carico, nella porta NAND anche il MOS pilota. L'effetto body determina una tensione di soglia del
maggiore della tensione di soglia del
. Mentre nel
load dell'invertitore, quando l'uscita è bassa, si può trascurare l'effetto body, nei driver della NAND non si
può.
è acceso se
è acceso se
2
e
2
Consideriamo l’espressione che accende
2
2
ovvero se
.
poiché
2
.
:
2
2
Se in serie avessimo 10
quello in cima, quindi, avrebbe un ingresso a cui si sottrae 9 volte la tensione tra Source e Drain degli altri nella cascata. La tensione di soglia, inoltre, aumenterebbe di una quantità pari a 9 tensioni tra i terminali di Drain e Source. Da ciò segue che anche se l'ingresso fosse alto il MOS in
cima non si accenderebbe provocando un' uscita alta anziché bassa. Si avrebbe un funzionamento scorretto
della porta.
Nelle logiche EDMOS si cerca di utilizzare solo porte NOR. Le NAND si usano solo quando è indispensabile e
con un fan in che raggiunge un massimo di 3.
ZeePpe
50
Per ottenere una AND o una OR basta far seguire alla NAND o alla NOR una porta NOT.
Se si vuole realizzare qualche funzione logica più complessa non si usano per il progetto le mappe di Karnaugh, ma si cerca di ragionare con i circuiti.
Riportiamo un esempio considerando il circuito in figura.
È illustrata una porta con un collegamento in parallelo di
due coppie di transistori in serie (il massimo fan in è rispettato perché il numero di componenti in serie è minore di 3).
Per avere uscita logica bassa devono essere accesi
e
oppure
3
e
.
Con soli cinque componenti abbiamo creato una
AOI(and/or/inverter).
Se avessimo voluto realizzare questa funzione logica attraverso la composizione delle porte NAND NOT e NOR ci
sarebbero volute 6 porte: 2 NAND seguite da 2 NOT, una
NOR ed una NOT per la negazione. Il totale di componenti
da utilizzare, secondo l'indicazione delle mappe di Karnaugh, sarebbe maggiore di 5. Noi ne abbiamo usati solo
5 mettendo mano al circuito piuttosto che ricorrere alle
mappe di Karnaugh.
Le mappe di Karnaugh sono una tecnica deterministica
per ottenere una funzione logica, ma non sono efficienti
quanto un'analisi accurata dei circuiti.
Porta XNOR
Appunti Circuiti Digitali - Unisa
51
In una porta XNOR l'uscita è bassa quando uno solo degli ingressi è alto.
Il Gate di
è collegato al Source di
ed il Gate di
è collegato al Source di
. In questo circuito non c'è la massa.
Dal disegno si evince che:
2
Se
tutti e due i MOS hanno ingresso nullo e quindi sono spenti. L'uscita sarà allora alta.
Se
e
si verifica che
spento poiché
sto caso:
2
e
essendo
negativo e
2
Il
è
è acceso. L'uscita sarà in que2
ed è circa uguale a
. Scriviamo però che l'uscita è perché supponiamo che il fattore di forma complessivo del driver sia il doppio di quello di un singolo transistore; ricordando l'inversa proporzionalità tra e
se
raddoppia
A parti invertite, cioè per
2
Questa volta è il
si dimezza.
e
si ottiene che:
ad essere acceso mentre
e
è spento.
La situazione è analoga a quella precedente.
Non avendo il Source a massa, la porta XOR ha gli stessi problemi della NAND.
ZeePpe
52
Famiglia logica CMOS Complementary MOS
Questa famiglia logica non rientra nella cosiddetta “logica a rapporto”.
Occorre fare una piccola distinzione tra il MOS a canale N e quello a canale P approfondendo ciò che è stato
affermato nei precedenti capitoli.
La struttura di un N-MOS è illustrata nella successiva immagine.
Il semiconduttore è drogato di tipo P mentre si possono individuare le due regioni di Source e Drain in cui si
concentra la carica negativa e che sono quindi fortemente drogate di tipo N. Tra Source e Drain è posto il
canale adibito al passaggio di corrente, il quale però non è possibile realizzare tramite la sola polarizzazione.
La corrente, determinata in questo caso da portatori di carica negativi, circola soltanto se al terminale di
Gate è applicata una tensione “positiva”, maggiore di una certa soglia, e se tra Source e Drain vi è un generatore di tensione.
Nel PMOS, invece, la carica è rappresentata dalle lacune che, più precisamente, sono da intendersi come
privazione di elettroni. Il silicio in questo caso è drogato di tipo N mentre le regioni di Source e Drain sono
fortemente drogate di tipo P. Per far circolare corrente nel canale bisogna innanzitutto causare la polarizzazione attraverso l'applicazione di un potenziale “negativo” (inferiore ad una certa soglia logica, anch'essa
negativa) al terminale di Gate. Successivamente il secondo passaggio consiste nel collegamento di un generatore di tensione tra Source e Drain per mobilitare le lacune.
Anche nell'EDMOS il MOS di carico, che era a svuotamento, aveva una tensione di soglia negativa; c'è da
dire però che i portatori di carica erano degli elettroni,
doveva essere “maggiore” della soglia per avere
corrente ed inoltre per aumentare la quantità di carica nel canale era
necessario incrementare il valore del
Appunti Circuiti Digitali - Unisa
53
La formazione del canale. Una diminuzione della
al di sotto della soglia causava lo svuotamento del canale, che era precostituito attraverso l'impiantazione ionica.
Il MOS a canale P ha una tensione negativa sia come
che come soglia e per avere carica nel canale bisogna impostare la tensione
ad un valore “minore” della soglia. Tanto più piccola è la differenza di potenziale tra Source e Gate rispetto alla tensione di soglia e più il canale è arricchito di cariche.
Ovviamente la prima differenza intuitiva da cogliere tra PMOS e NMOS sta nel verso della corrente visto
che nel primo caso essa è determinata da lacune e nel secondo da elettroni. Nel NMOS la corrente è uscente dal Source mentre nel PMOS è entrante.
Bisogna notare che esiste una certa simmetria tra NMOS e PMOS.
È importante evidenziare che gli indici di conducibilità
tivi NMOS e PMOS con stesso fattore di forma:
ha uguale valore perché l'ossido usato è lo stesso.
non sono necessariamente uguali in due disposi-
e
sono i fattori di forma, questi possono es-
sere uguali per i due dispositivi
.
e
sono un indice della capacità degli elettroni e delle lacune di muoversi. La mobilità delle lacune è inferiore a quella degli elettroni.
Più precisamente vale la relazione:
Ciò è dovuto al fatto che gli elettroni sono delle cariche vere e proprie, di segno negativo, che si muovono
nella zona più esterna dell'atomo. Le lacune, invece, sono un modello fisico cioè simboleggiano una mancanza di elettroni in un legame covalente il loro spostamento è più lento di quello che si avrebbe in caso di
mobilitazione di carica “reale”.
In figura è riportato lo schema circuitale del transistore CMOS. L'acronimo sta per “MOS complementare”
visto che si basa sul collegamento di un NMOS con un PMOS.
Per fare in modo che circoli corrente, le due correnti di Drain del
PMOS e dell'NMOS devono avere lo stesso verso. Nel MOS di tipo
N la corrente circola dal Drain al Source, in quello di tipo P dal
Source al Drain. Per orientarle nello stesso verso si pone il Drain
del PMOS in corrispondenza di quello dell'NMOS ed il Source in alto, come mostrato nella figura.
Il Gate del PMOS deve essere collegato a quello del NMOS. Se lo
collegassimo al Source cortocircuitandolo, si avrebbe che
non sarebbe rispettata la condizione per l'accensione e il PMOS sarebbe sempre spento. Se, viceversa, collegassimo il Gate del PMOS
al Drain otterremmo che
ed il MOS avrebbe esattamente lo stesso problema di prima.
Siccome l'ingresso è applicato ad entrambi i transistori, il PMOS
non è da considerarsi un carico.
L'NMOS è la “rete di pull down” perché attraverso esso il condensatore si scarica, il PMOS è la rete di “pull up” perché per mezzo di esso il condensatore si carica. C'è una
forte simmetria tra PMOS e NMOS: il Gate di tutti e due riceve l'ingresso, il Drain di entrambi è collegato
all'uscita ed i Source sono collegati rispettivamente alla tensione d'alimentazione più alta ed a quella più
bassa.
Mentre l'NMOS è acceso quando l'ingresso è alto ed è spento quando è basso, il PMOS ha un comportaZeePpe
54
mento speculare: è spento quando l'ingresso è alto ed acceso quando è basso.
Il comportamento è molto simile a quello di un invertitore ideale in cui compaiono due interruttori, pilotati
dall'ingresso, uno che si chiude quando è alta e l'altro quando è bassa. Questa struttura, quindi, si avvicina meglio di tutte le altre all'idealità.
Per avere cariche negative nel canale, il body del transistore NMOS deve essere posto alla tensione più bassa del circuito ( ). Per arricchire, invece, il canale del transistore PMOS di lacune, il body deve essere collegato alla tensione più alta del circuito (
).
Ricordiamo che si ha effetto body solo se
è diverso da 0. Nel MOS a canale N
, nel MOS a canale
P
In ambedue i transistori non c'è effetto body .Questo è un altro grande vantaggio
di questo dispositivo.
Ci aspettiamo le caratteristiche più vicine a quelle ideali.
Il circuito è topologicamente simmetrico. Se anche i MOS fossero simmetrici lo sarebbero anche le corrispettive caratteristiche di
ed i margini d'immunità ai rumori sarebbero uguali(
). Nei precedenti dispositivi, invece, la caratteristica di
era spostata verso sinistra ed il margine basso era più piccolo di
quello alto. Ciò indicava che il livello logico basso era più sensibile al rumore di quello alto. La simmetria è
dunque un criterio di qualità molto importante. Rendere i due MOS uguali equivale a dotarli della stessa
conducibilità (
).
Considerato che
,
solo se
in modo da compensare la differenza tra le mobilità dei due MOS con i fattori di forma.
Se i due dispositivi sono perfettamente complementari, nel senso sopra indicato, si realizza l'FCMOS (full
complementary MOS). L'ottenimento dell'FCMOS avviene mediante una riduzione del livello d'integrazione,
visto che, per rendere i due transistori completamente simmetrici, si agisce sui fattori di forma.
Caratteristica di
La caratteristica di
è interamente contenuta nel primo quadrante per il teorema della
non amplificazione (non è possibile avere
tensioni minori della minima tensione d'alimentazione e maggiori della massima tensione d'alimentazione).
Individuiamo le varie aree di lavoro tenendo
conto che:
NMOS è acceso se
, cioè se
NMOS è in p.o. se
, cioè
NMOS è in triodo se
ossia se
PMOS è acceso se
, cioè se
con
PMOS è in p.o. se
, cioè se
→
PMOS è in triodo se
ossia se
→
Le correnti di Gate del PMOS e del NMOS sono nulle a regime per ogni valore di
.
Quindi è possibile trascurare, nello studio della caratteristica
, i dispositivi della stessa famiglia collocati
a monte e a valle.
Il MOS a canale P e quello a canale N sono integrati sullo stesso chip e sono tali da far valere questa relazione tra le rispettive tensioni di soglia:
Appunti Circuiti Digitali - Unisa
55
Per questo motivo possiamo semplificare le formule assumendo
Ingresso compreso tra 0 e
In questa regione si ha che NMOS è spento e PMOS è acceso e in regione di triodo, come si può semplicemente vedere dalla figura precedente.
Come prima cosa dimostriamo che PMOS lavora in triodo.
Supponiamo per assurdo che PMOS sia in pinch off.
Applichiamo la legge di Kirchhoff della corrente al nodo d'uscita del circuito.
perché siamo a regime,
perché NMOS è spento, segue
.
Poiché abbiamo supposto che NMOS è in pinch-off vale, per la corrente, la seguente relazione:
Quindi:
il che non è possibile visto che per ipotesi stiamo lavorando nella regione
È ovvio allora che siamo in regione di triodo.
*
.
+
Possiamo da questa equazione ricavare il livello logico alto. Risolvendo l’equazione si nota subito che
ricordando che
⇒
ZeePpe
56
Il livello logico alto è la tensione d'alimentazione.
Ingresso compreso tra
e
o NMOS pinch-off PMOS triodo
NMOS si accende e per la continuità della caratteristica di
ne, PMOS è ancora in triodo.
Vale ancora la relazione per le correnti:
non può che essere in regione di saturazio-
Sostituendo le espressioni per le correnti dei dispositivi considerando la loro regione di funzionamento:
*
+
È un’equazione di secondo grado nell’incognita
, possiamo dunque risolverla:
√
√
√
, in questa regione, è più grande di
e perciò dobbiamo scegliere il segno + davanti alla radice.
√
Considerando che
√
La caratteristica è una parabola con la concavità rivolta verso il basso.
Calcoliamo il punto a pendenza -1 derivando entrambi i membri dell'equazione rispetto a
che
.
[
Appunti Circuiti Digitali - Unisa
]
ed imponendo
57
Risolviamo rispetto a
:
(
)
Se si usa un full complementary MOS (FCMOS)
(
ed allora
)
è nella forma:
Sostituendo nell'equazione caratteristica e ricordando di ricondurre tutte le soglie allo stesso termine si calcola
.
8
8
3
7
o NMOS e PMOS in pinch-off
Se l'ingresso aumenta ulteriormente PMOS lavora in pinch off, esattamente come NMOS.
La
non compare esplicitamente. Se calcoliamo la derivata dei due membri rispetto a
si perviene a:
⇒
In questa zona, come accadeva nell'EDMOS quando i due MOS operavano in pinch-off, sembra che la pendenza sia infinita. Con l'EDMOS siamo giunti però alla conclusione che non si poteva accettare questo risultato a causa dell'effetto body non trascurabile. In
questa situazione nessuno dei transistori soffre di
effetto body comunque non possiamo considerare
veritiera l'affermazione precedente. Siamo di
fronte ad un limite lampante del modello approssimato a cui ci siamo finora riferiti. Al lato è tracciato l'insieme delle curve relative alla corrente di
Drain in funzione della tensione
e
. Sembra, ad uno sguardo poco attento, che in regione
di saturazione le curve siano orizzontali, ma ciò
non è vero a causa dell'effetto di modulazione del
canale.
In realtà il valore della corrente del dispositivo in pinch-off è:
È allora presente una lieve pendenza della caratteristica che non abbiamo mai considerato. Ora non è più
ZeePpe
58
possibile trascurare l’effetto della modulazione del canale, scegliamo comunque di non tenere conto del
fatto che le caratteristiche non sono perfettamente orizzontali ma ci limitiamo a ritenere la pendenza non
infinita ma elevata in modulo senza calcolarla.
Risolviamo l'equazione precedente rispetto a per calcolare la tensione di soglia
. La tensione di soglia
è il valore dell'ingresso che si ripresenta così com'è in uscita. Si può dimostrare che
quando PMOS
e NMOS sono entrambi in regione di saturazione.
√
√
e
perché il MOS a canale N è acceso. La quantità al secondo membro è positiva, ma quella al primo è negativa perciò per far valere l'uguaglianza dobbiamo scegliere il segno meno davanti alla radice al primo membro.
√
√
√
√
sostituiamo
e
:
√
√
(
√
√
)
(
√
√
)
Nel caso di FCMOS
La tensione di soglia è proprio quella ideale, cioè la metà del livello logico alto.
Se
la tensione di soglia logica è minore di
e la caratteristica è spostata verso sinistra.
Dimostriamolo:
√
Se
è maggiore di
membro cioè
√
, per compensare la differenza e far valere l'uguaglianza, il fattore al secondo
deve essere minore di quello al primo membro
:
Si considera la relazione
e si sostituisce
o NMOS triodo PMOS pinch-off
Partiamo sempre dall’uguaglianza delle correnti:
Appunti Circuiti Digitali - Unisa
.
59
*
+
√
Poiché in questa regione vale
scegliamo il segno meno davanti alla radice
√
Calcoliamo le coordinate del secondo punto a pendenza -1
derivando membro a membro ri-
spetto alla tensione d'ingresso e stabilendo che
[
]
considerando
*(
)
(
)
+
Sostituendo la relazione sopra riportata nell'equazione caratteristica tipica di questa regione, si calcola
.
Considerando un FCMOS in cui
si giunge al risultato riportato in seguito:
8
8
Ricordiamo i valori di
e
5
calcolati anch'essi per l'FCMOS:
8
8
3
7
Ci aspettiamo che i margini d'immunità ai disturbi, inferiore e superiore, siano uguali. Dimostriamolo:
ZeePpe
60
7
8
8
3
8
5
8
Come ci attendevamo la simmetria è perfetta.
Ingresso compreso tra
e
In questa regione PMOS è spento mentre NMOS lavora in triodo.
Dato che il PMOS è spento in esso non circola corrente, quindi:
*
+
Risolvendo l’equazione si ottiene il livello logico basso:
Il livello logico basso è proprio la minima tensione d'alimentazione ovvero 0 V. Questo miglioramento è sostanzioso rispetto alla logica a rapporto in cui
(tensione residua) perché visto che
, lo
swing logico è pieno.
Abbiamo conseguito un guadagno di 0,1 volt sullo swing senza imporre alcun compromesso con il livello
d'integrazione. Con l'EDMOS, invece, un abbassamento della tensione residua comportava un'azione accrescitiva del rapporto
, con un conseguente aumento del fattore di forma del driver rispetto a quello
del load.
Abbiamo precedentemente notato che l'uso di un FCMOS ci garantiva una caratteristica simmetrica e dei
margini d'immunità ai disturbi fra loro uguali, il tutto a discapito del livello d'integrazione. Per rendere i due
MOS (quello a canale N e quello a canale P) uguali bisognava infatti occupare più spazio sul chip per compensare la differenza di conducibilità. Sorge spontaneo un quesito inerente alla convenienza di una tale
scelta. Come si può dimostrare analiticamente, riferendosi ad un caso reale, se si adotta un FCMOS si guadagna, rispetto al CMOS, solo il 12% in termini di , ma si occupa il 50% di spazio in più sul chip con un
drastico ed inaccettabile calo del livello d'integrazione.
Nella quotidianità pertanto il CMOS viene utilizzato senza imporre la simmetria tra i due transistori.
Per quanto riguarda la velocità delle porte, la CMOS è però il 50% più lento rispetto all'FCMOS.
Anche se non si fa uso di un MOS pienamente complementare si ottiene un margine d'immunità basso che
è circa il triplo di quello dell'EDMOS. Questa semplice considerazione mette in luce la superiorità del CMOS
a livello prestazionale in confronto alle famiglie logiche precedentemente trattate.
Rispetto all'EDMOS, il CMOS che è costituito da un MOS a canale P e da uno a canale N, occupa il 10-15% di
spazio in più sul chip di silicio, a parità di fattori di forma, a causa
dell'isolamento elettrico necessario tra i due transistori. L'EDMOS
prevedeva che per migliorare le caratteristiche statiche si agisse sul
rapporto
in modo che fosse maggiore dell'unità ed in genere
ciò comportava una relazione tra i fattori di forma dei due MOS del
tipo
9
.
Se il CMOS ha un rapporto tra i fattori di forma unitario, se indichiamo l'unità di misura con un quadratino, per realizzarlo sono necessari due quadratini, uno per il PMOS
e l'altro per l' NMOS. L'EDMOS ha invece un rapporto tra i fattori di forma pari a 9. Supponiamo che
3e
3 ciò significa che, usando sempre un quadratino per indicare l'unità di misura,
Appunti Circuiti Digitali - Unisa
61
ci vogliono 6 quadratini per realizzare il dispositivo, 3 per il MOS driver e 3 per il MOS pilota.
Da ciò si deduce che per avere prestazioni statiche soddisfacenti, con un minore livello d'integrazione bisogna optare per il CMOS. Se infatti ponessimo a paragone un CMOS ed un EDMOS con lo stesso rapporto tra
le conducibilità dei transistori, l'EDMOS occuperebbe meno spazio, ma le prestazioni statiche sarebbero
pessime. Viceversa se migliorassimo le prestazioni statiche dell'EDMOS aumentando il rapporto
si
avrebbe un peggioramento del livello d'integrazione.
È possibile quindi sostenere la superiorità del CMOS rispetto all'EDMOS sia per quanto concerne il livello
d'integrazione che per le prestazioni statiche.
In sintesi il CMOS ha uno swing pieno, per avere un livello logico basso pari alla minima tensione d'alimentazione non bisogna accettare alcun compromesso circa il livello d'integrazione e la pendenza non dipende
dal rapporto tra le conducibilità, a differenza di ciò che avveniva nell'EDMOS. L'elevata pendenza è causata
dal fatto che esiste una regione in cui entrambi i dispositivi sono in saturazione e che nessuno dei due soffre di effetto body. La ragione per cui la pendenza non è infinita è l'effetto di modulazione del canale che fa
sì che le caratteristiche tensione-corrente non siano perfettamente orizzontali, ma siano leggermente pendenti.
Come abbiamo visto in precedenza la caratteristica di
è costante ed uguale a
per
ed
assume nuovamente valore costante, ma questa volta nullo per
. Se riuscissimo a spostare i
due punti e
rispettivamente verso destra e sinistra produrremmo una caratteristica che si avvicina molto a quella ideale, ma non potrà mai essere esattamente ideale perché ciò sarebbe causa di una
discontinuità non ammissibile nei circuiti reali. Per perseguire questo scopo si sceglie
per
PMOS e acceso e l'NMOS è spento, per
In tal modo
avviene il contrario. In genere il valore della
tensione di soglia si aggira intorno a 1 volt e quindi per rendere la caratteristica prossima a quella ideale bisognerebbe avere una tensione d'alimentazione di 2 volt. Conviene ridurre il valore di
piuttosto che
aumentare la tensione di soglia perché in quest'ultimo caso si avrebbe, come controindicazione, un dispositivo, a parità di
, meno conduttivo; la conducibilità
assumerebbe un valore minore.
Per rendere la caratteristica quasi ideale è sufficiente che
e non si deve imporre alcuna condizio-
ne aggiuntiva sulle conducibilità e sui fattori di forma.
Questo è un ulteriore punto di forza del CMOS rispetto all'EDMOS.
La diminuzione della tensione d'alimentazione si ripercuote sullo swing logico, ma bisogna considerare che
c'è comunque un miglioramento rispetto all'EDMOS. Con
e
, lo swing logico ammonta a
2 volt nel CMOS, nell'EDMOS, invece, per avere uno swing lievemente superiore, pari a circa 3 volt, bisogna
disporre di un'alimentazione molto più grande di 5 volt.
Se sulla base delle considerazioni precedenti si rende la caratteristica quasi ideale, i due margini d'immunità
ai rumori sono uguali e pari proprio a
, il che è un risultato considerevole ottenibile solo con questa fa-
miglia logica.
Il criterio di qualità più importante non è lo swing che è molto penalizzato dalla riduzione di
, bensì il
margine d'immunità ai disturbi che stabilisce in che condizioni i livelli logici possono essere confusi l'uno
con l'altro per effetto dei rumori, in questo caso il margine di immunità ai disturbi non è fortemente penalizzato.
ZeePpe
62
Appunti Circuiti Digitali - Unisa
63
Prestazioni Dinamiche
Nell'analisi delle prestazioni statiche abbiamo omesso di considerare le porte logiche a valle perché sapevamo che a regime stazionario la caratteristica d'ingresso risultava identicamente nulla e perciò le porte
collegate non assorbivano corrente dal precedente stadio. In regime dinamico non è più possibile studiare
ciascuna porta isolata dalle altre e bisogna tenere conto dei comportamenti reattivi capacitivi, tipici dei
componenti MOS, in quanto non valgono più le precedenti considerazioni. Bisogna inoltre sottolineare,
come già fatto in precedenza, che il fan out non influisce sulle caratteristiche statiche ma inficia notevolmente le caratteristiche dinamiche.
Gli effetti reattivi si possono schematizzare attraverso tre capacità per il PMOS e tre per l'NMOS :
,
,
,
,
,
Vogliamo sintetizzare tutti gli effetti reattivi in un'unica capacità, posta in uscita alla porta: .
Pe il teorema di Miller scomponiamo le capacità collegate ai terminali d'ingresso e d'uscita
somma di due componenti una posta in ingresso e una in uscita:
e
sono collegate all’ingresso mentre
e
e
nella
sono collegate all’uscita.
Consideriamo allora tutte le capacità collegate in uscita alla:
,
,
e
. , la capacità equivalente vista all'uscita della porta logica, si calcola come somma delle capacità in parallelo:
Rammentiamo che tutte le capacità non sono lineari, dipendono dalla tensione ai loro capi e dunque non
sono costanti.
Siccome concorrono alla capacità
più capacità rispetto a quelle presenti nell'EDMOS gli effetti reattivi si
fanno sentire maggiormente. Le capacità preponderanti, però, sono quelle dovute ai collegamenti delle
porte a valle. Anche è maggiore della capacità calcolata per l'EDMOS dato che compaiono dei termini,
dovuti al PMOS, che nella precedente famiglia logica non c'erano. Naturalmente è già possibile inferire che
un valore più alto di
e quindi della capacità vista in uscita , si manifesta in una velocità della porta
CMOS inferiore a quella dell'EDMOS.
Ai terminali di uscita della porta logica sono collegate le capacità parallele ciascuna relativa all'ingresso di
ZeePpe
64
una porte a valle. Non ci resta che calcolare al fine di tenere conto anche di tali comportamenti reattivi, la
capacità all'ingresso di una singola porta logica.
risulta essere maggiore di
perchè le componenti della capacità scomposta attraverso il teorema di
Miller, che sono collegate all'ingresso, a differenza di quelle relativa all'uscita, sono moltiplicate per un fattore denominato “guadagno della porta”. Se moltiplichiamo per il fan out , a maggior ragione,
.
Consideriamo allora la
che sarà data dalla somma:
Al calcolo di contribuiscono pertanto le capacità ai terminali d'uscita, le capacità ai terminali di ingresso delle porte a valle e la capacità di linea.
È palese che non si può pensare di agire sulle prestazioni manipolando
che sintetizza tutti i comportamenti reattivi perché, per diminuire e velocizzare la carica e la scarica del condensatore, si potrebbe soltanto diminuire il numero di porte collegate a valle e ciò non avrebbe alcun senso.
, come già sottolineato, non è lineare ed è una funzione crescente di . Possiamo però per rendere più
facile operare su questa quantità, sovrastimarne il valore ponendo
e riferirci a
come ad una capacità costante.
Ritardo di propagazione
Il
è definito come la media tra
e
, ma, come più volte abbiamo fatto notare, per i nostri scopi
è possibile considerarlo come la media tra il rise-time e fall-time. Con questa approssimazione possiamo
considerare l’ingresso della porta come un ingresso ideale.
Proviamo a diminuire il tempo di salita .
Il è misurato quando l'uscita commuta da valore logico basso a alto, quindi, nel caso del transistore
CMOS da a
Affinché il comportamento dell'uscita sia quello appena descritto, l'ingresso istantaneamente muta da livello logico alto a basso, cioè da
a
.
Quando
l' NMOS è acceso mentre il PMOS è spento e
. Viceversa quando diventa l'
NMOS si spegne, il PMOS si accende (regione di triodo) e
diventa
per mezzo della carica del condensatore attraverso la “rete di pull up”.
Se il PMOS è molto conduttivo si carica rapidamente e perciò è ragionevole sostenere che:
Proviamo ora a diminuire il tempo di discesa .
è misurato quando l'uscita commuta da valore logico alto a basso. Affinché il comportamento dell'uscita
sia quello appena descritto l'ingresso istantaneamente muta da livello logico basso ad alto.
Quando
l'NMOS è spento, il PMOS è acceso. Nel momento in cui diventa
l' NMOS si accende
(regione di pinch off), il PMOS si spegne ed il condensatore si scarica attraverso la “rete di pull down”.
Intuitivamente maggiore è la conducibilità dell'NMOS e più rapidamente avviene la scarica e ciò si riflette in
un tempo di discesa minore.
La conducibilità dell'NMOS è correlata a
, possiamo ipotizzare ragionevolmente che:
Appunti Circuiti Digitali - Unisa
65
ATTENZIONE: Abbiamo potuto affermare che al variare “istantaneo” dell'ingresso, il MOS si accendesse e
spegnesse altrettanto “istantaneamente” perché tutti gli effetti reattivi sono stati concentrati nella capacità
d'uscita .
Se
, la quale è una relazione tipica del CMOS, il rise-time è solo un po’ più grande del fall-time e
quest'ultimo non si può trascurare, a differenza di come avevamo fatto per le altre famiglie logiche.
Nel caso in cui il MOS sia pienamente complementare (
) i tempi di salita e di discesa sono addirittura uguali, il che non ci stupisce data la simmetria del circuito.
Quanto detto ci porta a concludere che dobbiamo valutare sia il tempo di salita che quello di discesa per
stimare correttamente il time propagation delay.
Iniziamo con l’analisi del tempo di salita .
In questo caso il circuito da studiare è quello riportati in figura.
Durante la commutazione dell'uscita da livello logico basso ad
alto, il PMOS attraversa una fase in cui è in pinch off ed una in
cui è in triodo. Le due regioni di funzionamento vanno considerate separatamente ed il tempo di salita è esprimibile come
somma di due termini
e
.
Il primo tempo è l'intervallo di tempo in cui il PMOS è in saturazione ed il secondo è l'intervallo in cui è in triodo.
Il PMOS è in pinch off se
cioè se
.
Inizialmente, essendo l'uscita bassa
(
), il MOS a canale P è in pinch off. Applichiamo Kirchhoff al solito nodo ed otteniamo:
Ricordiamo che la caratteristica del condensatore è come quella
sopraindicata perché abbiamo linearizzato la capacità , che cresceva all'aumentare della tensione ai suoi
capi, attribuendole il valore massimo calcolato in
.
∫
∫
Sottolineiamo che
è una quantità costante e quindi indipendente da
siccome il PMOS, esattamente
come l'NMOS, non soffre di effetto body. Pur non essendoci effetto body, come nel caso dell'EDMOS, ci riZeePpe
66
sulta dalla relazione
2 che la carica del condensatore avvenga a corrente
costante. Naturalmente sappiamo che non è vero è che man mano che la tensione ai capi del condensatore
aumenta, l'intensità di corrente diminuisce fino a diventare nulla a regime. Il motivo di questo sorprendente risultato è l'approssimazione compiuta nel momento in cui abbiamo trascurato l'effetto di modulazione
del canale a causa del quale, in regione di pinch off, le caratteristiche corrente-tensione non erano perfettamente orizzontali. Con l'EDMOS la causa a cui avevamo imputato il fatto che la corrente, dall'analisi condotta, sembrava essere costante era l'effetto body sebbene ci fosse anche l'effetto di modulazione del canale. Quest'ultimo non era stato tirato in causa perché aveva molto meno influenza, sulla dipendenza della
corrente dalla tensione di uscita, rispetto all'effetto body.
Quando
arriva a
il transistore smette di lavorare in pinch off e comincia ad operare in triodo.
Conduciamo ora l'analisi del tempo di salita in questa seconda fase.
Partiamo nuovamente dall'equazione:
*
+
Il condensatore, quando il PMOS è in triodo, si carica con una corrente che dipende da
e che quindi non
risulta più, almeno analiticamente parlando, costante. Ciò ci fa capire che la carica del condensatore in questa seconda fase è più lenta che in quella precedente.
∫
∫
L'estremo inferiore d'integrazione è
perché quando
assume tale valore, il PMOS comincia a lavorare in triodo. Quello superiore dovrebbe essere
,ma se così fosse si avrebbe una singolarità matematica
perché il transitorio tenderebbe ad infinito. In realtà il transitorio non potrà mai durare un tempo infinito,
ma anche questo risultato è una conseguenza delle approssimazioni adottate. Per risolvere l'inconveniente
è sufficiente porre come estremo superiore d'integrazione
che è il minimo valore dell'uscita che può
già essere interpretato come livello logico alto.
L'integrale si risolve attraverso una scomposizione della funzione integranda in fratti semplici.
√
√
Appunti Circuiti Digitali - Unisa
67
{
{
∫
∫
[∫
*
(
*
)
(
)
∙
(
(
]
(
(
)+
)+
)
∙
)
(
)
Possiamo ora calcolare il tempo di salita che è dato da:
(
)
Le grandezze su cui potremmo agire per ridurre il tempo di carica del condensatore sono:
,
, ,
. La scelta più conveniente è naturalmente
che deve essere
reso quanto più grande possibile.
L'aumento di
ovviamente si manifesta in un fattore di forma maggiore con una conseguente diminuzione del livello d'integrazione.
Mentre le caratteristica statiche sono indipendenti dal fattore di forma, quelle dinamiche no.
Passiamo ora ad analizzare il tempo di discesa .
Il circuito da studiare in questo caso è quello riportato nella figura a
lato.
Durante il tempo di salita, l'NMOS attraversa una fase in cui è in pinch
off ed una in cui è in triodo. Le due regioni di funzionamento vanno
considerate separatamente ed il fall-time è esprimibile come somma
di due termini
e
.
ZeePpe
68
L'NMOS è in pinch off se
cioè se
Inizialmente, essendo l'uscita alta(
Applichiamo Kirchhoff al solito nodo ed otteniamo:
.
), il MOS a canale N è in pinch off.
∫
∫
Quando
il transistore smette di lavorare in pinch off e comincia ad operare in triodo. Conduciamo ora l'analisi del tempo di discesa in questa seconda fase.
*
+
Il condensatore, quando l'NMOS è in triodo, si carica con una corrente che dipende da
e che quindi non
risulta più “quasi” costante. Ciò ci fa capire che la carica del condensatore in questa seconda fase è più lenta che in quella precedente.
∫
∫
L'estremo inferiore d'integrazione è
perché quando
assume tale valore, il PMOS comincia a
lavorare in triodo. Quello superiore dovrebbe essere , ma se così fosse si avrebbe una singolarità matematica perché il transitorio tenderebbe ad infinito. Si sceglie allora come estremo di integrazione
.
Appunti Circuiti Digitali - Unisa
69
⇒
{
∫
{
∫
[∫
*
log (
]
log (
)
*log (
)
)+
log (
*log (
)
log (
)+
log (
)+
∙
log (
)
)
Si percepisce una certa simmetria tra il tempo di salita e quello di discesa, tali tempi si eguagliano se si utilizza un FCMOS in cui
e
distano della stessa quantità rispettivamente da V
e cioè dal livello
logico alto e basso.
Possiamo ora calcolare
log (
Per ridurre
si sceglie di lavorare su
)
rendendolo il più grande possibile.
Se il dispositivo è un CMOS
Se invece il dispositivo è un FCMOS
5
In ambo i casi si migliora un solo fattore di forma e ciò ha effetti anche sull'altro. Esiste pertanto solo un
modo per fissare i fattori di forma.
Ci troviamo dunque di fronte ad un compromesso: o la porta logica è veloce, ma ingombrante oppure è lenta, ma più piccola.
A parità di fattori di forma, come dimostreremo con un esempio numerico, il CMOS è più veloce dell'EDMOS.
Esiste naturalmente un limite alla massima velocità del CMOS rappresentato dalle dimensioni del transistore. Se la dimensione eccede certi limiti per avere una maggiore velocità ed un più proficuo livello d'integrazione si sceglie di ricorrere, nell'implementazione delle porte, ad un transistore in tecnologia bipolare.
ZeePpe
70
Consumo di potenza
Ricordiamo che la potenza è definita come:
Calcoliamo
considerando che:
dove
è la corrente assorbita dall'alimentazione quando l'uscita è alta.
Quando l'uscita è alta, l'ingresso è basso. Il PMOS è acceso mentre l'NMOS è spento. Applicando Kirchhoff
al nodo da cui si preleva l'uscita si perviene a
Quando l'uscita è alta la porta logica non ha consumo statico di potenza.
dove
è la corrente assorbita dall'alimentazione quando l'uscita è bassa.
Se l'uscita è bassa, l'ingresso sarà alto e pari a
. L'NMOS sarà acceso ed in triodo mentre il PMOS sarà
spento e si comporterà come un aperto. Si avrà allora che:
quindi
Questa porta ha solo consumo di potenza dinamico e dal momento che è maggiore il tempo in cui la porta
è a regime di quello in cui commuta, tale consumo è molto ridotto.
La famiglia logica CMOS è l'unica ad avere un tale comportamento. Ciò è dovuto al fatto che la famiglia logica CMOS realizza quasi la condizione ideale in cui compaiono due interruttori che non sono mai chiusi o
aperti contemporaneamente.
Focalizziamo ora l'attenzione sulla potenza dinamica esprimibile come:
Siccome queste che sono state presentate sono logiche combinatorie e non si basano su di un clock, la è
una frequenza di lavoro calcolata statisticamente.
Il massimo consumo di potenza si verifica quando la porta lavora a frequenza massima. La massima frequenza è l'inverso del time propagation delay. Chi realizza i dispositivi può rendere piccole le capacità interne in modo da ridurre e migliorare le prestazioni.
Possiamo agire, per limitare il consumo di potenza, su
, diminuendolo. Lo swing peggiora, ma linearmente, mentre il consumo di potenza diminuisce quadraticamente. Tale considerazione ci porta ad accettare una lieve riduzione dello swing in cambio di un gran risparmio di potenza.
Mentre il ritardo di propagazione dipende dal fattore di forma , lo stesso non vale per il consumo di potenza.
Consideriamo ora il prodotto ritardo-consumo della porta che rappresenta l'energia necessaria al dispositivo per funzionare.
Nell'espressione del prodotto ritardo-consumo la conducibilità non si elide, non c'è dipendenza da
.
Da ciò e da quanto detto prima si potrebbe dedurre erroneamente che si può avere una porta arbitrariamente veloce, senza dover aumentare il consumo. In realtà ciò non è vero perché considerando
, se
si incrementa la conducibilità e quindi , si mette in atto un'azione accrescitiva della larghezza del canale.
La superficie metallizzata del Gate aumenta della stessa quantità. Ricordiamo che la capacità di un condensatore a facce piane e parallele è pari a
. Se la superficie metallica aumenta, si verifica pertanto anche un
aumento della capacità dell'ossido, cioè quella d'ingresso e quindi anche di
spesa.
Appunti Circuiti Digitali - Unisa
e della potenza dinamica
71
Conclusioni
Abbiamo visto che, a parità di fattori di forma, il CMOS occupa il 50% di spazio in più in confronto all'EDMOS per l'isolamento elettrico tra PMOS ed NMOS, ma è più veloce.
Il CMOS ha tutto sommato caratteristiche statiche e dinamiche superiori a quelle dell'EDMOS, ma quando è
fondamentale assicurarsi un alto livello d'integrazione, nelle espansioni logiche, si propende per l'EDMOS.
Per aumentare il fan in delle NAND e delle NOR implementate in logica CMOS bisogna replicare non soltanto gli NMOS, ma anche i PMOS, mentre le realizzazioni in EDMOS prevedono che si agisca solo sui
.
Il CMOS si usa dunque solo per le porte general purpose, mentre per quelle con numero d'ingressi alto si
propende per la famiglia logica EDMOS.
Le tabelle sottostanti contengono i valori numerici delle principali grandezze in gioco nel caso di un dispositivo reale ed un confronto tra alcuni criteri di qualità dell'EDMOS,CMOS e FCMOS.
EDMOS
CMOS
FCMOS
5
5
5 
5


EDMOS
Pendenza
√
Livello logico alto
Livello Logico basso
Swing logico
Margine d’immunità
ai disturbi
Tensione di soglia
logica
Fall-time Pinch off
Fall-time Triodo
Fall-time
Rise-time Pinch off
Rise-time Triodo
Rise-time
Time propagation
delay
5
5
87
88
577
5
73
6 3
6 3
CMOS
Molto elevata e indipendente dai fattori di forma
5
5
5
795
678
5
3
7
76
76
5
75
5
75
5
3 8
5
6 6
3
FCMOS
Molto elevata e indipendente dai fattori di forma
5 83
9
9 999
5
9 9
7 8
5 93
7 8
5 93
5 93
ZeePpe
72
Consumo di potenza
Livello d’integrazione
Prodotto
ritardo/consumo
Costi
sembra che
l'FCMOS sia più lento dell'
EDMOS, ma bisogna considerare che quest'ultimo ha fattori di forma superiori. A parità
di fattori di forma l'FCMOS è
circa 7 volte più veloce
dell’EDMOS ed ammonta a
meno di 1 ns
è il 50% più veloce del CMOS
10% - 15% più basso di quello
dell’EDMOS
Buono
6
alto
5
Medio a causa del processo di
impiantazione ionica
Appunti Circuiti Digitali - Unisa
7 5
73
ESERCIZIO FCMOS CMOS
𝑉𝐷𝐷
𝑉𝑇
5𝑉
5𝑉
𝜇𝐴
𝑉
𝜇𝑁 𝐶𝑜𝑥
𝜇𝐴
𝑉2
𝜇𝑃 𝐶𝑜𝑥
𝑍𝑁
𝐶𝐿
𝑝𝐹
FCMOS
𝑁
𝑃
𝐾𝑚
𝐾𝑚
𝑃
𝑍
𝑍𝑁
𝑉𝑂𝑙𝑀
5𝑉
𝑉𝑂 𝑚
75 𝑉
CMOS
𝑃
𝐾𝑚
𝑃
𝑍
𝑍
𝑉𝑂𝑙𝑀
678 𝑉
𝑉𝑂 𝑚
795 𝑉
𝑁
𝐾𝑚
𝑁
Calcoliamo il 𝑡𝑃𝐷 :
𝑡𝑓
𝑡𝑃𝐷
𝑡𝑟
Calcoliamolo prima nel caso del FCMOS.
Iniziamo con il calcolare 𝑡𝑓 𝑡𝑓𝑃𝑂 𝑡𝑓𝑇𝑅
𝑡𝑓𝑃𝑂
𝑡𝑓𝑇𝑅
𝐶𝐿
𝑉𝑇𝑁
∙
5
𝑁
𝑁
6
∙
5
𝐾𝑀 𝑉𝐷𝐷 𝑉𝑇
𝐶𝐿
𝑉𝑂𝑙𝑀
𝑉𝐷𝐷
𝑁 log (
𝑁
𝑉𝑂𝑙𝑀
𝐾𝑚 𝑉𝐷𝐷 𝑉𝑇
𝑡𝑓𝑃𝑂
𝑡𝑓
Calcoliamo ora 𝑡𝑟
𝑡𝑟𝑃𝑂
𝑡𝑟𝑇𝑅
𝐶𝐿
𝑃
𝐾𝑚
𝐶𝐿
𝑃
𝐾𝑚
𝑡𝑟𝑃𝑂
𝑉𝑇𝑁
𝑡𝑓𝑇𝑅
6
∙
∙
)
6
6 75
log (
)
7
5
7 8 𝑛𝑠
5 93 𝑛𝑠
𝑡𝑟𝑇𝑅
𝑉𝑇𝑃
𝑉𝐷𝐷 𝑉𝑇𝑃
𝑉𝐷𝐷
𝑛𝑠
𝑉𝑇𝑃
∙
∙
𝑙𝑜𝑔 (
𝑉𝑂
5
6
𝑚
𝑉𝐷𝐷
𝑡𝑟
𝑉𝑇𝑃
𝑉𝑂
𝑡𝑟𝑃𝑂
5
𝑉𝐷𝐷
𝑚
𝑡𝑟𝑇𝑅
𝑛𝑠
∙
∙
)
6
6
6 75
log (
)
7
5
7 8 𝑛𝑠
5 93 𝑛𝑠
Notiamo immediatamente che nel caso di FCMOS 𝑡𝑟 e 𝑡𝑓 sono uguali, quindi
𝑡𝑃𝐷 5 93 𝑛𝑠
Ripetiamo ora il calcolo per CMOS:
𝐶𝐿
𝑉𝑇𝑁
∙
5
𝑡𝑓𝑃𝑂
𝑁
𝑁
6
∙
5
𝐾𝑀 𝑉𝐷𝐷 𝑉𝑇
𝐶𝐿
𝑉𝑂𝑙𝑀
𝑉𝐷𝐷
𝑡𝑓𝑇𝑅
𝑁 log (
𝑁
𝑉𝑂𝑙𝑀
𝐾𝑚 𝑉𝐷𝐷 𝑉𝑇
𝑡𝑓
𝑡𝑓𝑃𝑂
𝑛𝑠
𝑉𝑇𝑁
𝑡𝑓𝑇𝑅
)
∙
∙
6
6
6 73
log (
)
7
678
6 6 𝑛𝑠
5 83 𝑛𝑠
ZeePpe
74
Calcoliamo ora 𝑡𝑟
𝑡𝑟𝑃𝑂
𝑡𝑟𝑇𝑅
𝐶𝐿
𝑃
𝐾𝑚
𝐶𝐿
𝑃
𝐾𝑚
𝑡𝑟𝑃𝑂
𝑡𝑟𝑇𝑅
𝑉𝑇𝑃
𝑉𝐷𝐷 𝑉𝑇𝑃
𝑉𝐷𝐷
𝑉𝑇𝑃
∙
5
6
5∙
5
𝑃
𝑉𝑂 𝑚
𝑉𝑇 𝑉𝐷𝐷
𝑙𝑜𝑔 (
)
𝑉𝐷𝐷 𝑉𝑂 𝑚
𝑡𝑟
𝑡𝑟𝑃𝑂
𝑡𝑟𝑇𝑅
9 𝑛𝑠
∙
5∙
6
6 795
log (
)
7
5
5 𝑛𝑠
Notiamo immediatamente che nel caso di FCMOS 𝑡𝑟 e 𝑡𝑓 sono uguali, quindi
𝑡𝑃𝐷 9 65 𝑛𝑠
Con il COMS si perde circa il 40% di velocità
Analizziamo ora il consumo di potenza.
Come abbiamo visto bisogna calcolare la sola potenza dinamica:
𝑃𝐷 𝑉𝐷𝐷 𝑆𝐿 𝐶𝐿 𝑓 𝑉𝐷𝐷 𝐶𝐿 𝑓
Calcoliamo la potenza per la massima frequenza ammissibile 𝑓:
𝑓
𝑡𝑃𝐷
FCMOS:
𝑓
𝑃𝐷
𝑡𝑃𝐷
𝑉𝐷𝐷 𝐶𝐿 𝑓
68 𝐺𝐻𝑧
5 93 ∙
5∙
∙
∙
68 ∙
𝜇𝐽
CMOS:
𝑓
𝑃𝐷
𝑡𝑃𝐷
𝑉𝐷𝐷 𝐶𝐿 𝑓
9 𝐺𝐻𝑧
9 65 ∙
5∙
∙
∙
9∙
Vediamo che il CMOS consuma quasi la metà della potenza del FCMOS
Appunti Circuiti Digitali - Unisa
7 5 𝜇𝐽
𝑛𝑠
75
Porte Logiche della famiglia CMOS
Il nostro scopo è stabilire quali sono gli schemi circuitali dei componenti basilari che ci permettono di realizzare delle funzioni logiche. Finora abbiamo esaminato esclusivamente le varie soluzioni topologiche per poter implementare un invertitore, ma è indubbio che per ottenere delle funzioni logiche più articolate è necessario capire come strutturare anche altre porte logiche come la NAND, la NOR, la XOR, ecc.
NOR e NAND
Una prima differenza che possiamo cogliere tra tali porte e l'invertitore è un numero d'ingressi superiore ad
uno. Per incrementare il fan in, considerando che gli ingressi sono collocati in corrispondenza del Gate del
PMOS e dell'NMOS, è sufficiente replicarli collegandoli fra di loro in cascata oppure in parallelo (in modo da
avere però una sola uscita).
Quando abbiamo trattato le porte realizzabili in tecnologia EDMOS, abbiamo replicato solo il MOS pilota,
non agendo sul carico. In questo caso non esiste un carico vero e proprio, ma ciascun MOS ha pari ruolo.
L'NMOS è la rete di pull down ed il PMOS è la rete di pull up. Per questa ragione bisogna operare su di entrambi.
Consideriamo innanzitutto il caso in cui gli NMOS sono collegati in parallelo ed i PMOS in serie. I PMOS non
possono anch'essi essere posti in parallelo perché nel caso in cui fossero accesi un PMOS ed un NMOS con-
temporaneamente produrrebbero una corrente talmente elevata da poter essere assimilati ad un aperto. Il
circuito si brucerebbe.
Se gli ingressi
e
sono entrambi bassi i due PMOS saranno accesi, mentre i due NMOS saranno spenti
e l'uscita sarà alta.
Se uno solo degli ingressi è alto sono accesi un PMOS e un NMOS. Visto che i due PMOS sono in serie, è sufficiente che uno dei due sia spento affinché non ci sia conduzione perciò l'uscita è bassa.
Quando gli ingressi sono entrambi alti solo i due MOS a canale N sono conduttivi e perciò l'uscita è bassa.
ZeePpe
76
La porta realizzata è una NOR.
Sembrerebbe che il secondo PMOS della NOR, quando la serie conduce, soffra di effetto body dato
che il Source non è al potenziale
bensì a
.
Se i due PMOS sono accesi ed in tal caso sono in triodo, ambo gli NMOS sono spenti. La corrente
e perciò:
* (
)
+
⇒
Non c'è perciò effetto body, ma ciò è valido SOLO a regime, non durante i transitori.
I transistori NMOS possono essere anche collegati in serie, mentre quelli PMOS sono collegati in parallelo.
Se gli ingressi sono entrambi bassi i due PMOS sono accesi, al contrario gli NMOS sono spenti, quindi l'uscita è alta.
Se uno solo dei due ingressi è alto sono accesi un PMOS ed un NMOS e l'uscita sarà pertanto ancora alta
poiché la serie degli NMOS non conduce mentre il parallelo dei PMOS si.
Se tutti e due gli ingressi sono alti, i due PMOS saranno contemporaneamente spenti mentre gli NMOS saranno ambedue accesi. L'uscita allora sarà bassa.
La porta implementata è una NAND.
Con le porte in logica EDMOS i collegamenti in serie comportavano dei problemi di caduta di tensione, in
questo caso, invece, quando gli NMOS (nella NAND) ed i PMOS (nella NOR) sono in serie e tutti accesi, la
corrente che scorre è nulla perché i transistori collegati in parallelo sono spenti e la corrente assorbita dalle
porte a valle, a regime, è zero. Non si presentano pertanto effetti indesiderati.
A prima vista sembrerebbe che il primo NMOS della serie, facente parte della porta NAND, soffra di effetto
body quando l'altro NMOS è acceso perché
. In realtà sia quando almeno un MOS della serie è spento, sia quando tutti e due gli NMOS sono accesi (dato che i due PMOS sono in contemporanea
spenti), la corrente è nulla e l'effetto body è ininfluente.
I MOS della serie, quando sono accesi lavorano in triodo (dato che l'ingresso è
).
Appunti Circuiti Digitali - Unisa
77
* (
)
+
Quindi il Source dell’NMOS A [ allo stesso potenziale del Body, non c'è effetto body, ma ciò vale SOLO a regime, non durante il transitorio.
Sia nel caso della porta NOR che in quello della NAND, per rendere il fan in maggiore di due basta aumentare, nei collegamenti illustrati, il numero di NMOS e di PMOS.
Dal punto di vista stazionario, la porta NAND e la NOR si comportano allo stesso modo. I dispositivi si differenziano però per quanto riguarda il regime dinamico.
Il fall-time della NOR è dato dalla scarica del condensatore. L'uscita della NOR è il livello logico basso se almeno uno dei due transistori NMOS è acceso. In tal caso la serie dei PMOS non conduce ed il condensatore
si scarica attraverso l'unico NMOS acceso. Il tempo di scarica è inversamente proporzionale alla conducibilità dell'NMOS. Dato che il
della porta NOR è uguale a quello della porta NOT si deduce che :
Questo è il caso peggiore, che è opportuno considerare. Il caso migliore è quello in cui entrambi gli NMOS
sono accesi. In questo caso è come se avessimo due canali uguali collegati in parallelo, e quindi è come se
avessimo un canale largo il doppio. Di conseguenza, raddoppiando la conducibilità del canale N si dimezza il
tempo di discesa e:
Il rise-time della NOR è dato dal tempo di carica del condensatore. L'uscita della NOR è il livello logico alto
se tutti e due i transistori NMOS sono spenti. In tal caso la serie dei PMOS conduce. Essendo entrambi accesi la conducibilità della serie è la metà della conducibilità del singolo dispositivo poiché è come se si avesse
un canale lungo il doppio. Il tempo di carica, che è inversamente proporzionale alla conducibilità del canale,
è raddoppiato rispetto a quello della NOT:
Facendo lo stesso ragionamento per la porta NAND, considerando che questa volta gli NMOS sono in serie
e i PMOS in parallelo otteniamo che:
Caso peggiore per il tempo di salita:
Caso migliore, quando entrambi i PMOS sono accesi:
A questo punto ci chiediamo se convenga raddoppiare il fall-time (nel caso della NAND) oppure il rise-time
(con la NOR). Se la porta è in logica FCMOS
e
. La conseguenza di ciò è che il tempo di
salita e di discesa sono uguali fra di loro. In questa situazione la scelta della porta logica da usare è del tutto
indifferente. Se, invece, si opta per un CMOS,
e
. Il tempo di salita sarà allora circa il
doppio di quello di discesa. Se raddoppiassimo il tempo di salita (il che equivale a fare uso di una porta NOR
realizzata in CMOS), quest'ultimo risulterebbe quattro volte più grande del fall-time ed il
sarebbe all'incirca
.
In alternativa, la duplicazione del tempo di discesa lo renderebbe uguale a quello di salita, riducendo il riZeePpe
78
tardo di propagazione, rispetto alla precedente scelta, ed accelerando dunque la porta. Concludiamo perciò
che conviene più usare una porta NAND in logica CMOS che una porta NOR, contrariamente a quanto visto
nelle logiche a rapporto.
La NAND realizzata con transistori CMOS è migliore della NAND implementata con dispositivi EDMOS perché crea problemi relativi alle prestazioni dinamiche, ma non a quelle statiche. La NAND in logica EDMOS
invece comporta anche un aumento del livello logico basso dipendente dal numero degli ingressi, a meno
che non si aumenti il fattore di forma dei driver.
Anche con i CMOS è utile e più efficace lavorare direttamente sui circuiti senza affidarsi alle mappe di Karnaugh perché un'analisi incentrata solo su di esse porterebbe ad una ridondanza nei componenti assemblati per la realizzazione delle funzioni logiche.
Trattiamo due esempi sulla base dell'affermazione appena fatta:
Si nota che il circuito è contraddistinto da una certa simmetria: ad un collegamento in parallelo di un PMOS con una serie di PMOS si fa corrispondere un
collegamento in cascata di un NMOS con il parallelo di due NMOS. Tale simmetria è fondamentale per il funzionamento del circuito.
Studiamo il comportamento del circuito basandoci sul complesso degli NMOS
e poi concentrandoci sui PMOS.
L'uscita è bassa se è acceso l'NMOS A e se è acceso almeno uno dei due MOS
in parallelo. Un NMOS è acceso se l’ingresso ad esso collegato è alto. Vale pertanto la relazione:
̅
∙
Possiamo da questa ricavare l-espressione valida per il livello logico alto>
̿ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̅ ̅̅̅̅̅̅̅̅̅̅
̅
̅∙ ̅
∙
Si tratta di un AOI (and/or/inverter).
Dimostriamo che si perviene alla stessa espressione logica sopra riportata focalizzando l'attenzione sul comportamento dei PMOS.
L’uscita è alta se il PMOS A è acceso o se entrambi PMOS B e PMOS C sono
accesi. Un PMOS è acceso se l’ingresso ad esso collegato è basso:
̅
̅∙ ̅
Il risultato è uguale a quello ottenuto dall'analisi del comportamento degli
NMOS. Se così non fosse ci sarebbe un errore o di calcolo o di simmetria
nella costruzione del circuito.
Ispezionando il risultato verrebbe da pensare che per realizzare la funzione
logica data, ci sia la necessità di disporre di una AND, una OR e tre NOT. Siccome possiamo produrre solo delle NAND e delle NOR, a ciascuna di esse
bisogna collegare una NOT per ottenere la AND e la OR. In totale sembrerebbe che ai nostri scopi servano 7 porte logiche per un totale di 18 transistori. In realtà, ragionando direttamente con i circuiti ne abbiamo usati solo
6.
Esaminiamo un altro esempio:
In questo caso il PMOS A è in parallelo con PMOS B ed ambedue sono in serie con il parallelo dei PMOS C e PMOS D. NMOS A è in serie con NMOS B ed
entrambi sono in parallelo con la serie NMOS C e NMOS D. Anche in questa
configurazione circuitale si nota simmetria tra i MOS a canale P e quelli a
Appunti Circuiti Digitali - Unisa
79
canale N.
L'uscita è bassa se il complesso degli NMOS conduce oppure se il collegamento dei PMOS non è conduttivo.
La funzione logica che tale circuito è:
̅ ̅ ∙ ̅ ̅
̅
∙
∙
Anche questo è un AOI.
Transmission Gate
Il transmission gate è un interruttore prodotto tramite il collegamento di un NMOS con un PMOS. Il Source
ed il Drain del MOS a canale N sono posti in corrispondenza, rispettivamente, del Source e del Drain del
MOS a canale P.
L'ingresso è posto sul Source e l'uscita sul Drain, ai gate del PMOS e dell'NMOS sono applicati i potenziali
e ̅̅̅ , che sono relativi all'alimentazione.
Per comportarsi come un interruttore deve verificarsi che:
1. Se
allora
(qualunque sia l'ingresso) cioè il
transmission gate è assimilabile ad un cortocircuito;
2. Se
ed il gate corrisponde ad un aperto.
IMPORTANTE Abbiamo supposto che il transmission gate vada ad alimentare, con la sua uscita, delle porte logiche, se così non fosse non
varrebbero le affermazioni appena fatte.
Dimostriamo che il transmission gate funge proprio da interruttore
nell'accezione su indicata.
Consideriamo il caso 1.
e ̅̅̅
Se
In questo caso NMOS è acceso.
̅̅̅
PMOS è spento perché per essere acceso deve essere
con
.
⇒
in cui
dipende dalla regione di funzionamento dell'NMOS.
Affinché valga
deve essere
.
Se a valle ci sono dei Gate, a regime,
. Visto che il PMOS è spento
. Quindi si ha
. Bisogna capire se NMOS lavora in pinch-off o in triodo.
La condizione di pinch-off è:
. Ci aspettiamo che
e affinché ciò
avvenga,
deve essere piccola, quindi non si può essere in regione di saturazione.
Dimostriamolo però in maniera più formale.
é impossibile che
NMOS allora lavora in triodo.
*
+
ZeePpe
80
E perciò:
Se
quindi NMOS è spento.
̅̅̅
, allora PMOS è acceso.
in cui
dipende dalla regione di funzionamento dell’PMOS.
Se a valle ci sono dei Gate, a regime,
. Visto che l'NMOS è spento
. Quindi si ha
La condizione di pinch off è
.
Dimostriamo per assurdo, che il MOS lavora in triodo e non in saturazione.
.
Il PMOS perciò opera in triodo.
*
+
Quindi
Passiamo ora a dimostrare il punto 2.
Iniziamo con il considerare
e ̅̅̅
.
Vogliamo dimostrare che qualunque sia l'ingresso, il Gate si comporta come un aperto e quindi sia l'NMOS
che il PMOS sono spenti indipendentemente dall'ingresso.
Iniziamo con
:
quindi NMOS è spento.
̅̅̅
, anche PMOS è spento.
Se invece
:
NMOS è spento.
̅̅̅
, PMOS è spento.
Il transmission gate trova largo impiego nei circuiti logici.
Per comprendere appieno il funzionamento del transmission gate soffermiamoci ad esaminare un circuito
in cui esso compare. Tale circuito è rappresentato in figura.
Nello schema circuitale sono evidenti un inverAppunti Circuiti Digitali - Unisa
81
titore, la cui uscita è collegata al gate dell'NMOS della porta di trasmissione (transmission gate),una seconda porta NOT dalla quale si preleva l'uscita del circuito ed una transmission gate. Il gate del PMOS della
transmission gate è al potenziale , il quale è anche l'ingresso della prima porta NOT. Alcuni dei dispositivi
soffrono di effetto body, come si palesa evidenziando i collegamenti di body. Gli unici transistori che non
sono affetti da tale problema sono PMOS1 e NMOS1.Le coppie 2 e 3 presentano effetto body solo in determinate circostanze. Se la corrente è nulla non c'è traccia di effetto body, ma ciò vale SOLO a regime, durante il transitorio, invece, esso si percepisce.
Ad esempio nel PMOS3 la tensione di Source non è
, bensì .Quando l'NMOS3 è spento (
), la
3
3
3
corrente di Drain del PMOS3 è
in cui
perchè siamo a regime e
si annulla allo spegnimento del MOS a canale N. Siccome il dispositivo lavora in triodo (lo si può dimostrare pervenendo ad
un assurdo se si considera la corrente di pinch off) si verifica che
3
3
* (
3
3
)
3
3
+
e perciò
3
3
3
3
Ciò implica che 3
.
La tensione tra source e body è nulla.
3
3
Notiamo inoltre che 3
L'ultimo passaggio è valido perché il Gate del dispositivo PMOS3 è il source del PMOS2,mentre il Source del
PMOS3 è il Gate del PMOS2. Sostenere che 3
equivale a dire che se
cioè se PMOS2
3
conduce (purché
sia anche minore della soglia negativa ),
cioè PMOS3 non conduce.
3
Se
anche
perciò i dispositivi possono anche non essere conduttivi contemporaneamente.
Se uno di essi conduce l'altro però è sempre spento.
Lo stesso ragionamento può essere condotto riguardo a NMOS2 e NMOS3. Il Source di NMOS3 è collegato
al Gate di NMOS2 ed il Gate di NMOS3 al Source di NMOS2. Ciò determina che:
3
3
3
Nuovamente ciò ci porta alla conclusione che quando uno dei due, ad esempio NMOS3 è acceso ( 3
3
e( 3
), l'altro è spento(
) e viceversa.
3
I due transistori possono essere in contemporanea spenti se
.
Calcoliamo la tabella di verità e cogliamo l'occasione di denotare che l'ingresso agisce sulla porta NMOS3
in funzione dell'ingresso .
Quando
, l'uscita è , quando invece
, l'uscita differisce da .
Consideriamo il caso in cui
e
l'ingresso della prima porta NOT è . Se
, allora l'uscita sarà
.
è dunque la tensione di Gate
dell'NMOS del transmission gate. Siccome
e ̅̅̅
,il transmission gate è un circuito chiuso
e quindi riproduce in uscita la stessa tensione che vi è in ingresso, ossia che in questo caso è .
Ci aspettiamo che entrambi i MOS dell'inverter collegato all'uscita siano spenti, altrimenti, data l'abilitazione del transmission gate, ci sarebbe un conflitto.
l’NMOS del transmission gate è allora acceso.
il PMOS del transmission gate è spento.
3
3
quindi NMOS3 è spento.
3
3
anche PMOS3 è spento.
Facciamo ora variare mettendoci nella situazione
e
è ancora la tensione di Gate dell'NMOS del transmission gate, allora il transmission gate è un circuito
chiuso e quindi in uscita vi è che in questo caso è
. Ci aspettiamo che entrambi i MOS dell'inverter
collegato all'uscita siano spenti, altrimenti, data l'abilitazione del transmission gate, ci sarebbe un conflitto.
ZeePpe
82
, NMOS2 è spento.
3
, PMOS2 è acceso.
3
3
, NMOS3 è spento.
3
3
, PMOS3 è spento.
Possiamo quindi affermare che quando
l'uscita si ottiene tramite la transmission gate è sarà
.
Cambiamo ora , e analizziamo il caso in cui
e
.
Se
la tensione di Gate dell'NMOS del transmission gate sarà
, siccome allora
e
̅̅̅
, il transmission gate è un circuito aperto. Spostiamo allora la nostra attenzione sulla seconda NOT
che sarà la porta che deciderà l’uscita.
, NMOS2 è spento.
3
, PMOS2 è spento.
3
3
, NMOS3 è spento.
3
3
, PMOS3 è acceso.
Il risultato ottenuto è esattamente quello che ci aspettavamo: i due MOS del transmission gate, che è disabilitato, sono spenti ed affinché l'uscita della NOT a valle sia
, l'NMOS3 è spento ed il PMOS3 è acceso.
Resto solo da valutare il caso
e
.
Il transmission gate è ancora un circuito aperto e quindi l’uscita è dettata dalla seconda porta NOT.
, NMOS2 è spento.
3
, PMOS2 è spento.
3
3
, NMOS3 è acceso.
3
3
, PMOS3 è spento.
Il risultato ottenuto è esattamente quello che ci aspettavamo.
Se
l'uscita si ottiene negando la tensione in ingresso .
Abbiamo allora realizzato una porta XOR.
Appunti Circuiti Digitali - Unisa
83
Circuiti Sequenziali
Introduzione ai bistabili
In questa sezione tratteremo i circuiti elettronici sequenziali ossia quelli la cui uscita dipende non solo
dall'ingresso, ma anche dallo stato. Quest'ultimo è influenzato dai precedenti ingressi del circuito e quindi
lo stato tiene conto in un certo senso della storia del sistema. È dunque ovvio che sia necessario disporre di
dispositivi per la memorizzazione dello stato in maniera permanente. Si vuole cioè che, a meno che non si
verifichino particolari eventi esterni, lo stato resti inalterato.
I dispositivi che consentono di immagazzinare il valore dello stato sono detti “bistabili” in quanto sono caratterizzati da due stati stabili (rappresentati dal livello logico basso ed alto).
I bistabili si suddividono in due grandi categorie:
1. Bistabili sincroni, il cui cambio di stato avviene in funzione di un segnale dli Clock;
2. Bistabili asincroni, in cui lo stato varia solo in base agli ingressi senza alcuna forma di sincronismo.
Nell'ambito della prima categoria si distinguono due classi di bistabili:
1. I latch che mutano stato in corrispondenza dei livelli del segnale di clock;
2. I flip flop che invece mutano il loro stato solo in corrispondenza dei fronti di salita o di discesa del
segnale di sincronismo.
Alla classe dei latch appartengono i tipi SR e D, della classe dei flip flop fanno parte i tipi SR,D,JK e T.
Come si nota i bistabili SR e D possono essere, se sincroni, sia latch che flip flop. In particolare il tipo SR può
anche essere asincrono, ma lo stesso non si può dire del tipo D.
Bistabile SR asincrono
Il più semplice circuito sequenziale a cui possiamo pensare è
quello riportato in figura a lato.
In esso compaiono due porte NOT collegate in modo che l'uscita dell'una sia l'ingresso dell'altra.
Questo circuito è sicuramente consistente, infatti se
allora
. Da ciò scaturisce che
l'uscita della porta NOT 1, essendo l'ingresso , continua ad
essere alta.
È vero anche il contrario, cioè se
allora
e perciò si riconferma il fatto che l'uscita
della prima porta NOT è bassa.
Questo circuito è l'esatto opposto di un circuito sequenziale perché, da quel che si può notare, l'uscita è assolutamente indipendente dall'ingresso. A conferma di ciò in effetti nel circuito non compare alcun segnale d'ingresso.
Il circuito rappresentato può essere pensato come una memoria ad un bit dato che lo stato in cui si trova
permane indefinitamente.
L'implementazione di una simile soluzione circuitale può essere sviluppata sia in logica EDMOS, che in logica CMOS.
Nella prima immagine è rappresentato il loop delle porte NOT in logica EDMOS e nella seconda l'equivalente in logica CMOS. Ribadiamo che l'uscita dipende solo dallo stato del sistema.
ZeePpe
84
Circuiti come quelli sopra riportati non possono essere pilotati e dunque sono di dubbia utilità. Se si
aggiunge però un ingresso per ciascuna porta NOT allora è possibile determinare dei cambiamenti di stato.
Se colleghiamo dei driver in parallelo ai MOS pilota preesistenti, nel loop in logica EDMOS, dotiamo ciascun
invertitore di un ulteriore ingresso. Di fatto abbiamo ottenuto un loop di due porte NOR.
Inizialmente consideriamo gli ingressi
è
.
Siamo praticamente nella situazione di prima delle due porte
NOT, allora lo stato del circuito permane.
Immaginiamo che
, quindi ̅̅̅
.
Vogliamo adesso cambiare lo stato del circuito. Per fare questo
consideriamo ora l’ingresso , se
il MOS collegato è
spento e lo stato della porta non cambia poiché l’uscita della
NOR di sinistra continua ad essere ̅̅̅
. Se invece
il MOS relativo si accende e l’uscita della NOR di sinistra
sarà ̅̅̅
indipendentemente dall’accensione dell’altro MOS
pilota della stessa NOR. ̅̅̅ è anche un ingresso della NOR di destra, quindi ora l’unico ingresso a decidere l’uscita
è
l’ingresso . Se
l’uscita sarà
e avremmo così
cambiato lo stato del circuito. Consideriamo ora
, se co̅̅̅
sì fosse
, quindi si avrebbe che
. Si nota che
porterebbe a una condizione non
prevista dalla porta per questo gli ingressi e non possono essere alti entrambi contemporaneamente.
Non resta da analizzare il caso in cui
e
. In questo caso
detta l’uscita della NOR di
destra imponendo che
In questo modo entrambi i
della NOR di sinistra sono spenti e
̅̅̅
Abbiamo visto che allora è possibile modificare lo stato del circuito andando a variare gli ingressi e .
̅̅̅
Abbiamo considerato nell’esempio una implementazione del circuito in logica EDMOS, ma niente ci vieta di
riprodurre lo stesso circuito in logica CMOS.
Ovviamente per avere due ingressi, per ciascuna porta NOR, bisogna replicare non solo gli NMOS, ma anche
i PMOS.
Appunti Circuiti Digitali - Unisa
85
Se
, che corrisponde alla coppia di
̅̅̅
ingressi proibita, si verifica che
ed il circuito non si comporta come un bistabile.
Se
e
, allora si accende un NMOS
del parallelo della NOR a destra imponendo così
̅̅̅
. ̅̅̅ è collegato in ingresso alla NOR di
destra, dato che anche
, si ha che
Abbiamo “settato” il dispositivo.
Se ora
e
notiamo che non cambia lo
stato del circuito poiché il variare di porta allo
spegnimento di un NMOS e all’accensione di un
PMOS della NOR di sinistra. Il parallelo degli
NMOS continua a condurre essendo l’altro
NMOS, quello regolato dall’uscita
, acceso mentre il parallelo dei PMOS continua a
non condurre perché il PMOS controllato da
resta spento.
Procediamo ora con il “resettare” il dispositivo
imponendo
e
.
va a modificare l’uscita della NOR di
destra e si ha che
, quindi ̅̅̅
.
È possibile realizzare un bistabile SR anche collegando in loop due porte NAND. Questa volta però siccome,
come vedremo, l'ingresso attivo è il livello logico basso, l'uscita della porta il cui ingresso è il SET è , mentre quello della NAND con ingresso RESET è ̅̅̅.
̅̅̅
Riportiamo di seguito i circuiti per un bistabile realizzato con porte NAND realizzati in logica EDMOS (a sinistra) e in logica CMOS (a destra):
ZeePpe
86
C'è una certa complementarietà rispetto alla porta implementata con le NOR, infatti è il livello logico basso
che, questa volta, rende l'uscita alta.
Di solito le uscite di un bistabile
sono indicate con e ̅ .
I bistabili realizzati con porte NOR e NAND hanno due simboli circuitali che si distinguono leggermente tra
loro:
Flip Flop SR sincrono
Il bistabile SR asincrono, sia realizzato con porte
NOR che con porte NAND, incorre in alcuni problemi. Supponiamo che, dato un SR implementato
per mezzo del loop di due porte NOR, il segnale
sia esprimibile come l'operazione logica AND tra
due segnali e e che sia fissato al valore logico basso.
Ipotizziamo inoltre che inizialmente
eB
,
il che equivale a
∙
. Siccome sia che sono livelli di tensione bassi avremo che lo stato dell'SR
resterà immutato.
In un certo istante si determina la variazione del livello dei segnali e che si portano rispettivamente a
e
.
Il problema che sorge è che se la commutazione di avviene prima di quella di , la AND tra e darà
come risultato
. Il bistabile SR, data la configurazione degli ingressi
e
viene settato, cioè il
suo stato diventa 1, ma esso sarebbe rimasto immutato se e fossero cambiati in contemporanea.
Per evitare comportamenti inattesi del circuito sequenziale si dovrebbe fare in modo che i segnali di SET e
RESET vengano analizzati sono quando gli ingressi hanno sicuramente finito di commutare. È palese che occorre stabilire qualche forma di sincronizzazione nel circuito per fare in modo che gli ingressi del bistabile
siano considerati solo quando entrambi hanno assunto un livello logico dotato di una certa stabilità.
La temporizzazione dei bistabili, che dà luogo a flip flop sincronizzati, avviene sulla base di un ingresso di
abilitazione detto “clock”.
Seguendo lo schema della prossima figura si può fare in modo che gli ingressi siano registrati solo quando si
sono stabilizzati cioè quando nessuno dei due sta variando.
Se il clock è basso sia che sono 0 e perciò non si verificano cambiamenti di stato, è come se non
Appunti Circuiti Digitali - Unisa
87
venissero prelevati i valori degli ingressi.
Se
, e sono S' e R'.
Quindi e sono modificabili solo quando
.
Il simbolo circuitale di un flip flop temporizzato è:
Si nota immediatamente che le porte AND non sono state realizzate mediante una NAND e una NOT ma
semplicemente nel caso EDMOS con l’aggiunta di un MOS pilota in serie al SET e uno in serie al RESET, mentre nella logica CMOS sono stati aggiunti anche i corrispettivi PMOS.
I circuiti per il flip flop sincrono SR sono molto simili a quelli dei bistabili SR con le porte NOR.
È ora facile notare che in logica CMOS si utilizzano molti più transistori poiché per ogni ingresso aggiunto
bisogna aggiungere due dispositivi.
ZeePpe
88
Tentiamo ora di realizzare un flip flop sincronizzato ,partendo dal loop di due porte NAND.
Il risultato è delineato in figura:
Questa volta otteniamo i due ingressi di SET e RESET tramite le operazioni logiche:
Siccome il segnale attivo è il livello logico basso e la NAND produce un'uscita bassa solo se tutti e due gli ingressi sono alti, il segnale di abilitazione
deve essere 1 se si vuole che gli ingressi vengano considerati,
altrimenti 0 se si vuole inibirne la registrazione. Non c'è simmetria rispetto al caso precedente.
FLIP FLOP SR CON PORTE NOR
FLIP FLOP SR CON PORTE NAND
Il flip flop si comporta allo stesso modo indipendentemente dal fatto che sia stato realizzato con porte NOR
oppure NAND, infatti per abilitare gli ingressi in entrambi i casi
.
A conferma di ciò, il simbolo circuitale è lo stesso.
Flip Flop D
Le soluzioni fin ora descritte hanno tutte degli ingressi proibiti. I flip flop SR sincronizzati hanno come ingressi proibiti sempre la coppia
, indipendentemente dalle scelte realizzative.
Per evitare ingressi proibiti si potrebbe pensare di ragionare su un SR sincronizzate ed evitare che i due ingressi possano essere uguali. Si potrebbe ad esempio porre all’ingresso il negato di . Questa soluzione
rappresenta il flip flop di tipo D.
̅
Appunti Circuiti Digitali - Unisa
89
Questo dispositivo ha un solo ingresso, indicato con la lettera (che sta per “delay”, infatti le uscite si ottengono con un ritardo di un ciclo di clock), il quale corrisponde al SET del flip flop SR. La versione negata di
, ottenuta tramite un semplice invertitore, è invece fatta corrispondere all'ingresso di RESET. Ovviamente
compare anche un segnale di abilitazione. In questo modo non ci sarà mai il problema di ingressi fra loro
uguali, alti o bassi che siano.
Questa è una memoria ad un bit ed è un circuito sequenziale perché l'uscita è visibile solo quando è alto il
clock visto che solo in tali momenti l'ingresso è catturato.
Si può realizzare un bistabile D anche in forma asincrona, basta omettere la temporizzazione.
Gli schemi logici del flip flop di tipo D con porte NOR e NAND si ottengono, banalmente, da quelli dei dispositivi SET-RESET aggiungendo un inverter e sopprimendo un ingresso.
Flip Flop JK
Se volessimo eliminare la configurazione di input indesiderata preservando però tutti e due gli ingressi potremmo optare, invece, per un flip flop di tipo JK.
Lo schema logico con porte NOR è illustrato in basso. Si nota subito che si parte da un flip flop SR non temporizzato in cui gli ingressi delle AND, che si antepongono al loop delle porte NOR, sono 3 e sono per la
prima porta AND
e ̅ , mentre per la seconda AND gli ingressi sono:
e .
̅
̅
̅
̅
̅
̅
̅
̅
̅
̅
̅
̅
̅
La configurazione J=K=1 non
e proibita perché equivale a
ZeePpe
90
negare lo stato precedente.
Un flip flop JK può essere realizzato anche con porte NAND. In questo caso si parte dal bistabile SR, non
temporizzato, prodotto tramite il loop di due porte NAND e si antepone ad esso una coppia di porte NAND
a 3 ingressi.
In sintesi: se
e
, se lo stato non è già alto, diventa tale altrimenti è lasciato invariato;
se
e
lo stato diventa basso a meno che non lo sia già;
se gli ingressi sono entrambi bassi non si verifica alcuna variazione dell'uscita.
La configurazione
provoca la negazione dello stato presente del flip flop.
IMPORTANTE: per passare da un SR temporizzato ad un JK sincronizzato è sufficiente incrementare il fan in
delle porte d'ingresso!!! Questa considerazione è comune ai flip flop JK prodotti con porte NAND e NOR.
Registro a scorrimento
Le memorie ad un bit trovano largo impiego ed un esempio è rappresentato dai cosiddetti registri a scorrimento.
In figura è illustrato un registro a scorrimento a 3 bit composto da 3 flip flop D, collegati in serie, che indicheremo con
3. 3 è relativo alla cifra meno significativa,
a quella più significativa.
Uno dei due ingressi dei flip flop, comune a tutti, è il segnale di clock. Quando
tutti i flip flop sono
abilitati.
Immaginiamo di voler memorizzare la stringa
. Per riempire i tre registri saranno necessari ovviamente
3 cicli di clock. Inizialmente per impostare a 0 l'ultima cifra si pone l'ingresso
, in questo modo siccome
il flip flop è di tipo D l'uscita
del primo stadio sarà . Tale valore dovrà scorrere fino all'ultimo flip flop
della catena. Al secondo ciclo di clock l'ingresso sarà
e perciò lo stato del secondo flip flop, per effetto
dello scorrimento, sarà , mentre quello del primo, a causa dell'ingresso alto, sarà . Al terzo ciclo di clock,
Appunti Circuiti Digitali - Unisa
91
l'ingresso sarà
e pertanto nel primo flip flop lo stato memorizzato sarà il valore logico basso, nel secondo e nel terzo, attraverso lo scorrimento ci saranno gli stati 1 e 0 rispettivamente.
Il classico problema del registro a scorrimento appena descritto è che quando il clock è alto tutti i flip flop
sono attivi. La durata del clock, conseguentemente, deve essere scelta in maniera oculata. Ciascun flip flop
D è costituito da un SR temporizzato e da una porta NOT ed allora il clock deve essere sufficientemente
lungo da fare commutare la porta NOT, le porte AND in ingresso ed il loop delle porte NOR. Il clock deve
avere una durata minima pari al time propagation delay delle porte. Se però il ciclo di clock dura troppo a
lungo, considerato che sono abilitate contemporaneamente tutte le porte e che ognuna avrà un effettivo
ritardo di propagazione diverso, se i flip flop che seguono il primo sono più rapidi si può avere qualche scorrimento indesiderato.
Flip Flop Master-Slave SR
Il problema degli scorrimenti indesiderati in uno shift-register può essere risolto attraverso i cosiddetti flip
flop master-slave. La memoria ad un bit viene vista come la composizione di due unità, dette “master” e
“slave”. La prima di esse riceve gli ingressi e stabilisce il valore da imporre allo stato, la seconda riceve tale
valore e lo memorizza in maniera persistente. La peculiarità di questo dispositivo sta nel fatto che quando è
attivo il master non lo è lo slave e viceversa.
Un flip flop master-slave è costruito
collegando in serie due flip flop SR
temporizzati. Al primo di essi, cioè al
master, va in ingresso il clock, al secondo ossia allo slave, la negazione
del valore assunto dal segnale di
temporizzazione. In questo modo il
master, quando il clock è alto, riceve
lo stato, che viene trasferito all'unità
slave all'abbassarsi del segnale di
clock.
Questa struttura evita scorrimenti
imprevisti perché l'abilitazione dei master e degli slave, collegati in serie, avviene in maniera alternata, il
master a valle non può ricevere nuovi ingressi se è attivo lo slave che lo precede nella catena.
In precedenza abbiamo visto che è possibile risolvere il problema degli ingressi instabili di un bistabile SR
tramite la temporizzazione, che consiste nell'aggiunta di due porte AND o NAND davanti al collegamento in
loop delle porte NOR e NAND. Ci siamo poi posti il problema di eliminare coppie di ingressi che portavano a
delle inconsistenze e per fare ciò abbiamo progettato il flip flop di tipo D che prevedeva l'aggiunta di una
porta NOT. Siamo poi giunti all'idea del flip flop JK partendo dalla necessità di abolire gli ingressi proibiti
senza però privarsi di uno dei due ingressi del bistabile e per fare ciò abbiamo anteposto ad un SR non temporizzato delle porte AND oppure NAND con un fan in di 3. È nostra intenzione, con l'introduzione dei flip
flop master-slave, risolvere un ulteriore problema che è quello relativo a scorrimenti indesiderati dei bit in
uno shift-register. Con tali nuovi modelli di memoria ad un bit è stato necessario disporre di due unità, il
master e lo slave, le quali erano realizzate con due flip flop SR temporizzati.
In tutti i casi sopra illustrati è evidente che la risoluzione di un inconveniente è causa dell'aggiunta di porte
logiche al circuito con un conseguente peggioramento del livello d'integrazione. Potrebbe inoltre sembrare
che si verifichi un rallentamento del flip flop: prima il cambio di stato avveniva ogni qual volta il clock era
ZeePpe
92
alto, ora invece il clock deve essere prima alto e poi basso per determinare una variazione dello stato. Questo apparente rallentamento, legato allo sfruttamento di un intero ciclo di clock, è relativo, in quanto mentre prima quando il clock era basso il dispositivo non compieva alcuna operazione, ora i tempi di clock sono
completamente utilizzati. In pratica sia con il flip flop tradizionale che con quello master-slave la commutazione impiega un intero ciclo di clock, il quale però è usato più proficuamente dalla seconda categoria di dispositivi.
Per il master-slave si individuano due possibili
simboli circuitali a seconda del livello assunto
dal clock quando avviene il trasferimento del
dato, registrato dal master, nello slave.
Il cerchietto vuoto, nella seconda immagine,
indica che lo stato è visibile quando il clock è
basso. Tale situazione equivale al trasferimento
del dato dal master allo slave. Può però anche
verificarsi il contrario e cioè che il master sia
abilitato quando
e disabilitato, per il trasferimento allo slave, quando
. In questo caso il simbolo circuitale da adottare è il primo nel disegno.
Focalizziamo ora l'attenzione sulla realizzazione del flip flop master-slave con porte NOR. Ricordiamo che
dobbiamo collegare in serie due SR temporizzati abilitando il primo quando
ed il secondo quando
.
Bisogna porre la dovuta attenzione alla collocazione delle uscite del flip flop. Alla NOR dello slave, con ingresso di SET, si collega l'uscita e a quella con ingresso di RESET l'uscita ̅ . Immaginiamo di aver fatto
l'opposto e cioè di avere assegnato alla prima porta NOR dello slave l'uscita ̅ e alla seconda .
Dimostriamo che ciò porta a delle incoerenze.
Supponiamo che
, ̅
e
. Ciò significa che vogliamo memorizzare nello slave il bit 1.
Per avere un'uscita alta il segnale di set dello slave deve essere uguale a 1 e quello di reset a 0 visto che il
bistabile SR è implementato con porte NOR. La presenza della porta NOT fa sì che in ingresso alle AND, che
servono per la temporizzazione dello slave, quando
ci sia il livello logico alto. La prima AND avrà al̅
lora ingresso
e la sua uscita sarà
; la seconda AND avrà in ingresso, oltre al clock alto,
e la sua uscita sarà
. Siccome il bistabile SR è progettato con porte NOR gli ingressi
e
dovrebbero resettare lo stato, ma come abbiamo suggerito in precedenza noi non vogliamo memorizzare nello slave uno stato basso bensì uno alto. Ciò è dovuto all'errore da noi compiuto nel disporre le
uscite.
Appunti Circuiti Digitali - Unisa
93
Flip Flop Master-Slave D
Abbiamo realizzato il flip flop master-slave attraverso un bistabile SR. Il motivo per cui siamo passati dal flip
flop temporizzato a quello master-slave è legato alla necessità di impedire scorrimenti indesiderati in uno
shift-register, pensato come collegamento in serie di flip flop di tipo D. È opportuno conseguentemente
cercare di ottenere dei flip flop MS di tipo D.
A tale scopo è sufficiente porre in ingresso una porta NOT in modo da inviare in input alle due AND, usate
per la temporizzazione, rispettivamente D e la sua negazione logica. Il circuito è riportato in seguito:
L'unica variazione rispetto allo schema precedente è l'aggiunta di una NOT.
Non si aumenta di molto la complessità degli schemi se si aggiungono due ingressi asincroni (cioè che agiscono indipendentemente dal clock) che denominiamo “preset” e “clear”. Essi servono a settare o resettare il flip flop indipendentemente dal clock.
Se
e
lo stato diventa
qualunque siano il clock
e lo stato. Il preset equivale quindi al SET ed è un forzamento
dell'uscita per portare il dispositivo elettronico in condizioni note.
Se
e
lo stato diviene
qualunque siano il clock e
lo stato. Il clear è l'equivalente del RESET e serve ad azzerare lo
stato del circuito per riportarlo alle condizioni iniziali.
I segnali di preset e clear vanno aggiunti in ingresso alle porte NOR
o NAND del master, il preset alla porta con l’ingresso di set mentre
il clear alla porta con l’ingresso di reset.
Il fatto che ambo gli ingressi asincroni siano alti non è un problema poiché il problema viene risolto dal costruttore. In effetti
quando
si è in presenza di un malfunzionamento della porta, il modo in cui l'anomalia è gestita è
indicato sul data sheet del dispositivo e consiste nell'impostare lo stato ad un valore logico basso o alto a
seconda della scelta operata dal costruttore.
Registro a scorrimento con flip flop Master-slave
Lo shift-register, strutturato con l'ausilio di flip flop master slave, è disegnato nell'illustrazione in basso. Abbiamo scelto di collegare in cascata dei flip flop MS di tipo SR, anziché D per risparmiare in termini di livello
d'integrazione. Possiamo infatti ottenere lo stesso risultato, che avremmo con bistabili di tipo D, dotati ciascuno di una porta NOT in ingresso, utilizzando un singolo invertitore collegato al primo flip flop. Se il registro è a 5 bit in pratica abbiamo risparmiato ben 4 porte NOT, che come sappiamo, constano ciascuna di
due transistori MOS. Il livello d'integrazione perseguito è dunque sicuramente più conveniente.
ZeePpe
94
Questo è un ulteriore esempio del fatto che delle volte conviene lavorare con i circuiti anziché con le porte
per ridurre il numero di componenti ed occupare meno spazio sul chip.
Le uscite dei 5 flip flop, Disegnati sopra, sono le uscite dello shift-register. Nel disegno compaiono anche gli
ingressi di preset e clear.
Abbiamo scelto di reinizializzare contemporaneamente tutti i flip flop ed è per questo che vi è una sola linea di clear e di preset per tutti i bistabili. Gli ingressi di preset o di clear possono essere invece diversi per
ogni flip flop in modo da dare la possibilità di settarli o resettarli con valori che possono differire da bistabile a bistabile.
Supponiamo di voler registrare la stringa 01011.
3
5
Per memorizzare stringhe di 5 bit nel registro a scorrimento sono necessari 5 cicli di clock.
All'inizio, in assenza d'ingresso, tutti i bit del registro sono . Affinché l'ultimo bit sia , durante il primo ciclo di clock, l'ingresso deve essere . Dal simbolo del flip flop, dato che non c'è il cerchietto accanto
all'ingresso di clock, si evince che quando
lavorano i master, registrando il dato, quando, invece,
il valore del bit è trasmesso dai master agli slave. In altre parole il flip flop commuta con il clock alto
poiché TUTTI i master sono abilitati con clock basso e gli slave con clock alto. Al secondo ciclo di clock l'ingresso non muta perché anche il penultimo bit deve essere . Quando
il master di FF4 preleva gli
ingressi
e
, il master di FF3 ha in input
e
e tutti gli altri master hanno ingressi
. Nel momento in cui il clock si alza lo slave di FF4 riceve gli stati
e ̅
esattamente
̅
come lo slave di FF3, mentre gli altri slave registrano gli stati
e
. Durante gli altri cicli di clock si
attuano simili operazioni le quali sono sintetizzate nella tabella in alto. Dopo esattamente 5 cicli di clock il
registro contiene il valore desiderato senza alcun pericolo di scorrimenti indesiderati.
Flip flop Master-Slave JK
Finora abbiamo realizzato dei flip flop master-slave sia di tipologia SR che di tipologia D. Siamo interessati
ora a strutturarne uno di tipo JK. Sempre nell'ottica del risparmio di porte logiche scegliamo di rendere JK
solo l'unità master, mentre quella slave è di tipo SET-RESET.
Appunti Circuiti Digitali - Unisa
95
Le due immagini soprastanti sono relative alle implementazioni dei flip flop master-slave JK sia con porte
NOR che con porte NAND.
Di seguito il simbolo circuitale del flip flop master-slave JK:
Divisore di frequenza
Consideriamo ora un'applicazione “analogica” del flip flop master slave di tipo JK appena descritto.
Immaginiamo che il bistabile a nostra disposizione commuti con
il clock alto e che gli ingressi J e K siano permanentemente alti.
Ciò sta ad indicare che ogni qualvolta il clock passa da livello logico basso ad alto, si verifica una commutazione dello stato.
Approssimiamo il segnale di temporizzazione ad un'onda quadra
che varia istantaneamente da un
ZeePpe
96
valore logico all'altro con un periodo pari a T.
Quando
l'uscita, che supponiamo essere inizialmente ,non muta, in quanto il master è abilitato e
riceve gli ingressi, mentre lo slave è disabilitato. Quando il livello del segnale di temporizzazione si alza lo
slave fa variare l'uscita, la quale diventa la versione negata di quella assunta nel precedente semiciclo di
clock.
Il risultato, come si palesa dal disegno a
lato, è un'onda quadra di periodo 2T
ovvero esattamente il doppio del periodo di clock.
La frequenza del segnale in uscita dal
flip flop è perciò la metà della frequenza del segnale di clock. Questa è la principale ragione per cui tale dispositivo è
denominato “divisore di frequenze”.
È fondamentale chiarire un punto della questione. Abbiamo ipotizzato che il clock fosse ideale e che quindi
non avesse una fase transitoria nel passare da un livello logico all'altro. L'uscita, però, dovrebbe essere
sempre caratterizzata da tempi di salita e di discesa non nulli poiché il flip flop, composto da porte logiche,
non è in grado di commutare istantaneamente a causa dei ritardi di propagazione.
Consideriamo ora un caso più realistico in
cui il clock è contraddistinto da un certo
tempo di salita e da un tempo di discesa.
Ricordiamo che in logica CMOS il fall-time
ed il rise-time più o meno si equivalgono,
mentre in logica EDMOS il fall-time è molto
più piccolo del rise-time.
Rappresentiamo sull'asse delle ascisse il
tempo e su quello delle ordinate i valori assumibili dal clock, in particolare , ,
,
. I valori di questi parametri dipendono dalle famiglia logica con cui si opera. Scegliamo inoltre,
contrariamente all'esempio precedente, di associare alla commutazione dello slave ̅̅̅̅ e a quella del master
.
Prima dell'istante temporale , essendo il clock basso, lo slave è acceso.
All'istante il clock, in origine basso, supera il valore
entrando in zona di transizione. La versione negata di
, presumibilmente (omettendo ogni considerazione sui margini) sarà più piccola di
. Sia lo
slave che il master sono quindi spenti. Nell'istante
diventa maggiore di
e ciò significa che il
clock è alto. Il master si accende e lo slave resta spento.
In 3
e Il master si spegne e lo slave resta spento.
In
perciò
, lo slave si accende.
Notiamo che ci sono intervalli di tempo in cui sia il master che lo slave sono spenti, ma nessuno in cui entrambi siano accesi.
IMPORTANTE: è la presenza dei fronti di salita e dei fronti di discesa del clock a far sì che il master e lo slave
non siano mai accesi contemporaneamente, il che impedisce scorrimenti indesiderati.
Appunti Circuiti Digitali - Unisa
97
È di fondamentale importanza la scelta della durata del clock. Sicuramente il periodo di clock non ha un limite superiore, il limite inferiore è invece rappresentato dalla somma del time propagation delay del master e dello slave. Il semiperiodo di clock, infatti, deve essere tale da permettere la commutazione delle unità master e slave.
Il clock serve ad attivare la memorizzazione di un nuovo stato quando si è certi che gli ingressi sono quelli
desiderati. Se però, quando il segnale di abilitazione è attivo, si presentano ingressi non richiesti, lo stato
registrato varia in modo non auspicabile.
Un fenomeno sgradito, che si può verificare, è il cosiddetto “one catching” (catture degli uno). In altre parole se lo slave è in stato di reset e
è a livello alto, l’ingresso è abilitato. In questo modo ogni impulso,
anche brevissimo sull’ingresso porta il master nello stato di SET: è impossibile resettare il registro, perché
l’ingresso è disabilitato dalla reazione proveniente dallo slave. Pertanto, si dice che l’ingresso ha ricevuto un impulso spurio ad 1, che fa commutare il master, il cui stato verrà trasferito allo slave non appena
va a livello basso
La struttura ideale, da utilizzare in queste situazioni, è il flip flop sensibile ai fronti (edge triggered). Questi
bistabili commutano in corrispondenza dei fronti di salita o di discesa, non quando il livello è alto oppure
basso.
Il punto di forza di questi dispositivi è rappresentato dalla commutazione del master e dello slave in intervalli di clock abbastanza brevi da non catturare ingressi indesiderati e sufficientemente duraturi da assicurare che gli ingressi siano presi in considerazione. È necessario evitare ingressi spuri in un intervallo temporale sicuramente più breve.
Flip flop JK sensibile ai fronti
Analizziamo ora la struttura di un flip flop JK sensibile ai fronti (non master-slave) che elimina la possibilità
di registrare ingressi non desiderati. Tale flip flop commuta sui fronti di salita o di discesa del clock, ossia
quando il segnale di abilitazione si appresta a cambiare livello.
Il circuito si compone di un SR temporizzato, implementato con porte NAND (lo si deduce dai cerchietti in
prossimità degli ingressi di set e reset, che impongono che l'ingresso attivo sia il livello logico basso). Le porte NAND, a cui si ricorre per la temporizzazione, presentano agli ingressi due cerchietti che simboleggiano il
fatto che l'uscita è bassa non quando tutti e due gli ingressi sono alti bensì quando tutti e due sono bassi.
Notiamo inoltre che compare una coppia in più di porte NAND rispetto a quelle che avevamo nel flip flop JK
tradizionale. Ricordiamo infatti che in questo flip flop per passare da un SR temporizzato ad un JK temporizzato bastava aumentare a 3 il fan in delle NAND.
Per come e organizzato il circuito e ovvio che la prima coppia di porte NAND e abilitata da
, la seconda da
.
ZeePpe
98
Vogliamo dimostrare che questa struttura e sensibile solo
ai fronti di discesa del clock, non al clock basso.
Supponiamo che l'uscita sia resettata e di volerla settare;
in pratica vogliamo passare da
e ̅
a
e
̅
. Gli ingressi necessari per avere un'uscita che sia
sicuramente alta sono
.
A lato è illustrato il diagramma temporale che sintetizza il
comportamento del flip flop. Abbiamo indicato con e
le uscite delle porte NAND d'ingresso con input rispettivamente e .
Imponiamo che il clock sia inizialmente alto. Visto che
,
e
, , uscita della seconda porta
NAND d'ingresso è alta .Siccome invece
,
,
̅
l'uscita è bassa.
Dal momento che in ingresso alla seconda coppia c'è la
versione negata del clock e che
, e sono entrambi alti. Sappiamo infatti che l'uscita di una porta
NAND è alta se almeno uno degli ingressi è basso e
negato è basso.
e
è la coppia di ingressi ininfluenti in un SR
realizzato con porte NAND. L'uscita resta quindi inalterata
e cioè bassa.
Il clock ad un certo punto si abbassa e ci aspettiamo che
sia questo evento a far commutare il flip flop.
Visto che
,
e
,
continua ad essere alta. Se invece
,
, ̅
l'uscita diventa alta, ma con un ritardo che dipende dal time propagation delay della porta.
Dal momento che in ingresso alla seconda coppia c'è la versione negata del clock e che
, si verifica
prima che commuti da basso ad alto che:
̅̅̅̅
̅̅̅
̅̅̅̅
̅̅̅̅
e
è la configurazione degli ingressi prima che , trascorso un tempo pari a
, commuti da
basso ad alto. diventa uguale a dopo un piccolo ritardo e resta basso per un intervallino di tempo esattamente pari al
della porta.
In seguito si ha che: OJ si alza e
̅̅̅̅
̅̅̅
̅̅̅̅
̅̅̅̅
e
è la coppia di ingressi ininfluenti in un SR realizzato con porte NAND. L'uscita resta quindi
inalterata ed alta.
Se il flip flop è ben progettato, il lasso di tempo in cui
e
è sufficiente a far commutare la porta
che, alla fine avrà uscita alta come ci aspettavamo.
ATTENZIONE: Stiamo lavorando con porte non ideali perciò dobbiamo sempre ricordare che se l'ingresso è
applicato all'istante , l'uscita si presenterà all'istante
.
Infine se
si verifica che: se
e
,
continua ad essere alta. Se invece
, ̅
l'uscita resta alta. Dal momento che in ingresso alla seconda coppia c'è la versione negata del clock e che
Appunti Circuiti Digitali - Unisa
99
, si ha che:
̅̅̅̅
̅̅̅
̅̅̅̅
̅̅̅̅
e
perciò l'uscita non varia e resta alta. Abbiamo constatato che la variazione dell'uscita è imposta solo dal fronte di discesa del clock.
Se avessimo voluto un flip flop JK sensibile ai fronti di salita, avremmo dovuto semplicemente pilotare la
prima coppia di porte NAND con il clock negato.
Il simbolo circuitale di questo bistabile è riportato nella figura seguente.
Il cerchietto accanto al clock simboleggia la sensibilità del flip flop ai fronti
di discesa, mentre il segno di > implica che il flip flop è di tipo edge triggered e non è un semplice JK temporizzato.
Sottolineiamo ancora una volta quanto sia importante la scelta della durata della transizione del clock; essa deve essere almeno pari al time propagation delay delle porte, altrimenti gli ingressi non vengono registrati. Tutte le porte utilizzate appartengono però alla stessa famiglia logica per cui,
calcolato il
di una di esse, esso è valido per tutte le altre. Il calcolo del
ritardo di propagazione è facilitato anche dal fatto che il fan out delle porte è noto ed è unitario.
Flip Flop D sensibile ai fronti
Realizziamo, a partire da un flip flop JK sensibile ai fronti, un flip flop edge triggered di tipo D. Questa volta
però il bistabile è sensibile al fronte di salita, come testimonia la presenza del clock negato in ingresso alla
prima coppia di porte NAND.
Il flip flop è costruito a partire da un SR temporizzato, le cui NAND ricevono ingressi entrambi negati, da
un'ulteriore coppia di NAND per rendere il dispositivo sensibile ai fronti (come avevamo fatto per il JK) e da
due porte NOT.
Uno dei due invertitori permette di passare da un flip flop JK ad uno di tipo D, l'altro ha invece l'importante
funzione di sensibilizzare il flip flop ai fronti di salita invece che a quelli di discesa. Notiamo inoltre che manca la retroazione delle uscite e quindi le NAND più esterne hanno un fan in di 2 anziché di 3.
Rappresentiamo in funzione del tempo tutti i segnali d'interesse per comprendere l'evoluzione dello stato
del flip flop. Ipotizziamo che all'istante iniziale l'uscita sia bassa.
Immaginiamo di voler rendere lo stato del bistabile alto. Per fare ciò deve essere 1 e per non perdere il
valore dell'ingresso, il clock deve commutare prima che vari il livello di tensione in input. Naturalmente
siamo interessati, per le premesse fatte, al fronte di salita del segnale di temporizzazione. Quando in un
primo momento il clock è basso e quindi la sua versione negata risulta alta, l'uscita della prima porta NAND
ZeePpe
100
è il livello logico basso, l'uscita della seconda NAND
è alta.
Ricordiamo, infatti, che l'uscita di una NAND è alta quando almeno uno degli ingressi è basso e nel nostro
caso la prima porta ha due ingressi alti, la seconda ha ̅
e ̅̅̅̅
come input. Per quanto riguarda le
altre due NAND valgono le relazioni:
̅̅̅̅
̅̅̅
̅̅̅̅
̅̅̅
Il bistabile SR, che funge da base per il progetto del flip flop D sensibile ai fronti, è realizzato con porte
NAND e quindi
non determina alcuna variazione dello stato.
Supponiamo che avvenga una commutazione del clock da basso ad alto. La versione negata del clock sarà
bassa. è sempre alto e ne consegue che:
̅̅̅̅
̅̅̅̅
̅
resta alto, mentre
si alza dopo un ritardo pari al time propagation delay della porta NAND.
Per quanto riguarda le altre due NAND prima che
commuti da basso ad alto valgono le relazioni:
̅̅̅̅
̅̅̅
̅̅̅
̅̅̅̅
La configurazione degli ingressi
e
implica che l'uscita
po un tempo dalla variazione di da a pari al
della porta.
Dopo la commutazione di
da basso ad alto si verifica che:
̅̅̅
̅̅̅
debba assumere valore logico alto, do-
̅̅̅̅
̅̅̅̅
Gli ingressi
sono ininfluenti al cambio dello stato,
il quale, pertanto resta alto.
Il dato cambia (diventa basso) e perciò, per registrarne il
valore, il clock, prima che vari di nuovo, deve subire una
commutazione da alto a basso e da basso ad alto. In questo
modo il fronte di salita abilita la lettura dell'ingresso.
Consideriamo quel che accade quando si abbassa ed il
clock è ancora alto. La versione negata del clock è bassa. Si
verifica allora, considerato che ora è basso, che:
̅̅̅̅
̅̅̅̅
̅
Sia
che
restano invariati e perciò
e nessuna
variazione dell'uscita è riscontrata.
Ad un cero punto anche il clock diventa basso, si crea allora
la seguente situazione:
̅̅̅̅
̅̅̅̅
̅
resta alto, mentre
si abbassa dopo un ritardo, a partire
dall'istante in cui il clock è variato, pari al time propagation
delay della porta NAND. Per quanto riguarda le altre due
NAND prima che
commuti da alto a basso valgono le relazioni:
̅̅̅̅
̅̅̅
̅̅̅
̅̅̅̅
Gli ingressi
non hanno effetti sul cambio dello
stato, che resta alto.
Appunti Circuiti Digitali - Unisa
101
Quando
diventa basso si ottiene che:
̅̅̅
̅̅̅
̅̅̅̅
̅̅̅̅
Ancora una volta non si verifica alcuna commutazione, come d'altronde ci aspettavamo visto che il fronte
del clock che abbiamo esaminato è quello di discesa e non di salita.
Avremmo potuto evitare tutte le considerazioni precedenti dicendo che, quando il clock è alto, la versione
negata è bassa e perciò la prima coppia di NAND, avente in ingresso ̅̅̅̅, avrà sempre uscite
e
alte.
Una conseguenza di ciò è che la seconda coppia di NAND, con ingressi ̅̅̅ ̅̅̅
a sua volta produrrà
uscite
che non alterano lo stato del flip flop. Quando
, la sua versione negata è e quindi la prima NAND più esterna, il cui ingresso è
avrà uscita
alta, mentre la seconda NAND, con ingresso ̅
avrà uscita
bassa.
però si abbasserà dopo un ritardo, dall'istante in cui il clock assume
valore logico basso, pari al time propagation delay della porta NAND. Visto che però la seconda coppia di
porte NAND ha ingresso comune ̿̿̿̿
, si avrà che come al solito
e sul fronte di discesa il flip
flop non commuta.
Vediamo cosa accade sul fronte di salita del clock.
Il clock da basso diventa alto e perciò, visto che è ancora il livello logico basso si verifica che le uscite delle due porte NAND sono:
̅̅̅̅
̅̅̅̅
̅
resta alto, mentre
si alza dopo un ritardo, a partire dall'istante in cui il clock è variato, pari al time
propagation delay della porta NAND. Per quanto riguarda le altre due NAND prima che
commuti da basso ad alto valgono le relazioni:
̅̅̅
̅̅̅̅
̅̅̅
̅̅̅̅
passa da 1 a 0 dopo un ritardo, a partire dall'istante in cui il clock è variato, pari al time propagation delay della porta NAND. resta inoltre basso esattamente per un tempo pari a
e poi si rialza. Infatti
quando
diventa basso si ottiene che:
̅̅̅
̅̅̅̅
̅̅̅
Dopo un ritardo dall'istante in cui
̅̅̅̅
si è abbassato che dipende dai tempi necessari alle porte per
commutare, l'uscita diventa bassa e data la configurazione successiva degli ingressi(
) resta tale.
Nel frattempo si è rialzato e per valutarne il nuovo valore assunto bisogna riabbassare e rialzare il clock.
Quando il clock è alto, la versione negata è bassa e perciò la prima coppia di NAND, avente in ingresso ̅̅̅̅,
avrà sempre uscite
e
alte.
Una conseguenza di ciò è che la seconda coppia di NAND, con ingressi ̅̅̅ ̅̅̅
a sua volta produrrà
uscite
che non alterano lo stato del flip flop. Quando
, la sua versione negata è 1 e quindi la prima NAND più esterna, il cui ingresso è
avrà uscita
che si abbassa dopo un ritardo
dall'istante in cui il clock diventa 0, mentre la seconda NAND, con ingresso ̅
avrà uscita
alta. Visto
che però la seconda coppia di porte NAND ha ingresso comune ̿̿̿̿
, si avrà che come al solito
e sul fronte di discesa il flip flop non commuta.
Vediamo cosa accade sul fronte di salita del clock.
Il clock da basso diventa alto e perciò, visto che è alto si verifica che le uscite delle due porte NAND sono:
̅̅̅̅
̅̅̅̅
̅
resta alto, mentre
si alza dopo un ritardo pari al time propagation delay della porta NAND. Per quanZeePpe
102
to riguarda le altre due NAND prima che
commuti da basso ad alto valgono le relazioni:
̅̅̅̅
̅̅̅
̅̅̅
̅̅̅̅
passa da 1 a 0 dopo un ritardo, a partire dall'istante in cui il clock è variato, pari al time propagation delay
della porta NAND. resta inoltre basso esattamente per un tempo pari a
e poi si rialza. Infatti quando
diventa alto si ottiene che:
̅̅̅̅
̅̅̅
̅̅̅
̅̅̅̅
Dopo un ritardo dall'istante in cui si è abbassato che dipende dai tempi necessari alle porte per commutare, l'uscita diventa alta e data la configurazione successiva degli ingressi(
si(
) resta tale.
Il simbolo circuitale del flip flop D sensibile ai fronti di salita è illustrato nella
figura a lato.
Sul clock c'è il segno di > per indicare che il bistabile è sensibile ai fronti però
manca il cerchietto, a differenza del simbolo del flip flop JK precedentemente
illustrato, perché il fronte che determina la commutazione non è quello di discesa bensì quello di salita.
Implementazione del flip flop JK temporizzato master-slave con porte NOR in
tecnologia EDMOS
Notiamo che compaiono anche gli ingressi asincroni che sono attivi quando sono alti e che agiscono direttamente sulle NOR del loop sia del master che dello slave. Ciò significa che gli ingressi di SET e RESET asincroni devono agire sia sul master che sullo slave per avere efficacia.
Supponiamo ad esempio di volere inizializzare il flip flop con lo stato 0, facendo affidamento sul segnale
asincrono di clear. Imponiamo quindi che
e
. Ricordiamo inoltre che l'uscita di una NOR è alta se TUTTI gli ingressi sono bassi. È sufficiente dunque che uno solo dei tre ingressi della porta NOR, a cui è
collegata l'uscita , sia alto per avere
. In questo caso
ed è soddisfatta la condizione che azzera lo stato.
Appunti Circuiti Digitali - Unisa
103
Bisogna però ricordare che il
buon funzionamento del flip
flop prevede che ̅
. Per fare in modo che accada tutti gli
ingressi della porta NOR, collegata a ̅ , devono risultare bassi.
e
, resta da analizzare quindi l'uscita della AND a
monte che deve assumere valore logico basso. È sufficiente a
tale scopo che almeno uno dei
suoi ingressi sia 0. Ma l'unico
ingresso, visto che escludiamo il
clock, su cui possiamo operare,
è l'uscita della seconda porta
NOR del loop del master. Affinché quest'ultima sia bassa, almeno uno degli ingressi deve
essere alto. Per tale ragione
è collegato anche al
master oltre che allo slave.
Cerchiamo di capire la corrispondenza tra le porte logiche
del circuito con i transistori del
circuito a lato.
Prima però notiamo che è immediato separare, nello schema circuitale, il master dallo slave; il primo è dato dall'insieme di transistori,
nella porzione bassa del disegno, che ricevono in ingresso
, lo slave invece è raffigurato più in alto, nella
parte in cui compaiono i transistori che ricevono in ingresso il clock negato. In questo master-slave, infatti,
lo slave commuta solo quando
è basso.
Si nota subito che nel circuito di transistori, in basso a sinistra
è collegato in ingresso a una NOT che può
essere legata alla NOT del circuito logico. È immediato notare che nel circuito di transistori è presente una
seconda NOT, uno dei due invertitori riceve in ingresso il clock e lo nega, l'altro nega la versione negata il
che equivale a rigenerare il valore assunto dall'ingresso. In questo modo riusciamo a “ripristinare il valore
logico” ottenendo così un incremento delle prestazioni dinamiche. Il segnale in ingresso, per essere riconosciuto come alto oppure basso, deve assumere valori maggiori di
oppure minori di
. È possibile accelerare i tempi di carica e scarica dei condensatori, velocizzando così la porta, semplicemente conseguendo uno swing pieno tramite appunto la rigenerazione del valore logico. Praticamente la velocità di una porta dipende dal processo di carica e di scarica dei condensatori se queste capacità devono essere caricate
con
oppure scaricate fino a raggiungere il valore
, ci vuole più tempo di quello richiesto per essere caricate o scaricate con
e . Il prezzo da pagare è l'aggiunta di una porta NOT.
Le porte AND non compaiono nel circuito come collegamento di una porta NAND ad un invertitore, come ci
aspetteremmo. In realtà il comportamento di una AND può essere facilmente riprodotto partendo dal circuito della porta NOR a valle e aggiungendo dei transistori (uno per ogni ingresso della AND) in serie al MOS
pilota il cui ingresso è quello di SET o RESET(in questo caso o ). Per poter individuare agevolmente le
porta AND si può far riferimento ai loro ingressi che sono ,
, ̅e ,
, ed individuare quali sono i
dispositivi con tali input.
Siccome le NOR sono a tre ingressi, i rami in parallelo saranno proprio 3: uno dei MOS pilota riceve il preset
ZeePpe
104
ed il clear, un ramo contiene il MOS il cui ingresso è l'uscita dell'altra NOR del loop e l'ultimo ramo è composto dai transistori che hanno come ingressi i segnali e e quelli che svolgono le stesse funzioni della
AND.
Tutto ciò che è stato descritto finora fa parte del master, passiamo ora ad analizzare lo slave.
Come nel caso del master, nello slave non compare alcuna NAND con una NOT , nuovamente le AND sono
rappresentate da uno dei tre rami, in parallelo, delle porte NOR in loop.
Vale la pena notare che c'è una piccola incongruenza tra circuito logico e quello elettrico. L'uscita della porta NOR con ingressi ̅̅̅̅ e ̅̅̅̅ dovrebbe essere ,invece quella della NOR con ingressi ̅̅̅̅ e
dovrebbe
essere ̅ invece si verifica il contrario. Ci saremmo aspettati anche che la NOR con ingresso di preset avesse
come ramo la NAND con ingressi ̅̅̅̅ e ̅̅̅̅, ma non è così. Compaiono inoltre due NOT in apparenza ridondanti.
Ci occupiamo ora di comprendere l'utilità delle porte NOT esterne. Aggiungendo le due porte NOT otteniamo due scopi. Il più banale è quello di fare in modo che l'uscita della prima NOR dello slave sia e quella
della seconda ̅ . La finalità più importante è tuttavia la riduzione dell'ingombro del flip flop. Come più volte
sostenuto, quando la tecnologia per cui si opta è quella EDMOS le prestazioni dinamiche, in termini di ritardo di propagazione della porta, sono migliori se si riduce il tempo di salita e lo si può fare incrementando il
fattore di forma del carico. Le prestazioni statiche, invece, sono rese accettabili attraverso un rapporto
quanto più grande possibile rispetto all'unità. Manipolare i fattori di forma però è causa di un peggioramento del livello d'integrazione. Inoltre l'azione da compiere per ridurre il time propagation delay è
proporzionale a che dipende dal fan out. Le porte che alimentano un numero molto elevato di dispositivi
della stessa famiglia sono maggiormente affette da ritardi. Questo discorso andrebbe applicato a tutti e tre
i rami della NOR. Dovremmo quindi ampliare le dimensioni del carico e di tutti i driver della NOR con un
aumento smisurato delle dimensioni del flip flop. Introducendo le due porte NOT, è su di esse che bisogna
agire per rendere il dispositivo più celere poiché le porte a valle sono collegate soltano a questo porte NOT
e ciò è certamente più conveniente. Il fan out di ciascuna delle porte NOR è infatti 3 e quindi la capacità di
carico è esigua. Si può a maggior ragione pensare di renderla più piccola. La parte più interna del circuito,
con un limitato fan out, è di dimensioni minori rispetto alle porte NOT esterne.
Nonostante le incoerenze descritte tra circuito elettrico e circuito logico il funzionamento è esattamente
quello desiderato. Le incoerenze derivano da scelte progettuali mirate, poiché è sempre più efficiente effettuare ottimizzazioni sul circuito fisico ragionando sulla sua struttura che ragionando sul circuito logico.
Appunti Circuiti Digitali - Unisa
105
Flip flop D dinamico in logica EDMOS
Il circuito rappresentato è un flip flop D dinamico.
Il dispositivo consta di due porte NOT, in tecnologia EDMOS, collegate in serie e di un transistore il cui Source è collegato al Gate del driver della prima porta NOT. Tale MOS rappresenta una sorta di interruttore. Se
, il transistore è acceso.
Cerchiamo di capire in che regione opera.
Se lavorasse in pinch off sarebbe
.
Se fosse in regione di saturazione si verificherebbe che la corrente di
Drain del MOS interruttore sarebbe nulla poiché è la corrente di Gate della prima NOT a regime. Ciò significherebbe che
e cioè
il che è assurdo.
Il MOS interruttore è allora in triodo con
, il che significa che
. Quindi si ha
, il transistore si comporta come un cortocircuito ovvero come un interruttore chiuso.
Se l'ingresso è tale valore di tensione sarà riportato sul Gate del
della prima NOT. L'uscita sarà
̅ ed andrà in ingresso alla seconda porta NOT, il cui output sarà proprio l'ingresso .
Quando il clock è basso il MOS interruttore è spento e non si può cambiare il dato memorizzato. La tensione di Gate del
della prima NOT resta la stessa perché il MOS interruttore si comporta come un
aperto. Considerando che imporre una tensione fissa al terminale di Gate equivale in un certo senso a caricare un condensatore, con il passare del tempo, se l'interruttore resta aperto la tensione
di si riduce.
Il circuito presentato è dinamico perché il clock non diventa alto solo per cambiare , ma anche per rinfrescare il valore immagazzinato.
Flip flop D edge triggered master-slave realizzato in logica CMOS con
transmission gate
È nostra intenzione tracciare lo schema logico e quello elettrico di un flip flop D, master-slave, il quale prevede l'uso di transmission gate al posto delle porte AND per dare luogo alla temporizzazione.
Soffermiamoci ora sul circuito logico.
ZeePpe
106
Questo flip flop è sensibile ai fronti di salita. Anche in questo caso vi sono degli ingressi asincroni che servono a resettare e a settare lo stato del flip flop indipendentemente dal clock e dagli ingressi.
La prima parte di cui consta il circuito è sicuramente il master e lo si deduce dal fatto che ad essa è applicato l'ingresso . Questa realizzazione si fonda sull'uso di un loop di porte NOR.
Nelle precedenti versioni del circuito abbiamo anteposto a tale collegamento delle porte AND con duplice
ingresso, uno dei quali era rappresentato dal segnale di abilitazione. In questo caso scegliamo invece di
adottare dei transmission gate. Ricordiamo che essi sono degli interruttori, ottenuti collegando il Source ed
il Drain di un MOS a canale N con quelli di un MOS a canale P. L'ingresso è applicato al Source, mentre l'uscita è prelevata dal Drain. I segnali che abilitano l'apertura e la chiusura dell'interruttore sono posti in corrispondenza dei due Gate.
In figura compaiono quattro porte di trasmissione indicate con
,
, 3e
.
e
si chiudono quando il clock è negato e fungono, in tali circostanze, da cortocircuiti. In uscita da
e
, pertanto, sarà riportato l'ingresso se e solo se il clock è impostato al valore logico basso.
e
3 ricoprono la stessa funzione fatta eccezione per il valore del segnale di abilitazione, il quale deve essere alto per determinare la chiusura dell'interruttore e la propagazione in uscita del valore presente in input.
La transmission gate numero 1 fa in modo che l'ingresso sia preso in considerazione solo quando il clock
è negato, cioè quando il master può essere abilitato. È chiaro quindi che
supplisce perfettamente alla
funzione svolta, nei precedenti schemi logici, dalle porte AND.
È presente in ingresso una sola transmission gate per il semplice motivo che questo flip flop prevede un
singolo input.
Abbiamo optato per delle porte di trasmissione perché ci offrono la possibilità di aumentare il livello d'integrazione siccome svolgono gli stessi compiti di due AND al costo di due soli transistori MOS.
Il Gate di trasmissione numero 3, invece, ha lo scopo di propagare l'uscita del master allo slave quando il
segnale di temporizzazione assume il livello logico alto. Questo interruttore opera in sintonia con il transmission gate numero 2 che, solamente quando è disabilitato il master, e quindi si presume che gli ingressi
siano stati già catturati e siano stabili, memorizza in maniera persistente il dato da inviare allo slave, attraverso la retroazione delle uscite delle porte NOR. Il gate numero 4 serve ad evitare cambi di stato dello slave, quando quest'ultimo è disabilitato.
Sappiamo infatti che, mentre gli ingressi del loop della NOR causano eventuali variazioni dello stato, la retroazione delle uscite è causa diretta della sua memorizzazione. Se il transmission gate 4 è aperto tale retroazione non si verifica e lo stato non può essere salvato. Quando
il controllo passa al master e lo
slave memorizza persistentemente il dato recepito, quando
era alto, tramite la chiusura della transmission gate 4 che dà luogo alla retroazione delle uscite delle due porte NOR.
Dal momento che non arrivano ingressi allo slave perché quando agisce il master 3 è aperto, l'uscita dello slave resta la stessa finché il clock non si rialza.
Rammentiamo che gli ingressi asincroni, come nell'implementazione in logica EDMOS, devono essere collegati al contempo al master ed allo slave oppure non si è in grado di modificare lo stato.
Una vistosa differenza rispetto al circuito logico tradizionale sta nella presenza di due porte NOT aggiuntive
collegate all'uscita ed alla sua negazione. Gli invertitori servono anche a sostenere il fan out che il costruttore segnalerà nel data sheet. Le porte che compaiono nella parte più interna del circuito hanno un fan out
noto a priori al progettista. Chi progetta il circuito può quindi assicurare buone prestazioni dinamiche, relative in particolar modo ai ritardi di propagazione, facendo leva su fattori di forma esigui che quindi non
compromettono il livello d'integrazione. Il fan out degrada le prestazioni aumentando gli effetti reattivi, il
che si riflette in una capacità di carico più elevata. Un alto valore di incrementa il tempo di salita e quello
di discesa con drastici effetti sulla loro media che è una stima del ritardo di propagazione. Si può pensare di
compensare il comportamento reattivo delle porte, incrementando le conducibilità e quindi i fattori di forma dei MOS. Naturalmente ciò si riflette in un ingombro maggiore. Le porte logiche, che costituiscono la
parte più interna dello schema circuitale, hanno un fan out che è all'incirca pari a 2 e perciò possono essere
Appunti Circuiti Digitali - Unisa
107
progettate di piccole dimensioni. Se collegassimo le porte a valle direttamente ad esse il fan out aumenterebbe e non potremmo costruire le porte in modo che occupino poco spazio. La presenza dei due invertitori
ci consente di aumentare esclusivamente le loro dimensioni, lasciando invariate le restanti parti del circuito.
Si nota inoltre, osservando il circuito elettronico, la presenza di due NOT, una per negare il clock, per l'abilitazione del master, e l'altra per ripristinare il valore del segnale di temporizzazione, assunto prima della negazione. Lo scopo di tale struttura è la rigenerazione dei valori logici. Sappiamo che l'uscita di un transistore
è considerata alta se maggiore di
e bassa se minore di
Ogni transistore ha degli effetti reattivi
che, come più volte ripetuto, sono sintetizzabili attraverso una capacità di carico . La capacità di carico è
data dalla somma delle capacità visibili in uscita dalla porta, con quelle che esercitano i propri effetti all'ingresso (moltiplicate per il fan out) e con quella di linea cagionata dalle interconnessioni elettriche. Produrre
un certo livello di tensione in uscita equivale a caricare o scaricare il condensatore . La carica di un condensatore avviene tanto più velocemente quanto maggiore è la corrente utilizzata per tali finalità. Essa è
notoriamente espressa dalla relazione
. Pertanto, maggiore è la variazione della tensione ai capi
del condensatore, superiore sarà l'intensità di corrente e quindi la velocità di carica e di scarica. Conviene
dunque caricare il condensatore con una tensione pari a
piuttosto che a
, viceversa se si vuole
scaricare il condensatore, il più repentinamente possibile, è conveniente portare la tensione a 0 volt piuttosto che a
.
Le due porte NOT determinano uno swing pieno e quindi sono funzionali allo scopo appena illustrato.
Analizziamo ora il circuito elettrico cercando di individuare le corrispondenze con lo schema logico.
Le porte NOR possono essere rinvenute nel circuito seguendo le linee relative ai loro ingressi. La prima porta NOR del loop appartenente al master ha come input l'uscita di
o quella di
(a seconda del clock)
e . Gli ingressi della seconda NOR sono
e l'output dell'altra NOR. Il master, nell'immagine sottostante,
ZeePpe
108
è evidenziato in verde e comprende sicuramente anche la transmission gate numero due.
Gli ingressi della prima NOR dello slave sono: , l'uscita di
o quella di 3 mentre la seconda porta
NOR del loop dello slave ha invece in ingresso
e l'uscita dell'altra NOR. Lo slave è evidenziato in blu e
comprende sicuramente anche la transmission gate numero quattro.
In basso a sinistra compaiono i due inverter che rigenerano il segnale di clock per l'attivazione e la disattivazione del master e dello slave. In basso a destra, infine, sono raffigurate le due porte NOT da cui si preleva
l'uscita, al fine di beneficiare di un buon livello d'integrazione della porta.
Appunti Circuiti Digitali - Unisa
109
Flip flop JK in logica CMOS
Il flip flop che analizzeremo ora è un JK in tecnologia CMOS costruito a partire da un bistabile di tipo D.
Il nucleo di questo dispositivo è un flip flop D esattamente come quello descritto precedentemente. Il clock
è collegato direttamente al flip flop, mentre e sono posti in collegamento al bistabile D per mezzo di alcune porte logiche. Per la precisione è fornito dall'uscita di una NOR a due ingressi: uno di essi è l'output
di una AND e l'altro è l'uscita di una NOR. La AND ha per ingressi e la retroazione dell'uscita ,la NOR invece ha in ingresso, oltre che , .
Possiamo già intuire, visto il collegamento di una AND in ingresso ad una NOR, che uno dei rami della NOR,
in tecnologia CMOS, sarà una serie di transistori che svolgeranno la stessa funzione della AND. Più volte abbiamo infatti sottolineato la convenienza di produrre la AND in maniera alternativa rispetto alla soluzione
che la vede costruita come interconnessione di una NAND ad una NOT. Nei dispositivi CMOS ci deve essere
sempre una certa simmetria tra gli NMOS ed i PMOS. Se Gli NMOS della NOR in questione sono distribuiti
su due rami tra di loro in parallelo ed uno dei rami è la serie di transistori, i PMOS dovranno essere disposti
in serie ed un componente del collegamento in cascata sarà il parallelo tra due transistori.
Un'anomalia, rispetto al JK che conosciamo, sta nel fatto che la NOR che riceve in input l'ingresso ha come
secondo ingresso anziché ̅ .§
Segue l'immagine del circuito elettronico corrispondente a tale schema logico:
Riportiamo nella figura seguente le corrispondenze tra schema logico e circuito elettrico.
ZeePpe
110
Conclusioni
Vale la pena ribadire che cosa comporti l'appartenenza ad una data famiglia logica. Se un circuito, combinatorio o sequenziale, è costruito assemblando porte logiche di una specifica famiglia NECESSARIAMENTE tutti i parametri che lo caratterizzano devono essere quelli della famiglia logica scelta.
Nei flip flop master-slave sia in tecnologia EDMOS che in quella CMOS comparivano delle porte NOT, in apparenza superflue, all'uscita. Abbiamo già spiegato che il loro scopo è sostenere il fan out per fare in modo
che il flip flop abbia
ed altre caratteristiche conformi a quelle della famiglia a cui afferisce.
È stato anche possibile constatare la superiorità dei CMOS rispetto agli EDMOS. Per garantire che il livello
logico basso e quello alto dei flip flop sia proprio quello della famiglia, nel caso dell'EDMOS, bisogna agire
sui fattori di forma dei transistori; lo stesso non vale per i CMOS in cui
e
sono fissi. I fattori di forma dei dispositivi CMOS devono essere manipolati solo per assicurare determinate prestazioni dinamiche, ma quelle statiche non dipendono dal valore di Z
.
Appunti Circuiti Digitali - Unisa
111
Memorie a semiconduttore
I flip flop sono di fatto una semplice memoria ad un bit. Per ottenere un dispositivo di memorizzazione a
più bit abbiamo progettato un registro a scorrimento con l'ausilio di un collegamento in serie di flip flop D
master-slave. L'implementazione in tecnologia CMOS di un singolo flip flop di tipo D master slave, sensibile
ai fronti, richiede l'uso di ben 32 transistori MOS. Naturalmente 32 transistori per l'immagazzinamento del
valore logico di un solo bit sono eccessivi.
È ovvio quindi che è nostra intenzione fare un uso più parco dei MOS per ridurre le dimensioni delle memorie. L'ideale sarebbe utilizzare un solo transistore per ogni bit da memorizzare in modo da avere un dispositivo di memoria, capace di contenere qualche byte.
Mentre il progettista del software ragiona in termini di word e byte, quello dell'hardware ha il delicato
compito di stabilire come garantire la possibilità di operare su di un singolo bit. I due progettisti lavorano
quindi a livelli di astrazione differenti.
Le unità di elaborazione di un calcolatore, pur essendo più complesse, possono elaborare una mole di dati
minore rispetto a quella destinata ad una memoria. La memoria dunque, a causa della sua capacità superiore a quella delle altre componenti del calcolatore, tenderà ad occupare più spazio. Per realizzare un
computer di piccole dimensioni è palese, di conseguenza, che bisogna porsi il problema di rendere le memorie capienti, ma al contempo quanto più piccole, veloci ed economicamente convenienti possibile.
Da quanto detto si evince che il registro a scorrimento è un pessimo modello di memoria e ciò non soltanto
per il dispendio di componenti per la sua realizzazione, ma anche perché per memorizzare ad esempio 1 Kb
sarebbero necessari 1000 cicli di clock, un tempo eccessivamente lungo.
Cerchiamo di immaginare una struttura differente dal registro a scorrimento che funga da valida alternativa. Una possibile evoluzione dei registri studiati è mostrata in basso e prevede l'uso di flip flop master-slave
(per distinguere la fase di scrittura da quella di lettura) e l'assoluta assenza di scorrimenti.
Supponiamo che il clock alto abiliti il master mentre quello basso attivi lo slave. Il segnale
di abilitazione può servire per stabilire se il dato debba essere letto oppure scritto in memoria: se ad esempio il clock è alto, visto che è il master ad essere in funzione, il dispositivo memorizza il dato, quando invece il clock è basso, essendo lo slave in funzione, si può
accedere alla memoria in lettura. Con questa struttura abbiamo risolto i problemi legati
alla tempistica ossia è sufficiente un solo ciclo di clock per far commutare sia il master che
lo slave e memorizzare oppure leggere lo stato. Un modello del genere, basato sui flip
flop D master-slave, richiede però un numero di dispositivi per la sua creazione ancora
troppo elevato (32 per bit memorizzato).
Uno schema di memoria che occupa meno spazio è quello RAM(random access memory).
La RAM consente di accedere in modo non
sequenziale alle celle di memoria, il che significa che, anziché scorrere la memoria fino alla
locazione desiderata, si può direttamente
pervenire ad un insieme di celle per mezzo di
un indirizzo.
La componente saliente della RAM è il
core in cui sono contenuti i dati.
Il core della RAM si sviluppa come una matrice di
∗
celle. L'indirizzo per accedere
alla memoria viene scisso in due parti inviate
rispettivamente ai decodificatore di riga e
decodificatere di colonna. Se le righe sono
ZeePpe
112
e le colonne
ovviamente ci vorranno bit per indirizzare la riga e bit per individuare una o più colonne. È possibile sia selezionare tutte le colonne di una riga che una sola, in quest'ultimo caso si legge solo
un bit. Si può anche scegliere di leggere o scrivere, nell'ambito di una riga, un byte per volta.
Per avere un indirizzo di riga ed uno di colonna di 8 , il CORE dovrebbe constare di più di 65
celle il
che richiederebbe, se non trovassimo un'alternativa ai flip flop, 3 ∙ 65
transistori.
L'utilizzo di un solo transistore per bit sicuramente ci pone di fronte a dei compromessi cioè bisogna rinunciare alle prestazioni sia statiche che dinamiche. Rinunciare allo swing logico pieno è però impensabile se si
parte dal presupposto che i dati estrapolati dalla memoria dovranno essere elaborati dal processore.
L'unità di elaborazione, infatti, deve essere in grado di interpretare istruzioni e dati caricati dalla memoria
in maniera non ambigua. Per questo motivo se si opta per l'utilizzo di un singolo transistore per la memorizzazione di un bit bisogna essere forniti di un blocco funzionale per il ripristino dei valori logici. In caso contrario non si manterrebbe lo stesso swing logico per ogni MOS associato ad un bit.
Ricapitolando la RAM è costituita da una matrice di celle, da un decodificatore di riga, da un decodificatore
di colonna, da un blocco che stabilisce se l'accesso debba avvenire in lettura oppure in scrittura ed infine da
un sistema per la rigenerazione dei livelli logici.
Il circuito di lettura e scrittura ha in sostanza sia lo scopo di permettere il caricamento o la lettura di un dato in memoria che quello di rendere le informazioni, tratte accedendo alla memoria, comprensibili agli organi del calcolatore che ne fanno richiesta.
Se siamo in tecnologia EDMOS, per esempio, i circuiti elettronici succitati devono fare in modo che il livello
logico basso sia sempre di
e quello alto sia pari alla tensione d'alimentazione.
Non si può estendere il ragionamento al time propagation delay in quanto è ovvio che per la capienza e
complessità della memoria, il suo ritardo non può essere identico a quello di dispositivi della stessa famiglia, sicuramenti più elementari, come la porta NOT.
Stiliamo una classificazione delle RAM.
Le memorie RAM si dividono in:
1. Memorie a sola lettura (ROM=read only memory);
2. Memorie a lettura e scrittura;
Anche se si tratta di un abuso terminologico oggigiorno si tende a chiamare RAM i dispositivi di memorizzazione accessibili sia in lettura che in scrittura. Sappiamo però che in realtà anche le ROM sono memorie
RAM. La principale differenza tra ROM e RAM è che le prime sono permanenti cioè i dati restano immagazzinati anche in assenza di alimentazione elettrica. Lo stesso non si può dire delle RAM.
Nell'ambito delle ROM distinguiamo inoltre:
1. le PROM (programmable read only memory) che possono essere programmate prima del montaggio sul calcolatore e non sono general purpose;
2. le EPROM (erasable programmable read only memory) che sono più costose e complesse delle precedenti a causa della funzione aggiuntiva di cancellazione, attraverso esposizione ai raggi ultravioletti, che permette di riprogrammare il dispositivo;
3. le EEPROM (electrically erasable programmable read only memory) che risultano quelle economicamente più dispendiose, ma permettono la cancellazione anche di un solo bit mediante processi
elettrici anziché con raggi ultravioletti.
Appunti Circuiti Digitali - Unisa
113
Parametri relativi alla tempistica della memoria
È possibile definire alcuni parametri temporali che riguardano le operazioni svolte dalla memoria.
È detto “tempo di ciclo” l'inverso della frequenza alla quale la memoria viene pilotata. Esso è l'intervallo
temporale che intercorre a partire dal cambio dell'indirizzo per l'esecuzione delle operazioni di lettura e
scrittura della memoria. È in un certo senso l'equivalente del time propagation delay delle porte logiche.
Si definisce “tempo d'accesso in lettura” il tempo che trascorre tra l'istante in cui è inviato l'indirizzo e
quello in cui è fornito il dato in uscita dalla memoria. Il tempo d'accesso in lettura è una parte del tempo di
ciclo.
Infine definiamo “tempo d'accetto in scrittura” il tempo trascorso tra il cambio d'indirizzo ed il passaggio
del segnale, che abilita la scrittura, da basso
ad alto. Anche questo tempo rientra in
quello di ciclo.
I dati immagazzinati in memoria devono restare costanti durante il tempo di ciclo e a
tale scopo quando è affermato il segnale di
lettura quello di scrittura è negato e viceversa. Non si vuole rischiare di leggere un
dato mentre lo si sta scrivendo.
Memoria ROM con struttura a NOR
L'immagine mostra una ROM, quindi un dispositivo di memoria di sola lettura, realizzata secondo lo “schema a NOR” in tecnologia EDMOS.
ZeePpe
114
Il disegno rappresenta una porzione molto esigua di una memoria, ma ci permette di capire come essa sia
strutturata. Come anticipato, il CORE si articola come una matrice che, in questo caso, consta di 3 righe e 6
colonne. Ogni colonna è dotata di un solo dispositivo di carico che è un MOS a svuotamento, mentre il numero di driver varia in base alla specifica colonna. Questa osservazione ci fa già intuire che se ogni riga contiene un dato espresso in 6 , la presenza o l'assenza di un driver all'incrocio tra la riga e ciascuna colonna
serve ad indicare se la cella di memoria contiene uno zero oppure un uno. Trattandosi di uno schema a
NOR, possiamo già anticipare che la presenza di un driver è indice dell'immagazzinamento di un valore logico basso in una certa locazione, mentre l'assenza rappresenta un valore logico alto. Avremo modo di dimostrare questa affermazione.
Cerchiamo ora di capire per quale ragione la struttura presentata è detta “a NOR”. I MOS pilota di ogni colonna sono fra di loro in parallelo e ciò contribuisce ad assimilare il MOS a svuotamento, corredato dell'insieme dei MOS driver, ad una porta NOR in logica EDMOS.
Quando si intende leggere un dato dalla memoria bisogna innanzitutto individuare una ed una sola riga.
I MOS driver di tutte le righe hanno i Gate collegati ad una stessa linea elettrica, i Source sono a massa ed i
Drain sono allo stesso potenziale della colonna. Abbiamo detto che i transistori che compaiono rappresentano degli zeri e quindi per attivare una data riga e ricevere in uscita gli zeri che contiene bisognerà accendere i transistori. L'accensione avviene ponendo la linea elettrica della riga d'interesse al potenziale rappresentante il livello logico alto ossia
(in questo modo l'uscita della NOR della colonna, contenente il transistore, è bassa).
Supponiamo di attivare la prima riga. La linea
avrà quindi ingresso
e le altre due . Tutti i driver
della riga
sono accesi, mentre quelli delle righe
e 3 sono spenti. Ogni colonna, dove compaiono almeno due transistori, può essere associata ad una NOR. Quando in una NOR almeno un driver del parallelo
è acceso l'uscita è bassa e perciò la prima la seconda, la quarta e la sesta colonna della riga 1 contengono
valore logico .a terza e la quinta colonna sono invece assimilabili all'uscita di una NOR in cui tutti i transistori in parallelo sono spenti e perciò contengono il valore logico alto.
In seguito è presentata una tabella che sintetizza le uscite della memoria a seconda della riga selezionata.
Nell'ultima riga della tabella compare l'uscita che si avrebbe se si
attivassero contemporaneamente la prima e la seconda riga. In
realtà, quando si esegue un accesso alla memoria, è proibito selezionare più di una riga. La motivazione di questo impedimento non
è di natura elettrica. Infatti se accendessimo più di una riga, collegheremmo alcune colonne all'uscita di una NOR con più transistori
paralleli accesi. La situazione appena illustrata non è assolutamente problematica in quanto rende il livello logico basso più piccolo
della tensione residua . La reale motivazione di questa deprecazione sta nella volontà di evitare delle
ambiguità che nascerebbero se non si garantisse la cosiddetta “univocità” dell'uscita. Non si desidera cioè
che coppie differenti di righe, ad esempio la prima e la seconda e la prima e la quinta, producano in uscita
lo stesso risultato.
Soffermiamoci brevemente sugli inconvenienti di un modello di memoria come quello appena illustrato.
Sappiamo che in tecnologia EDMOS per avere buone caratteristiche dinamiche
deve assumere un valore elevato e che, per rendere soddisfacenti le prestazioni statiche, il rapporto
deve essere superio-
re all'unità. Tutto ciò porta ad un livello d'integrazione poco elevato. Il core della ROM è costituito da MOS
driver, i quali non possono avere un fattore di forma
troppo grande altrimenti la memoria occuperebbe molto spazio nel calcolatore. Il fattore di forma ideale è che ci permette di realizzare un transistore,
per ogni bit, di dimensione pari ad un solo quadratino. Se volessimo ottenere prestazioni statiche dignitose,
dovrebbe essere pari a 9 e quindi il fattore di forma di ogni carico (uno per colonna) dovrebbero esAppunti Circuiti Digitali - Unisa
115
sere 9. Per il
, indicando sempre con un quadratino l'unità di misura, ci vorrebbero ben 9 quadratini. Se da un lato è vero che c'è un solo load per colonna, dall'altro bisogna considerare che le colonne
che costituiscono il core sono numerose e quindi dimensionere in questo modo i transistori di carico non
conviene. Si deve optare per un rapporto
minore dell'unità. Il problema che sorgerebbe se creassimo
dei load con fattore di forma 9 non è solo la limitazione del numero di colonne del core, ma anche un rallentamento della memoria, ricordiamo in effetti che se
assume un valore esiguo il tempo di salita
aumenta e quindi anche il time propagation delay.
È palese dunque che la riduzione di dimensione dei driver e dei load va a discapito delle prestazioni sia statiche che dinamiche, come già annunciato.
Se si sceglie come obiettivo prioritario il perseguimento del massimo livello d'integrazione possibile, i transistori saranno di piccole dimensioni. Siccome la pendenza della caratteristica di
che
è all'incirca un decimo di volt, la pendenza sarà comunque, nonostante il
è
√
e dato
modesto, elevata in
modulo ed i margini d'immunità ai disturbi accettabili. Il livello logico basso che è inversamente proporzionale a
non sarà più piccolo, ma si avvicinerà notevolmente a
e di conseguenza lo swing non sarà
pieno.
Le caratteristiche statiche in conclusione non sono buone. Se le uscite della memoria venissero prelevate
così come sono non verrebbero rispettate le specifiche della famiglia logica d'appartenenza e perciò ovviamo all'inconveniente attraverso il blocco per la lettura e la scrittura.
Questo blocco funzionale si occupa di stabilire quale operazione eseguire su di una certa locazione di memoria ed inoltre rigenera il livelli logici. Nella ROM il circuito di lettura e scrittura “dal punto di vista logico”
è superfluo, visto che questo tipo di memoria consente solo la lettura, ma come abbiamo evidenziato, esso
è importantissimo dal punto di vista elettrico.
Memoria ROM con struttura a NAND
L'immagine mostra una ROM, quindi un dispositivo di memoria di sola lettura, realizzata secondo lo “schema a NAND” in tecnologia EDMOS.
Il disegno rappresenta una porzione molto esigua di una memoria,
ma ci permette di capire come essa sia strutturata. Come anticipato,
il core si articola come una matrice che, in questo caso, consta di 4
righe e 3 colonne. Ogni colonna è dotata di un solo dispositivo di
rico che è un MOS a svuotamento, mentre il numero di driver varia
in base alla specifica colonna. Questa osservazione ci fa già intuire
che se ogni riga contiene un dato espresso in 3 bit, la presenza o l'assenza di un driver all'incrocio tra la riga e ciascuna colonna serve ad
indicare se la cella di memoria contiene uno zero oppure un uno.
Trattandosi di uno schema a NAND, possiamo già anticipare che la
presenza di un driver è indice dell'immagazzinamento di un valore
logico alto in una certa locazione, mentre l'assenza rappresenta un
valore logico basso.
Cerchiamo ora di capire per quale ragione la struttura presentata è
detta “a NAND”. I MOS pilota di ogni colonna sono fra di loro in serie
ZeePpe
116
e ciò contribuisce ad assimilare il MOS a svuotamento, corredato dell'insieme dei MOS driver, ad una porta
NAND in logica EDMOS.
Quando si intende leggere un dato dalla memoria bisogna innanzitutto individuare una ed una sola riga.
I MOS driver di ogni riga hanno i Gate collegati ad una stessa linea elettrica, i Source ed i Drain, di ciascuno
di essi, sono fatti corrispondere rispettivamente al Source e al Drain dei dispositivi che li precedono e seguono nel collegamento in serie. Il valore di ogni bit di una riga è prelevato dal Drain del dispositivo in cima
alla serie di transistori di una data colonna.
Abbiamo detto che i transistori che compaiono rappresentano dei valori logici alti e quindi per attivare una
data riga e ricevere in uscita gli uno che contiene bisognerà spegnere i transistori. Lo spegnimento dei driver della riga scelta avviene ponendo la linea elettrica della riga d'interesse al potenziale rappresentante il
livello logico basso ossia (in questo modo l'uscita della NAND della colonna, contenente il transistore, è
alta perché la serie non conduce).
Quando abbiamo trattato le espansioni logiche in tecnologia EDMOS è stato possibile percepire un miglior
funzionamento della porta NOR rispetto alla NAND della stessa famiglia. La NOR effettivamente non aveva
né malfunzionamenti causati dall'effetto body né un fan in limitato. La NAND invece presentava un massimo fan in di 3 ed un effetto body che si faceva sentire sempre più all'aumentare delle porte collegate in serie, al punto tale da provocare errori nei livelli logici d'uscita. In figura il rispetto del limite del fan in della
NAND è solo apparente: l'illustrazione fa riferimento ad una porzione di memoria di piccolissime dimensioni
e di carattere esemplificativo, ma di utilità nulla nella pratica. È intuitivo dedurre perciò che questo schema
della ROM, più del precedente, avrà bisogno di un meccanismo per la rigenerazione dei livelli logici per
adeguarlo alle specifiche della famiglia logica EDMOS.
In seguito è presentata una tabella che sintetizza le uscite della memoria a seconda della riga selezionata.
L'obbligo di non selezionare più di una riga vige anche in questa situazione al fine
di evitare la non univocità dell'uscita.
Anche quando adottiamo una struttura della ROM a NAND scegliamo come parametro di qualità prioritario il livello d'integrazione. I MOS driver sono realizzati con
un fattore di forma unitario ed il rapporto
è minore dell'unità. Oltre ai pro-
blemi già enumerati per la struttura a NOR, si presenta un ulteriore allontanamento dalle condizioni nominali di funzionamento. Quando sono accesi tutti gli
transistori di una stessa colonna (il che comporta uscita bassa) la conducibilità del transistore, equivalente
alla serie, diventa
. Dal momento che
è inversamente proporzionale a
se diminuisce
aumenta il livello logico basso
. Tale incremento è strettamente dipendente dal numero di
MOS collegati in serie in ciascuna colonna e non è uguale per ogni colonna. Quando un bit è lo zero logico,
in realtà gli verrà assegnato un valore maggiore di che può anche avvicinarsi pericolosamente al livello
logico alto con possibili errori d'interpretazione.
L'appartenenza della ROM presentata alla famiglia logica EDMOS impone che il livello logico basso sia la
tensione residua, che ammonta a qualche decimo di volt, e perciò anche in questo caso bisognerà servirsi di
un blocco funzionale per la rigenerazione dei livelli logici.
Confronto tra la struttura a NOR e quella a NAND
Stabiliamo quale tra le due soluzioni è migliore per mezzo di un confronto approfondito. Il fatto che la
NAND abbia un fan in limitato non è determinante ai fini della scelta. Sebbene la NOR non abbia limitazioni
Appunti Circuiti Digitali - Unisa
117
in termini di fan-in, è caratterizzata da un livello logico basso minore di quello nominale, che decresce
all'aumentare dei MOS driver collegati in parallelo. Sia la NOR che la NAND allora si discostano dai parametri nominali, caratteristici della famiglia logica a cui afferiscono. Il livello d'integrazione della struttura a
NOR, a parità di livello d'integrazione, è peggiore rispetto a quello della NAND e ciò si deve alle metallizzazioni aggiuntive per i collegamenti a massa, che devono essere isolati dal resto del circuito. La NAND però,
seppure priva di metallizzazioni addizionali, soffre di effetto body il quale aumenta la tensione di soglia e
riduce la
del primo driver della serie con il rischio di spegnimenti indesiderati del collegamento dei MOS
driver. Quando si sceglie la struttura a NAND si deve cercare di diminuire il coefficiente di effetto body per
non avere una tensione di soglia troppo elevata che pregiudichi l'accensione dei driver.
Proviamo a condurre la comparazione da un punto di vista dinamico. Per quanto riguarda la struttura a
NOR la riga è selezionata con un livello logico alto
che accende il transistore del parallelo relativo a
quella riga. A causa dell'accensione la tensione in uscita si porta a attraverso la scarica di un condensatore. Il tempo di scarica del condensatore è approssimabile al fall-time. Nella struttura a NAND, invece, la selezione della riga avviene mediante un livello logico basso che spegne il transistore della serie, relativo a
quella riga. Tale spegnimento determina che la tensione in uscita sale fino al valore
mediante la carica
di un condensatore. Il tempo di carica del condensatore è approssimabile al rise-time. Abbiamo constatato,
durante lo studio delle famiglie logiche, che l'EDMOS, quando il rapporto
è maggiore dell'unità, ha
un tempo di discesa decisamente inferiore a quello di salita, al punto tale da poter essere trascurato. Ciò
non è più vero, nel complesso, se
. Il transitorio di salita delle due strutture, dipendendo dal
load, è pressoché uguale. Il transitorio di discesa della struttura a NOR è invece più repentino di quello della
struttura a NAND. Nella NOR infatti la scarica del condensatore avviene attraverso un solo driver, mentre
nella NAND attraverso la serie dei driver che occupano la stessa colonna. La serie dei MOS dà luogo ad una
conducibilità che è pari a quella del singolo transistore diviso il numero di componenti; se
si riduce
la corrente attraverso cui avverrà la scarica sarà minore ed il transitorio di discesa diventerà più lungo.
Il tempo d'accesso della memoria a NOR è minore del tempo d'acceso della memoria a NAND.
La NAND, oltre ad essere più lenta, è più difficile da programmare. Programmare la ROM, sulla base di
quanto visto, equivale ad inserire o meno, in corrispondenza di una cella, un transistore. Il procedimento di
programmazione della ROM consiste, nello specifico, nel porre ad ogni incrocio tra riga e colonna un transistore; se si desidera che un dato MOS non sia visibile basta non collegare la colonna al Drain o non collegare la riga al Gate. Un'alternativa al mancato collegamento della riga, al Gate di un MOS, si basa sul non realizzare il Gate del dispositivo in questione.
Quando si programma la ROM su tutta la riga si creano delle strutture di base pre-lavorate del transistore
omettendo le metallizzazioni. Queste ultime sono aggiunte solo laddove si vuole che il MOS compaia a seconda delle specifiche del customer.
La NAND è più complicata da programmare perché per memorizzare uno zero bisogna togliere il transistore, ma non si può non collegare la riga al Gate altrimenti si interrompe anche il collegamento con gli altri
MOS della colonna. Bisogna allora cortocircuitare Drane e Source del MOS che sono posti due livelli differenti, e questo comporta una difficoltà.
Anche nella NOR l'aggiunta del collegamento a massa prevede di lavorare su livelli differenti, ma il processo
in questo caso è comunque più agevole.
ZeePpe
118
PROM costruita a partire dalla struttura a NOR
La PROM è una particolare memoria a sola lettura la quale è programmabile. Il meccanismo di programmazione è sempre lo stesso. Il core può essere immaginato come una matrice in cui ogni cella è occupata da
un transistore. In fase di programmazione, i MOS delle celle in cui deve esserci uno zero vengono dotati di
metallizzazione di Gate, i MOS della celle in cui deve comparire un uno avranno un Gate minimale. In questo modo è come se non si collegasse il Gate alla riga.
Il transistore rappresentato in figura è il cosiddetto “MOS a
floating Gate”. L'unica differenza rispetto al MOS tradizionale
sta nella presenza di un ulteriore Gate separato dal primo
tramite ossido di silicio. È come se ci fossero due condensatori
in serie, in corrispondenza del Gate: quello più esterno ha armature metalliche con al centro un dielettrico, quello interno,
invece, ha per armature il metallo ed il semiconduttore.
Il terminale di Gate è posto sul condensatore più esterno.
Quando si applica al Gate una differenza di potenziale, quest'ultima si distribuisce fra i due condensatori in
maniera equa. Ciò equivale in un certo senso a raddoppiare la tensione di soglia. Se
per accendere il MOS a floating Gate bisognerà applicare una tensione di almeno
.
Questo dispositivo è adatto a costituire una memoria ROM programmabile. La programmabilità (naturalmente OFF LINE) di questo speciale transistore sta nel fatto che, se ad esempio si applica tra il Gate ed il
Source e tra il Drain ed il Source del MOS una tensione pari 5 (valore molto elevato) circolano delle correnti, attraverso il primo strato di ossido, di un'intensità tale da immagazzinare sul condensatore più interno una carica che innalza la tensione di soglia. passa ad esempio da
a 5 e perciò il MOS non è conduttivo se
5 .
Questo procedimento equivale ad eliminare, per un dato transistore, il collegamento tra la riga ed il Gate.
Questa tecnica è adottabile solo con la struttura di tipo NOR. La programmazione è persistente perché intorno al Gate c'è un isolante che mantiene la carica. Il degrado dell'ossido richiede degli anni.
EPROM costruita a partire di una PROM
Una memoria, progettata in questo modo, può anche essere resa EPROM.
Per cancellare la programmazione bisogna rendere l'ossido, che funge da isolante, conduttivo, al fine di
eliminare la carica immagazzinata.
L'ossido viene assottigliato e su di esso viene prodotta una finestrella trasparente attraversabile dagli ultravioletti. I raggi ultravioletti rendono l'ossido più conduttivo apportando elettroni. Una struttura di questo
genere è più complicata e comporta costi maggiori.
Infine per strutturare una EEPROM, cioè una ROM programmabile e cancellabile elettricamente, invece di
utilizzare una tensione di circa 5 , si usa una differenza di potenziale pari a
. L'ossido deve essere più
stretto perchè vogliamo cancellare il singolo bit. La cancellazione, se per la scrittura
, richiede una tensione di
per togliere la carica.
Il simbolo circuitale è riportato nella figura a lato.
La cancellazione e la programmazione della memoria avvengono in macchine apposite che permettano di scegliere la
e la
a seconda del tipo di
memoria da programmare.
Bisogna fare attenzione soprattutto per la EPROM
e la EEPROM allo spessore dell'ossido.
Appunti Circuiti Digitali - Unisa
119
Decodificatore di riga a NOR
Fino ad ora ci siamo preoccupati di fornire diverse descrizioni del core di una memoria. Analizziamo ora il
decodificatore di riga e cerchiamo di comprendere come è possibile, dati bit dell'indirizzo di
bit,
individuare una riga della matrice per poterne leggere o scrivere il contenuto.
La struttura del decodificatore è a NOR in quanto ogni
riga è fornita di un carico e di un numero variabile di
transistori collegati in parallelo. Un elemento che non
compariva nel core a NOR e che troviamo nel decodificatore sono le coppie di porte NOT in ingresso. Tali dispositivi sono denominati “amplificatori separatori per
i bit di indirizzo”. È intuitivo appurare che il primo dei
due invertitori ha il compito di permettere il pilotaggio
della matrice di NOR tenendo conto sia dei valori dei bit
dell'indirizzo che della loro versione negata. La seconda
porta NOT, in apparenza in eccesso, serve per ristabilire
i valori logici, al fine di garantire buone prestazioni dinamiche in termini di time propagation delay.
Nell'immagine riportata l'indirizzo di riga si compone di
3 bit e perciò si possono indirizzare 8 linee. A scopo
esemplificativo sono rappresentate solo 4 delle righe
del decodificatore.
Data la particolare configurazione del dispositivo si può
dedurre che la selezione di una riga avviene tramite il
livello logico alto.
L'univocità delle uscite impone che sia attivata una sola riga per volta e quindi se su di una linea è presente
la tensione
sulle altre ci deve essere .
Supponiamo che l'indirizzo sia
e ispezioniamo il disegno circuitale per capire qual è la riga selezionata.
Verrà selezionata esclusivamente la riga i cui transistori pilota sono tutti spenti, in modo che l'uscita della
NOR associabile alla riga sia alta. Se il bit
è alto, allora tutti i transistori che lo ricevono in ingresso sono
accesi e le righe su cui sono posizionati sarà presente la tensione è . Escludiamo quindi la prima e la terza
riga. Saranno accesi anche i MOS driver che ricevono in ingresso ̅̅̅ ̅̅̅3
e perciò la riga di cui fanno
parte e cioè la quarta non è attivata. L'unica linea elettrica con uscita
è la seconda e corrisponde alla
riga selezionata dall'indirizzo
.
È allora facilmente possibile ricavare la tabella seguente:
sembrerebbe non selezionare nessuna riga, in realtà ciò accade perché nell’esempio abbiamo consi-
derato solo 4 riga mentre con 3 bit se ne possono indirizzare 8.
Dall'esempio di funzionamento del decodificatore appare chiaro che il bit meno significativo dell'indirizzo è
.
Non necessariamente un CORE a NOR deve disporre di un decodificatore di riga a NOR. L'importante è che
la riga sia selezionata dal livello logico alto. Se si collegano alle uscite di un decoder a NAND delle porte NOT
si ottiene l'equivalente di un decodificatore a NOR.
ZeePpe
120
Decodificatore di riga a NAND
Concentriamoci ora sulla struttura alternativa del decoder, il decodificatore di riga a NAND.
Nel decodificatore a NAND ogni riga è fornita di
un carico e di un numero variabile di transistori
collegati in serie.
Troviamo anche in questo caso le coppie di porte
NOT in ingresso denominati ancora “amplificatori
separatori per i bit di indirizzo”.
Nell'immagine riportata l'indirizzo di riga si compone di 3 bit e perciò si possono indirizzare 8 linee.
Data la particolare configurazione del dispositivo
si può dedurre che la selezione di una riga avviene tramite il livello logico basso.
L'univocità delle uscite impone che sia attivata
una sola riga per volta e quindi se su di una linea
è presente la tensione sulle altre ci deve essere
.
Le righe si selezionano con , ma l'uscita delle
NAND, di ciascuna di esse, è bassa soltanto se
tutti i MOS driver in serie sono accesi. L'accensione di tutti i MOS pilota della catena determina
una riduzione della conducibilità del transistore
driver equivalente alla serie. Siccome la tecnologia adottata è quella EDMOS ed in tal caso la tensione residua è proporzionale a
, se
diminuisce il livello logico basso aumenta di un fattore dipendente
dal numero dei MOS della serie. Se è notevolmente incrementato potrebbe determinare l'accensione indesiderata dei MOS della riga. Il progetto della memoria è quindi estremamente delicato specialmente se si
considera che, se il fattore di forma dei driver è piccolo, si parte già da una tensione residua abbastanza
elevata.
Il nostro scopo è quello di progettare una memoria con un alto livello d'integrazione (quindi con transistori
di piccole dimensioni), ma al contempo vogliamo che il funzionamento sia corretto. che compare nello
schema, quindi , non indica una tensione di circa
ossia la tensione residua, ma simboleggia semplicemente una differenza di potenziale minore di in modo da assicurare che non si accendano erroneamente i transistori. Un tale valore di tensione garantisce che non si verifichino comportamenti anomali del
dispositivo.
Supponiamo che l'indirizzo sia 000 e ispezioniamo il disegno circuitale per capire qual è la riga selezionata.
Verrà selezionata esclusivamente la riga i cui transistori pilota sono tutti accesi, in modo che l'uscita della
NAND associabile alla riga sia bassa. Se il bit
è basso tutti i transistori che lo ricevono in ingresso sono
spenti e le righe su cui sono posizionati non verranno selezionate perché la loro tensione è
. Escludiamo
quindi la prima, la terza, la quinta e la settima riga. Saranno spenti anche i MOS driver che ricevono in ingresso
e 3 poiché entrambi sono ancora bassi e perciò le righe a cui sono collegati e cioè la seconda e
la sesta (collegate a ) e la quarta(collegata ad 3 ) non vengono attivate. L'unica linea elettrica con uscita
è l'ottava e corrisponde alla riga selezionata dall'indirizzo 000. La riga numero 8 è dunque la meno significativa.
Appunti Circuiti Digitali - Unisa
121
Programmazione di una memoria
Programmare una memoria significa progettarne il core, il decodificatore di riga e quello di colonna. Per
modellare i decoder bisogna stabilire a quali righe e colonne corrisponde ciascun indirizzo in ingresso.
Visto che il requisito fondamentale della memoria è la sua dimensione fisica (livello d'integrazione) all'inizio
del progetto non si parte dalla scelta della struttura da dare al core (NAND o NOR), ma dal contenuto della
memoria. Una volta noti i dati da immagazzinare si scelgono contemporaneamente la struttura del core e
del decodificatore in modo da utilizzare il minor numero possibile di transistori ed aumentare il livello d'integrazione.
Affinché i parametri d'interesse siano quelli nominali è d'obbligo dotare i decoder ed il core (rispettivamente all'ingresso ed all'uscita) di amplificatori, il cui simbolo circuitale è un triangolo. Essi hanno il duplice scopo di aumentare le intensità delle tensioni e delle correnti e di rigenerare i livelli logici.
Decodificatore di colonna
Tramite un indirizzo ed il decodificatore di riga si individua una locazione del core il cui contenuto deve essere letto oppure scritto. Non sempre però si è interessati al dato memorizzato nell'intera riga e potrebbe
essere necessario leggere solo i valori di un ristretto numero di colonne che intersecano la riga selezionata.
A tal fine si adopera un decoder di colonna. La scelta del decodificatore, questa volta, non è univoca in
quanto il numero di colonne in output non è fisso.
Un esempio di dispositivo per la selezione delle colonne è mostrato in basso.
Lo schema può riferirsi sia ad
un decodificatore di colonna
di una memoria a NOR che a
quello di un core a NAND.
Nella struttura a NAND i dati
sono prelevati immediatamente sotto al carico, mentre
nella struttura a NOR in basso.
Per ogni colonna è previsto un
transistore MOS il cui Gate è
collegato all'uscita di una porta NOR. L'ingresso delle NOR è prodotto da un' apposita logica di controllo che
fa in modo, ricevuto l'indirizzo di colonna, che solo alcune delle
porte NOR abbiano uscita alta, a seconda delle colonne da selezionare. Per fare ciò tutti gli input delle NOR accoppiate alle colonne da selezionare
devono assumere valore logico basso.
Se sul Gate del MOS di una specifica colonna c'è il livello logico alto
il transistore è acceso e lavora in
triodo, comportandosi come un interruttore chiuso a meno della sua
. Con ciò si intende che l'uscita è
.
Se l'uscita del MOS che serve per attivare la colonna è l'input del Gate di un transistore a monte, a regime,
la corrente di Drain, che è anche di Gate, è nulla.
Siccome siamo in zona triodo
e la soluzione di questa equazione è
. Ciò comporta l'assenza di caduta di tensione.
Il MOS con tensione di Gate
si comporta esattamente come un cortocircuito visto che, essendo
, l'uscita è uguale all'ingresso quindi
.
Questo decodificatore di colonna è elementare, ma allo stesso tempo sconveniente dal punto di vista del
livello d'integrazione. Ogni colonna, infatti, presenta un interruttore pilotato dall'uscita di una NOR che ha
ZeePpe
122
tanti ingressi quante sono le colonne ( ). A ciascun ingresso della porta logica corrisponde un transistore
e maggiore è il numero delle colonne tanto più grande sarà la porta NOR di cui bisogna dotare il decodificatore.
Una struttura alternativa del decodificatore di colonna è quella ad albero mostrato nella prossima figura.
Il decoder riceve un ingresso di colonna di 3 bit, etichettati con , , 3 ed è adatto ad una memoria con
8 colonne.
Lo schema presentato è strutturato in modo che
selezioni le colonne dispari e ̅̅̅ le quattro colonne pari. I bit
e 3 , spegnendo o accendendo i transistori a cui sono inoltrati, creano un cammino di MOS in serie per portare in uscita il valore della colonna da attivare. Precisamente
seleziona quattro delle otto colonne della memoria,
ne
elimina due tra le quattro rimanenti ed infine 3 ci permette di eseguire una scelta
tra le due ultime colonne
candidate ad essere selezionate.
Vediamo un esempio pratico
del suo funzionamento. Se volessimo prelevare l'uscita della colonna dovremmo far sì
che siano accesi i soli MOS
della serie che ne portano il
valore in uscita. Visionando il
disegno, banalmente, risulta
che l'ingresso atto a selezionare è 3
cioè
.
Anche in questo schema circuitale le duplici porte NOT servono per il ripristino dei valori logici a fini prestazionali.
Il circuito consta di 26 transistori che sono sicuramente meno di quelli dello schema precedente. La struttura ad albero è decisamente più compatta. Il difetto che si può riscontrare in ambedue i decodificatori di colonna esaminati è la necessità di un circuito di lettura e scrittura.
Analizziamo dapprima la situazione in cui verte la più semplice forma di decoder di colonna. Se la colonna
selezionata è il MOS accesso sarà il secondo in figura. La sua uscita non sarà però
, ma potrà essere
al massimo
. Per essere acceso, in effetti, il transistore deve avere una
, ma
. L'uscita della colonna è la tensione di source ovvero .
significa che
.
Questo problema caratterizza anche l'ultimo MOS della struttura ad albero, collegato all'uscita. Rinunciare
allo swing logico pieno è impensabile se si parte dal presupposto che i dati estrapolati dalla memoria dovranno essere elaborati dal processore. L'unità di elaborazione, infatti, deve essere in grado di interpretare
istruzioni e dati caricati dalla memoria in maniera non ambigua. Per questo motivo bisogna essere forniti di
un blocco funzionale per il ripristino dei valori logici ossia di un amplificatore di lettura e scrittura.
Appunti Circuiti Digitali - Unisa
123
Amplificatore di lettura
L' immagine raffigura il circuito di
un amplificatore di lettura in logica EDMOS.
Il transistore
fa parte del core
della ROM, mentre
è l'ultimo
MOS del decodificatore di colonna nello schema ad albero o equivalentemente il transistor il cui
Gate riceve l'uscita di una NOR
nel modello semplificato.
Nel punto ② compare l'uscita
della colonna. Accanto a
e
sono scritti i fattori di forma.
ha un fattore di forma 5 5,
mentre
ha fattore di forma
5 5.
Dal punto ② in poi comincia il
circuito dell'amplificatore.
L'uscita di tutto il circuito è in corrispondenza del punto ⑥.
Se dalla memoria si legge un nel punto ⑥ deve esserci un livello di tensione alto , ad esempio 5
,
se invece si legge uno deve esserci una tensione bassa , ad esempio 3
.
Nel punto ② e nel punto ① sono collegate due capacità:
e .
Nell'esempio il core è a NOR e lo si comprende dal collegamento del source di
a massa. In una struttura
della memoria a NOR il Drain dei MOS è allo stesso potenziale della colonna ed il Gate è fatto corrispondere
alla riga.
è una capacità che tiene conto di tutti i transistori della colonna percepiti da
e perciò è
molto elevata.
Il punto ② è l'uscita del decodificatore di colonna ed in esso si percepiscono gli effetti reattivi di tutte le
strutture che vanno a decodificare la colonna. Gli effetti reattivi sono schematizzabili attraverso la capacità
. Nella struttura ad albero la capacità è dovuta a tutti i MOS che costituiscono lo schema. Anche in tale
circostanza si è in presenza di una capacità decisamente alta.
Per far variare velocemente le tensioni nei punti ① e ② bisogna caricare e scaricare rapidamente i due
condensatori. Essendo le capacità molto alte i tempi di carica sono lunghi a meno che non si ricorra ad una
corrente particolarmente intensa. Ciò equivale a rendere
e
fortemente conduttivi.
Come ricordiamo, la conducibilità di un MOS ammonta a
e di conseguenza un transistore
molto conduttivo deve detenere un fattore di forma sostanzioso.
La velocità della memoria ed il livello d'integrazione sono in contrapposizione e si ovvia all'inconveniente
proprio attraverso il circuito d'amplificazione.
Esso fa in modo che le tensioni ai capi delle capacità varino poco all'atto della carica e della scarica. Una
bassa escursione dei livelli di tensione di
e
rende il funzionamento del dispositivo più celere.
Possiamo per esempio supporre di far variare la tensione di 5
anziché di quasi 5
nel caricare il
condensatore al fine di accelerare la carica.
L'amplificatore di lettura provvederà poi a ripristinare lo swing logico di circa 5
.
Per ogni colonna da portare in uscita c'è bisogno del circuito esaminato; gli unici transistori dello schema,
che non si replicano, sono 6 e 7 che pilotano più di una colonna. Il simbolo a pettine nel disegno sta
proprio a significare quanto appena detto.
ZeePpe
124
Quando c'è l'amplificatore di lettura, sia nella struttura del core a NOR che in quella a NAND, manca il dispositivo di carico. Il ruolo di quella parte del circuito è infatti svolto dall'amplificatore.
è un dispositivo a svuotamento e serve a fornire corrente al transistore 3 che fa sì che una piccola differenza di tensione nel punto ② venga portata nel punto ③ ad un livello più alto.
Questo amplificatore è statico perché può funzionare anche a frequenza zero. In precedenza abbiamo esaminato un circuito dinamico (flip flop D) ed abbiamo visto che la peculiarità di tali circuiti sta nel fatto che il
clock serve non solo a far cambiare lo stato, ma anche a rinfrescare la tensione della capacità d'ingresso del
primo driver della porta NOT. Questo circuito invece non necessita di questa funzionalità.
La tensione nel punto ② sarà al massimo la tensione nel punto ④ a cui si sottrae la
del transistore
3.
3
3
e allora
3
. La
deve essere almeno
affinchè esistano le condi-
zioni per l'accensione e dunque la tensione massima nel punto ② sarà
.
Se il transistore
è spento (in quanto ha ingresso basso), anche se
è acceso, non circola corrente nella serie composta da
,
e 3.
Cerchiamo di capire da cosa dipende la tensione nel punto ③. Il transistore
è sempre acceso poiché è
un MOS a svuotamento con Gate cortocircuitato con il Source e perciò
è sempre maggiore di , la
quale è negativa. La corrente di Gate del transistore 8 è inoltre nulla. Siccome le correnti del nodo ③
sono nulle, anche quella di
ha un'intensità pari a zero.
Dimostriamo che
opera in regione di triodo. Se operasse in zona di pinch off, sapendo che la corrente di
Drain di
è nulla avremmo che:
e ciò porterebbe a
il che è un assurdo.
Deduciamo allora che
è sempre acceso ed in triodo e partendo sempre dall'assunto che la sua corrente
di Drain sia nulla perveniamo al risultato:
*
che equivale a dire che
+
.
e perciò
Essendo nulla la caduta di tensione tra il Drain ed il Source del MOS 4, il potenziale nel punto ③ è proprio
.
In tale nodo è stato dunque ristabilito il livello logico alto.
Vediamo se si può ristabilire anche il livello logico basso. Quest'ultimo compare in corrispondenza del nodo
③ se tutti i transistori della serie a valle sono accesi. 3 è sempre acceso perchè dipende dalla tensione
del nodo ④,
è acceso solo se si vuole selezionare la colonna in esame ed
è acceso se è stata selezionata la riga in cui il transistore è posto. La tensione nel punto ③ si ottiene questa volta dalle seguenti
relazioni:
3
3
3
3
3
3
3
La tensione
dipende dunque dalle
dei MOS in serie. Ci aspettiamo che quando i tre MOS sono accesi la loro
sia piccola.
è però inversamente proporzionale ai fattori di forma. Nell'esempio
,
e 3
. La
maggiore tra le tre sarà quella del MOS con il fattore di forma minore
ossia quella di. Se partiamo da un valore di
pari a 5 i transistori 6 e 7 i cui fattori di forma sono
e 5 fanno sì che nel punto ④ ci sia una tensione di
.
Appunti Circuiti Digitali - Unisa
125
ATTENZIONE:
6e
7 non costituiscono una porta NOT e quindi se l'ingresso è
l'uscita non è
!!!
Con un livello logico alto di 5 , il livello logico basso deve essere di 8 . Tale valore di tensione nasce dal
3
fatto che quando
è spento nel punto ② c'è una tensione pari al massimo a
a cui si sottrae la
.
Vogliamo che
, se alta, sia una tensione più piccola di
5
perché così facendo limitiamo l'e-
scursione nel punto ② a 5
. In pratica vogliamo che la differenza tra il livello logico basso e quello
alto sia di mezzo volt anziché di quasi 5
per velocizzare la carica e la scarica di
e .
Anche con correnti basse la carica e la scarica del condensatore sono veloci. Quando
è acceso funziona
in zona triodo perchè
5 .
Ad ulteriore conferma di ciò:
Siccome
allora
sarà senz'altro più piccola di
e ciò riconferma che la regione di lavoro è
quella di triodo (
).
Con questi fattori di forma e valori di tensioni si ottiene nel punto ③ un livello logico basso di 8.
Nel punto ① la differenza tra il livello logico alto e quello basso è 5
, nel punto ③ invece è
5
8
e quindi abbiamo già recuperato il livello logico alto.
Non abbiamo ancora recuperato il livello logico basso e perciò utilizziamo le coppie 8 e 9. 8 e 9 non
costituiscono una porta NOT perché 9 non funge da carico sul Drain, bensì sul Source. 8 e 9 servono a
traslare i livelli. Se nel punto ③ c'è un livello logico alto di 5
ed uno basso di 8
, nel punto ⑤
abbiamo un livello logico basso di 5
ed un livello logico alto di 3
.
8 e 9 spostano verso il basso lo swing del punto ③. Il livello logico basso è vicino agli 3
che volevamo ottenere, ma lo stesso non vale per quello alto che è ridotto notevolmente.
e
formano una porta logica NOT in tecnologia EDMOS. Quando nel punto ⑤ c'è una tensione di
5
è sicuramente spento ed in uscita ci sarà
; quando invece nel punto ⑤ c'è 3
bisogna progettare per
e
un rapporto tra i fattori di forma in modo da avere una tensione d'uscita
bassa di 3
con un ingresso 3
, non di 5
. Il rapporto tra i fattori di forma deve essere più
alto perché al suo aumentare, in logica EDMOS, diminuisce il livello logico basso. A parità di tensione d'uscita il rapporto
dell'invertitore, costituito da
e
, è più grande rispetto a quello delle altre por-
te.
Ricapitoliamo...
I tre transistori
e
, con
,
,
3 hanno come carico
. Per come sono scelti i fattori di forma e gli ingressi di
, riusciamo ad ottenere nel punto ② un livello logico alto minore di
ed un
livello logico basso dato dalla somma di
e
. Nel punto ① lo swing logico è di mezzo Volt, nel punto ② invece
è un po' piu grande di 5
e nel punto ③
5
e
8
. Ribadiamo
che il livello logico basso di 8
è diretta conseguenza dei fattori di forma stabiliti per
,
e 3.
8 e 9 spostano lo swing verso il basso e
ed
ripristinano i livelli logici.
Finora abbiamo però omesso di trattare la funzione svolta da 5. Esso ha un fattore di forma di 20 ed è
molto conduttivo, serve a fornire al Drain di 3 un'ulteriore corrente in aggiunta a quella proveniente da
al fine di far mutare velocemente la tensione di , dato che nel punto ② lo swing è leggermente più
elevato di 5
.
ZeePpe
126
Amplificatore di lettura in logica CMOS
Un'alternativa allo schema menzionato è
l'implementazione dell'amplificatore di lettura in tecnologia CMOS. I transistori
e
rappresentano rispettivamente, come
nel caso già illustrato, una parte del core e
del decodificatore di colonna. 7 e 8 svolgono nuovamente la funzione di polarizzazione, ma uno di essi è un NMOS ( 8) e l'altro un PMOS ( 7).
Questo circuito presenta meno transistori e
per quanto riguarda le porte 7 e 8 è meglio di un FCMOS. Un MOS pienamente
complementare prevede che il transistore a
canale P abbia un fattore di forma che è 22,5 più grande di quello del transistore a canale N in modo da eguagliare le conducibilità. in questo caso invece
3e
.
Il compito svolto dai dispositivi 3, , 5
in EDMOS è demandato a due sole porte 3
e
in CMOS. Ciò che maggiormente ci colpisce di tali porte è che il PMOS ha un fattore di forma 1 e l'NMOS 20. Il fattore di forma
di 3 è così elevato perché deve fornire la
corrente per caricare e scaricare .
La porta d'uscita, composta da 5 e 6, non presenta i Gate collegati insieme: il Gate del transistore di tipo P ( 5) è collegato al punto ③, mentre quello del transistore di tipo N ( 6) al punto ②.
L'unica porta che sembra una NOT è la coppia 3,
, ma essa ha dei fattori di forma inattesi. Il suo unico
scopo è far sì che, quando l'uscita è bassa nel punto ④ ci sia
, quando è alta sia
5
.
Il circuito in CMOS è preferibile perché il livello d'integrazione è migliore e le prestazioni sono le stesse.
Appunti Circuiti Digitali - Unisa
127
Memorie a lettura e scrittura (RAM statica)
Le memorie che permettono la lettura e la scrittura dei dati hanno una struttura generale identica a quella
delle ROM. Esse sono costituite da una matrice detta core, un decodificatore di riga, uno di colonna ed un
circuito di amplificazione di lettura e scrittura.
La singola cella del core è però estremamente diversa dato che le operazioni da eseguire sono sia la lettura
del bit che la sua memorizzazione.
L’immagine a sinistra illustra lo schema circuitale di una cella di memoria RAM in tecnologia EDMOS, mentre quella a destra è relativa all'implementazione in CMOS.
La cella è statica in quanto può funzionare anche a frequenza zero.
Mentre nella ROM, per un bit, era sufficiente un solo transistore, nella RAM si richiedono 6 transistori.
Sia nell'EDMOS che nella CMOS le coppie
5e
6 rappresentano delle porte NOT in loop fra
di loro. L'uscita della coppia
5 è l'ingresso della coppia
6 e viceversa.
La struttura a loop è la base delle logiche sequenziali e serve all'immagazzinamento del dato.
Nei flip flop la possibilità di cambiare il valore logico del bit è garantita da un ingresso addizionale, nella
RAM, invece, compaiono due transistori laterali 3 e
che sia in tecnologia EDMOS che in CMOS sono a
canale N. 3 e
hanno il Gate in corrispondenza del conduttore di riga e servono a collegare il loop delle
due porte NOT ai conduttori di colonna e ̅ .
La presenza di e ̅ , inutile durante il processo di lettura, è fondamentale durante la scrittura.
Il numero di transistori per bit è 6 e per assicurare un buon livello d'integrazione è necessario farli più piccoli possibile. L'ideale, per buone prestazioni statiche, sarebbe un
abbastanza grande seppur non pari a
9. Scegliamo allora un valore piccolo per
(in caso contrario il livello logico basso aumenterebbe troppo), il che equivale a rendere i carichi poco conduttivi. La bassa conduttività rallenterà però la carica dei
condensatori, i quali hanno capacità elevate perché dipendono dal collegamento in parallelo di numerosi
transistori sulle righe e sulle colonne della memoria. L'unica scelta da compiere per non compromettere né
la velocità della porte né il livello d'integrazione è affidarsi ad un amplificatore di lettura e scrittura.
In pratica scegliamo di abbassare lo swing logico in modo da sottoporre i condensatori ad esigue escursioni
di tensione e mediante l'amplificatore ripristiniamo successivamente i livelli di tensione. In questo modo la
carica e la scarica delle capacità elevate avviene piuttosto rapidamente malgrado l'intensità di corrente
bassa.
Cerchiamo di capire come funziona il circuito. Innanzitutto notiamo che 3 e
hanno i Gate sul conduttore di riga. Se sulla riga vi è una tensione bassa ciò sta a significare che non si accede alla memoria né in
lettura né in scrittura. Si nota che però la cella di memoria funziona correttamente, nel senso che se non vi
ZeePpe
128
si accede il suo contenuto resta immutato. Supponiamo che nella cella sia memorizzato un , ovvero che
sia spento e
acceso. Le coppie
6e
5, come già evidenziato, si comportano come
degli invertitori. Se
è acceso, l'uscita della porta NOT, costituita da
6, è bassa e deve essere tale
da non accendere
. Si ottiene il comportamento desiderato progettando accuratamente il rapporto tra i
fattori di forma
2
.
Scrittura della cella
Per scrivere un bit in una cella di memoria è necessario disporre di due conduttori di colonna: e ̅ . Bisogna inoltre porre una tensione alta sul conduttore di riga, in modo da accendere 3 e
.
Se desideriamo immagazzinare nella cella della RAM un , dobbiamo agire sul circuito di lettura e scrittura
affinché inoltri sulla linea una tensione pari a circa 3
e su ̅ una tensione di
.
̅
Se su c'è una tensione nulla, la coppia 6
costituisce un invertitore in cui il MOS driver è acceso ed
in triodo (poiché
). L'uscita, prelevata nel punto ② dal Gate di
, è bassa e spegne
. È opportuno scegliere un rapporto
tale da non produrre una tensione residua eccessivamente alta perché
potrebbe accendere per errore
.
3
Nel punto ①, dove è collocata l'uscita della porta NOT
5, c'è una tensione pari a
in cui
3
. La tensione nel punto ① è quindi più alta di 3
e, inviata al Gate di
, lo accende.
Il bit memorizzato è un perché se sul conduttore di riga c'è , 3 e
si spengono e nel punto ①, in
cui si innesta tramite 3 la colonna , c'è una tensione alta, mentre nel punto②, dove si collega la colonna ̅ , c'è una tensione bassa.
Se invece desideriamo immagazzinare nella cella della RAM uno , dobbiamo agire sul circuito di lettura e
scrittura affinché inoltri sulla linea una tensione pari a circa
e su ̅ una tensione di 3
.
Se su c'è una tensione nulla, la coppia 5
3 costituisce un invertitore in cui il MOS driver è acceso ed
in triodo (poiché
). L'uscita, prelevata nel punto ① dal Gate di
, è bassa e spegne
.
È opportuno scegliere un rapporto
tale da non produrre una tensione residua eccessivamente alta per-
ché potrebbe accendere per errore
. Nel punto ②, dove è collocata l'uscita della porta NOT
6,
c'è una tensione pari a ̅
in cui ̅ 3
. La tensione nel punto ② è quindi più alta di 3
e,
inviata al Gate di
, lo accende. Il bit memorizzato è uno 0 perché se sul conduttore di riga c'è , 3 e
si spengono e nel punto ①, in cui si innesta tramite 3 la colonna , c'è una tensione bassa, mentre
nel punto ②, dove si collega la colonna ̅ , c'è una tensione alta.
Lettura della cella
Per leggere il contenuto di una cella bisogna porre una tensione alta sul conduttore di riga, in modo da accendere 3 e
, ed agire sul circuito di lettura e scrittura affinchè inoltri sulle linee e ̅ una tensione di
3
.
Il nostro obiettivo è leggere correttamente una cella senza alterarne il contenuto.
Immaginiamo di leggere un , questa situazione equivale ad avere
spento e
acceso. Nel punto ① e
3
nel punto ② del circuito ci saranno valori di tensione pari rispettivamente a
e ̅
.
Siccome ci accingiamo a leggere un ci aspettiamo su una tensione un po' più grande di 3
(che con̅
sidereremo alta) e su una tensione un po' più piccola di 3
(che considereremo bassa).
Non supponiamo che i livelli logici siano
5
e
3
perchè a causa delle capacità molto
elevate, dovute ai collegamenti sulle colonne di molti MOS, lo swing deve essere ridotto a fini prestazionali.
Appunti Circuiti Digitali - Unisa
129
Ad essa si supplirà poi mediante un amplificatore di lettura e scrittura.
3
Il Gate di
è acceso perchè preleva l'ingresso dal punto ① in cui c'è la tensione
la quale è
maggiore di 3
(alta).
I transistori
e
sono fra di loro in serie e dunque la tensione ̅ si ripartisce tra
e
. Affinché
si legga un
deve essere spento e perciò la sua tensione di Gate, che è quella del punto ②, deve essere bassa (all'incirca 75
).
Sappiamo che la
di un transistore è inversamente proporzionale alla sua conducibilità. Per rendere
di circa 75
dobbiamo stabilire che
3
. Questa scelta dei fattori di forma determina che
è 3 volte più grande di
. Precisamente di ̅ rappresenta la tensione
e di ̅
è, invece, la tensione
.
Gli 75
del punto ② non sono sufficienti ad accendere
e perciò l'uno resta memorizzato.
Su la tensione, per effetto della conduzione di 3, si alza di 5
diventando 3 5
. Su ̅ , invece
c'è una tensione di poco meno di 3
. Lo zero è distinto dall'uno per una differenza di potenziale di solo
mezzo volt.
Supponiamo ora di leggere uno 0, questa situazione equivale ad avere
acceso e
spento. Nel punto
3
① e nel punto ② del circuito ci saranno valori di tensione pari rispettivamente a
e ̅
.
Siccome ci accingiamo a leggere uno ci aspettiamo su una tensione un po' più piccola di 3
e su ̅
una tensione un po' più grande di 3
.
Il Gate di
è acceso perchè preleva l'ingresso dal punto ② in cui c'è la tensione ̅
la quale è
maggiore di 3
. I transistori
e 3 sono fra di loro in serie e dunque la tensione si ripartisce tra
3
e
. Affinché si legga uno
deve essere spento e perciò la sua tensione di Gate, che è quella del
punto ①, deve essere bassa (all'incirca 75
).
Per rendere
di circa 75
dobbiamo stabilire che
3 3 . Questa scelta dei fattori di
3
forma determina che
è 3 volte più grande di
. Precisamente di rappresenta la tensione
3
e di è, invece, la tensione
.
Gli 75
del punto ① non sono sufficienti ad accendere
e perciò lo zero resta memorizzato. Su ̅
la tensione, per effetto della conduzione di
, si alza di 5
diventando 3 5
. Su , invece c'è una
tensione di poco meno di 3
. Lo zero è distinto dall'uno per una differenza di potenziale di solo mezzo
volt.
Sottolineiamo infine che
e
devono essere scelti oculatamente per assicurare che quando i driver
delle due NOT sono accesi, la tensione d'uscita residua sia di 75
e non causi accensioni indesiderate.
Circuito di lettura e scrittura per memorie RAM
Il circuito di lettura e scrittura determina le tensioni sulle linee
le operazione bisogna compiere su di essa.
1. Se
2. Se
3. Se
3
3
e
e
e
̅
̅
̅
3
3
e ̅ della cella della RAM per indicare qua-
vuol dire che si vuole scrivere nella cella un .
vuol dire che si vuole scrivere nella cella uno 0.
vuol dire che si vuole leggere il dato nella cella.
ZeePpe
130
Il circuito e quello mostrato nella prossima immagine.
7 e 8 sono due NMOS i cui Gate
sono cortocircuitati con i Drain e perciò
sono sempre accesi e operano in zona
pinch off. Un transistore MOS a canale
N, infatti, lavora in regione di saturazione se
relazione che
vale in questo caso visto che
.
Questi due transistori fanno in modo
che
3
quando si attua
̅
una lettura.
Gli ingressi del circuito sono due e rappresentano gli input di una porta NOR:
(che è il dato) e ̅ che è il segnale di
lettura. è invece il segnale di scrittura.
Il transistore, etichettato con
, fa parte del decodificatore di colonna con porta NOR di cui abbiamo già
esaminato il funzionamento.
Per leggere un bit della memoria il segnale ̅ deve essere alto e ciò implica che l'uscita della NOR in ingresso è bassa. L'uscita della NOR con ingressi e
è:
̅̅̅̅̅̅̅̅̅
̅
̅∙
La seconda NOR che compare nel circuito ha ingressi ̅ ∙
e ̅ e produce in uscita:
̅̅̅̅̅̅̅̅̅̅̅
̅
∙ ̅̅̅̅
̅∙
∙ ̅̅̅̅̅̅̅
∙
̅
∙
∙ ̅
∙
∙
Se ̅
le uscite di tutte e due le NOR sono basse.
3e
sono spenti e
ste da 7 e 8.
7 e 8 servono ad imporre, quando si vuole attuare una lettura, che e ̅ siano 3
in corrispondenza dei source di M7 e 8. Siccome questi due transistori sono accesi:
e
̅
.
sono impoe
̅
sono
Se si sceglie
e
5
si ottiene che
3
e ̅
3
.
Se nella RAM è memorizzato un 1 ci aspettiamo che sia 3 5
e ̅ sia lievemente minore di 3
.
e ̅ stanno sui gate di 9 e
. Nel caso ipotizzato allora 9 è acceso e
è spento. 9 e
stabiliscono il percorso che compie la corrente.
Quando si legge il bit di una colonna, i MOS
3e
sono spenti e perciò la corrente dei MOS
e
confluisce nel transistore 9 se il dato letto è , altrimenti in
.
Al circuito su riportato deve essere aggiunto un dispositivo che, a seconda di quale tra 9 e
è acceso,
riporta in uscita
oppure . Nella prossima figura è riportata la struttura di un tale circuito.
Esso è costituito da tre blocchi: un amplificatore, un traslatore di livello ed uno stadio pilota di uscita.
L'amplificatore consta di due porte NOT, in tecnologia EDMOS, con ingresso di
, le cui uscite sono le
tensioni di Gate dei MOS
9e
facenti parte del traslatore di livello. Il compito dell'amplificatore è
rendere maggiore la differenza tra il livello logico alto e quello basso, che è di solo mezzo volt, portandola,
ad esempio, a 3
. Ricordiamo, infatti, che prima dell'amplificazione lo zero è simboleggiato da un poAppunti Circuiti Digitali - Unisa
131
tenziale di 3
e l'uno da una tensione di 3 5
.
Il traslatore di livello si occupa di traslare verso il basso i livelli di tensione, in modo da avere una tensione
bassa di circa 3
.
Lo stadio pilota d'uscita è composto da due
invertitori, collegati in cascata, i quali quando l'ingresso è 3
producono un uscita
bassa di
, mentre quando è
35
rigenerano l'uscita alta facendola
risultare di 5
(
).
Questa porzione del circuito compare anche
nella ROM ed ha in sostanza le stesse funzioni. La parte addizionale che è tipica di una
RAM è quella descritta precedentemente, la
quale è fondamentale per stabilire quale
operazione debba essere svolta sulla singola
cella di memoria.
Cerchiamo ora di capire come viene eseguita la scrittura di un dato nella RAM.
Per determinare un accesso in scrittura, il segnale ̅ deve essere posto pari a . Ciò significa che le uscite
delle due porte NOR dipendono dal secondo dei due ingressi.
Se
,
∙̅
, mentre l'uscita della seconda NOR, ossia ∙ , è 0.
3 è spento, invece
è
acceso. La tensione ̅ 3
che si può reputare un livello logico basso di tensione, mentre
3
. Ne consegue che l'uscita è alta nonostante il dato in ingresso sia basso.
Se
, ∙̅
, mentre l'uscita della seconda NOR, ossia ∙ , è .
è spento, mentre
3 è ac3
ceso. La tensione
3
che si può reputare un livello logico basso di tensione, mentre
3
.
̅
Ne consegue che l'uscita è bassa nonostante il dato in ingresso sia alto.
Per ovviare a questa incongruenza è sufficiente inserire una porta NOT prima del dato in input alla NOR.
RAM dinamiche
Le RAM trattate finora sono statiche visto che l'informazione immagazzinata è persistente. In pratica si può
asserire che il circuito funziona a frequenza zero. Lo svantaggio di una tale configurazione sta nel numero di
transistori per cella, che è sei. I requisiti sul livello d'integrazione non trovano soddisfacimento.
Le RAM dinamiche ci permettono di esplicare le stesse funzionalità con un numero di dispositivi MOS più
esiguo, cioè 3, a cui si aggiunge un condensatore. In realtà più che di un condensatore si può parlare di una
capacità che sintetizza gli effetti di perdita del transistore, che nello schema della RAM statica, era stato indicato con M1.
Il problema di questo circuito è che il valore immagazzinato nella cella si traduce in una tensione (
o )
ai capi di . Siccome
non è un condensatore ideale, ad esso è collegata una resistenza in parallelo che,
per effetto della dissipazione d'energia, fa decrescere lentamente la tensione ai terminali di
Ciò è causa
di un'alterazione del dato memorizzato. È dunque fondamentale “rinfrescare” il dato contenuto nelle locazioni di memoria periodicamente.
Un'ulteriore differenza di questo modello, comparato a quello della RAM statica, sta nella presenza di due
linee: una per la lettura ed un'altra per la scrittura. Lo scopo è evitare che il condensatore si scarichi quando
si legge il dato. È inoltre possibile notare l'esistenza di un clock di precarica. Nella RAM statica era sufficienZeePpe
132
te un solo clock per leggere o scrivere il dato, nella RAM dinamica invece ad esso si aggiunge un clock per la
precarica.
Nella fase di precarica si attivano
e
. Quando i due transistori sono accesi, le
linee elettriche
e
, indipendentemente dall'operazione da attuare, riportano
una tensione uguale a
.
Quando la tensione di precarica passa da
a ,
e
restano uguali a
perché le due linee (ingresso ed uscita) sono
relative a numerose celle. È come se a
e
fossero collegate a delle capacità talmente elevate da impiegare molto tempo
per scaricarsi.
IMPORTANTE: prima di eseguire sia l'operazione di lettura che quella di scrittura ci deve
essere sempre un ciclo di precarica in modo
da portare
e
a
.
Supponiamo di voler memorizzare un uno
nella cella di memoria RAM. Per eseguire una
scrittura si deve imporre che
e
. Il transistore 3 si accende in virtù del livello alto di tensione al suo ingresso. Ricordiamo che un transistore si comporta a tutti gli effetti
come un interruttore e perciò se
allora lo sarà anche la tensione ai capi del condensatore
. La carica del condensatore alla tensione
equivale ad immagazzinare un uno nella cella.
Supponiamo poi di voler memorizzare uno zero. Per eseguire una scrittura si deve imporre nuovamente che
e
. Il transistore 3 si accende in virtù del livello alto di tensione al suo ingresso e perciò, a condizione di portare la tensione di
da
a , tramite un apposito dispositivo MOS, la tensione ai capi del condensatore
sarà . La carica del condensatore alla tensione equivale ad immagazzinare uno zero nella cella.
Per quanto riguarda invece la lettura del dato, il procedimento è il seguente. Innanzitutto si mette in atto la
precarica affinché le due linee
e
abbiano tensione
. La precarica richiede un intero ciclo di
clock.
Supponiamo di leggere un uno dalla cella di memoria RAM. Per eseguire una lettura si deve imporre che
e
. Il transistore
si accende in virtù del livello alto di tensione al suo ingresso. Ricordiamo che dire che nella locazione di memoria c'è un uno significa che la tensione alle estremità di
è alta.
è allora acceso e la tensione
.
allora
.
Supponiamo poi di leggere uno zero. Per eseguire una lettura si deve imporre nuovamente che
e
. Il transistore
si accende in virtù del livello alto di tensione al suo ingresso. Ricordiamo che dire che nella locazione di memoria c'è uno zero significa che la tensione alle estremità di
è bassa.
è
allora spento e la tensione
La tensione
è alta a causa della precarica che ha imposto che
sulle linee
e
vi fosse
Se
si legge uno zero, mentre se
si legge un uno.
La riga di lettura non deve essere uguale a quella di scrittura perché non si desidera leggere e scrivere contemporaneamente i dati.
Appunti Circuiti Digitali - Unisa
133
tende a scaricarsi a causa delle perdite del circuito, ma il tempo di scarica è relativamente lungo. Esso
ammonta a qualche millisecondo (circa 4). Una conseguenza della riduzione di
nel tempo è la necessità
di rinfrescare la memoria. La procedura è la seguente: il dato viene letto, invertito e riscritto. Il refresh è
pertanto la combinazione di una lettura e di una scrittura da eseguire ogni 4 millisecondi.
Lo swing logico varia da a 3
e quindi si necessita, anche in questo modello, di un circuito per il ripristino dei valori logici.
RAM dinamica ad un solo transistore
È possibile memorizzare e leggere un bit anche
avvalendosi di un solo transistore. La struttura
della RAM è molto più semplice. La capacità di
memoria, , assume valori compresi tra 3 e
. Si tratta di una capacità
molto piccola in quanto, per garantire un buon
livello d'integrazione, nella relazione
,
la superficie è esigua. Il valore modesto di
fa sì che la capacità di memoria si carichi e si
scarichi rapidamente. Siccome
tende a scaricarsi molto velocemente, a causa delle perdite del circuito, la frequenza di refresh deve essere abbastanza alta.
Per scrivere un valore nella cella di memoria dinamica è necessario innanzitutto imporre una tensione alta
sulla riga che provochi l'accensione del MOS
. Se si vuole memorizzare un uno, la tensione sulla colonna,
, deve essere alta in modo che la capacità
sia caricata al valore . Il transistore acceso si comporta
come un cortocircuito e perciò i potenziali di Source e di Drain si eguagliano, ossia
.
Se si vuole memorizzare uno zero, la tensione sulla colonna, , deve essere bassa in modo che
(tensione ai capi della capacità di memoria) sia uguale a .
Per leggere un bit dalla memoria si deve nuovamente attivare il transistore
ponendo la tensione del
conduttore di riga ( ) pari al livello logico alto( ).
Alla colonna della RAM sono collegate tante righe e conseguentemente vi sarà, in corrispondenza della colonna stessa, una capacità
che tiene conto di tutti gli effetti reattivi. Essa assume un valore tale che:
- volte .
La capacità di colonna, diversamente da quella di riga, è molto elevata. Il transistore
, acceso, fa in modo
che
.
Il valore immagazzinato nella cella è simboleggiato dalla tensione di
e quindi l'effetto dell'accensione di
è quello di riportare il valore del bit in uscita sulla colonna.
Visto che
è - volte , la carica ( ) della capacità di colonna sarà volte , carica immagazzinata nella capacità di memoria.
L'esempio di cella di memoria, illustrato, ha necessità di refresh perché le perdite interne fanno decrescere
la tensione di
nel tempo.
Lo swing logico è dell'ordine dei
. Il motivo di uno swing così ridotto sta nell'elevato valore della capacità di colonna
che rende lenti i processi di lettura e di scrittura in quanto essi sono correlati alla carica e alla scarica di tale capacità.
ZeePpe
Scarica