32
MINIMIZAREA FUNCłIILOR BOOLEENE

curs 4 asdn

Embed Size (px)

DESCRIPTION

Analiza si sinteza dispozitivelor numerice

Citation preview

Page 1: curs 4 asdn

MINIMIZAREA FUNCłIILOR BOOLEENE

Page 2: curs 4 asdn

27.10.2009 Curs 4 ASDN 2

3.3.3. Minimizarea funcŃiilor booleene

� Gradul de complexitate al funcŃiei booleene ⇔Gradul de complexitate al circuitului numeric

� În sinteza circuitelor de comutaŃie - etapa de minimizare, după etapa de definire

� Scopul minimizării = obŃinerea unor forme echivalente mai simple ⇒ forma minimă

� Metode de minimizare (simplificare) ⇒ expresii minimale de forma SAU-uri de ŞI-uri (reuniune minimală) ori ŞI-uri de SAU-uri (intersecŃie minimală)

Page 3: curs 4 asdn

27.10.2009 Curs 4 ASDN 3

3.3.3. Minimizarea funcŃiilor booleene

� Criterii utilizate pentru minimizare:� Reducerea numărului de variabile

� Reducerea numărului de termeni

� Reducerea pe ansamblu a variabilelor şi termenilor încât suma lor să devină minimă

� Metode de minimizare:� Grafice

� Algebrice

Page 4: curs 4 asdn

27.10.2009 Curs 4 ASDN 4

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite� Minimizarea se bazează pe proprietatea de adiacenŃă

a codului Grey

� Se aleg suprafeŃe maxime formate din constituenŃi ai unităŃii, respectiv din constituenŃi ai lui zero

� SuprafeŃele au ca dimensiune un număr de compartimente egal întotdeauna cu puteri ale lui 2

� SuprafeŃele corespund termenilor canonici, termenii vecini fiind adiacenŃi (diferă printr-un singur bit)

Page 5: curs 4 asdn

27.10.2009 Curs 4 ASDN 5

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite� Prin gruparea termenilor adiacenŃi şi aplicarea

principiului terŃului exclus (x + x = 1) şi a proprietăŃii elementului unitate (x • 1 = x) eliminăm o variabilă:

x1 • x2 + x1 • x2 = x1

� O suprafaŃă cu 2m compartimente va elimina “m”variabile de intrare

� Un compartiment poate fi membru în mai multe suprafeŃe (x + x + … + x = x şi x • x •...• x = x)

Page 6: curs 4 asdn

27.10.2009 Curs 4 ASDN 6

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite� Metoda de minimizare:

� Se realizează grupări de compartimente (numărul compartimentelor egal cu puteri ale lui 2)

� Se scriu ecuaŃiile corespunzătoare fiecărei suprafeŃe ⇒

termenii elementari

� Se realizează:� FDM = forma disjunctivă minimă - prin însumarea termenilor

elementari obŃinuŃi prin gruparea constituenŃilor lui 1

� FCM = forma conjunctivă minimă - prin înmulŃirea termenilor elementari obŃinuŃi prin gruparea constituenŃilor lui 0

Page 7: curs 4 asdn

27.10.2009 Curs 4 ASDN 7

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite

� OBS. FuncŃiile minimale obŃinute în cele 2 forme de

minimizare sunt identice (diferă doar forma de reprezentare)

Page 8: curs 4 asdn

27.10.2009 Curs 4 ASDN 8

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite

� Exemplu: f (x1,x2,x3,x4) = Σ (3, 7, 8, 9, 12, 13, 15)

� Minimizarea cu constituenŃii lui 1 (FDM) are 2 variante, după cum se aleg suprafeŃele de minimizare x4

x1x2 x3x4 00 01 11 1000 0 0 1 001 0 0 1 0 x2

x1 11 1 1 1 010 1 1 0 0

x3

Page 9: curs 4 asdn

27.10.2009 Curs 4 ASDN 9

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite

� Exemplu: f (x1,x2,x3,x4) = Σ (3, 7, 8, 9, 12, 13, 15)

� Minimizarea cu constituenŃii lui 1 (FDM) are 2 variante, după cum se aleg suprafeŃele de minimizare

fFDM1 = x1•x3 + x1•x3•x4 + x1•x2•x4 sau

fFDM2 = x1•x3 + x1•x3•x4 + x2•x3•x4

Page 10: curs 4 asdn

27.10.2009 Curs 4 ASDN 10

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite

� Exemplu: f (x1,x2,x3,x4) = Σ (3, 7, 8, 9, 12, 13, 15)

� Implementarea cu porŃi de tip ŞI-NU utilizează principiul dublei negaŃii şi apoi teoremele lui De Morgan

� fFDM1 = fFDM1 = x1•x3 + x1•x3•x4 + x1•x2•x4 =

= x1•x3 • x1•x3•x4 • x1•x2•x4 =

= x1•x3•x3 • x1•x1•x3•x4 • x1•x2•x4

Page 11: curs 4 asdn

27.10.2009 Curs 4 ASDN 11

3.3.3.1. Minimizarea grafică

1. Diagrama Karnaugh - funcŃii complet definite

� Exemplu: f (x1,x2,x3,x4) = Σ (3, 7, 8, 9, 12, 13, 15)

� Minimizarea cu constituenŃii lui 0 (FCM)

� fFCM = (x1 + x3) • (x3 + x4) • (x1 + x2 + x3)

x4

x1x2 x3x4 00 01 11 1000 0 0 1 001 0 0 1 0 x2

x1 11 1 1 1 010 1 1 0 0

x3

Page 12: curs 4 asdn

27.10.2009 Curs 4 ASDN 12

3.3.3.1. Minimizarea grafică

2. Diagrama Karnaugh - funcŃii incomplet definite� FuncŃii incomplet definite: în anumite puncte ale

domeniului de definiŃie pot lua valoarea 0 sau 1

� SituaŃii:� CombinaŃii ale variabilelor de intrare pentru care funcŃia

are valori indiferente (nedefinite)

� CombinaŃii ale variabilelor de intrare care nu pot să apară din punct de vedere fizic - se studiază dacă pot să apară

la manevre false sau după defecte de funcŃionare

Page 13: curs 4 asdn

27.10.2009 Curs 4 ASDN 13

3.3.3.1. Minimizarea grafică

2. Diagrama Karnaugh - funcŃii incomplet definite� Valorile funcŃiei în DK se numesc în aceste situaŃii

indiferente sau arbitrare sau redundante� NotaŃia acestor valori se face cu “X”

� La minimizare, pentru “X” se dau valori de 1 sau de 0, în funcŃie de situaŃie, pentru obŃinerea unei forme minime a funcŃiei

� ObservaŃie: FuncŃia minimizată în FDM nu mai coincide întotdeauna cu funcŃia minimizată în FCM

Page 14: curs 4 asdn

27.10.2009 Curs 4 ASDN 14

3.3.3.1. Minimizarea grafică

2. Diagrama Karnaugh - funcŃii incomplet definite� Exemplu: funcŃie incomplet definită reprezentată

direct în DK

� Minimizam în FDM şi alegem “X” cu valoare 1, acolo unde este cazul

� OBSERVAłIE: Nu se grupează în suprafeŃe numai valori de “X”!!!

Page 15: curs 4 asdn

27.10.2009 Curs 4 ASDN 15

3.3.3.1. Minimizarea grafică

2. Diagrama Karnaugh - funcŃii incomplet definite� Exemplu: funcŃie incomplet definită reprezentată

direct în DK

� fFDM = x1•x2 + x2•x3 + x1•x4 + x2•x4

x4

x1x2 x3x4 00 01 11 1000 x 101 x 1 x x2

x1 11 1 1 110 1 x 1 x

x3

Page 16: curs 4 asdn

27.10.2009 Curs 4 ASDN 16

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii� SuperpoziŃia funcŃiilor booleene

� Dacă avem F(X), unde X = (x1,x2,…xi,xi+1,…,xn) şi considerăm X1 = (x1,x2,…xi) şi X2 = (xi+1,…,xn) şi dacă F(X) se poate scrie F(X) = f3[f 1(X1), f2(X2)] atunci F(X) s-a obŃinut prin superpoziŃia funcŃiilor f 1(X1) şi f2(X2)

� DecompoziŃia funcŃiilor booleene� Dacă avem f(X), unde X = (x1,x2,…,xn) şi un set de

funcŃii, decompoziŃia înseamnă că F(X) se poate scrie:

� f(X) = fm[fm-1(Xm-1), fm-2(Xm-2),…, f1(X1), X0] cu Xi ⊂ X

Page 17: curs 4 asdn

27.10.2009 Curs 4 ASDN 17

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii

� Exemplu: f(x1,x2,x3,x4) = Σ (0, 2, 3, 7, 9, 10, 11, 14)

� fFDM = x1•x2•x4 + x1•x3•x4 + x1•x3•x4 + x1•x2•x4 =

= x2•(x1 • x4) + x3•(x1 + x4) = x2•G + x3•G

unde G = (x1 + x4)

x4

x1x2 x3x4 00 01 11 1000 1 1 101 1 x2

x1 11 110 1 1 1

x3

Page 18: curs 4 asdn

27.10.2009 Curs 4 ASDN 18

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii

� Exemplu: f(x1,x2,x3,x4) = Σ (0, 2, 3, 7, 9, 10, 11, 14)

� Folosind decompoziŃia f(X) = f2[f 1(X1), X0] putem scrie f = f2[G(x1,x4), x2, x3]

� În continuare facem un artificiu de calcul:

f = x2•G + x3•G = x2•G•(x3 + x3) + x3•G•(x2 + x2) =

= x2•x3•G + x2•x3•G + x2•x3•G + x2•x3•G = x2•x3 +

+ x2•x3•G + x2•x3•G

Page 19: curs 4 asdn

27.10.2009 Curs 4 ASDN 19

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii

� Exemplu: f(x1,x2,x3,x4) = Σ (0, 2, 3, 7, 9, 10, 11, 14)

� DK corespunzătoare este acum:

� Prin înglobarea în DK cu număr de compartimente 2n, a “m” expresii (variabile) rezultă o DK cu 2n-m

compartimente

x2 x3 0 10 G 1

x2 1 0 Gx3

Page 20: curs 4 asdn

27.10.2009 Curs 4 ASDN 20

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii� Paşii pentru minimizarea cu DK cu expresii

(variabile) înglobate:� 1. Se consideră toate variabilele ca şi cum ar fi 0 şi se

formează suprafeŃe cu constituenŃii lui 1 şi se minimizează

� 2. Se consideră toate locaŃiile cu 1 indiferente şi se formează suprafeŃe cu variabilele înglobate

� 3. Se consideră intersecŃia variabilelor înglobate cu grupările obŃinute prin minimizare la pasul 2

Page 21: curs 4 asdn

27.10.2009 Curs 4 ASDN 21

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii� Paşii pentru minimizarea cu DK cu expresii

(variabile) înglobate:� 4. Se face reuniunea termenilor obŃinuŃi în paşii 1 şi 3

� 5. Pentru mai multe variabile se repetă pe rând pentru fiecare paşii 1-4 (celelalte variabile se consideră 0), apoi se face reuniunea tuturor termenilor obŃinuŃi

Page 22: curs 4 asdn

27.10.2009 Curs 4 ASDN 22

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii� Exemplu: Să se minimizeze funcŃia cu variabile

înglobate f(x1,x2,x3,a,b,c):

� Pasul 1

� Se obŃine x2•x3 + x1•x3

x1 x2x3 00 01 11 100 a+b 1 c1 1 1 x

x1 x2x3 00 01 11 100 11 1 1 x

Page 23: curs 4 asdn

27.10.2009 Curs 4 ASDN 23

3.3.3.1. Minimizarea grafică

3. Diagrama Karnaugh - cu expresii� Exemplu: Să se minimizeze funcŃia cu variabile

înglobate f(x1,x2,x3,a,b,c):

� Pasul 2 şi 3

� Se obŃine c•x2 + (a+b)•x1•x3

� Pasul 4 - se obŃine funcŃia minimizată:

� f = x2•x3 + x1•x3 + c•x2 + (a+b)•x1•x3

x1 x2x3 00 01 11 100 a+b x c1 x x x

Page 24: curs 4 asdn

27.10.2009 Curs 4 ASDN 24

3.3.3.2. Minimizarea algebrică

� Se bazează pe axiomele şi teoremele algebrei booleene

� Se utilizează pentru funcŃii booleene cu mai mult de 6 variabile

� Exemplu de metodă de minimizare algebrică: Metoda Quine-Mc Cluskey

Page 25: curs 4 asdn

27.10.2009 Curs 4 ASDN 25

3.3.3.2. Minimizarea algebrică

� Etapele de minimizare:� 1. Se grupează termenii canonici astfel încât

termenii din fiecare grupare să conŃină acelaşi număr de 1, respectiv de 0

� 2. Se compară fiecare termen dintr-o grupare cu toŃi cei din gruparea următoare, aplicând relaŃia de reducere: x1•x2 + x1•x2 = x1.� Se grupează termenii care diferă printr-o singură

variabilă. Termenul obŃinut prin reducere va conŃine “-”pe poziŃia acelei variabile.

� Pasul se repetă până nu se mai pot face reduceri� Termenii rezultaŃi în final se numesc implicanŃi primi IP

Page 26: curs 4 asdn

27.10.2009 Curs 4 ASDN 26

3.3.3.2. Minimizarea algebrică

� Etapele de minimizare:� 3. Se aleg acei implicanŃi primi IP care asigură

acoperirea minimală a termenilor canonici TC� Se construieşte un tabel de acoperire cu TC pe coloane şi

IP pe linii

� În intersecŃiile tabelului se notează TC care sunt acoperiŃi de fiecare IP

� Unii IP sunt numiŃi esenŃiali deoarece acoperă cel puŃin un TC care nu este acoperit de nici un alt IP ⇒ IP esenŃiali fac parte în mod obligatoriu din expresia minimală finală a funcŃiei

Page 27: curs 4 asdn

27.10.2009 Curs 4 ASDN 27

3.3.3.2. Minimizarea algebrică

� Exemplu: f(x1,x2,x3,x4) = Σ (0, 2, 3, 5, 7, 8, 10, 11, 13, 15)� Etapa 1 - gruparea termenilor canonici

TC x1 x2 x3 x4

0 0 0 0 0

2 0 0 1 0

8 1 0 0 0

3 0 0 1 1

5 0 1 0 1

10 1 0 1 0

7 0 1 1 1

11 1 0 1 1

13 1 1 0 1

15 1 1 1 1

Page 28: curs 4 asdn

27.10.2009 Curs 4 ASDN 28

3.3.3.2. Minimizarea algebrică

� Exemplu: f = Σ (0, 2, 3, 5, 7, 8, 10, 11, 13, 15)� Etapa 2 - compararea termenilor din grupe diferite

TC x1 x2 x3 x4

0,2 0 0 - 00,8 - 0 0 02,3 0 0 1 -2,10 - 0 1 08,10 1 0 - 03,7 0 - 1 13,11 - 0 1 15,7 0 1 - 15,13 - 1 0 110,11 1 0 1 -7,15 - 1 1 111,15 1 - 1 113,15 1 1 - 1

Page 29: curs 4 asdn

27.10.2009 Curs 4 ASDN 29

3.3.3.2. Minimizarea algebrică

� Exemplu: f = Σ (0, 2, 3, 5, 7, 8, 10, 11, 13, 15)� Etapa 2 - continuarea comparării

TC x1 x2 x3 x4

0, 2, 8, 10 - 0 - 0

2, 3, 10, 11 - 0 1 -

3, 7, 11, 15 - - 1 1

5, 7, 13, 15 - 1 - 1

� Dacă în urma comparării un termen apare de mai multe ori se trece o singură dată

� IP rezultaŃi sunt: (0,2,8,10) = x2•x4, (2,3,10,11) = x2•x3, (3,7,11,15) = x3•x4 , (5,7,13,15) = x2•x4

Page 30: curs 4 asdn

27.10.2009 Curs 4 ASDN 30

3.3.3.2. Minimizarea algebrică

� Exemplu: f = Σ (0, 2, 3, 5, 7, 8, 10, 11, 13, 15)� Etapa 3 - tabelul de acoperire

IP TC 0 2 3 5 7 8 10 11 13 15

0, 2, 8, 10 x x x x

2, 3, 10, 11 x x x x

3, 7, 11, 15 x x x x

5, 7, 13, 15 x x x x

� ImplicanŃii primi esenŃiali sunt (0,2,8,10) şi (5,7,13,15)� Pentru TC neacoperiŃi de IP esenŃiali se pot alege 2

variante de acoperire ⇒ 2 soluŃii de minimizaref = (0,2,8,10) + (5,7,13,15) + (2,3,10,11) = x2•x4 + x2•x4 + x2•x3 sauf = (0,2,8,10) + (5,7,13,15) + (3,7,13,15) = x2•x4 + x2•x4 + x3•x4

Page 31: curs 4 asdn

27.10.2009 Curs 4 ASDN 31

3.3.4. Minimizarea sistemelor de funcŃii

� Sistemele de funcŃii booleene se exprimă prin:

f: Bn → Bm unde B = {0,1}

� Argumentele funcŃiilor pot fi de “n” variabile

� Există mai multe funcŃii: f 1, f2, …, fm

Page 32: curs 4 asdn

27.10.2009 Curs 4 ASDN 32

3.3.4. Minimizarea sistemelor de funcŃii

� Se caută implicanŃi primi pentru funcŃiile individuale şi pentru produsele:� f1, f2, …, fm� f1•f2, f1•f3, …, f1•fm

� f1•f2•f3, f1•f2•f4, …

� f1•f2•f3•f4, ...

� Exemplu: pentru un sistem de 3 funcŃii vor rezulta pentru minimizare 7 funcŃii şi produse de funcŃii

� SoluŃia aleasă: cea mai avantajoasă din punct de

vedere al circuitelor disponibile şi al preŃului