[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