Sei sulla pagina 1di 11

giu.

11

Queste trasparenze sono disponibili sul sito web dellautore: http://sgimida.mi.infn.it/~menasce/home.html (selezionare (docente delCOURSES) V.Bevilacqua lopzione corso),
D.Menasce (autore delle dispense)

Il programma del Corso Seconda Parte

2)

Implementazione di un circuito logico booleano

giu. 11

V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense)

Nel 1854 il matematico George Boole pubblic un lavoro circa unalgebra 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 loperazione logica AND fra queste coppie dia i seguenti risultati: 0 0 1 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:

giu. 11

V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense)

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 Off On? rester spenta: e se poniamo un interruttore sulla posizione On
giu. 11 V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense) 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 Off lampadina resti spenta
giu. 11 V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense) 5

Un esempio di implementazione di un circuito logico

Se invece mettiamo entrambi gli interruttori sulla posizione On il circuito verr chiuso e On, la lampadina si accender!!

_
Basta che anche uno solo dei due interruttori sia Off, perch il circuito rimanga interrotto e la Off lampadina resti spenta
giu. 11 V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense) 6

Un esempio di implementazione di un circuito logico

_
giu. 11 V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense) 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

Lampadina

Off Off On On

Off On Off On

Off Off Off On

0 0 1 1

0 1 0 1

0 0 0 1

possibile implementare comportamenti diversi di un circuito logico: vediamo alcuni fra i circuiti che si possono realizzare e quali sono le corrispondenti tabelle booleane:

giu. 11

V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense)

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. OR produce 1 in output se anche uno solo dei valori in input 1 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 (loperazione di complementazione indicata dal pallino) A A B

A B Z 0 0 1 1 0 1 0 1 0 0 0 1 Z=AB AND A Z 0 0 1 1 A B

A B Z 0 0 1 1 0 1 0 1 0 1 1 1 Z=A+B OR

A Z 0 1 1 0

Z=A Buffer

Z=A NOT (Inverter)


9

giu. 11

V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense)

NAND agisce prima come lAND e poi ne complementa loutput. NOR agisce prima come lOR e poi ne complementa loutput. XOR restituisce un 1 se il numero di 1 in ingresso dispari. XNOR agisce prima come lXOR e poi ne complementa loutput. Quelli indicati sono solamente i tipi basilari di gate logici, sui quali poi possibile costruire logiche pi complesse:

A B Z 0 0 1 1 A B NAND A B Z 0 0 1 1 A B 0 1 0 1 0 1 1 0 Z=A B A B 0 1 0 1 1 1 1 0 Z=AB A B

A B Z 0 0 1 1 0 1 0 1 1 0 0 0 Z=A+B NOR A B Z 0 0 1 1 0 1 0 1 1 0 0 1 Z=A B

Exclusive-OR (XOR)
giu. 11 V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense)

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... Questo esercizio pu essere ampliato a piacere costruendo elementi adatti a risolvere sistemi logici di arbitraria complessit...

A B C Z 0 0 1 1 0 0 1 1
A B C

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

giu. 11

V.Bevilacqua (docente del corso), D.Menasce (autore delle dispense)

11