D. Menasce1 Queste trasparenze sono disponibili sul sito web dellautore: (selezionare lopzione COURSES) Queste trasparenze sono disponibili sul sito web dellautore: (selezionare lopzione COURSES)
D. Menasce2 Il programma del Corso Seconda Parte Implementazione di un circuito logico booleano 2)
D. Menasce3 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: 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. Menasce4 + + _ _ Un esempio di implementazione di un circuito logico Consideriamo un circuito composto da due interruttori e da una lampadina: Consideriamo un circuito composto da due interruttori e da una lampadina: Creiamo un circuito collegando interruttori e lampadina ai poli di un generatore: Creiamo un circuito collegando interruttori e lampadina ai poli di un generatore: Off Se gli interruttori, come in questo caso, sono entrambi Off, il circuito non sarà chiuso e la lampadina resterà spenta: Off Se gli interruttori, come in questo caso, sono entrambi Off, il circuito non sarà chiuso e la lampadina resterà spenta: On e se poniamo un interruttore sulla posizione On?
D. Menasce5 + + _ _ Off Basta che anche uno solo dei due interruttori sia Off, perchè il circuito rimanga interrotto e la lampadina resti spenta Off Basta che anche uno solo dei due interruttori sia Off, perchè il circuito rimanga interrotto e la lampadina resti spenta Un esempio di implementazione di un circuito logico
D. Menasce6 + + _ _ Off Basta che anche uno solo dei due interruttori sia Off, perchè il circuito rimanga interrotto e la lampadina resti spenta Off Basta che anche uno solo dei due interruttori sia Off, perchè il circuito rimanga interrotto e la lampadina resti spenta Se invece mettiamo entrambi gli interruttori On sulla posizione On, il circuito verrà chiuso e la lampadina si accenderà!! Se invece mettiamo entrambi gli interruttori On sulla posizione On, il circuito verrà chiuso e la lampadina si accenderà!! Un esempio di implementazione di un circuito logico
D. Menasce7 + + _ _ Un esempio di implementazione di un circuito logico
D. Menasce8 Off Switch 1 Switch 2 Lampadina On Off On Off On è 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. è 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. Menasce9 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à. A B Z A B Z A B Z=AB AND A B Z A B Z A B Z=A+B OR A Z 0 1 A Z 0 1 A Z=A Buffer A Z A Z A Z=A NOT (Inverter) AND produce 1 in output solo se entrambi gli input sono 1, zero altrimenti. 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 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) 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) NOT è un operatore di inversione, scambia lo zero con 1 e viceversa (loperazione di complementazione è indicata dal pallino)
D. Menasce10 A B Z A B Z A B Z=AB NAND A B Z A B Z A B Z=A+B NOR A B Z A B Z A B Z=A B Exclusive-OR (XOR) A B Z A B Z A B Z=A B Exclusive-NOR (XNOR) NAND agisce prima come lAND e poi ne complementa loutput. NAND agisce prima come lAND e poi ne complementa loutput. NOR agisce prima come lOR 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. XOR restituisce un 1 se il numero di 1 in ingresso è dispari. XNOR agisce prima come lXOR e poi ne complementa loutput. 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:
D. Menasce11 A B C Z = ABC A B C Z A B C Z 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 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 Z = A + B A B W = A + B Questo esercizio può essere ampliato a piacere costruendo elementi adatti a risolvere sistemi logici di arbitraria complessità... Questo esercizio può essere ampliato a piacere costruendo elementi adatti a risolvere sistemi logici di arbitraria complessità...