Upload
jovanni-merlo
View
226
Download
4
Embed Size (px)
Citation preview
A.S.E.A.S.E. QM.QM.11
ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICI
• Alcune definizioniAlcune definizioni• Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo di sintesi ottima di Quine-McCluskey• EsempioEsempio
A.S.E.A.S.E. QM.QM.22
Funzioni e Don’t CaresFunzioni e Don’t Cares
• Una funzione booleana f puo’ essere Una funzione booleana f puo’ essere rappresentata attraverso 3 insiemi:rappresentata attraverso 3 insiemi:– F, l’insieme dei punti dove f=1 (on-set)F, l’insieme dei punti dove f=1 (on-set)– R, l’insieme dei punti dove f=0 (off-set)R, l’insieme dei punti dove f=0 (off-set)– D, l’insieme dei punti dove f e’ non D, l’insieme dei punti dove f e’ non
specificata (don’t-care-set)specificata (don’t-care-set)
• {F,R,D} formano una partizione di 2{F,R,D} formano una partizione di 2nn
– FFRRD = 2D = 2nn
– FFD = FD = FR = RR = RD = D =
A.S.E.A.S.E. QM.QM.33
bc
ac
ac’
Mintermini e ImplicantiMintermini e Implicanti• Implicante: prodotto Implicante: prodotto pp tale che { tale che {pp=1 =1 ff=1}=1}• Mintermine: implicante costituito da Mintermine: implicante costituito da nn literals literals• Implicante principale (prime): Implicante che Implicante principale (prime): Implicante che
non puo’ essere ridottonon puo’ essere ridotto– ff(a,b,c) = ab, {abc,abc’} mintermini, ab (a,b,c) = ab, {abc,abc’} mintermini, ab
implicante, a NOimplicante, a NO
• Implicante essenziale: implicante principale Implicante essenziale: implicante principale che copre un mintermine non coperto da che copre un mintermine non coperto da nessun altro implicante principalenessun altro implicante principale– Esempio, f=ab’+bc+acEsempio, f=ab’+bc+ac
• Mintermini={ab’c’, ab’c, abc,a’bc}Mintermini={ab’c’, ab’c, abc,a’bc}• Implicanti = Mintermini+{ab’, bc, ac}Implicanti = Mintermini+{ab’, bc, ac}• Implicanti principali = {ab’, ac, bc}Implicanti principali = {ab’, ac, bc}• Implicanti essenziali = {ab’, bc}Implicanti essenziali = {ab’, bc}
a
b c
A.S.E.A.S.E. QM.QM.44
Minimizzazione Rete Minimizzazione Rete CombinatoriaCombinatoria
• Data una funzione Data una funzione ff={F,D,R}, si vuole ={F,D,R}, si vuole ottenere un’espressione SP tale cheottenere un’espressione SP tale che
FFSPSPFFDDe che contenga il numero minimo di e che contenga il numero minimo di literalsliterals
• La forma SP La forma SP AND-OR AND-ORSP = PSP = P11+P+P22+…+P+…+Pnn
• Parametri di costoParametri di costo– Costo di una porta AND=#ingressiCosto di una porta AND=#ingressi– Costo di una porta OR=#ingressiCosto di una porta OR=#ingressi– Costo di una porta NOT=0Costo di una porta NOT=0
A.S.E.A.S.E. QM.QM.55
Minimizzazione Rete Minimizzazione Rete CombinatoriaCombinatoria
• SP = PSP = P11+P+P22+…+P+…+Pnn
• CostoCostoSPSP = costo = costoP1P1 + costo + costoP2P2 +…+ costo +…+ costoPnPn + n + n
• La minimizzazione richiede La minimizzazione richiede contemporaneamente contemporaneamente di:di:– minimizzare il numero n di prodotti Pminimizzare il numero n di prodotti Pii ( (ingressi OR)ingressi OR)
– minimizzare il costo di ciascun Pminimizzare il costo di ciascun Pii • minimo numero di termini minimo numero di termini ingressi AND ingressi AND
• In pratica, ogni implicante ha un costo pari al In pratica, ogni implicante ha un costo pari al numero di literals+1 numero di literals+1 – CostoCostoSPSP = (costo = (costoP1P1+1) + (costo+1) + (costoP2P2+1) +…+ (costo+1) +…+ (costoPP+1) +1)
– il termine +1 tiene conto dell’ingresso richiesto alla il termine +1 tiene conto dell’ingresso richiesto alla OROR
A.S.E.A.S.E. QM.QM.66
Minimizzazione Rete Minimizzazione Rete CombinatoriaCombinatoria
• La minimizzazione del costo di ciascun La minimizzazione del costo di ciascun implicante richiede di effettuare la ricerca implicante richiede di effettuare la ricerca esclusivamente tra gli implicanti esclusivamente tra gli implicanti principaliprincipali– qualunque implicante Pqualunque implicante Pkk incluso in un implicante incluso in un implicante
principale Pprincipale Ppp puo’ essere sostituito da questo ad puo’ essere sostituito da questo ad un costo un costo inferioreinferiore• il numero di literals in un implicante principale e’ minimoil numero di literals in un implicante principale e’ minimo
– gli implicanti essenziali giocano un ruolo gli implicanti essenziali giocano un ruolo particolareparticolare
• Occorre trovare il sottoinsieme minimo di Occorre trovare il sottoinsieme minimo di implicanti principali che contenga implicanti principali che contenga tuttitutti i i mintermini e mintermini e nonnon intersechi l’offset intersechi l’offset
A.S.E.A.S.E. QM.QM.77
Notazione per Notazione per ff
• Data una funzione Data una funzione f(a,b,c)f(a,b,c)
aa bb cc ff
00 00 00 00 11
1 1 00 00 11 00
22 0 0 11 00 00
33 00 11 11 11
44 11 00 00 11
55 11 00 11 00
66 11 11 00 11
77 11 11 11 00
• f=a’b’c’+a’bc+ab’c’+af=a’b’c’+a’bc+ab’c’+abc’=bc’= (0,3,4,6)(0,3,4,6)
• Def: cubo di ordine m: Def: cubo di ordine m: implicante con (n-m) implicante con (n-m) terminitermini• ordine 0 = ordine 0 =
minterminemintermine
A.S.E.A.S.E. QM.QM.88
Metodo di Quine-McCluskeyMetodo di Quine-McCluskey
• Si compone di due fasi:Si compone di due fasi:1.1. trovare tutti gli implicanti principali di trovare tutti gli implicanti principali di ff
2.2. trovare un’insieme minimo che copra trovare un’insieme minimo che copra ff
(nel seguito, (nel seguito, ff sara’ funzione di {a,b,c,d}) sara’ funzione di {a,b,c,d})
• Implicanti principaliImplicanti principali– Si possono ottenere attraverso la Si possono ottenere attraverso la fusionefusione di di
cubicubi• ad esempio, {abc e ab’c} ad esempio, {abc e ab’c} ac (2 cubi di ordine 1 ac (2 cubi di ordine 1
1 cubo di ordine 2)1 cubo di ordine 2)
– Per la generazione degli implicanti principali Per la generazione degli implicanti principali si considera si considera ff=1 sul don’t-care-set=1 sul don’t-care-set• permette di generare implicanti con un numero permette di generare implicanti con un numero
inferiore di termini e quindi costo minoreinferiore di termini e quindi costo minore
A.S.E.A.S.E. QM.QM.99
Fusione implicantiFusione implicanti
• Devono differire per un literalDevono differire per un literal– abde e abd’e abde e abd’e abe abe
• Posso operare piu’ velocemente se considero la Posso operare piu’ velocemente se considero la seguente numerazione dei minterminiseguente numerazione dei mintermini– {a b c d e} lo considero come un numero binario{a b c d e} lo considero come un numero binario
• a 2a 244 + b 2 + b 23 3 + c 2+ c 22 2 + d 2+ d 2 + e+ e
– esempio,esempio,• a b’ c d e’ = 16 + 0 + 4 + 2 + 0 = 22a b’ c d e’ = 16 + 0 + 4 + 2 + 0 = 22
• Si utilizza numerazione decimale per Si utilizza numerazione decimale per l’algoritmo di generazione degli implicanti l’algoritmo di generazione degli implicanti principaliprincipali– nulla di fondamentale, l’algoritmo puo’ essere nulla di fondamentale, l’algoritmo puo’ essere
convertito nell’uso dei literal o di {0,1} facilmenteconvertito nell’uso dei literal o di {0,1} facilmente
A.S.E.A.S.E. QM.QM.1010
Condizione necessarie fusione Condizione necessarie fusione implicantiimplicanti
• Se due mintermini sono adiacenti (si possono Se due mintermini sono adiacenti (si possono fondere), le loro numerazioni differiscono di una fondere), le loro numerazioni differiscono di una potenza di 2potenza di 2– devono differire in un solo literaldevono differire in un solo literal– non e’ vero il contrario!non e’ vero il contrario!
• Poiche’ due mintermini (implicanti) devono Poiche’ due mintermini (implicanti) devono differire in un solo literal, occorre che il numero differire in un solo literal, occorre che il numero di literal di literal positivipositivi presenti nei due implicanti presenti nei due implicanti differisca di 1differisca di 1– a b c’ d a b c’ d 3 3– a b’ c’ d a b’ c’ d 2 2 – a’ b c d’ a’ b c d’ 2 2– a b’ c’ d’ a b’ c’ d’ 1 1
A.S.E.A.S.E. QM.QM.1111
Generazione Implicanti PrincipaliGenerazione Implicanti Principali
• Occorre confrontare tutte le coppie di minterminiOccorre confrontare tutte le coppie di mintermini• Abbiamo quindi due condizioni che ci permettono Abbiamo quindi due condizioni che ci permettono
di filtrare coppie di minterminidi filtrare coppie di mintermini– se i test passano, occorre controllare i mintermini se i test passano, occorre controllare i mintermini
(espressi come prodotto di literals)(espressi come prodotto di literals)– condizioni necessarie ma non sufficienticondizioni necessarie ma non sufficienti
• ConsideriamoConsideriamof f = = (2,3,4,5,7,8,10,11,12,13)(2,3,4,5,7,8,10,11,12,13)
• Possiamo ordinare in partenza per numero di Possiamo ordinare in partenza per numero di literals positivi in maniera da formare dei gruppi literals positivi in maniera da formare dei gruppi e confrontare solo elementi entro gruppi e confrontare solo elementi entro gruppi adiacentiadiacenti
A.S.E.A.S.E. QM.QM.1212
Generazione Implicanti PrincipaliGenerazione Implicanti Principali
f f = = (2,3,4,5,7,8,10,11,12,13)(2,3,4,5,7,8,10,11,12,13)
0000 0101 1111 1010
0000 00 44 1212 88
0101 11 55 1313 99
1111 33 77 1515 1111
1010 22 66 1414 1010
A.S.E.A.S.E. QM.QM.1313
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 22
01000100 44
10001000 88
00110011 22 33
01010101 55
10101010 1010
11001100 1212
01110111 33 77
10111011 1111
11011101 1313
A.S.E.A.S.E. QM.QM.1414
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
f f = = (2,3,4,5,7,8,10,11,12,13)(2,3,4,5,7,8,10,11,12,13)
0000 0101 1111 1010
0000 00 44 1212 88
0101 11 55 1313 99
1111 33 77 1515 1111
1010 22 66 1414 1010
A.S.E.A.S.E. QM.QM.1515
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2
01000100 4 4
10001000 8 8
00110011 22 3 3
01010101 5 5
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.1616
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4
10001000 8 8
00110011 22 3 3
01010101 5 5
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.1717
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8
00110011 22 3 3
01010101 5 5
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.1818
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
00110011 22 3 3
01010101 5 5
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.1919
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
4,12(8)4,12(8)
00110011 22 3 3
01010101 5 5
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.2020
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
4,12(8)4,12(8)
00110011 22 3 3 8,10(2)8,10(2)
01010101 5 5
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.2121
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
4,12(8)4,12(8)
00110011 22 3 3 8,10(2)8,10(2)
01010101 5 5 8,12(4)8,12(4)
10101010 10 10
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.2222
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
4,12(8)4,12(8)
00110011 22 3 3 8,10(2)8,10(2)
01010101 5 5 8,12(4)8,12(4)
10101010 10 10 3,7(4)3,7(4)
11001100 12 12
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.2323
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
4,12(8)4,12(8)
00110011 22 3 3 8,10(2)8,10(2)
01010101 5 5 8,12(4)8,12(4)
10101010 10 10 3,7(4)3,7(4)
11001100 12 12 3,11(8)3,11(8)
01110111 33 7 7
10111011 11 11
11011101 13 13
A.S.E.A.S.E. QM.QM.2424
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
00100010 11 2 2 2,3(1)2,3(1)
01000100 4 4 2,10(8)2,10(8)
10001000 8 8 4,5(1)4,5(1)
4,12(8)4,12(8)
00110011 22 3 3 8,10(2)8,10(2)
01010101 5 5 8,12(4)8,12(4)
10101010 10 10 3,7(4)3,7(4)
11001100 12 12 3,11(8)3,11(8)
5,7(2)5,7(2)
01110111 33 7 7 5,13(8)5,13(8)
10111011 11 11 10,11(1)10,11(1)
11011101 13 13 12,13(1)12,13(1)
A.S.E.A.S.E. QM.QM.2525
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
f f = = (2,3,4,5,7,8,10,11,12,13)(2,3,4,5,7,8,10,11,12,13)
0000 0101 1111 1010
0000 00 44 1212 88
0101 11 55 1313 99
1111 33 77 1515 1111
1010 22 66 1414 1010
A.S.E.A.S.E. QM.QM.2626
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
11 2 2 2,3(1) 2,3(1)
4 4 2,10(8) 2,10(8)
8 8 4,5(1) 4,5(1)
4,12(8) 4,12(8)
22 3 3 8,10(2)8,10(2)
5 5 8,12(4)8,12(4)
10 10 3,7(4)3,7(4)
12 12 3,11(8) 3,11(8)
5,7(2)5,7(2)
33 7 7 5,13(8) 5,13(8)
11 11 10,11(1) 10,11(1)
13 13 12,13(1) 12,13(1)
A.S.E.A.S.E. QM.QM.2727
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
11 2 2 2,3(1) 2,3(1) 2,3,10,11(1,2,3,10,11(1,8)8)
4 4 2,10(8) 2,10(8)
8 8 4,5(1) 4,5(1)
4,12(8) 4,12(8)
22 3 3 8,10(2)8,10(2)
5 5 8,12(4)8,12(4)
10 10 3,7(4)3,7(4)
12 12 3,11(8) 3,11(8)
5,7(2)5,7(2)
33 7 7 5,13(8) 5,13(8)
11 11 10,11(1) 10,11(1)
13 13 12,13(1) 12,13(1)
A.S.E.A.S.E. QM.QM.2828
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
11 2 2 2,3(1) 2,3(1) 2,3,10,11(1,2,3,10,11(1,8)8)
4 4 2,10(8) 2,10(8)
8 8 4,5(1) 4,5(1)
4,12(8) 4,12(8)
22 3 3 8,10(2)8,10(2)
5 5 8,12(4)8,12(4)
10 10 3,7(4)3,7(4)
12 12 3,11(8) 3,11(8)
5,7(2)5,7(2)
33 7 7 5,13(8) 5,13(8)
11 11 10,11(1) 10,11(1)
13 13 12,13(1) 12,13(1)
A.S.E.A.S.E. QM.QM.2929
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2
11 2 2 2,3(1) 2,3(1) 2,3,10,11(1,2,3,10,11(1,8)8)
4 4 2,10(8) 2,10(8) 4,5,12,13(1,4,5,12,13(1,8)8)
8 8 4,5(1) 4,5(1)
4,12(8) 4,12(8)
22 3 3 8,10(2)8,10(2)
5 5 8,12(4)8,12(4)
10 10 3,7(4)3,7(4)
12 12 3,11(8) 3,11(8)
5,7(2)5,7(2)
33 7 7 5,13(8) 5,13(8)
11 11 10,11(1) 10,11(1)
13 13 12,13(1) 12,13(1)
A.S.E.A.S.E. QM.QM.3030
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
IndiceIndice(# uni)(# uni) Cubi 0Cubi 0 Cubi 1Cubi 1 Cubi 2Cubi 2 CostoCosto
11 2 2 2,3(1) 2,3(1) 2,3,10,11(1,8) 2,3,10,11(1,8) PP11
33
4 4 2,10(8) 2,10(8) 4,5,12,13(1,8) 4,5,12,13(1,8) PP22
33
8 8 4,5(1) 4,5(1)
4,12(8) 4,12(8)
22 3 3 8,10(2) P8,10(2) P33 44
5 5 8,12(4) P8,12(4) P44 44
10 10 3,7(4) P3,7(4) P55 44
12 12 3,11(8) 3,11(8)
5,7(2) P5,7(2) P66 44
33 7 7 5,13(8) 5,13(8)
11 11 10,11(1) 10,11(1)
13 13 12,13(1) 12,13(1)
A.S.E.A.S.E. QM.QM.3131
Tabella Generazione Implicanti Tabella Generazione Implicanti PrincipaliPrincipali
f f = = (2,3,4,5,7,8,10,11,12,13)(2,3,4,5,7,8,10,11,12,13)
cdcd\\abab 0000 0101 1111 1010
0000 00 44 1212 88
0101 11 55 1313 99
1111 33 77 1515 1111
1010 22 66 1414 1010
PP11=b’c=b’cPP22=bc’=bc’PP33=ab’d’=ab’d’PP44=ac’d’=ac’d’PP55=a’cd=a’cdPP66=a’bd=a’bd
A.S.E.A.S.E. QM.QM.3232
Tabella degli ImplicantiTabella degli Implicanti
22 33 44 55 77 88 1100
1111
1122
1133
PP11
PP22
PP33
PP44
PP55
PP66
A.S.E.A.S.E. QM.QM.3333
Metodo di PetrickMetodo di Petrick
• Lista di copertura irridondante:Lista di copertura irridondante:– somma di implicanti che somma di implicanti che coprecopre la funzione e la funzione e
tale che la rimozione di uno qualunque degli tale che la rimozione di uno qualunque degli implicanti rende f diversa dalla sommaimplicanti rende f diversa dalla somma
• La somma minima di prodotti e’ una La somma minima di prodotti e’ una somma (copertura) irridondantesomma (copertura) irridondante
A.S.E.A.S.E. QM.QM.3434
Metodo di PetrickMetodo di Petrick
• Si parte dalla tabella degli Si parte dalla tabella degli implicantiimplicanti
• Si forma un prodotto di sommeSi forma un prodotto di somme nel seguente modo: nel seguente modo:– ogni colonna introduce una ogni colonna introduce una
somma tra gli implicanti che somma tra gli implicanti che presentano un presentano un in corrispondenza in corrispondenza
• e.g. 3 e.g. 3 (P (P11+P+P55))
• Si svolgono i prodotti, si semplifica rispetto Si svolgono i prodotti, si semplifica rispetto all’assorbimento ottenendo una somma di all’assorbimento ottenendo una somma di prodottiprodotti
• Ciascun termine nella somma e’ una lista di Ciascun termine nella somma e’ una lista di copertura irridondantecopertura irridondante
22 33 44 55 77 88 1100
1111
1122
1133
PP11
PP22
PP33
PP44
PP55
PP66
A.S.E.A.S.E. QM.QM.3535
Metodo di PetrickMetodo di Petrick
22 33 44 55 77 88 1100
1111
1122
1133
PP11
PP22
PP33
PP44
PP55
PP66 PP11 (P (P33+P+P55) P) P4 4 (P(P22+P+P66) (P) (P55+P+P66) (P) (P33+P+P44) (P) (P11+P+P33) P) P11 (P (P22+P+P44) P) P22 PP11 P P3 3 PP4 4 PP2 2 PP55 P P3 3 PP11 P P11 P P22 P P22 + P + P11 P P5 5 PP4 4 PP6 6 PP66 P P4 4 PP33 P P11 P P44 P P22 … = … == = PP11 P P22 P P3 3 PP4 4 PP55 + P + P11 P P22 P P33 P P44 P P5 5 PP6 6 …… PP11 P P22 P P3 3 PP4 4 PP55 + … + …
A.S.E.A.S.E. QM.QM.3636
Metodo di PetrickMetodo di Petrick
PP11 (P (P33+P+P55) P) P4 4 (P(P22+P+P66) (P) (P55+P+P66) (P) (P33+P+P44) (P) (P11+P+P33) P) P11 (P (P22+P+P44) P) P22 PP11 P P3 3 PP4 4 PP2 2 PP55 P P3 3 PP11 P P11 P P22 P P22 + P + P11 P P5 5 PP4 4 PP6 6 PP66 P P4 4 PP33 P P11 P P44 P P22 … = … =
= = PP11 P P22 P P3 3 PP4 4 PP55 + P + P11 P P22 P P33 P P44 P P5 5 PP6 6 …… PP11 P P22 P P3 3 PP4 4 PP55 + … + …
• In pratica, si puo’ semplificare il prodotto In pratica, si puo’ semplificare il prodotto eliminando le somme contenenti altre eliminando le somme contenenti altre somme, somme, – e.g. (a+b)(c+d)(a+b+c) e.g. (a+b)(c+d)(a+b+c) (a+b)(c+d) (a+b)(c+d)
A.S.E.A.S.E. QM.QM.3737
Algoritmo di Quine-McCluskeyAlgoritmo di Quine-McCluskey
• Insieme di regole per generare una lista Insieme di regole per generare una lista di copertura minimadi copertura minima– ogni regola permette di semplificare il ogni regola permette di semplificare il
problema procedendo senza alterare problema procedendo senza alterare l’ottimalita’ della soluzionel’ottimalita’ della soluzione
• Metodo iterativoMetodo iterativo– ad ogni iterazione viene semplificata la tabellaad ogni iterazione viene semplificata la tabella– termina quando la tabella e’ vuota, oppuretermina quando la tabella e’ vuota, oppure– termina quando si arriva a una tabella non termina quando si arriva a una tabella non
semplificabilesemplificabile• in questo caso si procede con il metodo di Petrickin questo caso si procede con il metodo di Petrick
A.S.E.A.S.E. QM.QM.3838
Implicanti EssenzialiImplicanti Essenziali22 33 44 55 77 88 11
001111
1122
1133
33 PP11
33 PP22
44 PP33
44 PP44
44 PP55
44 PP66 • Implicanti essenziali: sono rappresentati da colonne Implicanti essenziali: sono rappresentati da colonne con un solo con un solo – il mintermine corrispondente viene “riconosciuto” solo da il mintermine corrispondente viene “riconosciuto” solo da
quell’implicantequell’implicante– Fanno parte della lista di copertura (non possono non esserci)Fanno parte della lista di copertura (non possono non esserci)
A.S.E.A.S.E. QM.QM.3939
Dominanza di colonnaDominanza di colonna
• Osservazione: occorre inserire implicanti Osservazione: occorre inserire implicanti principali a sufficienza per riconoscere principali a sufficienza per riconoscere tuttitutti i i minterminimintermini
• Se un mintermine Se un mintermine ii e’ riconosciuto dagli stessi e’ riconosciuto dagli stessi implicanti di un mintermine implicanti di un mintermine jj piu’ qualquno, piu’ qualquno, allora:allora:– jj e’ piu’ difficile da riconoscere e’ piu’ difficile da riconoscere– riconoscere riconoscere jj implica riconoscere anche implica riconoscere anche ii– allora allora jj e’ e’ dominante dominante rispetto a rispetto a ii
• Dominanza di colonna: se la colonna Dominanza di colonna: se la colonna (mintermine) (mintermine) ii ha tutti i ha tutti i della colonna della colonna jj (piu’ (piu’ qualcuno), allora ogni volta che un implicante ha qualcuno), allora ogni volta che un implicante ha un un per per jj ne ha uno per ne ha uno per ii
A.S.E.A.S.E. QM.QM.4040
Dominanza di colonnaDominanza di colonna22 33 44 55 77 88 11
001111
1122
1133
33 PP11
33 PP22
44 PP33
44 PP44
44 PP55
44 PP66 • Dominanza di colonna: Dominanza di colonna:
se la colonna (mintermine) se la colonna (mintermine) ii ha tutti i ha tutti i della colonna della colonna jj (piu’ qualcuno), allora ogni volta che un implicante ha un (piu’ qualcuno), allora ogni volta che un implicante ha un per per jj ne ha uno per ne ha uno per ii
A.S.E.A.S.E. QM.QM.4141
Dominanza di colonnaDominanza di colonna22 33 44 55 77 88 11
001111
1122
1133
33 PP11
33 PP22
44 PP33
44 PP44
44 PP55
44 PP66 • Dominanza di colonna: Dominanza di colonna: se la colonna (mintermine) se la colonna (mintermine) ii ha tutti i ha tutti i della colonna della colonna jj (piu’ (piu’ qualcuno), allora ogni volta che un implicante ha un qualcuno), allora ogni volta che un implicante ha un per per jj ne ha uno per ne ha uno per ii
• In questo caso, si puo’ eliminare dalla tabella l’implicante In questo caso, si puo’ eliminare dalla tabella l’implicante ii
A.S.E.A.S.E. QM.QM.4242
Dominanza di colonnaDominanza di colonna22 33 44 55 77 88 11
001111
1122
1133
33 PP11
33 PP22
44 PP33
44 PP44
44 PP55
44 PP66 • Possiamo quindi eliminare le colonne dominatePossiamo quindi eliminare le colonne dominate
A.S.E.A.S.E. QM.QM.4343
Eliminazione Implicanti Eliminazione Implicanti EssenzialiEssenziali
22 44 77 88
33 PP11
33 PP22
44 PP33
44 PP44
44 PP55
44 PP66 • In questo caso, PIn questo caso, P1 1 e Pe P22 fanno parte della lista di copertura fanno parte della lista di copertura
• Possiamo semplificare la tabella eliminando:Possiamo semplificare la tabella eliminando:– le righe corrispondenti a Ple righe corrispondenti a P1 1 e Pe P22
– tutte le colonne che hanno un tutte le colonne che hanno un in corrispondenza di queste righein corrispondenza di queste righe
LC = {PLC = {P11, P, P22}}
A.S.E.A.S.E. QM.QM.4444
Eliminazione Implicanti Eliminazione Implicanti EssenzialiEssenziali
22 44 77 88
44 PP33
44 PP44
44 PP55
44 PP66
• In questo caso, PIn questo caso, P1 1 e Pe P22 fanno parte della lista di copertura fanno parte della lista di copertura
• Possiamo semplificare la tabella eliminando:Possiamo semplificare la tabella eliminando:– le righe corrispondenti a Ple righe corrispondenti a P1 1 e Pe P22
– tutte le colonne che hanno un tutte le colonne che hanno un in corrispondenza di queste in corrispondenza di queste righerighe
– le colonne vuotele colonne vuote
LC = {PLC = {P11, P, P22}}
A.S.E.A.S.E. QM.QM.4545
Eliminazione Implicanti Eliminazione Implicanti EssenzialiEssenziali
77 88
44 PP33
44 PP44
44 PP55
44 PP66
• In questo caso, PIn questo caso, P1 1 e Pe P22 fanno parte della lista di copertura fanno parte della lista di copertura
• Possiamo semplificare la tabella eliminando:Possiamo semplificare la tabella eliminando:– le righe corrispondenti a Ple righe corrispondenti a P1 1 e Pe P22
– tutte le colonne che hanno un tutte le colonne che hanno un in corrispondenza di queste in corrispondenza di queste righerighe
– le colonne vuotele colonne vuote
LC = {PLC = {P11, P, P22}}
A.S.E.A.S.E. QM.QM.4646
Dominanza di rigaDominanza di riga
• Dominanza di riga: Dominanza di riga: se la riga se la riga mm ha tutti i ha tutti i della riga della riga nn (piu’ (piu’ qualcuno), allora l’implicante qualcuno), allora l’implicante mm riconosce riconosce tutti i mintermini di tutti i mintermini di nn (piu’ qualcuno) (piu’ qualcuno)
• Possiamo allora eliminare Possiamo allora eliminare nn dalla tabella se dalla tabella se il suo costo non e’ inferiore a quello di il suo costo non e’ inferiore a quello di mm– il numero di literals nell’espressione finale non il numero di literals nell’espressione finale non
aumentaaumenta– in caso di parita’ di in caso di parita’ di , occorre scegliere i cubi di , occorre scegliere i cubi di
ordine maggioreordine maggiore
A.S.E.A.S.E. QM.QM.4747
Dominanza di rigaDominanza di riga
• Esempio:Esempio:
• PP11 domina P domina P55
22 33 44 77 88 1100
1111
1122
1133
PP11
PP22
PP44
PP55
A.S.E.A.S.E. QM.QM.4848
Dominanza di rigaDominanza di riga
77 88
44 PP33
44 PP44
44 PP55
44 PP66
• Dominanza di riga: se la riga Dominanza di riga: se la riga mm ha tutti i ha tutti i della della riga riga nn (piu’ qualcuno), allora l’implicante (piu’ qualcuno), allora l’implicante mm riconosce tutti i mintermini di riconosce tutti i mintermini di nn (piu’ qualcuno) (piu’ qualcuno)
• Possiamo allora eliminare Possiamo allora eliminare nn dalla tabella se il suo dalla tabella se il suo costo non e’ inferiore a quello di costo non e’ inferiore a quello di mm– il numero di literals nell’espressione finale non aumentail numero di literals nell’espressione finale non aumenta– in caso di parita’ di in caso di parita’ di , occorre scegliere i cubi di ordine , occorre scegliere i cubi di ordine
maggioremaggiore
LC = {PLC = {P11, P, P22}}
A.S.E.A.S.E. QM.QM.4949
Dominanza di rigaDominanza di riga
77 88
44 PP33
44 PP44
44 PP55
44 PP66
LC = {PLC = {P11, P, P22}}
• Dominanza di riga: se la riga Dominanza di riga: se la riga mm ha tutti i ha tutti i della della riga riga nn (piu’ qualcuno), allora l’implicante (piu’ qualcuno), allora l’implicante mm riconosce tutti i mintermini di riconosce tutti i mintermini di nn (piu’ qualcuno) (piu’ qualcuno)
• Possiamo allora eliminare Possiamo allora eliminare nn dalla tabella se il suo dalla tabella se il suo costo non e’ inferiore a quello di costo non e’ inferiore a quello di mm– il numero di literals nell’espressione finale non aumentail numero di literals nell’espressione finale non aumenta– in caso di parita’ di in caso di parita’ di , occorre scegliere i cubi di ordine , occorre scegliere i cubi di ordine
maggioremaggiore
A.S.E.A.S.E. QM.QM.5050
Semplificazione TabellaSemplificazione Tabella
77 88
44 PP33
44 PP55
• Si ripetono i passi precedenti:Si ripetono i passi precedenti:– implicanti essenzialiimplicanti essenziali– dominanza di colonnadominanza di colonna– dominanza di rigadominanza di riga
LC = {PLC = {P11, P, P22}}
A.S.E.A.S.E. QM.QM.5151
Semplificazione TabellaSemplificazione Tabella
77 88
PP33
PP55
• Si ripetono i passi precedenti:Si ripetono i passi precedenti:– implicanti implicanti essenzialiessenziali– dominanza di colonnadominanza di colonna– dominanza di rigadominanza di riga
LC = {PLC = {P11, P, P2 2 , P, P33, P, P55}}
Costo = 3+3+4+4= 14Costo = 3+3+4+4= 14• 1 porta OR a 4 ingressi1 porta OR a 4 ingressi• 2 porte AND a 2 ingressi2 porte AND a 2 ingressi• 2 porte AND a 3 ingressi2 porte AND a 3 ingressi
A.S.E.A.S.E. QM.QM.5252
Nucleo CiclicoNucleo Ciclico
22 44 77 88
PP33
PP44
PP55
PP66
• Si puo’ arrivare a una tabella non piu’ semplificabile Si puo’ arrivare a una tabella non piu’ semplificabile con le dominanzecon le dominanze– si ricorre al metodo di Petrick, si confronta il costo di tutte le si ricorre al metodo di Petrick, si confronta il costo di tutte le
liste di copertura e si prende quella a costo minore liste di copertura e si prende quella a costo minore ottimo ottimo– si prende una lista di copertura a caso (si prende una lista di copertura a caso ( ?, pero’ ?, pero’
semplice…)semplice…)
A.S.E.A.S.E. QM.QM.5353
RisultatoRisultato
f f = = b’c+bc’+ab’d’+a’cdb’c+bc’+ab’d’+a’cd
0000 0101 1111 1010
0000 00 44 1212 88
0101 11 55 1313 99
1111 33 77 1515 1111
1010 22 66 1414 1010
PP11=b’c=b’cPP22=bc’=bc’PP33=ab’d’=ab’d’PP55=a’cd=a’cd