Sei sulla pagina 1di 48

-1.

1-

CAPITOLO I

LE BASI DELLELETTRONICA DIGITALE

1.1 - INTRODUZIONE

Linformazione su un fenomeno fisico in generale trasportata da segnali di varia natura (elettrica,


ottica,...) generati da opportuni trasduttori. Si parla di segnale analogico se qualunque valore assunto
da detto segnale per noi significativo. La rappresentazione analitica di tale segnale una funzione
continua del tempo, x(t).

Un esempio la tensione v(t) di uscita da un amplificatore audio, applicata ad un altoparlante: essa


rappresenta istante per istante lintensit del suono da riprodurre. Il numero dei valori significativi di
v(t) chiaramente infinito.

In molti casi, si ha a che fare con una informazione che ha oggettivamente un numero discreto, e
finito, di valori significativi. Ci limiteremo a considerare il caso di due soli valori (informazione bina-
ria), perch la tecnologia digitale sviluppata essenzialmente per questo caso.

Se per esempio si vuole mantenere costante la temperatura di un ambiente, non ha importanza il


valore attuale della temperatura (fornita per esempio sotto forma di segnale elettrico da una termo-
coppia): ci che importa se tale valore maggiore o minore di un valore di riferimento, in modo da
attivare opportunamente il sistema di condizionamento.

In generale, anche linformazione contenuta in un segnale analogico pu essere rappresentata in


forma binaria. Infatti, il teorema di Shannon assicura che un segnale analogico, avente uno spettro di
frequenza limitato a fmax, completamente conosciuto (in ogni istante) qualora se ne conoscano i
campioni (cio i valori istantanei) presi con periodo Ts<=1/(2fmax): con ci si intende dire che dalla
sequenza discreta x[n] dei campioni possibile ricostruire il segnale continuo x(t). Ora, il valore di
ciascun campione un numero, e se tali numeri vengono espressi nel sistema di numerazione bina-
rio, illustrato in un successivo paragrafo, ciascun campione (e quindi il segnale) sar rappresentato
da una stringa numerica in cui si fa uso di due soli simboli, quindi in forma binaria.

B. Marangelli, Dispense di Elettronica Digitale


-1.2-

Lelaborazione dellinformazione rappresentata in forma numerica binaria pi affidabile di quella


rappresentata in forma analogica. Si pensi, per esempio, alla trasmissione a distanza di un segnale
elettrico analogico: una tensione di rumore che si sommi algebricamente alla tensione del segnale
lungo il canale di trasmissione alterer in modo irrecuperabile il segnale vero. Se invece il segnale
rappresentato in codice binario, lungo il canale di trasmissione viaggeranno solo due diversi livelli di
tensione, scelti a rappresentare i due simboli del codice binario. Queste due tensioni possono essere
scelte in modo da non essere confondibili, una volta conosciuta la massima tensione di rumore che ci
si aspetta.

La tecnologia elettronica permette di costruire macchine capaci di elaborare informazioni sempre pi


complesse in tempi sempre pi brevi, se tali informazioni sono espresse in forma binaria. I calcolatori
elettronici digitali sono laspetto pi appariscente di questa innovazione, ma la tecnologia digitale
entrata in tutti i campi ove ci si serve di strumentazione per misure e controllo, con vantaggi inimma-
ginabili qualche decennio fa. Si pensi, per esempio, alla misura di una tensione elettrica: un voltmetro
tradizionale, in cui la deviazione dellago di un galvanometro su una scala proporzionale al valore
della tensione di entrata, ben difficilmente permette una precisione di lettura migliore di qualche
percento, date le ridotte dimensioni della scala, ed in generale tale precisione inferiore a quella
intrinseca del trasduttore (il galvanometro).
Con strumenti di tipo digitale, la precisione
della lettura indipendente dal sistema di
visualizzazione (un display alfanumerico) e
coincide con quella del trasduttore (che in
questo caso un convertitore analogico-digita-
le, ADC), che pu essere molto elevata.

Lelaborazione digitale dellinformazione ha i


suoi fondamenti teorici nellalgebra booleana,
che verr introdotta in un successivo paragrafo.
Per ora, soffermiamoci su un semplice esempio il quale, seppure banale, permette di introdurre
intuitivamente la problematica che lalgebra booleana affronta in modo formale. Consideriamo un
semplice sistema di controllo di un esperimento di fisica delle particelle elementari, Fig. 1.0. Sia T
una sorgente di particelle ionizzanti; EXP un apparato (per es. una camera proporzionale a fili) che

B. Marangelli, Dispense di Elettronica Digitale


-1.3-

produce un segnale (elettrico) Eo legato ad una propriet della particella ionizzante (per es. lenergia
persa dalla particella nellattraversare lapparato). Supponiamo di essere interessati ai segnali Eo
generati dalle particelle, provenienti da T, che attraversano la regione del rivelatore delimitata dal
tratteggio. Per selezionare queste particelle, si possono usare due sensori (che sono in realt
anchessi rivelatori di particelle) A e B posti lungo la traiettoria di interesse e utilizzare i segnali da
essi prodotti, SA e SB, per selezionare le particelle di nostro interesse secondo una logica di funzio-
namento che possiamo cos formulare:

accettare levento Eo se presente il segnale SA e se presente il segnale SB.

Quello descritto un semplice sistema di trigger a coincidenza.

Nella formulazione precedente possiamo distinguere la funzione logica che la macchina deve im-
plementare:

accettazione dellevento Eo

e le variabili logiche da cui limplementazione dipende:

presenza del segnale SA


presenza del segnale SB
Dovrebbe apparire chiaro che siamo di fronte ad una funzione e a delle variabili che possono assu-
mere solo due stati, che per comodit chiameremo stato vero e stato falso:

levento Eo pu essere accettato o rigettato;


gli eventi SA e SB possono essere presenti o assenti.
Il problema ora come costruire un apparato che meccanizzi la logica di controllo sopra descritta,
cio una rete che riceva in entrata i segnali SA, SB, ed Eo, e risponda con un segnale Y che ci dica se
accettare o meno Eo. Per un approccio razionale al problema, occorre innanzi tutto costruire il
modello matematico del problema stesso, cio la relazione funzionale fra variabili logiche di entrata e
funzione logica di uscita. Questo porta a definire le operazioni che si devono effettuare sulle variabili
per ottenere la funzione desiderata. La funzione logica verr indicata generalmente con la lettera Y e
le variabili logiche con le lettere A, B, C,...; pertanto, una relazione funzionale sar scritta generica-
mente come segue:

(1.1) Y = f(A,B,C,...)

B. Marangelli, Dispense di Elettronica Digitale


-1.4-

anche necessario fissare dei simboli per distinguere i due valori che Y, A, B, possono assumere.

A tale scopo, conveniamo di indicare con Y, A, B, e con Y , A , B i due stati vero e falso,

rispettivamente. comunque arbitrario associare per es. il simbolo A al valore vero e A al valore
falso, o viceversa.

Per esplicitare la generica funzione Y = f(. ), occorre definire delle operazioni


sulle variabili, che esprimano come, nella formulazione di un problema, le
variabili sono legate fra loro per determinare lo stato della funzione Y. Rife-
riamoci per semplicit ad una funzione di due variabili; la generalizzazione
apparir ovvia.

Poich la funzione e le variabili logiche possono assumere due soli stati, la


relazione funzionale pi semplice intuitivamente una delle due seguenti:

una funzione logica Y = f(A,B) ha valore vero se almeno una (cio una o pi) delle variabili
ha valore vero.
Si dice che la relazione funzionale realizzata dalloperatore OR, e
lespressione esplicita di Y pu essere scritta

Y = A OR B
Lazione delloperatore OR descritta dalla tavola della verit, Fig. 1.1.

anche evidente che loperatore OR pu essere introdotto con riferimento


alla falsit della funzione e delle variabili, cio si potrebbe anche dire:

una funzione Y = f(A,B) falsa se almeno una delle variabili falsa.

Nel caso di due variabili, la tavola della verit quella


di Fig. 1.2.

Appare quindi evidente che si pu ragionare secondo


due logiche, duali una dellaltra; esse vengono distinte
chiamando per convenzione la prima logica positiva e la
seconda logica negativa.

Una funzione logica Y = f(A,B) vera (falsa) se

B. Marangelli, Dispense di Elettronica Digitale


-1.5-

entrambe le variabili sono vere (false).


Si dice che la relazione funzionale realizzata dalloperatore AND, e lespressione esplicita di Y

Y = A AND B
Le tavole della verit sono in Fig. 1.3, per la logica negativa, e in Fig. 1.4 per la logica positiva.

In un problema concreto, una variabile il segnale fornito da un generatore, e questo segnale ad un


certo istante in uno stato definito (o vero, o falso). Pu essere necessario disporre contemporane-
amente di entrambi gli stati logici della variabile: pertanto, occorre introdurre un altro operatore che
fornisca lo stato logico complementare, che viene pi comunemente chiamato stato negato. Questo
operatore si chiama NOT. La tavola della verit di questo operatore in Fig. 1.5, ed unica per
entrambe le logiche.

Una generica funzione logica avr quindi una espressione esplicita in cui compaiono tre soli operatori
matematici.

La scrittura della espressione algebrica della funzione risulta pi snella se i tre ope-
ratori matematici vengono rappresentati con simboli algebrici. Tali simboli sono i
seguenti:

OR = + (simbolo della somma aritmetica)

AND = . (simb. del prodotto aritm., generalmente sottinteso)

NOT = _ (sovrasegnatura)

Questi simboli hanno suggerito lovvia nomenclatura di somma logica, prodotto logico,
complementazione, rispettivamente, per le tre operazioni. opportuno sottolineare che questi
simboli vanno qui intesi in senso logico, non aritmetico.
Vediamo ora come il modello matematico pu essere tradotto in una rete. Per questo, ad ogni
operatore occorrer associare un elemento di circuito che meccanizza la tavola della verit
delloperatore stesso. Questi elementi di circuito, che vengono comunemente chiamati porte logiche,
possono essere costruiti con tecnologie elettroniche oppure elettromeccaniche, oppure ancora
ottiche, ecc. Noi ci interesseremo del primo caso, poich le tecnologie elettroniche sono a
tuttoggi quelle massimamente sviluppate, e le porte saranno reti elettriche, oggi disponibili sotto
forma di circuito integrato. In questo caso, i due stati logici sono due diversi livelli di tensione,

B. Marangelli, Dispense di Elettronica Digitale


-1.6-

variabili a seconda della tecnologia costruttiva usata, per cui usuale parlare genericamente di livello
alto, H, e di livello basso, L, anzich di vero e falso, rispettivamente. In una tecnologia di uso molto
comune, nota come TTL, i valori nominali delle due tensioni sono L = 0V, H = 5V.
Dallesame delle tavole della verit di Fig. 1.1-1.4 appare che
un AND per logica positiva anche un OR per logica negativa,
e che
un OR per logica positiva anche un AND per logica negativa.
Ne segue che gli elementi di circuito sufficienti sono tre. Si far vedere pi avanti che non tutti sono
necessari.
Nella formulazione di un problema logico
comodo potersi svincolare dal tipo di
logica (positiva o negativa), e ci viene
realizzato se si conviene che
in logica positiva lo stato vero (o
il livello H) di una variabile rap-
presentato col simbolo 1, e lo stato
falso (o il livello L) col simbolo 0.

Viceversa in logica negativa.


Le nuove tavole sono in Fig. 1.6. Quindi, possibile scrivere la tavola
della verit delloperatore senza dover specificare la logica. Solo quando si
passer alla costruzione della rete occorrer specificare quale significato
fisico (cio quale tensione) associare a 1 e a 0, per poter scegliere gli
elementi di circuito adatti. Cos, se nel nostro progetto il simbolo 1
associato a un livello alto, sceglieremo, per realizzare il progetto, porte per
logica positiva; e viceversa.
La realizzazione di una rete di norma preceduta dal disegno dello schema della rete stessa. Per far
questo, occorre associare un simbolo circuitale a ciascun operatore. I simboli a tuttoggi pi diffusi
sono indicati in Fig. 1.7. Nello schema, i simboli sono connessi con linee che rappresentano il
percorso dei segnali.

B. Marangelli, Dispense di Elettronica Digitale


-1.7-

B. Marangelli, Dispense di Elettronica Digitale


-1.8-

1.2 - SISTEMI DI NUMERAZIONE


Poich le variabili logiche assumono due soli valori, si introdotto un sistema di numerazione, chia-
mato binario, nel quale ogni simbolo (comunemente chiamato bit) pu assumere uno dei due valori
numerici 0 oppure 1, a differenza del sistema di numerazione decimale in cui ogni simbolo pu assu-
mere uno dei dieci valori 0,1,...9.

Il significato aritmetico attribuito ad una stringa di simboli decimali espresso dalla ben nota relazione
illustrata nellesempio che segue (lindice la base di numerazione)

925,73(10) = 9. 102 + 2. 101 + 5. 100 + 7. 10-1 + 3. 10-2

Questa relazione mette in evidenza come il sistema di numerazione decimale sia di tipo posizionale,
cio il peso attribuito ad un simbolo dipende dalla sua posizione nella stringa: tale peso una potenza
della base di numerazione, essendo lesponente eguale, in valore assoluto, al numero dordine del
posto occupato dal simbolo, contando a partire dalla virgola. Il sistema di numerazione romano un
esempio di codice numerico non posizionale.

Lesempio precedente si presta ad una immediata generalizzazione, considerando una stringa nume-
rica in un sistema di numerazione, posizionale, in base b10. Se

N(b) = anan-1...a1a0,a-1a-2...a-k

la stringa, il suo significato aritmetico

N(b) = anbn+an-1bn-1+...+a1b1+a0b0+a-1b-1+...+a-kb-k

essendo: b la base di numerazione e ai un simbolo del sistema di numerazione, che un intero com-
preso fra 0 e b-1. La potenza bj il peso attribuito al simbolo aj.

Cos, nel sistema di numerazione binario b=2 ed ogni simbolo nella stringa pu assumere i valori 0
e 1.

Se le operazioni a II membro (somma, prodotto, ) vengono eseguite secondo le regole dell'aritme-


tica decimale, si ottiene l'equivalente decimale del numero in base b.

Ci sono altri due sistemi di numerazione che conviene considerare, data limportanza che hanno nei
sistemi di calcolo: il sistema di numerazione in base 8 (octal), che fa uso degli 8 valori numerici

B. Marangelli, Dispense di Elettronica Digitale


-1.9-

0,1,...7, ed il sistema di numerazione in base 16 (esadecimale) che fa uso dei 16 valori numerici
0,1,..9,10,..15 i quali, per ovvi motivi, sono scritti pi comodamente 0,1,..9,A,B...F.

Esempi:

11010(2) = 1. 24+1. 23+0. 22+1. 21+0. 20 = 26(10)


371(8) = 3. 82+7. 81+1. 80 = 249(10)
3F5(16) = 3. 162+15. 161+5. 160 = 1013(10)
Per esprimere un numero N(10) in un sistema in base b10, conviene considerare separatamente la
parte intera e quella decimale di N. La parte intera viene divisa per b, annotando quoziente e resto;
il quoziente viene ancora diviso per b annotando il nuovo quoziente ed il nuovo resto; e cos via,
fino ad ottenere quoziente 0. La stringa dei resti il risultato cercato.
Nellesempio che segue, si trasforma in binario il numero decimale 13:
quoz. 0 1 3 6 13
resti 1 1 0 1

Quindi, il decimale 13 si scrive in binario 1101. Si noti che il bit pi significativo


(Most-Significant-Bit, MSB) quello pi a sinistra (viene moltiplicato per la massima potenza di
2), mentre quello meno significativo (Least-Significant-Bit, LSB) quello pi a destra.

La conversione della parte decimale nella nuova base di numerazione b avviene moltiplicandola per
b, annotando separatamente la parte intera e la parte frazionaria del risultato; la parte frazionaria
viene ancora moltiplicata per b, annotando la nuova parte intera e la nuova parte frazionaria; e cos
via. Il processo si arresta spontaneamente se la parte frazionaria diventa 0; altrimenti, il processo
viene arrestato quando si ottenuto il numero desiderato di cifre. chiaro che in questo secondo
caso la conversione approssimata.
Nellesempio che segue, si converte in octal il numero decimale 0.624:
0.624 0.992 0.936 0.448 0.904 ....
4 7 7 3 ....

Quindi, 0.624(10) = 0.4773...(8).

B. Marangelli, Dispense di Elettronica Digitale


-1.10-

Per convertire un numero da una base b10 ad una base b10, conviene generalmente fare una
conversione intermedia in decimale. Tuttavia, il codice octal e quello esadecimale permettono una
conversione immediata in codice binario, e viceversa. Infatti, si pu facilmente verificare che per
tradurre un numero octal (esadecimale) in binario basta tradurre singolarmente ciascuna cifra in un
numero binario a 3 bit (4 bit), conservando leventuale virgola; ci mostrato negli esempi che
seguono:
315(8) F1B(16)

011 001 101 1111 0001 1011


Viceversa, per passare dal binario alloctal (esadecimale), basta dividere la stringa binaria, partendo
dalla virgola, in gruppi di tre (quattro) bit e tradurre ciascun gruppo in octal (esadecimale). Esempio:

1 1 0 1 1, 0 0 1 0 1
___| |_____| |_____| |____
octal 3 3 , 1 2
___||_______||________||___
esadec. 1 B , 2 8

Quanto ora detto fa comprendere che il sistema octal e quello esadecimale sono utili per rappresen-
tare in maniera pi compatta un numero binario.

B. Marangelli, Dispense di Elettronica Digitale


-1.11-

1.3 - ALGEBRA BOOLEANA


Lalgebra booleana permette di esprimere in forma algebrica le relazioni funzionali fra le variabili di
entrata e luscita di una rete logica.

Per introdurla in modo generale, consideriamo un insieme di elementi I=(i1,i2,i3,...) e indichiamo con
A,B,C,... delle variabili definite su I; associamo ad I una struttura algebrica definendo le due opera-
zioni di somma (+) e prodotto (. ), per le quali si postulano le seguenti propriet:

(1.2a) A+B = B+A propriet commutativa


(1.2b) A. B = B. A

(1.3a) A. (B+C) = A. B + A. C distributiva


(1.3b) A+(B. C) = (A+B). (A+C)

(1.4a) A+0 = A esistenza dell'elemento neutro della +


(1.4b) A. 1 = A del .

(1.5a) A+ A = 1 esistenza dell'elemento opposto

(1.5b) A. A = 0
Si assunto implicitamente luso delle parentesi e la propriet riflessiva, simmetrica e transitiva
delluguaglianza. Si conviene inoltre che loperazione di prodotto ha precedenza su quella di somma
e che si iniziano le operazioni dal livello di parentesi pi interno.
Una funzione booleana una espressione che combina mediante le operazioni di somma e prodotto
un numero finito di variabili, ciascuna delle quali pu assumere come valore uno degli elementi
dellinsieme I.
Un teorema dellalgebra booleana una asserzione che pu essere dimostrata con luso degli assio-
mi.

Si noti che gli assiomi sono presentati a coppie, in modo tale che in ciascuna coppia un assioma pu
essere derivato dallaltro scambiando loperazione di somma con quella di prodotto. Vale in generale
un principio di dualit: da un teorema gi dimostrato si pu ottenere un nuovo teorema scambian-
do + con e ogni variabile col suo complemento. In effetti le variabili qui restano inalterate poich in

B. Marangelli, Dispense di Elettronica Digitale


-1.12-

un teorema le variabili hanno significato generico (tra laltro, possono rappresentare anche intere
espressioni). I teoremi principali dellalgebra booleana sono riportati in un successivo paragrafo.

Il principio di dualit pu essere applicato anche ad una funzione booleana, ottenendo una nuova
espressione (detta duale) della stessa funzione. Va sottolineato che in una funzione le variabili hanno
significato specifico (rappresentano cio segnali fisici), quindi sia la funzione che le variabili vanno
esplicitamente sostituite col proprio complemento.

Lalgebra booleana ha trovato applicazione per lo studio formale di varie scienze, per esempio la
logica proposizionale, che studia le regole del ragionamento sulla base della verit o falsit di
asserzioni non equivoche. In questo caso, l'insieme I contiene due soli elementi, vero e falso. In
questo ambito si pu far rientrare lo studio dei circuiti a commutazione, nei quali cio gli stati di
entrata e di uscita possono assumere due soli valori, rappresentati simbolicamente con 1 e 0.

B. Marangelli, Dispense di Elettronica Digitale


-1.13-

1.4 - I TEOREMI DELLALGEBRA BOOLEANA


Si elencano alcuni teoremi dellalgebra booleana che si avr occasione di richiamare in seguito. I
teoremi sono dimostrabili sulla base degli assiomi, o di un teorema gi dimostrato, o per dualit.
Vengono trascritti accoppiati per dualit. Il simbolo del prodotto omesso l dove non necessario.
(1.6) A+A=A AA=A
(1.7) A+1=1 A. 0=0
(1.8) A+B+C=A+(B+C) ABC=A(BC) (propr. associativa)
(1.9) A(A+B)=A A+AB=A

(1.10) A( A +B)=AB A+ A B=A+B

(1.11) A (A+B)= A B A +AB= A +B

(1.12) (A+B)(A+ B )=A AB+A B =A

(1.13) (A+B)( A +C)= A B+AC

(1.14) A =A

(1.15) AB = A + B A + B = A B (teoremi di De Morgan)

Si fa ora qualche esempio di dimostrazione.


Dimostriamo che A+A=A.
Per la propriet simmetrica delluguaglianza, basta dimostrare che A=A+A. Allora:

A = A+0 = A+A A = (A+A)(A+ A ) = (A+A)1 = A+A


(1.4a) (1.5b) (1.3b) (1.5a) (1.4b)

Sotto ogni segno di eguaglianza indicato l'assioma che lo giustifica.

Dimostriamo che A + B = A B .

Basta far vedere che A+B e A B sono uno il complemento dellaltro, cio (assioma 1.5)

(A+B) A B = 0

(A+B) + A B = 1

Infatti

(A+B). A B = A A B + B A B = 0 + 0 = 0

B. Marangelli, Dispense di Elettronica Digitale


-1.14-

(1.3a) (1.5b) (1.4a)

(A+B)+ A B = (A+B+ A )(A+B+ B ) = (1+B)(1+A) = 1. 1 = 1

(1.3b) (1.5a) (1.12) (1.4b)


I teoremi di De Morgan, che sono particolarmente importanti, possono essere estesi al caso di n
variabili:

(1.16) A 1 + A 2 + A 3 +... .+ A n = A 1 A 2.. A n

(1.17) A 1A 2 A 3 .... .. A n = A 1 + A 2 +.+ A n

La dimostrazione avviene col metodo dellinduzione finita: cio, il teorema (gi dimostrato per il
caso di due variabili) viene assunto vero per il caso di k (>2) variabili e si dimostra quindi che esso
anche vero per k+1 variabili; data larbitrariet di k, segue che il teorema vero per ogni n. Allora:

A1 + A 2 = A 1 A 2 gi dimostrato

A 1 + A 2 +... A k = A 1 A 2 . A k supposto vero

Si ha:

A 1 + A 2 + ....+ A k + 1 = (A 1 + A 2 +.. ..+ A k ) + A k+ 1 (per la 1.8)

= ( A 1 + A 2 +... A k ) A k+1 (per la 1.15)

= ( A 1 A 2. A k) A k+1 assunto

= A 1 A 2 . A k+1 (per la 1.8)

B. Marangelli, Dispense di Elettronica Digitale


-1.15-

1.5 - FORMA CANONICA DI UNA FUNZIONE BOOLEANA


Un prodotto di variabili o loro complementi si chiama termine prodotto. Esempio

AB C D
Analogamente, si definisce un termine somma:

A+B+ C
Poich le uniche operazioni logiche su variabili, disponibili sia in forma vera che negata, sono somma
e prodotto, una funzione booleana pu sempre essere scritta sotto forma di somma di termini pro-
dotto (S.d.P.), oppure, dualmente, sotto forma di prodotto di termini somma (P.d.S.). Per esem-
pio, la funzione

Y = A(B+C)+D
con la propriet distributiva (1.3a) diventa:

Y = AB + AC + D
che in forma S.d.P.
Con la propriet distributiva (1.3b) la stessa Y diventa
Y = (A+D)(B+C+D)
che in forma P.d.S.

Se si applica successivamente la (1.3b) alla espressione S.d.P. si giunge a

Y = (A+D)(A+D+C)(A+B+D)(B+C+D)
che ancora in forma P.d.S.

Lesempio qui riportato fa vedere come la stessa funzione Y pu assumere molte espressioni diver-
se, manipolando lespressione algebrica con teoremi ed assiomi. Tuttavia, nella manipolazione delle
funzioni logiche conviene spesso riferirsi ad una espressione standard, chiamata canonica.

Un termine (somma o prodotto) canonico quando in esso appaiono esplicitamente tutte le variabili,
o in forma vera o in forma negata.

Una funzione in forma canonica quando tutti i suoi termini sono canonici.

Per esempio, nella funzione

Y(A,B,C) = A BC + B C + A C

B. Marangelli, Dispense di Elettronica Digitale


-1.16-

solo il primo termine canonico.

Una funzione in forma S.d.P. diventa canonica moltiplicandola per i termini

(A+ A ), (B+ B ), (C+ C ),...


essendo A,B,C... le variabili da cui Y dipende. Questi termini valgono 1, per la (1.5a), e per la
(1.4b) la funzione non cambia dopo la moltiplicazione.

Come esempio, canonizziamo la funzione precedente.

Moltiplicando per (A+ A ) e applicando la propriet distributiva (1.3a) si ha

Y = A A BC + A A BC + A B C + A B C + AA C + A A C

= A BC + A B C + A B C + A C

Come si vede, i termini che gi includevano la variabile A non vengono modificati, e per loro la
moltiplicazione risulta superflua. Tenendo presente questa osservazione, il procedimento si snellisce
molto.

Moltiplicando ora Y per (B+ B ), si ha

Y = A BC + A B C + A B C + AB C + A B C
inutile procedere alla terza moltiplicazione, poich la funzione ormai canonica.
Una funzione in forma P.d.S. diventa canonica sommando ad essa i termini

A A , B B , C C ,...
Questi termini valgono 0, per la (1.5b) e, per la (1.4a) la funzione non cambia. Esempio:

Y = (A+B)(A+ C )

Sommando B B , per la propriet distributiva (1.3b) si ha

= (B B +A+B)(B B +A+ C )

= (A+B)(A+B+ C )(A+ B + C )

Sommando C C e procedendo come sopra, si completa la canonizzazione.

Dai due procedimenti illustrati si deduce una osservazione conclusiva che suggerisce un metodo
rapido per la canonizzazione: se un termine (somma o prodotto) gi contiene la variabile rispetto alla
quale si sta canonizzando, esso resta inalterato; in caso contrario, da tale termine ne vengono gene-
rati due, uno contenente la variabile in forma vera, laltro in forma negata.

B. Marangelli, Dispense di Elettronica Digitale


-1.17-

1.6 - ANALISI DI UNA FUNZIONE BOOLEANA


Lanalisi di una funzione booleana consiste nello scrivere la sua tavola della verit.

La tavola della verit costruita elencando tutti gli stati logici distinti che le variabili possono assume-
re (stati di entrata della rete), e indicando, a fianco di ciascuno stato di entrata, lo stato logico assun-
to dalluscita.

Se il numero di variabili n, il numero di stati distinti di entrata (e quindi di righe della tavola) 2n: si
tratta infatti delle disposizioni con ripetizione di due oggetti (0 e 1) su n posti. facile convincersi
che tali disposizioni si ottengono scrivendo in codice binario a n bit i numeri interi da 0 a 2n-1. In fig.
1.8 mostrata la tavola per funzioni di tre variabili.

Una volta identificati gli stati delle variabili, si pu procedere a determinare,


riga per riga, il corrispondente valore delluscita Y sostituendo alle variabili il
valore indicato nella riga. In pratica, la procedura pu essere snellita di
molto facendo ricorso ad opportuni teoremi, limitandosi a cercare le righe in
cui la funzione vale 1 oppure quelle in cui vale 0.

Se la funzione scritta come S.d.P., conviene limitarsi a cercare i casi in cui


la funzione assume valore 1, applicando il teorema 1.7a allintera espres-
sione e il teorema 1.4b ai singoli termini prodotto: basta quindi cercare le
righe in cui i singoli termini prodotto valgono 1.

Consideriamo per esempio la funzione, tabulata in Fig. 1.8

Y = A+B C
Per il teorema (1.7a), Y vale 1 se

A vale 1 (sottinteso: indipendentemente dal valore assunto da B e da C): di conseguenza, Y


assume valore 1 nelle righe 5-8 della tavola.

oppure se

B C vale 1 (sottinteso: indipendentemente dal valore logico assunto da A): per il teorema 1.4b,
questo accade quando B vale 1 e C vale 0. Di conseguenza, Y assume valore 1 nelle righe 3 e 7
della tavola.

B. Marangelli, Dispense di Elettronica Digitale


-1.18-

Si potrebbero anche cercare le righe in cui la funzione assume valore 0, utilizzando il teorema1.4a:
ma occorrerebbe trovare le righi in cui tutti i termini della somma assumono valore 0, il che chiara-
mente molto meno agevole della procedura precedente.

Se la funzione scritta in forma P.d.S., conviene limitarsi a cercare i casi in cui la funzione assume
valore 0, applicando il teorema 1.7b allintera funzione e 1.4a ai singoli termini somma: basta quindi
limitarsi a cercare le righe in cui i singoli termini somma valgono 0.

B. Marangelli, Dispense di Elettronica Digitale


-1.19-

1.7 - SINTESI DI UNA FUNZIONE BOOLEANA


La sintesi consiste nel ricavare lespressione algebrica di una funzione, una volta nota la tavola della
verit.

I procedimenti di sintesi sono due, uno duale dellaltro, e danno la funzione in forma canonica come
S.d.P. o P.d.S., rispettivamente.

Col primo procedimento, ogni riga della tavola della verit in cui Y vale 1 genera un termine
prodotto canonico, nel quale le variabili appaiono in forma vera se nella riga valgono 1, in forma
negata se valgono 0. La funzione cercata la somma dei termini prodotto cos ottenuti.
Col secondo procedimento, ogni riga della tavola della verit in cui Y vale 0
genera un termine somma canonico, nel quale le variabili appaiono in forma
vera se nella riga valgono 0, in forma negata se nella riga valgono 1. La
funzione cercata il prodotto dei termini somma cos ottenuti.
Cos, per esempio, dalla tavola della verit di Fig. 1.9, col primo procedimen-
to si ha:

Y = A B + AB
Col secondo procedimento si ha:

Y = (A + B)( A + B )

B. Marangelli, Dispense di Elettronica Digitale


-1.20-

1.8 - IMPLEMENTAZIONE DI UNA FUNZIONE. LOGICHE A NAND E A NOR


Limplementazione consiste nella costruzione della rete relativa ad una funzione logica. Per far
questo, occorre disporre di elementi di circuito che meccanizzino ciascuno dei tre operatori logici.
Ogni elemento di circuito costituito a sua volta da una rete, nota come porta logica (gate) e oggi
disponibile in forma integrata. La struttura di tale rete, la sua complessit e le sue prestazioni,
dipendono dalla tecnologia usata nella costruzione del circuito integrato. A ciascuna tecnologia
corrisponde una famiglia logica, a sua volta divisa in sottofamiglie. Su questo torneremo
ampiamente nel seguito.
Commercialmente, oggi disponibile un vasto assortimento di moduli integrati (o, pi
semplicemente, integrati) contenenti
al loro interno sia semplici porte
logiche (in numero varia bile a seconda
del tipo di porta) sia reti estremamente
complesse (per esempio, un
microprocessore). Tali integrati sono
costruiti secondo standard ben definiti, sia meccanici (la struttura pi diffusa quella dual-in-line,
DIP) che elettrici. Ogni integrato identificato da una sigla, costituita da una parte letterale
(caratteristica del costruttore) e da una alfanumerica, standard. Cos, per esempio, il 7408 un
integrato della famiglia TTL standard che contiene quattro porte AND a due entrate (per logica
positiva); il 74LS04 un integrato della famiglia TTL LS che contiene sei porte NOT, ecc. La
mappa interna dellintegrato, cio come i piedini del modulo sono collegati alle porte interne,
reperibile sui cataloghi del costruttore. Un esempio dato tra le figure.
Le porte logiche verranno per ora
trattate come scatole nere, delle
quali interessano soltanto le propriet
terminali (cio la tavola della verit);
della loro struttura interna ci occu-
peremo al momento opportuno.

C da chiedersi, ora, quanti elementi di circuito siano necessari e sufficienti per realizzare una
qualunque rete logica. Si gi detto che sufficiente disporre di tre tipi di porte logiche, quanti sono

B. Marangelli, Dispense di Elettronica Digitale


-1.21-

gli operatori logici. In realt, con il teorema di De Morgan facile vedere che le tre operazioni
logiche possono essere implementate con due sole porte logiche. Consideriamo, infatti la porta AND
a due entrate, la cui funzione
Y = AB
Con il teorema 1.14 e con quello di
De Morgan, la stessa Y pu essere
scritta

Y = AB = A + B
La rete relativa a tale espressione
in Fig. 1.10. Si conclude che la
porta AND a due (o, in generale, a n) entrate pu essere realizzata mediante una porta OR a due (n)
entrate e tre (n+1) inverter. [Questa stessa conclusione pu essere raggiunta ricordando che un
AND per logica positiva anche un OR per logica negativa].

Analogamente, possibile vedere che la porta OR a n entrate realizzabile mediante la porta AND
a n entrate e n+1 inverter, Fig. 1.11.
Pertanto, per realizzare i tre operatori logici (e quindi, per costruire qualunque rete logica)
necessario e sufficiente disporre di due soli tipi di porte logiche: la porta OR e la porta NOT,
oppure la porta AND e la porta NOT.
Si pu allora pensare di inglobare
le due porte in una unica rete in
modo da usare un solo elemento di
circuito. Le soluzioni oggi adottate
sono due (una duale dell'altra). La
prima lAND seguito da inverter,
cui si d il nome di NAND; la
seconda lOR seguito da inverter,
cui si d il nome di NOR.

Nel primo caso la funzione realizzata

B. Marangelli, Dispense di Elettronica Digitale


-1.22-

Y = AB = A + B
Tavola della verit del NAND e simboli circuitali corrispondenti alle due espressioni algebriche sono
in Fig. 1.12.

Nel secondo caso, la funzione realizzata

Y = A+B = A B
Tavola della verit del NOR e simboli circuitali sono in
Fig. 1.13.

facile convincersi che un NAND per logica positiva


(negativa) anche un NOR per logica negativa (positi-
va).

Da un NAND o da un NOR si ha un inverter


collegando insieme le entrate (prima e ultima riga della
tavola della verit). Allora appare chiaro che disponendo di soli NAND, o di soli NOR, possibile
realizzare le tre operazioni logiche, ed quindi possibile
costruire qualunque rete logica. Il NAND, o il NOR, ha
quindi la funzione di porta logica universale.
Le reti, oggi, vengono costruite in logica a NAND o a
NOR, anzich in logica AND-OR-INVERTER (AOI).
Poich le regole di sintesi di una funzione, studiate in
precedenza, forniscono una espressione algebrica (in forma P.d.S. oppure S.d.P.) direttamente
implementabile in logica AOI,
occorre comprendere come
convertire lespressione algebrica se
si vuole una realizzazione in logica a
NAND o in logica a NOR.
Ancora una volta, il problema
risolto con il teorema di De Morgan.
Si abbia per esempio la funzione

Y = AB + CD

B. Marangelli, Dispense di Elettronica Digitale


-1.23-

la cui rete, in logica AOI, in Fig. 1.14a.


Con i teoremi 1.14 e di De Morgan, si ha

= AB + CD = AB CD

che realizzabile con soli NAND, Fig. 1.14b.


Con gli stessi teoremi, si ha anche

AB + CD = A+ B + C + D = A+ B + C+ D

che realizzabile con soli NOR, Fig. 1.14c.

Si noti il gran numero di inverter necessari nella versione a NOR. In generale, se lespressione di Y
in forma S.d.P., la soluzione a NAND pi conveniente di quella a NOR. Viceversa, se la Y in
forma P.d.S.

B. Marangelli, Dispense di Elettronica Digitale


-1.24-

1.9 - CARATTERISTICHE DELLE FAMIGLIE LOGICHE


Si gi detto che le famiglie logiche si distinguono per la struttura circuitale e per i componenti che
vengono adoperati per costruire la porta base della famiglia (per esempio, il NAND). Questo fa s
che le prestazioni ottenibili da una rete logica siano fortemente dipendenti dalla famiglia cui apparten-
gono i componenti usati per costruire la rete stessa. Pertanto, il progettista prima di passare alla
realizzazione della rete deve decidere quale famiglia usare, in vista della particolare applicazione cui
la rete destinata. Questa decisione si basa su alcuni parametri comparativi delle famiglie logiche
che bene conoscere subito, e che possono essere illustrati indipendentemente dalla struttura interna
delle porte, la cui descrizione rimandata pi avanti, quando verr anche chiarito il significato delle
sigle che distinguono le varie famiglie.
Scegliere i componenti di una famiglia piuttosto che di
unaltra spesso legato allapplicazione specifica della
rete da realizzare: per esempio, del tutto ovvio che,
dal punto di vista della massima frequenza di
commutazione, i problemi che pone la logica di
controllo di una lavatrice sono diversi da quelli che si
incontrano nel realizzare una scala di conteggio per
impulsi con frequenza di ripetizione di 200 MHz. Infatti,
nel primo caso la logica pu essere implementata
anche con interruttori elettromeccanici, che
permettono frequenze di commutazione di pochi Hz (sufficienti, tuttavia, per luso specifico); nel
secondo caso, occorre ricorrere a componenti della famiglia ECL, che hanno la adeguata velocit di
commutazione. Come altro esempio, si pensi ai problemi di potenza a bordo di un satellite artificiale:
qui problematico non solo generare la potenza necessaria al funzionamento dellelettronica a
bordo, ma anche dissipare il calore sviluppato dal consumo di energia: lunico modo
lirraggiamento, per cui occorre adoperare integrati a bassissima dissipazione di potenza, quali quelli
della famiglia CMOS. Questo problema, in generale, molto meno sentito in apparecchiature a
terra, ove sempre possibile ricorrere al condizionamento degli ambienti.
Descriviamo, ora, gli elementi comparativi delle famiglie logiche. Per comodit, gli esempi numerici si
riferiranno alla famiglia TTL standard, che a tuttoggi la pi diffusa.

B. Marangelli, Dispense di Elettronica Digitale


-1.25-

Occorre, anzitutto, definire i livelli logici. A tale scopo, possiamo anticipare che la struttura circuitale
di una porta quella di un amplificatore
ad alto guadagno. Se si misura la sua
caratteristica ingresso-uscita si ha, per un
inverter, la curva di Fig. 1.15 (il
guadagno Vout/Vin stato per
semplicit supposto infinito e la
transizione stata tracciata verticale). In
questa figura, si indicato con H e L la
tensione pi alta e quella pi bassa,
rispettivamente, misurata in uscita. Si poi indicato con Vs la tensione di entrata a cui avviene la
commutazione. Ripetendo la misura su altri esemplari di inverter, si trova che sia Vs, sia le tensioni di
livello alto, H, che di livello basso, L, di uscita cambiano. Ci dovuto alle tolleranze di costruzione.
Se si fa la misura su un gran numero di inverter TTL, si ottiene la famiglia di caratteristiche di
trasferimento. In Fig. 1.16, le curve marcate sono le caratteristiche estreme della famiglia. Queste
curve mostrano che i livelli logici di uscita da una porta TTL possono variare (a vuoto)
nellintervallo 0.1-0.4 volt per il livello basso, e 2.4-4.5 volt per il livello alto. In altri termini,
scegliendo a caso una porta TTL, i livelli logici L e H che si misureranno alla sua uscita cadranno
nei suddetti intervalli, rispettivamente (non accadr mai di misurare una tensione compresa fra 0.4 e
2.4 volt).
Analogamente, dal lato entrata, i due livelli logici
non sono discriminati da una tensione Vs ben
definita per qualunque porta: le curve di Fig.
1.16 evidenziano che se scegliamo a caso una
porta TTL, possiamo affermare in anticipo che
essa riconoscer sicuramente come livello basso
le tensioni di entrata comprese nellintervallo 0 -
0.8 volt, e riconoscer sicuramente come livello
alto le tensioni comprese nellintervallo 2 - 5
volt. Le tensioni intermedie, cio fra 0.8 e 2 volt,

B. Marangelli, Dispense di Elettronica Digitale


-1.26-

non sono utilizzabili, nel senso che non garantito che una porta TTL scelta a caso riconosca in
modo non equivoco una tensione in tale intervallo: per esempio, un livello di 1.5 volt allingresso
potr essere riconosciuto come livello basso da alcuni esemplari e come livello alto da altri.
La Fig. 1.17 riassume quanto ora detto. Sulla stessa figura sono indicati alcuni simboli caratteristici,
di cui bene conoscere il significato.
VIL: massima tensione riconosciuta in entrata come livello basso
VIH: minima tensione riconosciuta in entrata come livello alto
VOL: massima tensione misurata in uscita nello stato basso
VOH: minima tensione misurata in uscita nello stato alto
Un primo parametro caratterizzante per una famiglia logica
limmunit al rumore, cio la capacit della porta di
sopportare un disturbo sovrapposto al livello logico di
entrata senza che questultimo venga interpretato in modo
errato. Limmunit al rumore viene espressa dal costruttore
mediante i margini di rumore, cos definiti:
VNH = VOH - VIH

VNL = VIL - VOL

rispettivamente per il livello alto e per il livello basso. Tali


margini, per la famiglia TTL, sono entrambi eguali a 0.4 volt,
come appare dalla Fig. 1.17.
Un secondo parametro caratteristico di una famiglia il ritardo di
propagazione, tpd, nella porta base. A tale ritardo strettamente
legata la massima velocit di commutazione consentita in
una rete. Infatti, intuitivo che per evitare errori nello stato di
uscita di una rete necessario che lintervallo fra due transizioni
di entrata sia almeno pari al ritardo di propagazione totale della
rete. Il ritardo di propagazione di una porta viene definito, Fig.
1.18, come lintervallo di tempo fra listante t0 in cui lentrata ha raggiunto un livello sicuramente
riconoscibile come nuovo stato e listante t1 in cui la transizione di uscita ha raggiunto anchessa un

B. Marangelli, Dispense di Elettronica Digitale


-1.27-

livello sicuramente riconoscibile come nuovo stato. In generale, il ritardo di propagazione diverso a
seconda del tipo di transizione (H->L, oppure L->H).
Il terzo parametro caratteristico il fan-out, che pu essere definito come segue. Consideriamo una
porta P di una famiglia e colleghiamo alla sua uscita, Y, n ingressi di porte appartenenti alla stessa
famiglia, Fig. 1.19. Come si vedr nel Capitolo IV, per mantenere lingresso di una porta nello
stato alto necessario fornire corrente a tale ingresso; il valore massimo di tale corrente indicato
con IIH, e nella famiglia TTL di 40 A. Per mantenere un ingresso nello stato basso, invece
necessario assorbire corrente da esso; il massimo valore di tale corrente, IIL, di 1.6 mA nella
famiglia TTL. I valori IIH e IIL sono quelli che assicurano che i livelli logici saranno riconosciuti in
modo corretto da una porta scelta a caso.
Ovviamente, luscita Y della porta P pu assorbire o erogare una corrente finita, i cui valori minimi
sono IOL e IOH (rispettivamente 16 mA (per il livello L) e 0.4 mA (per il livello H) nella famiglia
TTL). chiaro che, volendo mantenere i livelli logici corretti, n non pu essere arbitrariamente
grande. Il suo massimo valore sar n=IOH/IIH per il livello alto, e n=IOL/IIL per il livello basso. Tale
massimo valore si chiama fan-out: nella famiglia TTL, esso 10 per entrambi i livelli.
Un altro elemento di paragone fra le varie famiglie pu essere la tensione di alimentazione richiesta.
Alcune famiglie (per esempio, la TTL) richiedono una tensione fissa con stretta tol- leranza (+5
volt, +-5%). La famiglia ECL richiede sia una tensione positiva che una negativa (oppure solo
negativa), il che pu risultare piuttosto scomodo. Altre famiglie accettano senza problemi
alimentazioni variabili in un ampio intervallo (per esempio le porte CMOS accettano tensioni
comprese tra 2 e 15 volt).
Per quel che riguarda, infine, la potenza dissipata per gate, staticamente essa strettamente legata
alla tecnologia costruttiva della famiglia, come si vedr, e pu variare in condizioni statiche da meno
di 1 microwatt per gate, come nella famiglia CMOS, a decine di milliwatt per gate in altre famiglie.
Per ora, possiamo sottolineare che alla potenza dissipata legato il ritardo di propagazione. Infatti,
le capacit distribuite nel circuito sono abbastanza definite; se si riduce la corrente, per ridurre la
dissipazione, occorre pi tempo per caricare le capacit fino alla soglia di commutazione V (V =
Q/C = It/C), e quindi aumenta il ritardo di propagazione. Talvolta, viene considerato come fattore
di merito il prodotto fra la potenza dissipata dalla porta e il suo ritardo di propagazione: tale
prodotto ha le dimensioni di un lavoro, e si misura in picoJoule (pJ).

B. Marangelli, Dispense di Elettronica Digitale


-1.28-

La tavola di Fig. 1.20 riassume alcune caratteristiche per le pi diffuse famiglie logiche.

CARATTERISTICHE MEDIE, PORTA BASE


FAMIGLIA TTL ECL CMOS
SOTTOFAMIGLI STANDAR LS ALS S AS ECL STANDAR HC AC

A D (FAST) D (HCT) (FACT)

Margine di 0.4 0.4 >0.4 >0.4 >0.4 0.15 1 1 1.25


rumore, V

Tpd, nsec 9 8 4 3 2 <2 50 9 3


(su 50 pF) () ()
Fclock, MHz 25 33 34 95 125 >200 8 60 >100
Potenza statica, 15 3 2 25 12 >25 .000001 .0001 .0001
mW
Potenza a 1 MHz, 1 1 1
su 50 pF, mW
Fan out 10 20 20 10 >40 20 2(su LS) 10 () 60 ()
Vcc, V 5 5 5 5 5 -5 3-15 2-6 2-6
VIH, V 2 2 2 2 2 3.5 3.15
VIL, V 0.8 0.8 0.8 0.8 0.8 1.5 0.9
VOH, V 2.4 2.7 Vcc-2 2.7 Vcc-2 4.5 4.4
VOL, V 0.4 0.4 0.5 0.5 0.5 0.5 0.3

Fig. 1.20

B. Marangelli, Dispense di Elettronica Digitale


-1.29-

1.10 - CRITERI REALIZZATIVI DI UNA RETE LOGICA


Conviene ora osservare che una funzione logica pu essere rappresentata mediante varie espressioni
algebriche: infatti, si gi visto che partendo da una di tali espressioni possibile ricavarne numero-
se altre con luso di teoremi e assiomi, senza che la tavola della verit della funzione cambi.

Il problema quale espressione conviene scegliere nella realizzazione.

ragionevole attendersi che la rete logica da realizzare soddisfi le tre condizioni seguenti:

abbia il minimo costo possibile: cio la rete deve richiedere il minimo numero di circuiti integrati
(costo dei componenti) ed il minimo numero di collegamenti (costo di realizzazione).
Abbia la massima velocit operativa: questo equivale a chiedere che sia minimo lintervallo di
tempo fra listante t0 in cui una variabile di entrata cambia stato logico e listante t1 in cui luscita
cambia, di conseguenza, stato. Poich ogni porta logica caratterizzata da un ritardo di propaga-
zione, questo equivale a chiedere che i segnali attraversino il minor numero possibile di porte logi-
che per arrivare alluscita della rete.
Funzioni in modo affidabile: cio lo stato delluscita in corrispondenza di un assegnato stato delle
entrate deve essere in ogni istante corretto, cio quello previsto dalla tavola della verit.
Purtroppo, queste tre condizioni sono quasi sempre tra loro incompatibili, nel senso che
lottimizzazione di una delle tre condizioni spesso contrasta con quella delle altre due: per esempio,
la versione di minimo costo di una rete non sempre coincide con quella che ha la massima velocit
operativa, n detto che funzioni in maniera affidabile.
Nei paragrafi seguenti illustreremo i metodi per realizzare separatamente le tre esigenze, evidenziando
le incompatibilit fra le medesime.

B. Marangelli, Dispense di Elettronica Digitale


-1.30-

1.11 - MINIMIZZAZIONE DI UNA FUNZIONE LOGICA


I metodi noti per la minimizzazione del costo mirano a minimizzare il numero P di porte AND e OR
necessarie per limplementazione (costo del materiale), ed il numero E delle interconnessioni, pari al
numero di entrate alle porte (costo del montaggio); il numero degli inverter viene ridotto successi-
vamente, come si dice pi avanti. Poich P e E sono indipendenti, come fattore di merito della rete,
dal punto di vista della minimizzazione, si pu assumere il prodotto PE.

Data una equazione algebrica in forma qualunque, si pu verificare che P uguale al numero di
termini prodotto o somma contenenti pi di una lettera, pi uno; E uguale al numero di termini
prodotto o somma contenenti pi di una lettera, pi il numero di lettere che compaiono
nellequazione.

La ricerca della espressione minima deve ovviamente avvenire con operazioni lecite, quindi mediante
luso di teoremi o assiomi dellalgebra booleana. In effetti, il teorema che appare adatto allo scopo
(1.12) che permette di ridurre sia P che E: due termini (prodotto o somma) differenti per una variabi-
le vengono sostituiti con uno solo, costituito dalla parte invariante dei due termini stessi.

Due metodi basati sulla applicazione sistematica di questo teorema, che permettono di giungere
rapidamente alla soluzione, verranno illustrati nei paragrafi seguenti. La soluzione viene fornita come
S.d.P. o come P.d.S. e si vedr fra poco che essa anche la versione pi veloce della rete. Tuttavia,
pu accadere che, ricorrendo ad altri teoremi, si possa ridurre ulteriormente il prodotto PE: questo
in ogni caso va a scapito della velocit della rete.
Va precisato che i metodi di minimizzazione hanno una giustificazione logica, cio si fondano sui
teoremi dellalgebra booleana; pertanto non possono tener conto delle particolarit costruttive delle
porte logiche. Per esempio, nel paragrafo 1.15 si fa vedere come possibile talvolta implementare
una funzione con risparmio di porte, sfruttando la propriet di alcune di esse di avere le uscite
direttamente collegabili insieme (logica cablata).
Inoltre, opportuno sottolineare che, poich le porte sono disponibili non come singolo elemento,
ma a gruppi di due, tre, quattro, in un unico contenitore, la minimizzazione del prodotto PE per
una rete realizzata in logica sparsa (cio connettendo insieme circuiti integrati distinti) ha significato
quando quest'ultima vista come facente parte di una rete di pi ampie dimensioni, nella quale,
quindi, ragionevole supporre che gli integrati saranno utilizzati pressoch al 100%. Per reti di

B. Marangelli, Dispense di Elettronica Digitale


-1.31-

piccole dimensioni, espressioni della stessa funzione con prodotti PE diversi possono richiedere lo
stesso numero di integrati.
Con lo sviluppo della tecnologia di integrazione su larga scala (realizzazione di reti logiche complesse
su singolo circuito integrato) il costo del prodotto finale non pu pi essere valutato semplicemente in
termini di prodotto PE: infatti il costo dipende essenzialmente dall'area di silicio occupata.
Naturalmente, anche in questo caso la minimizzazione ha grande interesse, perch permette di
realizzare reti pi complesse sulla stessa superficie di silicio.
Prima di passare ad illustrare i metodi di minimizzazione, conviene anticipare come essi funzionano.
Essi applicano il teorema (1.12) a tutte le possibili coppie di termini (non si pu sapere a priori quale
coppia dar la soluzione pi conveniente) il massimo numero di volte possibile. I termini ottenuti alla
fine di questa operazione (quando il teorema non pi applicabile) costituiscono il set irriducibile
di implicanti primi. Da questo set va successivamente estratto il sub-set che costituisce la soluzione
cercata (espressione minimale della funzione). In generale, ci saranno pi soluzioni possibili (cio pi
sub-set), e la scelta finale va fatta sulla base di altri criteri, per es. la minimizzazione degli inverter.
In seguito considereremo esempi particolarmente semplici; ma possono verificarsi casi in cui la
ricerca della soluzione minimale non banale. Per una trattazione pi completa, si veda [1].

B. Marangelli, Dispense di Elettronica Digitale


-1.32-

1.12 - IL METODO DI QUINE


Questo metodo si basa, come gi detto, sulla applicazione sistematica del teorema (1.12). Per la
prima fase, cio la ricerca del set irriducibile di implicanti primi, si comincia con lo scrivere la
funzione da minimizzare in forma canonica, per esempio S.d.P., e si trascrivono i termini in una
tabella.
Si comincia quindi a confrontare ciascun termine con tutti i successivi, cercando quelli che
differiscono da esso per una variabile.
Il fatto che un termine venga utilizzato in pi confronti non deve suscitare perplessit: infatti, ci da
un lato consentito dal teorema (1.6), secondo il quale un termine pu essere ripetuto quante volte si
vuole nella espressione algebrica senza che questa cambi; daltro lato ci risulta indispensabile in
quanto, come gi detto, non si pu sapere a-priori quale coppia dar il risultato pi conveniente.

Ad ogni coppia trovata si applica il teorema (1.12), compilando cos una seconda tavola con i
termini semplificati.
Lo stesso procedimento viene applicato alla seconda tavola, compilandone una terza. Si procede
cos fino a quando il teorema (1.12) non pi applicabile.
Un termine al quale il teorema non pi applicabile un implicante primo.
Lillustrazione del metodo risulter pi chiara procedendo con un esempio.

Consideriamo la funzione

Y= A B C D + A B C D + A B C D + A BCD + AB C D + A B C D + AB C D +

AB C D + ABC D + ABCD

La prima tavola in Fig. 1.21a. Il termine (1) pu essere accoppiato con (8), generando il termine
ABC; con (9), generando il termine ABD; con (10), generando il termine BCD: tutti trascritti nella
seconda tavola. Il termine (2) pu essere accoppiato con (3), con (6) e con (7); ecc.

Nella seconda tavola si procede nello stesso modo, come illustrato nella figura.

Nella terza tavola ci sono solo implicanti primi.

Il set irriducibile degli implicanti primi, ora ottenuto, probabilmente ridondante, se si ricorda che
stato ricavato facendo tutti i confronti possibili.

B. Marangelli, Dispense di Elettronica Digitale


-1.33-

Occorre ora identificare la (o le) somma minimale, che costituita dagli implicanti primi
necessari e sufficienti a coprire' la funzione (con ci si intende dire che, partendo da tali

1 ABCD 1 ABC 1,8 1 AB 1,13,2,12 1,7,8,9 implicanti primi,


deve essere
2 AB C D 2 ABD 1,9 2 BD 2,10,3,9 1,5,9,10
possibile,
3 A B C D 3 BCD 1,10 3 B D 4,8,5,7 2,3,4,6 applicando a
4 A BC D 4 B C D 2,3 4 A D 5,6,11,12 2,6,7,8 rovescio il teorema,
ricostruire i termini
5 ABCD 5 AB D 2,6 Fig.1.21c
canonici originari).
6 A BC D 6 AC D 2,7
A tale scopo, si

7 AB C D 7 A B D 3,4 costruisce una


tavola, come in Fig.
8 ABC D 8 BC D 4,6
1.21d, che ha come
9 AB C D 9 BCD 5,9 indici di riga gli

10 A BCD 10 A BD 5,10 implicanti primi, e


come indici di
Fig.1.21a 11 AC D 6,8
colonna i numeri
12 AB D 7,8 dordine dei termini

13 AB C 7,9 canonici originali,


cio quelli nella
Fig.1.21b
prima tavola. In
ogni riga, vengono
quindi marcate le caselle in corrispondenza dei termini canonici che hanno generato limplicante
primo indicato sulla riga (ultima colonna di fig. 1.21c). Dalla tavola appare chiaro che limplicante
primo BD certamente necessario, perch solo da esso si pu risalire (applicando il teorema a

rovescio) ai termini canonici (5) e (10). Lo stesso dicasi per B D (solo da esso si pu risalire a (3)
e a (4)). Entrambi, per, non sono sufficienti a coprire la funzione (mancano i termini (7) e (8)): per
ottenere la somma minimale necessario aggiungere ad essi o l'implicante primo AB, ottenendo la
soluzione

B. Marangelli, Dispense di Elettronica Digitale


-1.34-

Y = AB + BD + B D

oppure l'implicante primo A D , ottenendo la soluzione

Y = A D + BD + B D

Entrambe le soluzioni in questo caso hanno lo stesso costo e richiedono lo stesso numero di inverter;
ma naturalmente questo non accade sempre. Per una discussione del caso pi generale in cui non ci
siano implicanti primi necessari, si veda [1].

1 2 3 4 5 6 7 8 9 10
AB X X X X
BD X X* X X*

BD X X* X* X

AD X X X X

Fig. 1.21d

B. Marangelli, Dispense di Elettronica Digitale


-1.35-

1.13 - LA MAPPA DI KARNAUGH


Questa mappa un rettangolo suddiviso in un numero di caselle pari al numero di righe della tavola

della verit della funzione Y che si vuole minimizzare, e pu essere considerata un altro modo di
scrivere la tavola della verit stessa.
Ogni casella viene associata ad una riga della tavola della verit in modo tale che due caselle
adiacenti (cio aventi un lato in comune)
corrispondano a righe della tavola che
differiscono per il valore di una sola varia-
bile. Lassociazione inoltre tale che le
due caselle alle estremit della stessa riga o
della stessa colonna risultino adiacenti
(cio, come se la mappa fosse chiusa a
cilindro sia in orizzontale che in verticale).
La soluzione per funzioni di due, tre,
quattro variabili in Fig. 1.22. I valori
delle variabili nella tavola della verit sono
opportunamente riportati come indici di
riga e di colonna della mappa cosicch,
scelta una casella, le sue coordinate individuano la riga della tavola della verit cui essa associata.
Nella casella andr trascritto lo stato corrispondente delluscita Y.

B. Marangelli, Dispense di Elettronica Digitale


-1.36-

La Fig. 1.23 riporta tavola della verit e mappa di Karnaugh per la funzione di 4 variabili gi
considerata per illustrare il metodo di Quine. Consideriamo
funzioni sintetizzate come S.d.P.; conveniente in questo caso
riportare nella mappa solo gli 1.
Per come strutturata la mappa, segue che se si considerano due
caselle adiacenti contenenti un 1, esse corrispondono a due
termini prodotto canonici differenti per una variabile, ai quali
quindi pu essere applicato il teorema (1.12). La mappa di K. ha
quindi il pregio di mettere visualmente in evidenza le coppie a cui
applicabile il teorema. Ma non basta.
Ricordiamo che lapplicazione del teorema (1.12) ad una coppia di termini canonici, ciascuno di n
variabili (prima tabella di Quine), produce un termine di n-1 variabili (seconda tabella di Quine). Pu
accadere che lapplicazione del teorema a due coppie di termini canonici, ciascuno di n variabili,
produca due termini di n-1 variabili ai quali
sia ancora applicabile il teorema,
producendo infine un unico termine di n-2
variabili (terza tabella di Quine). Un esempio
in Fig. 1.23a.

In sintesi, pu accadere che partendo da un


gruppo di 4 (22) termini, ciascuno di n
variabili, si possa ricavare, applicando
successivamente il teorema, un unico termine
di n-2 variabili. Se si osserva la topologia
delle caselle corrispondenti a questi 4 termini
nella mappa di Fig. 1.23, si vede che ognuna
delle 4 caselle adiacente ad altre due del
gruppo. Questa una propriet generale
della mappa di K.: possiamo cio affermare
che se 2k termini canonici di n variabili sono

B. Marangelli, Dispense di Elettronica Digitale


-1.37-

tali che applicando successivamente il teorema (1.12) si giunge ad un implicante primo, di n-k
variabili, allora le caselle corrispondenti nella mappa sono disposte in modo tale che ciascuna
adiacente ad altre k.
A differenza del metodo di Quine, la mappa di K. permette di individuare questi gruppi
immediatamente, rendendo molto celere la minimizzazione.
Alcuni esempi di raggruppamenti validi sono in Fig. 1.24.

Da un gruppo si ottiene un implicante primo quando il gruppo distinto (un gruppo di 2k caselle si
dice distinto quando non interamente contenuto in un gruppo di 2k+1 caselle), cio ha la massima
dimensione possibile (infatti, per quanto sopra detto, questo significa che il teorema sar applicato
il massimo numero di volte ai termini del gruppo).

Operativamente, conveniente cominciare la ricerca degli implicanti


primi a partire dai gruppi distinti di maggior dimensione; naturalmen-
te, tutti gli 1 devono entrare a far parte di almeno un gruppo. Gli
implicanti primi cos ottenuti costituiscono il set irriducibile. La Fig.
1.25a mostra tale set per la tavola di Fig. 1.23.

Lespressione minimale della funzione ottenuta considerando gli


implicanti primi necessari e sufficienti a includere tutti gli 1 della
mappa (cio quelli necessari e sufficienti a coprire la Y). Questa (o queste) espressione viene trovata
selezionando dapprima i gruppi che
hanno almeno un 1 non compreso
negli altri gruppi (questi 1 corri-
spondono agli X asteriscati nella
Fig. 1.21d); poi si aggiungono altri
gruppi fino a coprire la mappa
(cio fino ad includere tutti gli 1).
Lanalogia con il metodo di Quine
evidente.

Le Fig. 1.25b,c mostrano le due soluzioni per la funzione dellesempio, ovviamente eguali a quelle
gi ottenute con Quine.

B. Marangelli, Dispense di Elettronica Digitale


-1.38-

Consideriamo ora un esempio di


mappa di K. per una funzione di 5
variabili. Occorrono 32 caselle e si
ricorre a due mappe di 16,a loro
volta contenute in una mappa da 2,
come mostrato nellesempio di Fig.
1.26. La quinta variabile assume
valore logico 0 in una mappa e 1
nellaltra. Allora, evidente che sono adiacenti anche due caselle, appartenenti ciascuna ad una delle
due mappe da 16, le quali coinciderebbero qualora le mappe venissero sovrapposte.
Si potrebbe estendere luso della mappa di K. anche a funzioni di pi di 5 variabili, ma il metodo
diventa macchinoso ed preferibile ricorrere al metodo di Quine.
Consideriamo infine il caso in cui la tavola della verit non sia specificata in modo completo: ci pu
accadere o perch una particolare combinazione di variabili non si presenta mai nel problema in
esame, oppure quando tale combinazione, pur presentandosi, non ha influenza sul funzionamento
della rete. Si dice che quello stato di entrata non importa, N.I..

Luscita della rete in corrispondenza di uno stato N.I. pertanto arbitrario, e pu essere opportuna-
mente scelto come 1 o come 0 cos da ottenere una soluzione di minor costo. Nella mappa di K. la
scelta migliore appare in genere immediata, dopo un rapido esame della mappa stessa. Nel caso del
metodo di Quine, invece, occorre minimizzare la funzione sia assegnando valore 1 allo stato N.I. che
assegnando 0. Solo confrontando i risultati a posteriori si pu dire quale scelta pi conveniente.
Esempi verranno visti nel seguito.

Se si desidera la soluzione minimale sintetizzata come P.d.S., si usa il procedimento duale cio si
considerano gli 0 della mappa. Il procedimento identico.

B. Marangelli, Dispense di Elettronica Digitale


-1.39-

1.14 - LIVELLI DI UNA RETE LOGICA E RITARDO DI PROPAGAZIONE


Il numero massimo di porte AND e OR che un segnale di ingresso alla rete deve attraversare per
giungere alluscita il numero di livelli della rete.

Le funzioni scritte sotto forma P.d.S. o S.d.P. danno luogo a reti a due livelli: questo anche il nume-
ro minimo di livelli per una funzione logica
non banale.

Poich ogni porta logica caratterizzata


da un ritardo di propagazione del segnale,
si comprende che la versione a due livelli
di una rete anche la pi veloce.
I metodi di minimizzazione visti in
precedenza danno una espressione
minima a due livelli, che quindi anche la soluzione pi veloce. Come gi detto, pu accadere che
una ulteriore elaborazione algebrica della funzione riduca ulteriormente il costo, ma a spese della
velocit. Si consideri per esempio la funzione

Y = AC + A C + BC
La rete corrispondente in Fig. 1.27a.
Con la propriet associativa si ha

Y = (A + B)C + A C
la cui rete, a tre livelli, in Fig. 1.27b. Se
si considera il costo delle due soluzioni,
nel primo caso si ha PE = 36, nel secondo caso PE = 32.

B. Marangelli, Dispense di Elettronica Digitale


-1.40-

1.15 - LAFFIDABILIT DI UNA RETE LOGICA


Una rete logica affidabile se lo stato delluscita in ogni istante quello previsto dalla sua tavola
della verit.
La non affidabilit imputabile alla differenza nei tempi di propagazione dei segnali di entrata
attraverso diversi percorsi nella rete per giungere alla stessa uscita. Questo pu far s che luscita
assuma un valore logico errato, temporaneamente (nel caso di reti combinatorie) o anche
definitivamente (nel caso di reti sequenziali, delle quali si parla nel Capitolo III). Questo fenomeno
viene chiamato alea.
Consideriamo per ora le reti combinatorie e
limitiamoci per semplicit allalea associata al
cambiamento di stato di una sola variabile di
entrata: nel caso di cambiamento contempo-
raneo di pi variabili, pi difficile prevedere
e correggere lalea.

Si distinguono due tipi di alea.

Una rete presenta alea statica quando luscita, pur dovendo restare nello stesso stato logico in
seguito al cambiamento di una variabile di entrata, transita per breve tempo nellaltro stato.
Una rete presenta alea dinamica quando luscita, pur dovendo cambiare stato in seguito al
cambiamento di una variabile di entrata, rimbalza una o pi volte tra i due stati prima di fermarsi
definitivamente nello stato corretto.
Il fenomeno illustrato in Fig. 1.28:
come si osserva, in entrambi i casi
la rete assume, sia pure
temporaneamente, un valore
logico errato.
Cominciamo a considerare lalea
statica.

Condizione necessaria affinch il


cambiamento di stato di una varia-

B. Marangelli, Dispense di Elettronica Digitale


-1.41-

bile di entrata provochi alea statica che tale cambiamento influenzi la stessa uscita attraverso due
percorsi diversi differenti per una inversione.

In Fig. 1.29 disegnata la rete relativa alla


funzione

Y = AB + B C
mentre in Fig. 1.30 disegnato il diagramma
temporale relativo alla transizione 1->0 di B
(mentre A=C=1), tenendo conto del ritardo di
propagazione attraverso le porte, assumendolo
eguale a t per
ciascuna porta (per
semplicit di
disegno, si considera 0 il ritardo dellOR). Come si pu osservare, a
causa della presenza dellinverter le due entrate allOR non cambiano
stato contemporaneamente, e questo fa s che luscita, che dovrebbe
restare a 1 anche dopo la transizione di B, assuma transitoriamente il
valore 0, errato. Si pu anche verificare che la transizione 0-1 di B non d
problemi.
La condizione su esposta non tuttavia sufficiente, come si pu facilmente comprendere: infatti il
ritardo di propagazione non costante per tutte le porte, anche nellambito della stessa famiglia
logica (a causa delle tolleranze di costruzione), ed fortemente variabile da famiglia a famiglia. Per-
tanto, pu accadere che la distribuzione dei ritardi lungo i due percorsi sia, casualmente, tale da
neutralizzare lalea.
La possibilit che si instauri unalea statica nella rete in esame prevedibile gi osservando
lespressione algebrica della funzione: questa richiede che Y resti nello stato 1 quando, per effetto
del cambiamento di stato di B, entrambi i termini prodotto devono cambiare valore logico. A causa
della inevitabile presenza di un inverter, presumibile che il cambiamento non avvenga
contemporaneamente.

B. Marangelli, Dispense di Elettronica Digitale


-1.42-

La possibilit che si presenti alea statica si traduce nella seguente topologia della mappa di
Karnaugh della funzione, Fig. 1.31: il cambiamento di stato di B che genera lalea statica
corrisponde ad un salto fra due caselle adiacenti, appartenenti a due raggruppamenti diversi.
facile convincersi che non possono esserci alee per transizioni allinterno dello stesso
raggruppamento: queste transizioni, infatti, non comportano alcun cambiamento di valore logico del
termine generato da quel raggruppamento.
Ci si pu anche convincere, osservando l'esempio precedente, che una rete sintetizzata come somma
di prodotti non pu presentare alea se luscita 0 e, dopo il cambiamento di una variabile di entrata
(diciamo B) essa deve restare nello stato 0: questo perch ogni termine prodotto che contiene B non
pu essere eguale a 0 a causa di B, ma deve necessariamente includere qualche altra variabile (in
forma vera o in forma complementata) che 0: poich per ipotesi solo B cambia stato, luscita
resta a 0.
Naturalmente, pu esserci alea anche se la funzione viene sintetizzata come prodotto di somme: in
questo caso, si potr avere alea statica se la funzione deve restare a 0 quando, per il cambiamento
di stato di una variabile, i due termini somma devono cambiare stato contemporaneamente. La
mappa di Karnaugh pu ancora essere usata per evidenziare lalea.
Lalea statica pu essere eliminata aggiungendo alla funzione un termine che, senza alterare la tavola
della verit, costringa la rete a restare nello stato corretto quando la variabile incriminata cambia
stato. Nellesempio considerato, tale termine AC: nella mappa di Karnaugh esso serve a
congiungere i due raggruppamenti iniziali, facendo ora s che la transizione di B avvenga nellambito
di uno stesso raggruppamento, appositamente creato. possibile dimostrare che se lalea viene
eliminata considerando la forma S.d.P. della funzione, anche la forma P.d.S. della stessa funzione
non presenta alea.
, comunque, evidente che leliminazione dellalea statica comporta lintroduzione di un termine

B. Marangelli, Dispense di Elettronica Digitale


-1.43-

ridondante, cio ha come contropartita la rinuncia alla forma minima della funzione.
Consideriamo ora lalea dinamica.

Condizione necessaria affinch il cambiamento di stato di una variabile di entrata provochi alea
dinamica che tale cambiamento influenzi la stessa uscita attraverso almeno tre percorsi diversi,
differenti per una inversione.

Questa situazione si pu presentare, tipicamente, quando nella espressione algebrica della funzione
compaiono termini raccolti a fattore comune, come accade quando si vuole diminuire il costo di una
rete applicando la propriet associativa.

Si consideri (come esempio costruito appositamente) la rete di Fig. 1.32, relativa alla funzione

Y = BC + AB (AB + C )
La variabile B soddisfa la
condizione necessaria per il
verificarsi dellalea dinamica. In
Fig. 1.33 considerata la
transizione 1->0 di B, mentre
A=C=1, nellipotesi che tutte
le porte abbiano lo stesso
ritardo (si considera 0 il ritardo
dellOR di uscita).
Naturalmente, anche per lalea
dinamica non possibile dare
condizioni sufficienti per il suo
verificarsi: i ritardi reali delle porte usate possono essere tali da neutralizzarla.
Leliminazione dellalea dinamica avviene modificando lespressione algebrica, rifattorizzandola o,
meglio, eliminando la fattorizzazione (con conseguente aumento del costo).

Conviene infine osservare che il problema dellalea nelle reti combinatorie pu essere irrilevante in
alcune applicazioni, data la transitoriet del fenomeno: il caso, per esempio, se luscita della rete
utilizzata per pilotare un display a LED. Se invece la stessa rete dovesse pilotare un contatore di
impulsi, lalea darebbe luogo a un conteggio errato: in questo caso imperativo eliminarla.

B. Marangelli, Dispense di Elettronica Digitale


-1.44-

1.16 - LOGICA CABLATA


La struttura interna di una porta logica, vista dalluscita, pu essere schematizzata come in fig. 1.34
(i due switches sono nella realt due transistor, Fig. 1.35a: lo switch chiuso
corrisponde ad un transistor saturato, quello aperto ad un transistor inter-
detto). evidente che non possibile collegare insieme le uscite di pi
porte, senza che questo comporti inconvenienti (per esempio, eccessiva
dissipazione di potenza, o transienti sulle
linee di alimentazione).

Esistono particolari versioni di porte logiche


che hanno una struttura di uscita diversa. Le porte open-collector
hanno la struttura di uscita schematizzata in fig. 1.35b: in questo
modo, possibile collegare insieme le uscite di pi porte Y1, Y2,... e
aggiungere dallesterno una resistenza R tra luscita comune Y e
lalimentazione (resistenza di pull-up), come mostrato in Fig. 1.36. Si pu vedere che sulluscita
comune Y realizzato lAND per logica positiva tra Y1, Y2,...:

Y = Y1. Y2..
Infatti, se luscita della porta Yi nello stato basso (che lo 0 in logica positiva, interruttore chiuso),
il terminale di uscita comune Y cortocircuitato a massa. Pertanto, basta che una delle uscite Yi sia
nello stato basso perch il terminale comune Y sia nello stato basso: e questa proprio la funzione
AND per logica positiva (o, se si preferisce,
la funzione OR per logica negativa). Pertan-
to, viene realizzata la funzione logica AND
senza materialmente usare una porta, ma con
un cablaggio. Si parla di AND cablato
(wired-AND), oppure di OR cablato
(wired-OR).

La logica cablata normalmente usata nella architettura dei calcolatori, perch permette alle varie
periferiche di comunicare fra loro e con lunit centrale trasmettendo o ricevendo dati su un unico
insieme di linee (bus), con risparmio di hardware.

B. Marangelli, Dispense di Elettronica Digitale


-1.45-

Per un corretto scambio dell'informazione, occorre che:

le porte in wired-or siano abilitate a trasmettere una alla volta sul bus

ci sia un 'arbitro' che gestisca il controllo del sistema, decidendo di volta in volta quale porta
abilitare alla trasmissione

il valore logico dell'uscita comune Y sia considerato valido solo in sincronismo con il segnale di
abilitazione.

Per esempio, supponiamo che n unit u1, u2, ..


uj, un di un sistema di elaborazione (tipicamen-
te, un calcolatore) debbano scambiare fra loro
informazioni. Per semplicit, supponiamo che
l'informazione sia costituita da parole di 1 bit.
Usando una logica convenzionale, ciascuna unit
dovrebbe avere una struttura di ingresso-uscita
del tipo mostrato in Fig. 1.37. Xj il bit di abilita-
zione che controlla se lunit deve ricevere dati
(Xj = 0) oppure li deve trasmettere (Xj = 1).

La funzione implementata per la trasmissione

YT = AjXj

essendo Aj il bit da trasmettere.

Lunit Uj pu ricevere informazione da una delle altre n-1 unit, in accordo con la funzione

YR = (A1X1+A2X2+....+Aj-1Xj-1 + Aj+1Xj+1 +.+ AnXn) X j

Se si riscrive questa espressione col teorema di De Morgan, si ha

= A1 X 1 A2 X 2 .....An X n X j

Se si utilizzano NAND con uscita open-collector per realizzare i prodotti Aj X j , lo schema di co-

municazione per il bit pu allora essere modificato come in Fig. 1.38: la porta OR di Fig. 1.37
stata sostituita da un filo di collegamento (per semplicit, non mostrata la resistenza di pullup).

B. Marangelli, Dispense di Elettronica Digitale


-1.46-

La Fig. 1.39 mostra un esempio per tre unit. L'unit A pu trasmettere un bit sulla linea di bus
mostrata, quando il 'bus arbitrator' abilita la
porta A1 ad accedere al bus fornendo il
segnale XA -> H, e ponendo nel contempo
XB e XC -> L: in coincidenza con l'abilita-
zione di A a trasmettere, le unit B e C sono
abilitate a ricevere il bit, qualora siano inte-
ressate. Le porte A1, B1, C1 devono essere
del tipo open-collector.

Se l'informazione costituita da pi bit, la


struttura precedente va replicata per ogni
bit.

Si noti la semplicit dellhardware di interfaccia ingresso-uscita, che tra laltro non dipende dal nume-
ro delle unit che accedono al bus, data lassenza dellOR, e pu quindi essere standardizzato.

La struttura open-collector ha un inconveniente: la velocit delle commutazioni L->H e H->L sulle


linee di bus determinata dalle costanti di tempo di carica e di scarica della capacit C presente tra
la linea di bus e massa (il cui valore proporzionale al numero di porte connesse alla linea). La
costante di tempo di scarica (transizione H->L) determinata dalla resistenza di saturazione di un
transistor (switch chiuso) che di qualche decina di ohm ed pertanto breve. La costante di tempo
di carica (transizione L->H) invece molto pi lunga, determinata dalla resistenza R di pull-up ester-
na che tipicamente dellordine del kOhm.

Il problema stato risolto con lintroduzione delle porte a tre stati logici, o 'tri-state'. Queste porte
hanno, oltre agli usuali terminali di entrata e di uscita, un terminale di controllo che agisce come
segue. Supponendo, per es., che il controllo tri-state sia attivo alto, quando esso L la porta esegue
la propria funzione logica in accordo con la tavola della verit, e lo stato di uscita realizzato secon-
do lo schema degli switches illustrato in Fig. 1.34. Quando invece il controllo tri-state H, luscita
della porta va nel 'terzo stato logico', corrispondente in fig. 1.34 a entrambi gli switches aperti: il
terminale di uscita della porta ora flottante ed il terzo stato logico viene perci chiamato stato alta
impedenza (Z).

B. Marangelli, Dispense di Elettronica Digitale


-1.47-

Il collegamento wired-OR di porte tri-state avviene senza necessit di resistenza di pull-up, e funzio-
na come segue. Le porte collegate siano tutte inizialmente nello stato Z; quando il controllo tri-state
abilita una (e una sola) delle porte, allora se luscita di tale porta per es. L, anche luscita comune
Y viene forzata nello stato L, la capacit del nodo si scarica rapidamente e non c nessun problema
di cortocircuito dellalimentazione. Se invece luscita della
porta va H, anche Y andr H; la capacit viene altrettanto
rapidamente caricata, a differenza delle porte open-
collector.

La tecnologia tri-state permette di semplificare ulteriormente


laccesso al bus, come mostrato in Fig. 1.40: per la pro-
priet della porta tri-state, le due linee di comunicazione di
ciascuna unit con il bus, Fig. 1.39, possono ora essere sostituite da una sola linea bidirezionale
(ciascuna unit del sistema, ad un certo istante, o trasmette o riceve).

La coppia di porte di accesso ad una linea di bus mostrata in Fig. 1.40 disponibile su singolo
integrato (bus transceiver, per es. 75160).

B. Marangelli, Dispense di Elettronica Digitale


-1.48-

BIBLIOGRAFIA
[1] Edwards, The principles of switching circuits. MIT Press, 1973
[2] I. Mendolia, U. Torelli, Elettronica digitale e dispositivi logici. Hoepli
[3] E. McCluskey, Logic design principles. Prentice-Hall
[4] H. Taub, D. Shilling, Digital integrated electronics. McGraw-Hill

B. Marangelli, Dispense di Elettronica Digitale

Potrebbero piacerti anche