reti logiche: analisi, sintesi e minimizzazione esercitazione · punto della situazione •stiamo...
TRANSCRIPT
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 1 o 2 variabili: AND, OR, NOT.
• Esistono però degli altri operatori logici importanti: XOR, NAND, NOR.
AND ovvero il prodottoAND(x,y) con x, y variabili che possono assumere valore Vero o Falso. Risultato Vero se entrambe le variabili sono poste a Vero, Falso, altrimenti. Interpretando Vero come 1 e Falso come 0.
AND(x,y) corrisponde al prodotto x y.
AND(F,F) = FAND(F,V) = FAND(V,F) = FAND(V,V) = V
0 0 = 00 1 = 01 0 = 01 1 = 1
x y x * y 0 0 00 1 01 0 01 1 1
Tavola di verità
OR ovvero la sommaOR(x,y) con x, y variabili che possono assumere valore Vero o Falso.
Risultato Vero se almeno una variabile è posta a Vero, Falso, altrimenti.
Interpretando Vero come 1 e Falso come 0
OR(x,y) corrisponde alla somma x + y, in cui 1+1 = 1.
OR(F,F) = FOR(F,V) = VOR(V,F) = VOR(V,V) = V
0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1
x y x + y 0 0 00 1 11 0 11 1 1
Tavola di verità
NOT ovvero la negazioneNOT(x) con x variabile che può assumere valore Vero o Falso.
Risultato Vero se la variabile è posta a Falso;
Falso, altrimenti.
Interpretando Vero come 1 e Falso come 0
NOT(x) corrisponde alla negazione.
NOT(V) = FNOT(F) = V
0 = 11 = 0
x x 0 11 0
Espressione SOPLetterale = 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 ognivariabile 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
3131321 xxxxxxx
321321321 xxxxxxxxx
Espressione POSLetterale = variabile o la sua negazione
• Un’espressione booleana è in forma normale POS (Product Of Sums ) quando è il prodotto (AND) di somme (OR) di letterali
• Maxtermine = somma di letterali in cui compare ognivariabile o vera o negata
• Una espressione normale POS è in forma canonica POS se i suoi termini sono tutti maxtermini
))(( 3132 xxxx
))(( 321321 xxxxxx
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:
Analisi: data una rete determinare la funzione calcolata
Sintesi: data una funzione logica costruire una rete che la calcola
• 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 e Sintesi di reti
• Analisi è abbastanza semplice:– Calcola per ogni porta logica di cui sono specificati
tutti gli input l’espressione booleana associataall’output• Fino ad ottenere l’espressione associata al terminale d’uscita
della rete
• Vediamo ora la sintesi di una funzione logica f:1. Da f alla tavola di verità2. Dalla tavola di verità all’espressione «SOP»3. 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 1:
f ha valore 1 se:
x3=0, x2=1, x1=1 oppure
x3=1, x2=0, x1=1
x3 x2 x1 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
x3 x2 x1
x3 x2 x1
f = x3 x2 x1 + x3 x2 x1
Espressione SOP
1. Per ogni 1 nella tavola di verità trovare il mintermine corrispondente
2. Sommare i mintermini ottenuti
Dalla tavola di verità alla SOP: esempio 2
Dalla tavola di verità all’espressioneSOP
Espressione SOP
Nota
Dall’espressionecanonica SOP alla rete a due livelli SOP /AND-to-OR: nel primo livello varie porte AND, nel secondo livello solo una porta OR
Nota: le porte sono state estese in modo da poter avere più di 2 ingressi
Minimizzazione di reti combinatorie
Sinonimi:Reti logiche, reti combinatorieFunzioni logiche, funzioni di commutazione
Valutazione delle Prestazioni di una Rete Combinatoria
• Per ogni funzione di commutazione esistonodiverse reti combinatorie che la realizzano– Qual è la migliore?
• Quella che ha le migliori prestazioni
• Le prestazioni di una rete combinatoria vengonomisurate in termini di– Velocità
– Costo
• Esiste una tecnica che ci permette di sintetizzare la rete in modo da massimizzare le prestazioni?
23
Velocità di una Rete Combinatoria• 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 portelogiche 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
24
Costo di una rete/espressione logica
• 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 unacerta 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
25
Minimizzazione di espressioni booleane
• La minimizzazione di espressioni booleane non è un processo semplice e diretto. Si possonoutilizzare le regole contenute nella seguentetabella.
• 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 minterminiadiacenti
– Utile fino a 4 variabili
26
Esempi
3142 xxxxf
))(( 314231423142 xxxxxxxxxxxx 𝑓=
3214432143214321 )( xxxxxxxxxxxxxxxx
Esempio 1Applicando la proprietà distributiva e del complemento si ha:
Esempio 2Applicando le leggi di De Morgan si dimostra:
EsempioUsando le identità, si può passare dalla forma normale SOP a quella canonica SOP
Esempio:
non è in forma canonica.
131321321 ),,( xxxxxxxxxf
131321321 ),,( xxxxxxxxxf
321321321321 xxxxxxxxxxxx
321321321321321321321 xxxxxxxxxxxxxxxxxxxxx
))(()( 332213221321 xxxxxxxxxxxx
È in forma canonica!
Esempio (maggioranza)Sia f(x3,x2,x1) la funzione che vale 1 se (e solo se) la maggioranza delle variabili vale 1.
Ieri abbiamo visto:
x3 x2 x1 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
123123123123123 ),,( xxxxxxxxxxxxxxxf
Da cui si ottiene una rete con 4 porte AND a 3 ingressi ciascuna e 1 porta OR a 4 ingressi
Esempio (maggioranza, ctd.)
Applicando le regole di uguaglianza otteniamo:
123123123123123 ),,( xxxxxxxxxxxxxxxf
123123123123123123 xxxxxxxxxxxxxxxxxx
)()()( 112313221233 xxxxxxxxxxxx
231312 xxxxxx
Da cui si ottiene una rete con 3 porte AND a 2 ingressi ciascuna e 1 porta OR a 3 ingressi!
NOTA: per semplificare abbiamo ridotto due mintermini che differivano solo in 1 variabile
Esempio (maggioranza, ctd.)
Qual è il significato di queste due diverse «espressioni»?
123123123123123 ),,( xxxxxxxxxxxxxxxf
231312 xxxxxx
Sintesi di una Rete Minimale
• Data una funzione di commutazione, vogliamosintetizzare una rete combinatoria che la realizza e che
– Sia a due livelli
– Abbia costo minimo
33
MinterminiSia f una funzione su 3 variabili x3, x2, x1.
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 b3b2b1 dove bi=1 se xi compare in forma vera, 0 altrimenti. Per esempio:
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x3 x2 x1
m0
m1
m2
m3
m4
m5
m6
m7
mintermini
5)101(123 101 mmxxx
5)101(123 101 mmxxx
0)000(123 000 mmxxx
Minimizzazione di una Espressione SOP
• Si parte dall’espressione in forma canonica SOP
• Due mintermini sono detti adiacenti se differiscono su unasola variabile
35
1234 xxxx1234 xxxx
2341123412341234 )( xxxxxxxxxxxxxxxx
Un’espressione che contiene due mintermini adiacenti puòessere minimizzata nel seguente modo
Da 2 prodotti e 8 occorrenze di letterali siamo passati a 1 prodotto e 3 letterali
Abbiamo bisogno di un metodo che ci permette di individuarevelocemente i mintermini adiacenti
Mappe di Karnaugh• Sono tabelle a due dimensioni che rappresentano la tavola di verità della
funzione in un modo diverso.
• Hanno 2n quadrati se n è il numero di variabili
• Ogni quadrato contiene il valore fi di un mintermine mi
36
f0
f1
f0
f1
f2
f3
f0
f1
f2
f3
f6
f7
f4
f5
f0
f1
f4
f5
f12
f13
f8
f9
f3
f2
f7
f6
f15
f14
f11
f10
Mappe di Karnaugh
• Etichettiamo ogni casella con la corrispondenteconfigurazione degli input– Ogni casella identifica un mintermine– Le etichette di caselle adiacenti sulla mappa differiscono per un
solo bit e corrispondono a mintermini adiacenti
37
0
1
00
01
10
11
0000
0001
0100
0101
1100
1101
1000
1001
000
001
010
011
110
111
100
101
0011
0010
0111
0110
1111
1110
1011
1010
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
38
0
1
00
01
10
11
000
001
010
011
110
111
100
101
0000
0001
0100
0101
1100
1101
1000
1001
0011
0010
0111
0110
1111
1110
1011
1010
x4x3
00 01 11 10x2x1
00
01
11
10
Adiacenti
x3x2
00 01 11 10x1
Adiacenti
0
1
Etichettatura delle Mappe di Karnaugh
• Le righe sui bordi della tabelle identificano le aree della tabella contenenti caselle in cui unacerta variabile è presente in forma vera (1)
39
x1 x1
x2
x1
x2
x3
x1
x2
x3
x4
Etichettatura delle Mappe di KarnaughLe righe sui bordi della tabelle identificano le aree dellatabella contenenti caselle in cui una certa variabile èpresente in forma vera (1)
40
x1 x1
x2
x1
x2
x3
x1
x2
x3
x4
0
1
00
01
10
11
0000
0001
0100
0101
1100
1101
1000
1001
000
001
010
011
110
111
100
101
0011
0010
0111
0110
1111
1110
1011
1010
Rappresentazione di una funzione sulla Mappa
f = m0 + m2 + m3 + m4 + m5
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
10111100
fx3 x2 x1
f0f1f2f3f4f5f6f7
m0
m1
m2
m3
m4
m5
m6
m7
minterminif0
f1
f2
f3
f6
f7
f4
f5x1
x3
x2
1
0
1
1
0
0
1
1x1
x3
x2
Rappresentata con la tavola di verità e .... con la mappa di Karnaugh
Riepilogo e riferimenti
• Analisi e sintesi di rete logiche
• Minimizzazione di reti logiche con le mappe di Karnaugh
[PH] appendice B.1, B.2
[PH_IIIed] appendice C.1, C.2, C.3
[P] par. 4.1, 4.2, 4.3, 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à
x2 x1 f
0 0 1
0 1 0
1 0 1
1 1 0
Esercizio (POS)
Determinare l’espressione canonica POS della funzione definita dalla seguente tavola di verità
Suggerimento: usare le leggi di De Morgan
x2 x1 f
0 0 0
0 1 1
1 0 0
1 1 1
Esercizi
• Disegnare una rete logica che realizza lo XOR fra due variabili
• L’operazione di NAND di 2 variabili è la negazione dell’AND, mentre quella di NOR è la negazione dell’OR.
Quindi ogni funzione booleana può essere realizzata con solo porte NAND