You are on page 1of 9

56

Arhitectura calculatoarelor

3.4. Minimizarea funciilor booleene


Minimizarea const n obinerea formei celei mai simple de exprimare a funciilor booleene n scopul reducerii numrului de circuite i a numrului de intrri ale acestora.

3.4.1. Metoda algebric


Metoda algebric const n aplicarea succesiv a postulatelor i teoremelor algebrei booleene scrise sub form canonic disjunctiv sau conjunctiv. O funcie care nu este specificat iniial sub o form canonic poate fi adus la aceast form. n vederea minimizrii, se urmrete reducerea numrului de termeni ai expresiei, a numrului de apariii ale variabilelor i a numrului de variabile din fiecare termen. Apariia unei variabile complementate sau necomplementate reprezint un literal. Considerm urmtoarea funcie:

F ( A, B, C ) = ABC + A BC + ABC + ABC + ABC + ABC


Grupnd termenul 1 cu 2, 3 cu 5 i 4 cu 6, se obine:

F ( A, B, C ) = A B + BC + AC
Grupnd termenul 1 cu 3, 2 cu 4 i 5 cu 6, se obine:

F ( A, B, C ) = AC + BC + AB
Acestea reprezint expresii minimale ale funciei. Deci, o expresie minimal a unei funcii nu este, n mod obligatoriu, unic. Metoda algebric necesit experien, devenind dificil dac expresia iniial a funciei este complicat. Un alt dezavantaj este faptul c nu se poate stabili cu uurin dac forma obinut este minim sau se mai poate simplifica. Din aceste motive, n practic se utilizeaz metode grafice de minimizare.

3.4.2. Metoda diagramelor Karnaugh


Folosirea unei diagrame pentru simplificarea funciilor booleene a fost sugerat pentru prima dat de E. Veitch. Ulterior, M. Karnaugh propune de asemenea o form de diagram n acelai scop, rezultnd diagrama Karnaugh. Aceast diagram se utilizeaz n mod curent pentru reprezentarea funciilor booleene cu un numr relativ mic de variabile.

3. Circuite logice digitale

57

3.4.2.1. Reprezentarea funciilor prin diagrama Karnaugh


O diagram Karnaugh constituie o variant modificat a unui tabel de adevr. n general, o diagram Karnaugh pentru o funcie boolean de n variabile se reprezint sub forma unui ptrat sau dreptunghi mprit n 2n ptrate (compartimente), fiecare ptrat fiind rezervat unui termen canonic al funciei. Diagramele Karnaugh pentru funciile de 2, 3 i 4 variabile sunt prezentate n Figura 3.3.

Figura 3.3. Diagrame Karnaugh pentru funciile booleene de 2, 3 i 4 variabile.

O diagram Karnaugh se noteaz fie indicnd pe linie i coloan combinaiile corespunztoare fiecrui ptrat i ordinea variabilelor (Figura 3.3(a)), fie indicnd domeniul fiecrei variabile (Figura 3.3(b)). Pentru a se putea reprezenta n mod simplu funcii date n mod convenional prin indicii termenilor canonici, se poate nota fiecare compartiment cu indicele termenului canonic corespunztor. O diagram Karnaugh este astfel organizat nct dou ptrate vecine (cu o latur comun) pe o linie sau pe o coloan corespund la combinaii care difer printr-o singur cifr binar, deci la doi termeni canonici care difer printr-o singur variabil, care apare ntr-unul din termeni sub form complementat, iar n cellalt sub form necomplementat. Asemenea dou ptrate vecine, ale cror termeni canonici difer printr-o singur variabil, se numesc adiacente. Se consider adiacente i ptratele aflate la capetele opuse ale unei linii, respectiv coloane, dup cum se ilustreaz n Figura 3.4. De aceea, este convenabil s se priveasc aceste diagrame ca suprafee care se nchid la margini. De exemplu, la o diagram de 4 variabile, ptratele 0 i 2, sau 0 i 8 sunt adiacente. Deoarece unui termen

58

Arhitectura calculatoarelor

canonic cu n literale i corespund n termeni care difer printr-un literal, ntr-o diagram cu n variabile fiecare ptrat are n ptrate adiacente.

Figura 3.4. Ilustrarea adiacenei ptratelor de la capetele opuse ale liniilor.

n general, o funcie boolean de n variabile se poate reprezenta n spaiul ndimensional al celor n variabile sub forma unui hipercub. Fiecrui termen canonic al funciei i corespunde un vrf al hipercubului. Un grup de 2m puncte (m < n), fiecare dintre ele adiacente la m puncte ale grupului, se numete subcub, i se spune c subcubul acoper aceste puncte ale grupului. n diagrama Karnaugh, fiecare ptrat corespunde unui vrf al cubului ndimensional din reprezentarea geometric a funciei. O funcie boolean dat sub forma canonic disjunctiv poate fi reprezentat pe o diagram Karnaugh marcnd cu 1 ptratele corespunztoare mintermenilor funciei. Exist o reprezentare similar pentru forma canonic conjunctiv a funciei. n diagram se trece valoarea 0 n ptratele corespunztoare maxtermilor.

3.4.2.2. Minimizarea funciilor prin diagrama Karnaugh


Modul de reprezentare prin diagrama Karnaugh este avantajos pentru minimizare, deoarece doi termeni canonici care difer printr-o variabil sunt adiaceni. Aceti doi termeni se pot nlocui cu un termen n care lipsete variabila prin care difer cei doi termeni.

Exemplul 3.4
F ( A, B, C , D ) = P4 + P6 Funcia este reprezentat n Figura 3.5.

Figura 3.5. Reprezentarea funciei din Exemplul 3.4.

3. Circuite logice digitale Se obine prin minimizare:

59

F ( A, B, C , D) = ABC D + ABC D = AB D
n reprezentarea geometric a unei funcii booleene, doi termeni canonici care difer printr-o variabil corespund la dou vrfuri adiacente, deci definesc o latur a cubului n-dimensional. De aceea, se spune c dou ptrate adiacente de pe diagram reprezint un subcub unidimensional. Un grup de 4 ptrate adiacente, dintre care fiecare este adiacent cu alte dou ptrate din acelai grup, formeaz un subcub bidimensional. Cei patru termeni canonici corespunztori acestor ptrate au o parte comun format din dou variabile, i pot fi nlocuii cu partea lor comun.

Exemplul 3.5
F ( A, B, C , D) = P0 + P + P4 + P5 1 Funcia este reprezentat n Figura 3.6.

Figura 3.6. Reprezentarea funciei din Exemplul 3.5.

Se obine:

F ( A, B, C , D) = A BC D + A BCD + ABC D + ABC D = AC


Alte adiacene posibile sunt prezentate n Figura 3.7.

Figura 3.7. Unele adiacene posibile pentru funciile de 4 variabile.

60

Arhitectura calculatoarelor

Pe o diagram de 4 variabile se pot forma i subcuburi tridimensionale, care cuprind 8 ptrate grupate astfel nct fiecare din ele este adiacent cu alte trei din acelai grup. Termenii canonici corespunztori ptratelor care formeaz un subcub tridimensional au o parte comun format dintr-o singur variabil, i pot fi nlocuii cu aceast variabil.

Exemplul 3.6
F ( A, B, C , D ) = P + P3 + P5 + P7 + P9 + P + P + P 1 11 13 15 Funcia este reprezentat n Figura 3.8.

Figura 3.8. Reprezentarea funciei din Exemplul 3.6.

Rezult prin minimizare: F ( A, B, C , D) = D n general, fiecare subcub m-dimensional se poate exprima printr-un produs de n-m literale, cele m literale care nu apar fiind eliminate datorit adiacenei. Deci, numrul de literale este cu att mai mic, cu ct este mai mare dimensiunea subcubului. Rezult urmtoarea procedur de minimizare: 1. Se reprezint funcia pe diagram, exprimat de obicei prin forma canonic disjunctiv. 2. Se grupeaz ptratele marcate cu 1 astfel nct s se obin subcuburi cu dimensiunea cea mai mare posibil. Astfel, pentru o diagram cu n variabile, se caut s se formeze n primul rnd subcuburi cu dimensiunea n-1, apoi n-2, i n final, subcuburi unidimensionale. Fiecare ptrat marcat cu 1 trebuie s fie cuprins ntr-un subcub, dar acelai ptrat poate face parte din mai multe subcuburi, conform teoremei de idempoten. 3. Se scrie expresia final a funciei, corespunztoare numrului minim de subcuburi ct mai mari posibile i care acoper toate ptratele marcate cu 1. Aplicnd teoremele algebrei booleene, funcia obinut se poate adapta pentru o implementare cu un anumit tip de circuit.

3. Circuite logice digitale

61

Exemplul 3.7
F ( A, B, C , D ) = P + P3 + P9 + P + P + + P + P + P 1 10 11 12 13 14 O prim grupare a subcuburilor este cea din Figura 3.9(a).

Figura 3.9. Dou grupri diferite ale subcuburilor pentru funcia din Exemplul 3.7.

Prin aceast grupare se obine:

F ( A, B, C , D) = BD + ABC + AC D
Dac se grupeaz subcuburile ca n Figura 3.9(b), se obine:

F ( A, B, C , D) = BD + AB D + ACD + ABC
Aceasta nu reprezint forma minim, deoarece nu corespunde numrului minim de subcuburi.

Exemplul 3.8
F ( A, B, C , D ) = P3 + P7 + P8 + P9 + P + P + P 12 13 15 Funcia este reprezentat n Figura 3.10.

Figura 3.10. Reprezentarea funciei din Exemplul 3.8.

62

Arhitectura calculatoarelor

Exist 4 subcuburi, care reprezint termenii AC , ABD, BCD, ACD . Acetia pot fi grupai n dou moduri pentru a acoperi toate ptratele marcate cu 1 cu un numr minim de subcuburi. Rezult dou forme minime:

F ( A, B, C , D) = AC + ABD + ACD F ( A, B, C , D) = AC + BCD + ACD


Pentru minimizarea funciilor exprimate printr-un produs de sume, procedeul este similar, subcuburile formndu-se n poziiile n care valoarea funciei este 0. La scrierea funciei se ine cont de faptul c termenii reprezint maxtermi.

Exemplul 3.9
F ( A, B, C , D) = S 0 S1 S 2 S 4 S 5 S 6 S10 S11 S14 Funcia este reprezentat n Figura 3.11.

Figura 3.11. Reprezentarea funciei din Exemplul 3.9.

Rezult:

F ( A, B, C , D) = ( A + C )(C + D)( A + B + C )
Pentru a determina care dintre cele dou forme minime, disjunctiv sau conjunctiv, conduce la un numr mai mic de circuite, trebuie determinate ambele forme. Dac se dispune de pori SAU-NU, este avantajos s se obin forma minim conjunctiv. Dac se dispune de pori I-NU, este avantajos s se obin forma minim disjunctiv. Se poate obine forma disjunctiv minim pentru funcia negat, grupnd zerourile i scriind termenii minimali.

Exemplul 3.10
F ( A, B, C , D) = P + P5 + P6 + P7 + P8 + P9 + P + P 1 12 13 Reprezentarea funciei este dat n Figura 3.12.

3. Circuite logice digitale

63

Figura 3.12. Reprezentarea funciei negate din Exemplul 3.10.

Se obine pentru funcia negat:

F ( A, B, C , D) = AC + BC + AC D

3.4.2.3. Minimizarea funciilor incomplet definite


O funcie este incomplet definit dac n anumite puncte ale domeniului poate lua valoarea 0 sau valoarea 1. Exist i situaii n care anumite combinaii ale variabilelor sunt interzise. O combinaie interzis este denumit redundan, i pentru o astfel de combinaie se poate atribui drept valoare a funciei 0 sau 1. Dac o funcie este nedefinit n k puncte sau exist k combinaii interzise, rezult 2k funcii distincte posibile. Procedeul de minimizare este n acest caz urmtorul: 1. Se reprezint funcia pe diagram, notnd cu 1 poziiile corespunztoare variabilelor pentru care valoarea funciei este 1 i cu poziiile corespunztoare variabilelor pentru care valoarea funciei este nedefinit. 2. Se obin subcuburi cu dimensiunea ct mai mare, folosind n acest scop i ptratele notate cu , considerndu-le marcate cu 1. 3. Se procedeaz n continuare ca i la minimizarea funciilor complet definite, cu observaia c se utilizeaz numai subcuburile care conin cel puin un ptrat notat cu 1.

Exemplul 3.11
F ( A, B, C , D) = 3.13.

(0, 1, 2, 5, 8, 11, 15) +

(3, 4, 7, 10, 14)

Combinaiile indiferente sunt 3, 4, 7, 10, 14. Funcia este reprezentat n Figura

64

Arhitectura calculatoarelor

Figura 3.13. Reprezentarea funciei incomplet definite din Exemplul 3.11.

Funcia se poate scrie sub mai multe forme:

F ( A, B, C , D) = B D + AC + AC F ( A, B, C , D) = B D + AC + CD F ( A, B, C , D) = B D + AD + AC F ( A, B, C , D) = B D + AD + CD