Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 05
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, e altri moduli. Reti logiche = espressioni booleane Obiettivo di oggi: passaggio da espressione booleana a rete logica di costo minimale
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.
AND ovvero il prodotto AND(,y) con, y variabili che possono assumere valore Vero o Falso. Risultato Vero se entrambe le variabili sono poste a Vero, Falso, altrimenti. Interpretando Vero come e Falso come 0. AND(,y) corrisponde al prodotto y. AND(F,F) = F AND(F,V) = F AND(V,F) = F AND(V,V) = V 0 0 = 0 0 = 0 0 = 0 = y * y 0 0 0 0 0 0 0 Tavola di verità
OR ovvero la somma OR(,y) con, y variabili che possono assumere valore Vero o Falso. Risultato Vero se almeno una variabile è posta a Vero, Falso, altrimenti. Interpretando Vero come e Falso come 0 OR(,y) corrisponde alla somma + y, in cui + =. OR(F,F) = F OR(F,V) = V OR(V,F) = V OR(V,V) = V 0 + 0 = 0 0 + = + 0 = + = y + y 0 0 0 0 0 Tavola di verità
NOT ovvero la negazione NOT() con variabile che può assumere valore Vero o Falso. Risultato Vero se la variabile è posta a Falso; Falso, altrimenti. Interpretando Vero come e Falso come 0 NOT() corrisponde alla negazione. NOT(V) = F NOT(F) = V 0 = = 0 0 0
La combinazione delle variabili e degli operatori viene chiamata espressione logica.
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
Espressione POS Letterale = variabile o la sua negazione Un espressione booleana è in forma normale POS (Product Of Sums ) quando è il prodotto (AND) di somme (OR) di letterali ( )( ) Matermine = somma di letterali in cui compare ogni variabile o vera o negata Una espressione normale POS è in forma canonica POS se i suoi termini sono tutti matermini ( )( )
Rete logica Una rete logica è un interconnessione di porte logiche AND, OR, NOT, in modo che ogni uscita da una porta alimenti al più un ingresso di una porta e non vi siano cicli
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 Vediamo ora 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
Dalla tavola di verità alla SOP Se invece la tavola di verità ha più occorrenze di : f 0 0 0 0 0 0 0 0 0 0 f ha valore se: =0, =, = oppure =, =0, = Espressione SOP 0 0 0 0 0 0 0 f = + 0. Per ogni nella tavola di verità trovare il mintermine corrispondente. Sommare i mintermini ottenuti
Dalla tavola di verità alla SOP: esempio Dalla tavola di verità all espressione SOP Espressione SOP
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, funzioni 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 Le prestazioni di una rete combinatoria vengono misurate in termini di Velocità Costo Esiste una tecnica che ci permette di sintetizzare la rete in modo da massimizzare le prestazioni?
Velocità di una Rete Combinatoria 4 La velocità della rete viene misurata calcolando il tempo che passa da quando i segnali sono disponibili sui terminali di input a quando un segnale è disponibile sul terminale di output Quando un segnale attraversa una porta logica subisce un piccolo ritardo La velocità di una rete dipende dal massimo numero di porte logiche che un segnale deve attraversare per andare da un terminale di input al terminale di output Faremo sempre riferimento a reti a due livelli Sono le più veloci tra quelle che possono realizzare qualsiasi funzione Le reti ad un livello possono realizzare un insieme molto limitato di funzioni
Costo di una rete/espressione logica 5 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 prodott,i 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 regole contenute nella seguente tabella. 6 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
Esercizio: verificare che (+y)(+z) = +yz confrontando le rispettive tavole di verità
Esempi 4 f ) )( ( 4 4 4 f= 4 4 4 4 ) ( Esempio Applicando la proprietà distributiva e del complemento si ha: Esempio Applicando le leggi di De Morgan si dimostra:
Esempio Usando le identità, si può passare dalla forma normale SOP a quella canonica SOP Esempio: non è in forma canonica. ),, ( f ),, ( f ) )( ( ) ( È in forma canonica!
Esempio (maggioranza) Sia f(,, ) la funzione che vale se (e solo se) la maggioranza delle variabili vale. Ieri abbiamo visto: f 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f (,, ) Da cui si ottiene una rete con 4 porte AND a ingressi ciascuna e porta OR a 4 ingressi
Esempio (maggioranza, ctd.) Applicando le regole di uguaglianza otteniamo: ),, ( f ) ( ) ( ) ( Da cui si ottiene una rete con porte AND a ingressi ciascuna e porta OR a ingressi! NOTA: per semplificare abbiamo ridotto due mintermini che differivano solo in variabile
Esempio (maggioranza, ctd.) Qual è il significato di queste due diverse «espressioni»? ),, ( f
Sintesi di una Rete Minimale 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, 0 altrimenti. Per esempio: 0 m(0) m5 mintermini m 0 m m m m 4 m 5 m 6 m 7 0 0 0 0 0 0 0 0 0 0 0 0 000 m(000) m0 0 m(0) m5
Minimizzazione di una Espressione SOP 5 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
Mappe di Karnaugh 6 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 0 f 0 f f 0 f 4 f f 8 f f f f f 5 f f 9 f f 7 f 5 f f 0 f f 6 f 4 f f 6 f 4 f 0 f f f 7 f 5
Mappe di Karnaugh 7 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 0 00 0 0000 000 00 000 0 000 00 00 0 0 00 0 Adiacenti 000 00 0 00 000 00 0 00 00 0 0 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 0 00 0 Adiacenti 4 00 0 0 8 0 00 0000 000 00 000 Adiacenti 0 000 00 0 00 00 0 0 00 0 0 0 000 00 0 00 0 000 00 0 00 00 0 0
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 () 9 4
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 () 40 0 00 0 0000 000 00 000 0 000 00 00 0 0 00 0 000 00 00 0 0 00 0 000 00 0 00 4
Rappresentazione di una funzione sulla Mappa f = m 0 + m + m + m 4 + m 5 Rappresentata con la tavola di verità e... con la mappa di Karnaugh mintermini f f 0 f f 6 f 4 m 0 m m m m 4 m 5 m 6 m 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f0 f f f f 4 f 5 f 6 f 7 f 0 f f 7 0 0 f 5
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. La prossima volta: la minimizzazione con le mappe di Karnaugh [P] par. 4.4
Esercizio (SOP) Determinare l espressione canonica SOP della funzione definita dalla seguente tavola di verità f 0 0 0 0 0 0
Esercizio (POS) Determinare l espressione canonica POS della funzione definita dalla seguente tavola di verità f 0 0 0 0 0 0 Suggerimento: usare le leggi di De Morgan
Esercizi Disegnare una rete logica che realizza lo XOR fra due variabili L operazione di NAND di variabili è la negazione dell AND, mentre quella di NOR è la negazione dell OR. Quindi ogni funzione booleana può essere realizzata con solo porte NAND