Elettronica dei sistemi digitali
In questo corso ci occuperemo, sostanzialmente, di analizzare i seguenti punti:
- Processo di fabbricazione CMOS;
- Layout dei circuiti digitali;
- Dispositivi MOSFET;
- Invertitore CMOS;
- Porte logiche combinatorie CMOS;
- Circuiti logici sequenziali;
- Interconnessioni;
- Sommatori;
- Metodologie di progetto;
- Elementi di VHDL;
Processi di fabbricazione CMOS
Per quanto riguarda i processi di fabbricazione, ci soffermeremo su quella CMOS in quanto è quella più largamente diffusa in ambito elettronico (in questo corso sorvoleremo su alcuni aspetti, sì importanti, ma che esulano dagli scopi del corso stesso).
Layout dei circuiti digitali
Per layout dei circuiti digitali si intende una rappresentazione bidimensionale degli elementi che compongono il circuito (in realtà il circuito è una struttura tridimensionale in quanto ci sono vari elementi che stanno su diversi livelli). Quindi, attraverso il layout rappresenteremo oggetti tridimensionali con una rappresentazione bidimensionale, mediante il programma Microwind, attraverso l’utilizzo di vari colori.
Dispositivi MOSFET
I dispositivi MOSFET verranno analizzati teoricamente e praticamente, tramite Microwind. In elettronica digitale possiamo “vedere” il MOSFET come un interruttore: quando è chiuso vuol dire che il dispositivo è in saturazione, quando è aperto è in interdizione (cutoff). Sostanzialmente il passaggio dalla zona di saturazione a quella di cutoff avviene attraverso la tensione applicata al gate: quando la tensione applicata al gate è inferiore alla tensione di soglia il dispositivo è rappresentabile come un “aperto”. Quando la tensione applicata al gate è superiore alla tensione di soglia il dispositivo è rappresentabile come un “corto”.
Invertitore CMOS e porte logiche combinatorie
L’analisi dell’invertitore CMOS è importante in quanto una volta capito il funzionamento di tale dispositivo è abbastanza naturale effettuare l’analisi delle porte logiche combinatorie CMOS (per circuito combinatorio si intende quel circuito in cui l’uscita è funzione solo dell’ingresso applicato nell’istante; è un sistema che non ha memoria) e dei circuiti logici sequenziali (per circuito sequenziale si intende quel circuito in cui l’uscita è funzione della sequenza, quindi con memoria, di ingressi applicati).
Alla base del funzionamento dei circuiti sequenziali ci sono i “registri”, ovvero dispositivi che consentono di memorizzare lo stato di un sistema (in altri corsi li abbiamo chiamati “flip flop”).
Effetto delle interconnessioni
L’effetto delle interconnessioni è un aspetto da non sottovalutare in quanto, all’avanzare del progresso tecnologico, le dimensioni dei dispositivi e dei tempi di reazione dei dispositivi (tempo di ritardo), ha fatto sì che il tempo di propagazione (dovuto agli elementi parassiti come resistenze e capacità parassite) delle piste di interconnessione tra i vari dispositivi risulti essere paragonabile ai tempi di ritardo dei dispositivi stessi, andando così a sommarsi nel calcolo complessivo del tempo di ritardo di tutto il sistema.
Un altro aspetto da non sottovalutare è il consumo di potenza, che aumenta, in quanto la pista di interconnessione può essere vista come una capacità che deve essere caricata e scaricata a seconda del livello di tensione che deve essere presente sulla pista. Se si vuole che la pista passi da 0 a 1, vuol dire che tale capacità deve essere “caricata”, ovvero serve dell’energia (bruciando così parte dell’energia che viene dall’alimentazione). Vedremo, allora, alcune strategie per limitare il contributo delle interconnessioni al ritardo e al consumo di energia.
Sommatori e linguaggio VHDL
Successivamente verranno analizzati i sommatori per dare, così, un esempio di sistema digitale più complesso. Infine verrà data una infarinatura sul linguaggio VHDL.
Evoluzione dell'elettronica
L’elettronica nasce con i tubi a vuoto (valvole termoioniche), dispositivi che facevano le stesse operazioni che oggi vengono effettuate dai transistor. Tali dispositivi avevano, chiaramente, delle prestazioni molto lontane da quelle degli attuali transistor specialmente per quanto riguarda il consumo di potenza (consumavano eccessivamente!). L’esempio più eclatante di sistema realizzato interamente con tubi a vuoto è l’ENIAC: Esso rappresenta il primo esempio di computer elettronico ed occupava un’intera stanza! Tale soluzione prevedeva alcune decine di migliaia di valvole.
La situazione è cambiata radicalmente, poi, con l’invenzione del transistor, nel 1948. Il primo transistor era “a punta di contatto” e questa nuova invenzione ha apportato un notevole miglioramento per quanto riguarda il consumo di potenza e, essendo di dimensioni ridotte, una maggiore implementazione rispetto alla soluzione precedente. I primi transistor erano transistor bipolari (dei BJT in cui il trasporto di corrente è affidato ad entrambi i portatori di carica, sia gli elettroni che le lacune. Ciò li distingue dai MOSFET in cui il trasporto di carica è affidato esclusivamente agli elettroni, negli nMOS, o alle lacune, nei pMOS).
Negli anni ’70 c’è stato il passaggio dalla tecnologia bipolare (basata, quindi, sui BJT) alla tecnologia MOSFET: tale grafico riporta il consumo di potenza per quanto riguarda la tecnologia bipolare e quella CMOS. Si evince come la tecnologia CMOS sia molto più efficiente, in alcuni punti, rispetto a quella bipolare e ciò spiega, quindi, il passaggio da una tecnologia all’altra.
Da tale grafico, si evince come il consumo di potenza, al passare degli anni, aumenti esponenzialmente; questo perché con gli anni si ha una maggiore integrazione (ovvero un maggior numero di dispositivi integrati) il che comporta un aumento del consumo di potenza e quindi, la tecnologia bipolare è arrivata ad un consumo di potenza tale per cui si è passati alla tecnologia CMOS che, a parità di densità di integrazione, consente una dissipazione molto più bassa. La tecnologia CMOS, inoltre, ha il vantaggio, rispetto alla tecnologia bipolare, di avere un consumo di potenza statico (ovvero quando il dispositivo non sta effettuando commutazioni) praticamente nullo. Ne deduciamo allora che, nei dispositivi CMOS si ha dissipazione solo quando si ha una commutazione.
Evoluzione della complessità
Per quanto riguarda invece l’evoluzione nella complessità, essa è ben descritta dalla legge di Moore nella quale viene “predetto” che la complessità dei circuiti elettronici sarebbe aumentata esponenzialmente nel corso del tempo: Tale grafico riporta l’evoluzione, per quanto riguarda il numero di porte logiche realizzate nello stesso circuito integrato, negli anni ed ha un andamento che sembra lineare ma non lo è in quanto è in scala semilogaritmica. Sulla scala di sinistra ci sono le porte logiche all’interno di un microprocessore, su quella di destra le memorie.
Questo grafico ci fa pensare sul fatto che anche il numero di transistor, integrati sullo stesso chip, avrà un andamento esponenziale. Infatti, analizzando il seguente grafico: si vede come, ad esempio, negli anni ’80 uno dei processori di maggiore successo dell’Intel, l’8086, conteneva poco meno di 100 transistor ed, invece, al passare degli anni si sia arrivati agli anni ’90 con i Pentium a decine di migliaia di transistor fino ad arrivare ai giorni nostri in cui si è sforato il tetto del miliardo di transistor all’interno di un singolo processore.
L’aumento del numero di transistor è accompagnato anche dall’aumento della frequenza di lavoro: da tale grafico si evince come la frequenza aumenti di un fattore due dagli anni ’90 in poi (negli ultimi anni, però, poiché con la frequenza non si riesce ad andare oltre si utilizza il parallelismo, ovvero utilizzare più core in parallelo in quanto la capacità di calcolo di un processore può essere aumentata o aumentando la frequenza o aumentando il parallelismo).
Per quanto detto fino ad ora, abbiamo scoperto che il numero di transistor (all’interno di un microprocessore) aumenta in maniera esponenziale al passare degli anni, pertanto la domanda che ci si pone è come gestire un numero così elevato di dispositivi. Osserviamo le due figure:
Nella immagine di sinistra abbiamo un vecchio processore, in cui il numero di dispositivi contenuti al suo interno era sì elevato ma “gestibile” da un progettista che poteva decidere dove disporre i dispositivi stessi. Nell’immagine di destra, invece, abbiamo un processore più recente in cui, per quanto abbiamo detto, il numero di dispositivi al suo interno è cresciuto esponenzialmente per cui la disposizione deve essere di tipo automatico, mediante il concetto di “divide et impera” (ovvero suddividere in sottoproblemi), che fa sì che ci sia una regolarità nella disposizione dei componenti.
Seguendo la tecnica del “divide et impera”, il componente che si vuole progettare viene scomposto in una serie di moduli. Ogni modulo, a sua volta, è formato da una serie di porte. Le porte, a loro volta, possono essere descritte da un punto di vista circuitale. Il circuito è formato, a sua volta, da transistor. Ogni transistor può essere descritto a livello di dispositivo. Lo schema in figura mostra i livelli di cui abbiamo parlato:
In questo corso ci porremo, mediante il Microwind, sul livello circuitale nel senso che tale programma integra, al suo interno, una sorta di spice per cui sarà possibile descrivere la tensione e la corrente su ciascun nodo attraverso delle variabili continue.
Parametri di prestazione di un sistema digitale
Vediamo, ora, quali sono le figure di merito di un sistema digitale. I parametri che vanno a definire le prestazioni di un sistema digitale sono:
- Costo
- Affidabilità
- Scalabilità
- Velocità (ritardo, frequenza di lavoro)
- Dissipazione di potenza
- Energia per realizzare una funzione
Nell’andare a definire il costo di un circuito bisogna tenere il conto il fatto che tale parametro ha una componente fissa ed una componente variabile. La differenza tra la componente fissa e la componente variabile risiede nel fatto che la componente fissa NON dipende da quanti componenti verranno realizzati (è una componente di costo che si deve affrontare indipendentemente dal fatto che il circuito in esame dovrà essere realizzato in cento esemplari o in un milione di esemplari). Ad esempio, fa parte della componente fissa il layout di un circuito. Dal layout del circuito vengono ottenute quelle che vengono chiamate le “maschere” del circuito (un circuito elettronico, fisicamente, si realizza mediante un set maschere ottiche le quali hanno un costo fisso).
I costi variabili, invece, sono proporzionali al volume di produzione. A tale costo, quindi, contribuiranno i costi delle materie prime, i costi legati al testing, ecc.
Ne deduciamo allora che, il costo del singolo chip sarà dato da:
Solitamente i costi fissi sono più elevati dei costi variabili l’unico modo per abbattere l’impatto dei costi fissi è quello di avere una elevata produzione. Il motivo per cui, oggi, si riesce a comprare un microprocessore a prezzi contenuti è perché viene prodotto in un elevatissimo numero di esemplari.
Il grafico ci mostra come, nel corso degli anni, ci sia stato un’esplosione dei costi fissi. Man mano che si passa da una tecnologia ad un’altra più sofisticata (sulle ascisse abbiamo la lunghezza di canale dei transistor, sulle ordinate i costi fissi) si ottiene un incremento esponenziale dei costi fissi. Per quanto riguarda, invece, il costo variabile è possibile calcolarlo come in cui la resa rappresenta un numero (0 < resa < 1) che da informazione su quanti dei chip realizzati sono funzionanti. Infatti, i chip vengono realizzati su una fetta di silicio (wafer) di, generalmente, 30 cm di diametro: su un singolo wafer vengono realizzati un certo numero di chip, tutti uguali. Successivamente tale fetta viene tagliata e vengono così estratti i singoli chip.
Per aumentare la produttività conviene utilizzare delle fette di diametro maggiore però più di un certo valore non ci si è potuti spingere in quanto bisogna comunque rispettare determinati parametri di affidabilità (ad esempio la superficie del wafer deve essere completamente planare al fine di poter realizzare i circuiti).
Abbiamo visto che un parametro fondamentale è la resa, ovvero quanti dei chip realizzati su un wafer sono funzionanti e quanti no: tale formula ci fa intuire che la resa è fortemente dipendente dalla dimensione del chip perché considerando lo schema in figura sotto in cui abbiamo due wafer: se ne deduce immediatamente che il chip estratto dal wafer di destra avrà un costo minore del chip estratto dal wafer di sinistra in quanto, per quanto detto in precedenza, a parità di costo del wafer nella configurazione di destra vengono realizzati molti più chip.
Altra cosa importante è che, se considerassimo entrambi i wafer affetti dagli stessi difetti: nel wafer di sinistra la resa è pari a ¼=0,25. Nel wafer di destra, invece, essendo l’area di ogni chip molto più piccola ne risulterà una resa maggiore rispetto al caso di destra. Noi non ci soffermeremo molto su formule ma ci accontenteremo di approssimare il costo di un chip ad una funzione di ordine 4 dell’area di un singolo chip: Nella tabella successiva si mette in evidenza il fatto che la resa (yield) aumenta al diminuire dell’area del singolo chip:
Robustezza e margini di rumore
Per quanto riguarda la robustezza, consideriamo la caratteristica VTC (Voltage Transfer Characteristic) di un invertitore: si hanno, come sappiamo due tensioni, VOL e VOH che corrispondono allo zero logico e all’uno logico. Quando in ingresso si applica VOL in uscita si ottiene VOH e quando in ingresso si applica VOH in uscita si ottiene VOL.
Una grandezza importante è quella che viene chiamata tensione di soglia logica e rappresenta la tensione che applicata all’ingresso dà in uscita la stessa tensione. In realtà, oltre alle tensioni nominali VOL e VOH esiste una regione che associa lo zero logico (regione che va da 0 a VIL) ed una regione che associa l’uno logico (regione che va da VIH a VDD). I punti di lavoro VIL e VIH sono quelli che presentano guadagno unitario, ovvero, quei punti che presentano il modulo della derivata nel punto stesso pari a 1. Ne ricaviamo, allora, le seguenti regioni:
Il significato dei margini di rumore allora è che fin quando la tensione di ingresso è contenuta all’interno di una delle bande, la tensione associata sarà uno zero logico o un uno logico. Non importa allora, ad esempio, che all’ingresso dell’invertitore ci sia una tensione pari proprio a VOL ma anche un valore prossimo e l’uscita sarà ancora l’uno logico. Ovviamente più sono estese queste bande più è robusto il sistema rispetto al rumore. I rumori possono essere di tipo induttivo, capacitivo, oppure dovuti a disturbi sull’alimentazione:
Proprietà rigenerative dei sistemi digitali
Una caratteristica fondamentale dei sistemi digitali è quella che viene chiamata proprietà rigenerativa: quando si ha a che fare con un sistema analogico, ad esempio un amplificatore, al cui ingresso c’è un segnale con rumore, generalmente tale rumore verrà riportato anch’esso in uscita, probabilmente amplificato.
Nei sistemi digitali, per fortuna, accade sostanzialmente il contrario. Ovvero, quando c’è un rumore, in ingresso ad uno stadio di elementi digitali, esso tende ad essere naturalmente reiettato dal sistema digitale stesso in virtù della proprietà rigenerativa. Analizzando lo schema in figura (caso rigenerativo) e supponiamo di avere in ingresso all’invertitore una tensione che sta nella regione indefinita: V0 (ovvero il rumore è stato così forte da portare la tensione di ingresso al di fuori del margine di rumore 0 ÷ VIL)
Avendo applicato V0, in uscita si avrà V1 che è ancora nella regione indefinita. Supponiamo, ora, che a valle di questo invertitore ci sia un altro invertitore identico (linea tratteggiata, in cui gli ingressi sono sull’asse delle y e le uscite sull’asse delle x). La tensione V1 andrà, quindi, in ingresso al secondo invertitore e darà in uscita V2. Ripetendo iterativamente tale processo per n invertitori in serie si otterrà che la V0, affetta da rumore, man mano si sposta sempre più verso sinistra, ovvero all’interno dei margini di rumore. Ciò che fa un sistema digitale, allora, è di “pulire” il segnale dal rumore che si è sovrapposto:
Ne deduciamo allora che, un segnale fortemente rumoroso (tale da portare il valore al di fuori dei margini di rumore) posto in ingresso ad una catena di invertitori (o in generale ad un sistema digitale), viene automaticamente “ripulito”.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Elettronica dei sistemi digitali - Appunti
-
Appunti completi del corso di Elettronica dei sistemi digitali
-
Paniere completo di Elettronica dei sistemi digitali (2025) - Risposte multiple
-
Appunti Fondamenti Elettronica