Queste trasparenze sono disponibili sul sito web dell’autore:
http://sgimida.mi.infn.it/~menasce/home.html
(selezionare l’opzione COURSES)
D. Menasce
1
Il programma del Corso
Seconda Parte
2)
Implementazione di un circuito logico booleano
D. Menasce
2
Nel 1854 il matematico George Boole pubblicò un lavoro circa un’algebra delle relazioni logiche, nel
quale investigava le proprietà di sistemi binari. Una quantità (una variabile) capace di assumere solo
due valori (ad esempio 1/0 o on/off) si dice booleana. Boole postulò una tabella di associazione fra
variabili logiche, tabella nella quale le quattro possibili coppie di valori sono associate fra loro tramite
una condizione logica, ad esempio AND oppure OR.
Abbiamo due possibili valori logici (1/0, vero/falso , on/off…) e quindi quattro possibili coppie:
Arbitrariamente possiamo decidere che l’operazione logica AND fra queste coppie dia i seguenti risultati:
0
1
0
0
0
1
0
1
La scelta dei possibili valori di accoppiamento che qui abbiamo operato è legata al nostro desiderio di
implementare un qualche tipo di meccanismo che sia capace di operare in modo automatico su quantità
booleane. Un circuito elettronico capace di operare su valori binari (che fornisce proprio i valori sopra
indicati) è il seguente:
D. Menasce
3
Un esempio di implementazione di un circuito logico
Consideriamo un circuito composto da
due interruttori e da una lampadina:
Creiamo un circuito collegando interruttori
e lampadina ai poli di un generatore:
+
_
Se gli interruttori, come in questo caso, sono entrambi Off, il circuito non sarà chiuso e la lampadina
resterà spenta: e se poniamo un interruttore sulla posizione On?
D. Menasce
4
Un esempio di implementazione di un circuito logico
+
_
Basta che anche uno solo dei due interruttori sia Off, perchè il circuito rimanga interrotto e la
lampadina resti spenta
D. Menasce
5
Un esempio di implementazione di un circuito logico
Se invece mettiamo entrambi gli interruttori
sulla posizione On, il circuito verrà chiuso e
la lampadina si accenderà!!
+
_
Basta che anche uno solo dei due interruttori sia Off, perchè il circuito rimanga interrotto e la
lampadina resti spenta
D. Menasce
6
Un esempio di implementazione di un circuito logico
+
_
D. Menasce
7
è quindi evidente che possiamo istituire una corrispondenza fra il comportamento di questo circuito e la
tabella di verità vista prima ( ) . In realtà abbiamo definito la tabella suddetta proprio perchè risulta
semplice una corrispondente implementazione elettronica di quel comportamento logico.
Switch 1
Switch 2
Off
Off
Off
0
0
0
Off
On
Off
0
1
0
On
Off
Off
1
0
0
On
On
1
1
1
On
Lampadina
è possibile implementare comportamenti diversi di un circuito logico: vediamo alcuni fra i circuiti che
si possono realizzare e quali sono le corrispondenti tabelle booleane:
D. Menasce
8
Un logic gate è un dispositivo elettronico che
implementa una semplice operazione booleana
fra variabili binarie: senza entrare nel dettaglio
di come fisicamente si realizzano dispositivi di
questo tipo, vediamo un elenco di quelli
fondamentali assieme alle corrispondenti
tabelle di verità.
AND produce 1 in output solo se entrambi gli
input sono 1, zero altrimenti.
A B Z
A B Z
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
A
Z=AB
B
Buffer è un operatore nullo: produce in
output lo stesso valore ricevuto in input. è
utile come amplificatore, per ripristinare
segnali indeboliti ricevuti in ingresso (shaper)
NOT è un operatore di inversione, scambia
lo zero con 1 e viceversa (l’operazione di
complementazione è indicata dal pallino)
Z=A+B
B
OR
A Z
A Z
0
1
0
1
0
1
Z=A
A
Buffer
D. Menasce
0
1
1
1
A
AND
OR produce 1 in output se anche uno solo dei
valori in input è 1
0
1
0
1
A
1
0
Z=A
NOT (Inverter)
9
NAND agisce prima come l’AND e poi ne
complementa l’output.
NOR agisce prima come l’OR e poi ne
complementa l’output.
XOR restituisce un 1 se il numero di 1 in
ingresso è dispari.
XNOR agisce prima come l’XOR e poi ne
complementa l’output.
A B Z
A B Z
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
A
Z=AB
B
Quelli indicati sono solamente i tipi basilari
di gate logici, sui quali è poi possibile
costruire logiche più complesse:
0
1
0
1
1
0
0
0
A
Z=A+B
B
NAND
NOR
A B Z
A B Z
0
0
1
1
0
0
1
1
A
B
0
1
0
1
0
1
1
0
Z=A  B
Exclusive-OR (XOR)
D. Menasce
0
1
0
1
1
0
0
1
A
B
Z=AB
Exclusive-NOR (XNOR)
10
Questo gate di tipo AND con tre ingressi si
comporterà in modo analogo a quello con
due ingressi: si avrà in output un 1 se e solo
se tutti gli ingressi sono posti ad 1. La tabella
di verità sarà ovviamente più lunga...
A B C Z
0
0
1
1
0
0
1
1
Questo esercizio può essere ampliato a piacere
costruendo elementi adatti a risolvere sistemi
logici di arbitraria complessità...
A
B
C
D. Menasce
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
Z = ABC
A
B
Z =A+ B
A
B
Z =A+ B
W=A+B
11