Minimizzazione di reti/funzioni logiche con le Mappe di Karnaugh ottobre 5
Punto della situazione Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare l ALU (Unità Logico Aritmetica), componente essenziale del calcolatore. Reti logiche = espressioni booleane Obiettivo di oggi: minimizzazione di espressioni SOP con le mappe di Karnaugh
Operatori logici Una funzione di variabili binarie e a valore binario viene detta funzione logica o di commutazione. Ogni funzione logica può essere definita in termini di semplici operatori logici di o variabili: AND, OR, NOT. Esistono però degli altri operatori logici importanti: XOR, NAND, NOR.
La combinazione delle variabili e degli operatori viene chiamata espressione logica o booleana.
Espressione SOP Letterale = variabile o la sua negazione Un espressione booleana è in forma normale SOP (Sum Of Products) quando è l OR/somma di AND/prodotto di letterali Mintermine = prodotto di letterali in cui compare ogni variabile o vera o negata Una espressione normale SOP è in forma canonica SOP se i suoi termini sono tutti mintermini Scambiando Somma con Prodotto si definiscono le espressioni POS
Risultati principali Corrispondenza fra funzioni logiche e reti logiche: Per ogni funzione logica possiamo costruire una rete logica che la realizza e viceversa Ogni funzione logica può essere espressa in termini soltanto di AND, OR, NOT. Analisi: data una rete determinare la funzione calcolata Sintesi: data una funzione logica costruire una rete che la calcola
Analisi e Sintesi di reti Analisi è abbastanza semplice: Calcola per ogni porta logica di cui sono specificati tutti gli input l espressione booleana associata all output Fino ad ottenere l espressione associata al terminale d uscita della rete Per la sintesi di una funzione logica f:. Da f alla tavola di verità. Dalla tavola di verità all espressione «SOP». Dall espressione «SOP» ad una rete a due stadi: il primo di porte AND, il secondo con una sola porta OR
Tavole di verità di mintermini Per ogni mintermine, la tavola di verità ha un solo valore. Per esempio: se f = allora avrà un solo in corrispondenza di =, =, =. Ricorda: Il prodotto è sse ogni fattore è f Viceversa, se la tavola di verità di f ha un solo valore necessariamente f è un mintermine. f =
Dalla tavola di verità alla SOP: esempio Supponiamo di avere una funzione f data tramite la sua tavola di verità f Espressione canonica SOP f(,, ) = + + +
Dall espressione canonica SOP alla rete a due livelli SOP /AND-to-OR: nel primo livello varie porte AND, nel secondo livello solo una porta OR Nota Nota: le porte sono state estese in modo da poter avere più di ingressi
Minimizzazione di reti combinatorie Sinonimi: Reti logiche, reti combinatorie Funzioni logiche, booleane, di commutazione
Valutazione delle Prestazioni di una Rete Combinatoria Per ogni funzione di commutazione esistono diverse reti combinatorie che la realizzano Qual è la migliore? Quella che ha le migliori prestazioni 5 Le prestazioni di una rete combinatoria vengono misurate in termini di Velocità Costo Obiettivo: una tecnica che ci permetta di sintetizzare la rete in modo da massimizzare le prestazioni
Costo di una rete/espressione logica 6 Il costo della rete dipende da Numero di porte logiche Numero di linee di input Tra tutte le reti AND-to-OR (SOP) che realizzano una certa funzione di commutazione una rete è minimale se Ha il minor numero di porte AND Tra tutte quelle che hanno il minor numero di porte AND ha il minor numero di linee di input Un espressione in forma normale SOP è minimale se Ha il minor numero di termini prodotto possibile Tra tutte le espressioni equivalenti che hanno il minor numero di prodotti ha il minor numero di letterali
Minimizzazione di espressioni booleane La minimizzazione di espressioni booleane non è un processo semplice e diretto. Si possono utilizzare le identità o regole dell algebra booleana. 7 Per poche variabili invece è possibile utilizzare la Mappa di Karnaugh per semplificare il processo una rappresentazione particolare delle tavole di verità che consente di individuare facilmente i mintermini adiacenti Utile fino a 4 variabili
Sintesi di una Rete Minimale 9 Data una funzione di commutazione, vogliamo sintetizzare una rete combinatoria che la realizza e che Sia a due livelli Abbia costo minimo
Mintermini Sia f una funzione su variabili,,. Letterale = variabile o la sua negazione Mintermine = prodotto di letterali in cui compare ogni variabile o vera o negata Ad ogni mintermine associamo una tripla binaria b b b dove b i = se i compare in forma vera, altrimenti. Per esempio: m() m5 mintermini m m m m m 4 m 5 m 6 m 7 m() m m() m5
Minimizzazione di una Espressione SOP Si parte dall espressione in forma canonica SOP Due mintermini sono detti adiacenti se differiscono su una sola variabile 4 4 Un espressione che contiene due mintermini adiacenti può essere minimizzata nel seguente modo 4 4 4 ) ( Da prodotti e 8 occorrenze di letterali siamo passati a prodotto e letterali Abbiamo bisogno di un metodo che ci permette di individuare velocemente i mintermini adiacenti 4
Rappresentazione di una funzione sulla Mappa f = m + m + m + m 4 + m 5 Rappresentata con la tavola di verità e... con la mappa di Karnaugh mintermini f f f f 6 f 4 m m m m m 4 m 5 m 6 m 7 f f f f f 4 f 5 f 6 f 7 f f f 7 f 5 Nella colonna i mintermini vicini non sono adiacenti: m = non è adiacente di m =. Nella mappa invece si!
Mappe di Karnaugh Sono tabelle a due dimensioni che rappresentano la tavola di verità della funzione in un modo diverso. Hanno n quadrati se n è il numero di variabili Ogni quadrato contiene il valore f i di un mintermine m i f f f f f 4 f f 8 f f f f f 5 f f 9 f f 7 f 5 f f f f 6 f 4 f f 6 f 4 f f f f 7 f 5
Mappe di Karnaugh Etichettiamo ogni casella con la corrispondente configurazione degli input Ogni casella identifica un mintermine Le etichette di caselle adiacenti sulla mappa differiscono per un solo bit e corrispondono a mintermini adiacenti. Sono adiacenti anche le caselle della prima e ultima colonna, etc. La mappa è un toroide (o ciambella.) 4 Adiacenti Adiacenti Adiacenti
Mappe di Karnaugh Etichettiamo ogni casella con la corrispondente configurazione degli input Ogni casella identifica un mintermine Le etichette di caselle adiacenti sulla mappa differiscono per un solo bit e corrispondono a mintermini adiacenti Adiacenti 4 5 Adiacenti
Etichettatura delle Mappe di Karnaugh Le righe sui bordi della tabelle identificano le aree della tabella contenenti caselle in cui una certa variabile è presente in forma vera () 6 4
Rappresentazione di Prodotti sulla Mappa 8 f Un prodotto di letterali appare sulla mappa come l intersezione delle regioni corrispondenti a ciascuno dei letterali Tutte le celle nella regione individuata contengono e le altre contengono 4
continua f 4
Rappresentazione di Prodotti sulla Mappa Sulla mappa per 4 variabili Un prodotto di letterale identifica una regione di 8 celle Un prodotto di letterali identifica una regione di 4 celle Un prodotto di letterali identifica una regione di celle Un prodotto di 4 letterali (mintermine) identifica una singola cella Le celle della regione devono essere adiacenti Celle su bordi opposti della mappa sono adiacenti La mappa è un toroide Per convenzione la regione identificata da un prodotto di letterali contenente k celle è detta k-cubo
Alcuni possibili cubi
Riprendiamo l esempio di prima f (,, ) = m + m + m + m 4 + m 5 f f f f f 6 f 7 f 4 f 5 f ) ( ) ( Dalla tavola di verità otteniamo la f come somma di 5 mintermini (le 5 occorrenze di ) e poi possiamo ridurre coppie di mintermini adiacenti in prodotti di letterali. Sulla mappa possiamo individuare facilmente le coppie di mintermini adiacenti.
Costruzione di Espressioni SOP a partire dalla Mappa di Karnaugh Data la rappresentazione di una funzione sulla Mappa di Karnaugh possiamo ricoprirla con una serie di cubi tali che Ogni cubo contenga solo celle con valore Ogni della tavola di verità sia ricoperto da almeno un cubo Ogni cubo rappresenta un prodotto di letterali L unione dei cubi è un espressione normale in forma SOP f
Insiemi minimali di Cubi Tra tutti gli insiemi di cubi che ricoprono una funzione quelli minimali sono gli insiemi che: Contengono il minor numero possibile di cubi/termini prodotto e, a parità di numero, quelli più grandi 4 Insieme di cubi minimale Insieme di cubi non minimale f f
Procedura di Minimizzazione Data la funzione di commutazione f espressa tramite la sua tavola di verità rappresentata su una mappa di Karnaugh. Per ogni nella mappa determiniamo i cubi massimali, cioè non contenuti in altri cubi, che lo contengono e che ricoprono solo celle contenenti. Individuiamo i cubi massimali essenziali Cubi che ricoprono coperti solo da quel cubo massimale. Scegliamo un insieme minimale di cubi massimali che ricoprono gli lasciati scoperti dai cubi essenziali
Esempio di Minimizzazione f OR( m, m, m, m6, m7, m8, m, m, m4, m5) Cubi massimali: Cubi essenziali: 4 4 6
Esempio di Minimizzazione (ctd.) f OR( m, m, m, m6, m7, m8, m, m, m4, m5) Insieme minimale: termini /porte AND 4 letterali/ linee di input 4 termini /porte AND letterali/linee di input Cubo essenziale 4 f 4 4 7
Esempio di Minimizzazione f OR( m, m, m, m6, m7, m, m, m4) Cubi massimali Cubi essenziali 4 4
Esempio di Minimizzazione (ctd.) ),,,,,,, ( 4 7 6 m m m m m m m m f OR 4 Cubo essenziale 4 4 4 f 4 4 4 4 f Due soluzioni distinte minimali!
Esempio (maggioranza) Sia f(,, ) la funzione che vale se (e solo se) la maggioranza delle variabili vale. Ieri abbiamo visto: f f (,, ) f = m + m 5 +m 6 + m 7
Rappresentazione della funzione sulla Mappa f = m + m 5 +m 6 + m 7 f f f 6 f 4 f f f 7 f 5 f
Riepilogo e riferimenti Analisi e sintesi di rete logiche Minimizzazione di reti logiche con le mappe di Karnaugh [PH] appendice B., B. [PH_IIIed] appendice C., C., C. [P] par. 4., 4., 4., 4.4.