4) ELETTRONICA DIGITALE (Livello M.V. HARDWARE) Al livello MV0 troviamo i circuiti elettronici che determinano il funzionamento della macchina di Von Neumann. Come già accennato precedentemente, la peculiarità di tali circuiti è quella di essere caratterizzati da due stati di funzionamento, corrispondenti a tensione bassa o alta, a circuito aperto o chiuso, a corrente in un verso o nel verso opposto. Per l analisi e la sintesi di questi circuiti si utilizza uno strumento matematico chiamato Algebra Booleana, dal nome del filosofo e matematico inglese George Boole (85-864). Questo tipo di algebra, venne introdotta per provare analiticamente la verità o la falsità delle proposizioni complesse, costruite combinando delle semplici proposizioni secondo la sintassi della lingua inglese. L algebra booleana fu ripresa da Claude Shannon nel 96 per lo studio e la progettazione di circuiti a relè (aperto o chiuso). L algebra booleana è anche detta algebra binaria (perché opera su un insieme costituito da due soli elementi) o algebra di commutazione ( perché i circuiti descritti possono commutare da uno stato all altro) o anche algebra logica ( in conseguenza alle sue origini). I circuiti descritti dall algebra booleana, verranno indicati Circuiti di commutazione o Circuiti logici. Prima di affrontare lo studio di tali circuiti, sarà opportuno richiamare i concetti fondamentali dell algebra booleana. 4.) Elementi di Algebra Booleana L algebra è definita su un insieme di due elementi, chiamati convenzionalmente 0 e e da tre operatori chiamati: negazione (NOT) si indica con il segno - sopra l operando, ad esempio: = 0 0 = prodotto logico (AND) si indica con il segno. tra i due operandi, ad esempio: 0 0 = 0 = 0 = 0 = somma logica (OR) si indica con il segno + tra i due operandi, ad esempio: + = + 0 = 0 + = 0 + 0 = 0 Al posto dei valori o 0, è possibile utilizzare delle variabili booleane ovvero delle variabili che possono assumere solo i due valori 0 o. Valgono le seguenti proprietà dirette (basta sostituire i valori 0 o e verificarne la veridicità): + = + 0 = + = + = Valgono inoltre: Proprietà commutativa: 0 = 0 = = 0 4 = 4 idempotenza + y = y + y = y Proprietà associativa: + y + z = + y + z = + y + z y + z = y z = y z ( ) ( ) ( ) ( ) Proprietà distributiva: + y + z = + y z y + z = y + z ( ) ( ) ( ) ( ) ( ) ( ) Teoremi dell assorbimento: + y = + y = Teorema di De Morgan: ( ) ( ) ( ) ( ) + y = + y + y = y + y = y + y = y + Quest ultimo teorema è di fondamentale importanza in quanto ci permette di esprimere l operatore OR in funzione degli operatori AND e NOT e, viceversa, l operatore AND in funzione degli operatori OR e NOT. - Pagina 8
Le proprietà precedenti ci permettono di stabilire il principio di dualità dell algebra booleana: ogni identità ed ogni proprietà dell algebra booleana resta valida se si scambiano tra loro gli operatori AND e OR e gli elementi e 0. 4.) Funzioni Logiche Una funzione logica (o booleana o di commutazione) y = f() è una funzione in cui il dominio ed il codominio sono costituiti dall insieme (0,), da cui si deduce che anche il numero di funzioni y i di una variabile è finito e vale 4: y y y y 4 0 0 0 0 0 Estendendo la definizione per più variabili, avremo che una funzione logica a n variabili y = f(,,..., n ) è una funzione il cui dominio è costituito da tutte e sole le n-ple (,,..., n ) di elementi dell insieme {0,} n ed il cui codominio è l insieme {0, }. Anche qui il numero di funzioni definibili sarà finito e pari al numero di disposizioni semplici dei due elementi (0,) su n posti e quindi pari a n. Introducendo il vettore X che ha come componenti i valori delle variabili,,..., n, ovvero X = y = (,,..., n ), possiamo interpretare X come il valore corrispondente al numero binario a n bit che si ottiene accostando i simboli,,..., n. Potremo quindi scrivere y = f(x). Per rappresentare efficacemente la funzione y = f(x ) possiamo scrivere una tabella che riporti, per ogni valore di X il corrispondente valore della y. Tale tabella viene detta Tabella di Verità. Ad esempio (4..): X y 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 5 0 6 0 7 0 Si definisce mintermine delle n variabili,,..., n, ogni prodotto tra tutte le combinazioni di variabili i, dirette o negate. Ciascun mintermine m i si riferisce alla combinazione tale che, sostituendo alle variabili dirette e 0 alle variabili negate, si ottiene il valore decimale i. Nella tabella dell esempio precedente, avremo i seguenti mintermini: m0 = m = m = m =... Possiamo ora rappresentare una funzione logica nella forma canonica di somma di prodotti utilizzando i mintermini corrispondenti al valore di y come addendi. Ad esempio, la funzione dell esempio precedente può essere scritta come: y = m0 + m + m5 + m6 = + + + = ( 0,, 5, 6) Per il principio di dualità, è possibile esprimere una stessa funzione logica anche nella forma canonica di prodotto di somme. Definendo infatti il matermine come la somma di tutte le variabili,,..., n dirette o negate. Ciascun matermine M i si riferirà ora alla combinazione tale che, sostituendo 0 alle variabili dirette e alle variabili negate, si ottiene il valore decimale i. Nella tabella dell esempio precedente, avremo i seguenti matermini: M 0 = + + M = + + M = + + M = + +... Per cui la funzione dell esempio precedente potrà essere scritta come il prodotto dei matermini corrispondenti al valore 0 di y: y = M M M 4 M 7 = ( + + ) ( + + ) ( + + ) ( + + ) = (,, 4, 7) Le forme canoniche viste, pur risultando matematicamente corrette, necessitano di un procedimento di semplificazione che porti ad una espressione più sintetica possibile e quindi ad una realizzazione meno costosa. - Pagina 84
4.) Mappe di Karnaugh Le mappe di Karnaugh sono delle tabelle che permettono di determinare graficamente i mintermini adiacenti e quindi semplificare automaticamente l espressione analitica che rappresenta la funzione logica. E possibile usare, in maniera semplice, le mappe di Karnaugh per funzioni fino a 4 variabili, secondo i seguenti schemi: Mappa per variabili Mappa per variabili 0 0 00 0 0 0 Mappa per 4 variabili 4 00 0 0 00 4 4 0 4 4 4 0 4 4 4 4 4 4 4 4 4 4 4 L utilizzo per più di 4 variabili è possibile ma risulta piuttosto laborioso. Le mappe di Karnaugh permettono di determinare, a partire da una forma normale in somma di prodotti, i mintermini adiacenti ovvero quelli che possono essere semplificati. I gruppi possono essere costituiti da, 4 o 8 insiemi. Le mappe sono da vedersi come sferiche, ovvero i mintermini dell ultima colonna sono adiacenti a quelli della prima colonna e quelli dell ultima riga adiacenti a quelli della prima riga. Facendo riferimento alla mappa per 4 variabili, ad esempio, è agevole riconoscere che il mintermine 4 è adiacente, sia a 4 che a 4. Si ha infatti: + = + = ( ) ( ) 4 4 4 4 + = + = 4 4 4 4 In pratica, a partire dalla tabella di verità o dalla forma canonica in somma di prodotti, si costruisce la mappa di Karnaugh, scrivendo in corrispondenza delle combinazioni che determinano y = f(x) =. I - Pagina 85
relativi gruppi di 8, 4 o contigui, possono essere espressi da un singolo prodotto, eliminando la o le variabili che compaiono sia in forma diretta che negata, ovvero quelle relative alle colonne o righe con entrambi i valori e 0. Chiariamo il tutto con qualche esempio. Riprendiamo la tabella di verità dell esempio 4.. e scriviamo la mappa di Karnaugh di variabili: 00 0 0 0 Si vede immediatamente che la funzione non è semplificabile in quanto non esistono degli adiacenti. Se invece consideriamo la seguente funzione (4..): X y 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 5 0 6 0 0 7 00 0 0 0 Avremo due possibili zone che portano ad una semplificazione della forma canonica. Scegliendo di raggruppare le colonne 0 e, avremo il termine. scegliendo le colonne e 0, avremo il termine. ; in definitiva, potremo semplificare immediatamente la forma canonica: y = + + + in: y = + + Esempio 4.. 00 0 0 00 0 y = + + 4 4 4 0 - Pagina 86
Esempio 4.. 00 0 0 00 0 0 y = + + 4 4 - Pagina 87
Le forme semplificate ottenute tramite le mappe di Karnaugh sono espressioni del tipo somma di prodotti; volendo trovare l analoga espressione sotto forma di prodotto di somme, basta applicare il teorema di De Morgan alla funzione di uscita negata. Per questo occorre: prendere gli 0 della funzione y ottenere l espressione come Somma di Prodotti Applicare De Morgan, ottenendo l espressione in Prodotto di somme. Esempio (4..4) : y = 0,,,, 5, 7, 8, 90,, forma canonica in somma di prodotti ( ) Si ricava la seguente Mappa di Karnaugh: 4 00 0 0 00 0 0 (0) () () () (4) () (8) (5) (7) () (9) (5) () (6) (4) (0) dalla quale si ottiene: y = + 4 ed applicando il teorema di De Morgan: y = y = + = + + ( ) ( ) 4 4 Da notare che questo metodo è conveniente nei casi in cui il numero di della funzione sia superiore a n-, con n = numero delle variabili. 4.4) Operatori Universali NAND e NOR Dal teorema di De Morgan, si deduce che gli operatori AND, OR e NOT sono sovrabbondanti in quanto una stessa espressione può essere realizzata solo con AND e NOT o solo con OR e NOT. Viceversa, i soli operatori AND e OR, sono insufficienti per rappresentare una qualsiasi espressione logica. Per questo, si sono introdotti i seguenti operatori: NAND = negazione del prodotto, si indica col simbolo /. Esempio: / y = y = + y NOR = negazione della somma, si indica col simbolo. Esempio: y = y + = y Questi sono anche detti operatori universali in quanto ciascuno di essi può realizzare sia la negazione che la somma od il prodotto: ( negazione) / = = ( s om ma) / y = y = + y ( prodotto) y = y = y - Pagina 88
4.5) Operatore OR esclusivo XOR Questo operatore, detto anche somma modulo o anticoincidenza, si indica con il simbolo e realizza la seguente tabella di verità (nel caso di due variabili): 0 0 0 0 0 0 l espressione analitica corrispondente è quindi: = + = + + ( ) ( ) L operatore non è universale in quanto, da solo non è in grado di realizzare le operazioni di somma e prodotto. La negazione della funzione XOR, controlla l identità delle variabili alle quali è applicato l operatore e viene spesso indicata con. L operatore si chiama coincidenza o semplicemente XOR. - Pagina 89
4.6) Porte logiche e loro rappresentazione grafica Si definisce circuito logico elementare o porta logica o semplicemente porta (gate) ogni circuito elettronico ad n ingressi ed un uscita che assume il valore in corrispondenza delle configurazioni degli ingressi descritte dalle funzioni AND, OR, NOT, NAND, NOR. Per rappresentare le porte logiche, si utilizzano i seguenti simboli grafici: Porta AND n y =... n Porta OR n y = + +... + n Porta NOT y = Porta NAND n y =... n Porta NOR n y = + +... + n Porta XOR n y =... n Spesso, per connettere le uscite di più circuiti logici, si utilizzano le porte three-state ovvero delle porte che possono presentare in uscita, oltre gli stati 0 e, anche lo stato di alta impedenza, corrispondente allo stato di un circuito aperto. Il simbolo, per una porta three-state è il seguente: y s dove il terminale indica l ingresso, il terminale y l uscita ed il terminale s, l abilitazione dell uscita, secondo la seguente tabella di verità: s y 0 0 circuito aperto 0 circuito aperto 0 0 Le porte logiche possono essere realizzate usando componenti discreti (transistor, diodi, resistenze). Il perfezionamento della tecnologia dei circuiti integrati, ha però reso senz altro conveniente l implementazione di circuiti digitali mediante circuiti integrati. - Pagina 90
Le configurazioni possibili sono diverse e sono dette famiglie logiche. Le più comuni famiglie logiche sono: Famiglia Descrizione Circuito equivalente RTL Resistor-Transistor Logic: è stata la prima Porta NOR: R c utilizzata, attualmente non è usata. R A = R B = 450 Ω ; R C = 640 Ω U R f = 8 MHz ; Fan out = 5 ; P = mw; A B R B V cc = V A V cc DTL Diode-Transistor Logic: migliora il fan out, ma anche il tempo di propagazione. f = MHz ; Fan out = 8 ; P = 8 o mw V cc = 5 V Porta NAND: A R c U V cc B TTL Transistor-Transistor Logic: si sostituiscono, rispetto alla DTL, i diodi con un transistor ad emettitore multiplo. f = 60 Mhz ; Fan out = 0 ; P = 0mW V cc = 5 V Porta NAND (semplificata) A R c U V cc B ECL Emitter-Coupled Logic: si basa su amplificatori operazionali; non si portano i transistor in saturazione e quindi si aumenta la velocità. Quando V supera - V R T inizia a condurre e T R va in interdizione. I parametri del circuito sono scelti in modo da non saturare né T né T R. V può variare di appena 0, V (da - V R - 0. a - V R + 0. V. f = 400 Mhz ; Fan out = 5 ; P = 50mW V cc = 0 V ; - V R = -.75 V. ; - V EE = - 5. V. Amplificatore Operazionale: U U V -V R - V EE V cc MOS Metal-Oide Semiconductor: si basa sull impiego di MOSFET e qundi hanno un alta impedenza di ingresso, bassa dissipazione, alta densità. f = Mhz ; Fan out = 0 ; P = mw V DD = - 5 V ; V GG = - V (per tipo p) Inverter a MOSFET (enhancement tipo n): V G D B S V DD U - Pagina 9
Famiglia Descrizione Circuito equivalente CMOS Complementary Metal-Oide Semiconductor: utilizzano contemporaneamente MOSFET di tipo p e di tipo n. T conduce quando V GS > V T mentre T conduce quando V GS < VT. In fase di costruzione si cerca di rendere uguali le tensioni di soglia dei MOSFET, per cui: V T = Inverter a CMOS S VT = V T. Il circuito non assorbe virtualmente corrente. f = 0 Mhz ; Fan out = 50 ; P = nw ma in G B D T commutazione a MHz si arriva ad mw. V SS = da a V. V D G B S T U V DD IIL Integrated-Injection Logic: derivata dalla RTL, imponendo le resistenze di base=0. La tecnica di costruzione multicollettore e l impiego di un generatore di corrente sulla base (Transistor iniettore) permette di di eliminare problemi derivanti dalla non identica V BE dei transistor. f = 00 Mhz ; Fan out = ; P = 0 nw V cc = da,75 a 5 V. Impiego tipico: Contatori, flip-flop, DAC/ADC - Pagina 9