Elettronica digitale - Corsi di Laurea a Distanza

2. Generalità sui circuiti digitali
2.1 Segnali elettrici e variabili logiche
Pur essendo la maggior parte delle grandezze fisiche in natura rappresentabili con segnali analogici,
si é trovato molto spesso conveniente, per elaborare queste informazioni, convertirle in forma
digitale. Dopo l'elaborazione numerica, i risultati possono essere riconvertiti, se richiesto, in forma
analogica. I vantaggi di un’elaborazione in forma digitale sono essenzialmente i seguenti:
• Mentre l’inevitabile presenza del rumore deteriora sempre la qualità di un segnale analogico, nel
caso di un segnale digitale il rumore, purché di ampiezza inferiore ai margini per i disturbi, non
peggiora per nulla la qualità del segnale.
• Mentre l’elaborazione per via analogica viene definita in termini di interconnessioni di
componenti elettronici, e quindi per via hardware, al contrario il processo di elaborazione
digitale può essere effettuato da un hardware standard, e la funzione di elaborazione viene
specificata sotto forma di istruzioni di un programma, cioè via software. L’uso di un hardware
standard, e quindi prodotto in larghissima serie, permette una riduzione dei costi, e una grande
facilità di riprogrammazione qualora si desideri cambiare il tipo di elaborazione da effettuare.
Le informazioni da elaborare sono solitamente variabili logiche a due stati: vero e falso oppure uno
e zero.
Se si vogliono rappresentare le variabili logiche con corrispondenti segnali elettrici occorre adottare
segnali elettrici a due livelli: ad es. tensione alta e tensione bassa. Per evitare difficoltà di
riconoscimento i due livelli devono essere abbastanza diversi tra di loro.
Data l’arbitrarietà della scelta diremo che operiamo con logica positiva se rappresentiamo lo stato
“1” logico con tensione alta, e lo stato “0” logico con tensione bassa, al contrario operiamo in
logica negativa se scegliamo la convenzione opposta. D’ora in poi, salvo esplicita indicazione
contraria, opereremo con logica positiva.
Le operazioni che occorre fare su queste variabili sono le operazioni logiche elementari: AND, OR,
NAND, NOR, EXOR, NOT.
Si definisce Porta Logica un circuito che effettui una delle operazioni logiche elementari sui segnali
elettrici d’ingresso.
2.1.1 Scelta dei livelli di tensione corrispondenti ai livelli logici.
Supponiamo che l’uscita di una porta logica (il parlatore) debba fornire un’informazione
all’ingresso di una seconda porta logica (ascoltatore), come in fig. 2.1.
Figura 2.1 – Comunicazione tra parlatore e ascoltatore
75
Il parlatore fornirà informazioni assicurando una tensione alta per indicare ”1” e tensione bassa per
indicare “0”. Occorre che l’ascoltatore interpreti in modo corretto queste informazioni, in modo
inequivocabile. Date le tolleranze di realizzazione del circuito, la variabilità delle tensioni di
alimentazione, delle situazioni di carico, i disturbi sempre presenti, non avrebbe senso definire i due
stati logici con valori ben precisi di tensione, ma occorre assegnare a questi un campo di
accettabilità.
Fig. 2.2 – Campi di tensioni accettabili quali livelli logici.
La fig. 2.2 mostra le condizioni elettriche che debbono essere verificate perché il colloquio tra
parlatore ed ascoltatore possa avvenire senza errori di interpretazione.
In essa si sono adottati i simboli normalmente usati per indicare le grandezze elettriche su ingressi
ed uscite delle porte logiche, ed in particolare il pedice O (output) è usato per le tensioni e correnti
sulle uscite, il pedice I (input) per le grandezze d'ingresso, mentre il secondo pedice L (Low) indica
lo stato logico "livello basso" e H (High) "livello alto". Nella figura 2.2 sono indicati a tratto spesso
i possibili valori di VO forniti dal parlatore per indicare "1" oppure "0", nonché sulla seconda
ordinata, i campi di tensione che l'ascoltatore, in ingresso, è in grado di interpretare correttamente
come "1" e "0".
Per essere sicuri che l'ascoltatore possa interpretare correttamente qualunque informazione gli
pervenga dal parlatore, occorre che:
• il minimo valore di tensione che possa comparire sull'uscita per indicare "1" (VOHmin) sia
comunque superiore al minimo valore che l'ingresso è ancora in grado di riconoscere come "1"
(VIHmin), cioè che sia verificata la diseguaglianza:
VIHmin < VOHmin;
• il massimo valore della tensione di uscita per indicare "0" (VOLmax) sia comunque inferiore al
massimo valore che l'ingresso dell'ascoltatore è in grado di interpretare come "0" (VILmax).
Occorre cioè che sia verificata la diseguaglianza:
VILmax > VOLmax.
La differenza (VOHmin - VIHmin) viene detta "Margine per il rumore allo"1"logico".
La differenza (VOLmax - VILmax) viene detta "Margine per il rumore allo "0" logico".
Il significato delle definizioni precedenti è evidente: un rumore sovrapposto ai livelli di tensione
determinati dall'uscita del parlatore non è in grado di indurre false interpretazioni logiche da parte
dell'ascoltatore se la sua ampiezza non è superiore ai margini sopra definiti.
I valori della tensione d'uscita sopra definiti dipendono però dalla corrente che scorre nel circuito,
per cui occorre definire anche, per ogni porta:
− IOHmax massimo valore della corrente fornibile dall'uscita a livello alto per il quale è assicurato
che VOH > VOHmin.
− IOLmax massimo valore della corrente per cui l'uscita a livello basso assicura che VOL < VOLmax.
− IIHmax massima corrente richiesta dall'ingresso nello stato di "1".
− IILmax massima corrente richiesta dall'ingresso nello stato "0".
76
Connettendo una porta con più porte di carico occorre verificare, oltre alle disequazioni sulle
tensioni sopra definite, anche che la somma delle correnti da fornire alle porte di carico sia, in
entrambi gli stati logici, minore della massima corrente che la porta può sopportare assicurando
ancora i livelli logici corretti.
∑
I
< I OH max
I
< I OL max
n IH max
∑
n IL max
Le famiglie logiche sono costituite da componenti basati sulla stessa tecnologia, per i quali la
compatibilità elettrica è assicurata. All'interno di una famiglia, il numero massimo di porte che ogni
integrato è capace di pilotare rispettando le disequazioni sopradescritte viene detto "fan out".
2.2 Simboli logici utilizzati
La figura 2.3 mostra i simboli logici che utilizzeremo per rappresentare le funzioni logiche
elementari1.
Figura 2.3 – Porte logiche principali
Il pallino su un ingresso o su un'uscita ha chiaramente il significato che la relativa variabile viene
complementata, per cui equivale alla negazione.
Si noti che il Teorema di De Morgan rende possibile rappresentare la stessa funzione logica con
simboli diversi. Ad es. in figura 2.4 si vede come la funzione NAND possa avere due simboli
equivalenti ricordando che:
A⋅ B = A + B
Figura 2.4 – Teorema di De Morgan
1
Questi simboli non sono universalmente usati e in alcune pubblicazioni si possono trovare simboli differenti.
77
2.3 Segnale attivo alto ed attivo basso
Ciascuna variabile logica rappresenta un’informazione: in genere il nome dato alla variabile é
rappresentativo della sua funzione. Ad es. la variabile che comporta l’azzeramento di un certo
processo può essere chiamata RESET. Ogni variabile può essere attiva alta (cioè fa il suo compito
quando é portata all’”1”) o attiva bassa (in caso contrario). In genere conviene che questa
informazione sia associata al nome della variabile, aggiungendo un asterisco (oppure una
sopralineatura) nel caso di variabile attiva bassa; ad esempio:
• RESET:
questa variabile riazzera il sistema quando viene portata all”1” (tensione alta).
• RESET*:
questa variabile riazzera il sistema quando é portata allo “0” (tensione bassa).
Anche gli ingressi dei circuiti logici possono essere definiti "attivi alti" o "attivi bassi". Si dice che
un ingresso è "attivo alto" se è in grado di determinare lo stato del circuito quando è portato allo
stato "1", mentre non influenza l'uscita quando è tenuto allo stato "0" (ad es. i circuiti OR oppure
NOR hanno gli ingressi "attivi alti", in quanto un ingresso ad "1" è in grado di determinare lo stato
dell'uscita indipendentemente dagli altri ingressi).
Allo stesso modo si dice che un ingresso è "attivo basso" se è in grado di determinare lo stato del
circuito quando viene portato allo "0" (ad es. sono attivi bassi gli ingressi di circuiti AND).
E' ovvio che un segnale "attivo alto" debba comandare ingressi "attivi alti" e similmente che i
segnali "attivi bassi" debbano giungere ad ingressi "attivi bassi". Questo deve essere tenuto in conto
quando si disegnano sistemi logici complessi: per individuare gli ingressi "attivi bassi" si usa
contraddistinguerli con il pallino della negazione.
2.4 Prestazioni dinamiche
Nella grande maggioranza dei casi le singole porte fanno parte di un circuito logico più complesso
tutto realizzato con la stessa tecnologia, e quindi si trovano ad essere pilotate da porte a loro
analoghe ed a dover pilotare porte analoghe, come disegnato nella figura 1.6 dove si è indicata con
DUT (Device Under Test) la porta sotto esame. Questa è anche la situazione nella quale si
definiscono le prestazioni dinamiche della tecnologia in esame, cioè la sua velocità. Si supponga di
pilotare la prima porta di figura 2.6 con un generatore ideale di onda quadra, e di osservare con un
oscilloscopio gli andamenti nel tempo del segnale all'ingresso e all'uscita della DUT.
Figura 2.6 – Schema di misura delle prestazioni dinamiche
78
Nella figura 2.7 sono schematizzati questi segnali.
Si definisce:
− Dinamica logica l'escursione di tensione tra il livello dello "0" e dell'"1",
− Tempo di salita tr (di discesa tf), il tempo che è necessario alla forma d'onda d'uscita per passare
dal 10% al 90% della dinamica logica.
− Tempo di ritardo td, il tempo che intercorre tra l'istante in cui la forma d'onda all'ingresso passa
per il valore al 50% della dinamica logica e l'istante in cui questo accade per la forma d'onda in
uscita. Si possono avere due diversi tempi di ritardo td1 e td2 a seconda che si tratti di una
commutazione in salita o in discesa, ma spesso viene fornito come td la media oppure il
maggiore dei due.
Una tecnologia è considerata tanto più veloce quanto più è piccolo il tempo di ritardo td che, quindi
Figura 2.7 – Segnali corrispondenti alla figura 1.6
viene spesso utilizzato come parametro di confronto per le prestazioni dinamiche.
Si noti come, benché il segnale d'ingresso sia ipotizzato essere una perfetta onda quadra, già l'uscita
della porta P1 presenti fronti non perfettamente ripidi: tempi di salita e ritardi sono dovuti alla
presenza di capacità parassite nella struttura della porta, che dovendosi caricare e scaricare
rallentano le velocità di variazione delle tensioni. Poiché la dV/dt ai capi di una capacità dipende
dalla corrente con la quale si carica (o scarica), volendo costruire tecnologie molto veloci occorre
ridurre al minimo le capacità parassite, e avere a disposizione corrente a sufficienza per caricarle
velocemente. Velocità e basso consumo sono difficilmente conciliabili.
Un parametro spesso adoperato per identificare la qualità di una tecnologia è il prodotto td Pd (dove
Pd è la potenza dissipata dalla porta elementare, come definito nel paragrafo seguente). Questo
parametro ha le dimensioni di un'energia: una famiglia logica è tanto migliore quanto più
quest'energia è piccola.
2.5 Potenza assorbita
Ogni circuito logico necessita di una fonte di energia a tensione continua, dalla quale preleva la
corrente necessaria al suo funzionamento. Il prodotto tra la tensione di alimentazione e la corrente
prelevata corrisponde alla potenza assorbita dalla porta.
79
Tutta la potenza assorbita da un sistema logico è anche dissipata sotto forma di calore, in quanto
non vi è trasformazione in altre forme di energia.
La potenza dissipata da una porta deve essere la minore possibile e questo per due serissimi motivi:
− La complessità dei moderni sistemi logici richiede un numero elevatissimo di porte, e anche il
minimo risparmio sul consumo di ciascuna comporta un enorme risparmio globale. Si pensi in
proposito quanto questo sia importante per tutti i sistemi elettronici portatili.
− Tutta la potenza consumata è tramutata in calore, e questo deve essere trasmesso al di fuori del
sistema se non si vuole che la temperatura interna salga a valori pericolosi. Il processo di
miniaturizzazione delle singole porte e la crescente e spaventosa complessità dei circuiti
integrati a larghissima scala di integrazione fa sì che ciascuna porta occupi un'area di silicio
veramente minuscola, per cui vi è grande difficoltà a smaltire il calore che viene generato dalla
dissipazione di potenza. L'entità della potenza dissipata limita l'integrabilità della famiglia
logica.
Ogni porta logica assorbe una certa potenza quando è in situazioni statiche (cioè con l'uscita a "0"
oppure "1"), ma soprattutto assorbe una certa energia durante le commutazioni da uno stato all'altro,
dando luogo ad una potenza dissipata che cresce proporzionalmente con la frequenza di
commutazione.
80