In questo capitolo è mostrato come ottenere la funzione logica a partire da un circuito logico.
I circuiti logici sono detti "reti logiche" e si suddividono
in due famiglie
Data la rete logica di Figura 1 ricavare la funzione di commutazione e la tabella della verità
Se si parte dall'uscita occorre introdurre delle variabili logiche ausiliarie, cioè intermedie tra l'ingresso e l'uscita (o le uscite)
Y=A+Z
Z=T•B
T=A
sostituendo T
Z=A•B
Y=A+A•B
Allo stesso risultato si può arrivare partendo dall'ingresso:
T=A
questo è messo in AND con B
Z=A•B
infine Z è messa in OR con A
Y=A+A•B
Ad ogni gruppo di operazioni booleana che hanno la stessa precedenza corrisponde un livello.
La funzione di commutazione ottenuta può essere ulteriormente semplificata con il secondo teorema dell'assorbimento:
Y=A+B
La corrispondente tabella della verità risulta quindi essere:
A | B | Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Data la rete logica di Figura 2 ricavare la funzione di commutazione e la tabella della verità
Se si parte dall'uscita occorre introdurre delle variabili logiche ausiliarie, cioè intermedie tra l'ingresso e l'uscita (o le uscite)
Y=T+X
T=A•B
X=A•B•C
X=A•B•C
sostituendo T e X
Y=A•B+A•B•C
Allo stesso risultato si può arrivare partendo dall'ingresso:
T=A•B
X=A•B•C
X viene negata (il pallino su un ingresso significa che la variabile di ingresso è complementata)
X=A•B•C
Il tutto è messo in OR
Y=A•B+A•B•C
La funzione di commutazione ottenuta può essere ulteriormente semplificata applicando De Morgan, applicando la proprietà distributiva
e il teorema dell'annullamento:
Y=A•B+A•B•C=A•B+A+B•C=A•(B+1)+B•C
Y=A+B•C
La corrispondente tabella della verità risulta quindi essere:
A | B | C | Y |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
Data la rete logica di Figura 3 a più uscite ricavare la funzione di commutazione e la tabella della verità
X=A•(B+C)+A•B•C
Y=B•C•+C•B
Z=C
A | B | C | X | Y | Z |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 0 |
In questa sezione si parte dalla funzione di commutazione e si arriva al circuito logico: la regola generale è quella di seguire le precedenze:
Disegnare la rete logica che sintetizzi la seguente funzione di commutazione usando solo le reti logiche fondamentali
A+B•A
Non sempre nella tabella della verità è prescritto un certo comportamento degli ingressi o delle uscite: non importa, in alcuni casi,
che queste valgano 0 o 1 (potrebbero valere anche 1 o 0). Queste situazioni vengono dette "condizioni di indifferenza" e sono indicati nella tabella della
verità dalla lettera X. Questa notazione, se riferita a un ingresso, semplifica la tabella della verità (perde una riga), se riferita ad un'uscita
(vedremo quando si parlerà di metodi di sintesi di reti logiche) invece può essere scelta o pari a 0 o a 1 a seconda che aiuti a semplificare il circuito
logico.
A | B | C | Y |
---|---|---|---|
0 | 0 | X | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | X |
1 | 0 | 1 | X |
1 | 1 | 0 | X |
1 | 1 | 1 | 0 |
Nei paragrafi precedenti si sono analizzate reti logiche combinatorie ideali: ad una combinazione degli ingressi corrisponde una combinazione delle uscite; tuttavia non si è tenuto conto che nella realtà ogni porta logica ha bisogno di un
tempo di propagazione
tp del segnale tra i suoi ingressi e le sue uscite. Questo tempo, per quanto relativamente piccolo (si tratta di decine di ns) influenza l'uscita della rete che si comporta in moodo inaspettato. Il fenomeno peggiora all'aumentare dei livelli del circuito logico. Come mostrato in Figura 6 se si manda un segnale A ad un ingresso di una porta AND, e al secondo ingresso arriva il segnale A ma attraverso una porta NOT (A), ci si aspetta, per il teorema dei complementi, un'uscita identicamente nulla... invece non è così: a causa del ritardo di propagazione, quando A commuta da 0 a 1, A commuta in ritardo da 1 a 0 e, per qualche ns, i due ingressi sono entrambi a 1 e quindi l'uscita dell'AND è pure a 1 invece che nulla.