Sunteți pe pagina 1din 28

Proiectarea Logic

Utilizarea diagramelor Karnaugh n minimizarea funciilor logice

Diagramele Karnaugh sunt reprezentri grafice, simple ale funciilor i expresiilor logice. Aceste diagrame permit o reprezentare convenabil a funciilor cu un numr relativ mic de variabile (5 - 6 variabile reprezint o limit rezonabil a metodei) i sunt mult utilizate n calculul manual al formelor minimizate. 1. Introducere Aceste diagrame unt foarte utile pentru generarea manual a setului complet de implicani de primi ai unei funcii scalare dar i pentru determinarea acoperirii optime, n cazurile mai simple. Diagramele Karnaugh sunt forme tabelare rectangulare, avnd 2k celule (k fiind numrul de variabile al diagramei), n care fiecare celul a diagramei este prin identificat printr-o etichet orizontal i una vertical. Etichetele sunt cuvinte ale codului binar reflectat Gray. Codul Gray cel mai simplu este cel cu un singur rang. Pentru acest cod sunt doar dou cuvinte: 0 i 1. Codul Gray cu dou ranguri are patru cuvinte: 00, 01, 11 i 10. Printre proprietile generice ale codului Gray, invariante cu numrul de ranguri, sunt de reinut cteva remarcabile: - Diferenierea unic ntre dou cuvinte succesive. Dou cuvinte succesive ale codului Gray se deosebesc prin cel mult un rang. - Primul i ultimul cuvnt de cod satisfac, deasemenea, aceast proprietate. Acest fapt confer ciclicitate codului Gray. - Cuvintele codului Gray cu n ranguri se deduc din cuvintele codului Gray cu n-1 ranguri printr-o generare pseudo-simetric.
Exemplul 1.1. Se consider codul Gray cu dou ranguri : 00, 01, 11, 10. Generarea codului Gray cu trei ranguri se poate face astfel: Cuvintele codului Gray cu dou ranguri sunt modificate prin adugarea unui rang n stnga rangurilor existente iar valoarea acestui rang suplimentar este 0 pentru toate cuvintele de cod: 000, 001, 011, 010 | n continuare, se genereaz n dreapta barei verticale, pseudo-simetric celelalte cuvinte de cod care vor avea valoarea 1 a rangului suplimentar introdus: 000, 001, 011, 010 | 110, 111, 101, 100. n concluzie, codul Gray cu trei ranguri are cuvintele de cod: 000, 001, 011, 010, 110, 111, 101, 100.

Doi mintermi (maxtermi) se spune c sunt logic adiaceni atunci cnd acetia difer printr-o singur variabil. Aceasta revine la a spune, n fapt, c o variabil (u spre exemplu) apare ntr-un minterm asertat (u) iar n cellalt complementat (u'). n diagramele Karnaugh, datorit codului Gray, dou celule nvecinate (n mod imediat ori extins, prin exterior) att pe vertical ct i pe orizontal difer prin paritatea unei singure variabile. 1

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR Dac vecintatea este orizontal, atunci variabila care va avea paritate diferit (n sensul c, apare la o celul asertat n timp ce la cealalt celul apare complementat) aparine codurilor orizontale ale celulelor. Similar pentru vecintatea vertical. Doi astfel de mintermi se pot combina i produc un implicant (avnd o variabil mai puin) n baza proprietilor algebrelor Boole-ene. Cu alte cuvinte, diagramele Karnaugh transform adiacena logic ntr-o adiacen sesizabil vizual a mintermilor. Aceast trstur fundamental este observabil atunci cnd se traverseaz diagrama, pe direcie vertical (n lungul unei coloane) ori pe direcie orizontal (de-a lungul unei linii). Prin proprietatea aceasta se faciliteaz mult generarea implicanilor primi (maximali). Generarea implicanilor primi, pentru un anumit minterm, are loc prin cuprinderea unui numr de celule ntr-o grupare materializat printr-un contur (nchis ori prin extindere nchis) care delimiteaz gruparea respectiv.
a 0 0 b 1
0 1

1
2 3

(a) Dou variabile


ab 00 0 c 1
0 1

ab 11
6 7

01
2 3

10
4 5

00 00 cd 01 11 10
0 1 3 2

01
4 5 7 6

11
12 13 15 14

10
8 9 11 10

(b) Trei variabile


000 00 de 01 11 10
0 1 3 2

(c) Patru variabile


010
8 9 12 10

abc 001 011


4 5 7 6 12 13 15 14

100
16 17 19 18

abc 101 111


20 21 23 22 28 29 31 30

110
24 25 27 26

(d) Cinci variabile


000 000 def 001 011 010 100 def 101 111 110
0 1 3 2

abc 001 011


8 9 11 10 24 25 27 26

010
16 17 19 18

100
32 33 35 34

abc 101 111


40 41 43 42 56 57 59 58

110
48 49 51 50

4 5 7 6

12 13 15 14

28 29 31 30

20 21 23 22

36 37 39 38

44 45 47 46

60 61 63 62

52 53 25 54

(e) ase variabile Figura 1.1. Diagramele Karnaugh cele mai utilizate.

Locaia unui minterm, n diagrama Karnaugh, are n imediata vecintate locaiile mintermilor poteniali adiaceni.

Proiectarea Logic n figura 1.1 sunt prezentate diagramele Karnaugh utilizate curent. Aa cum se poate remarca din figura 1.1, celulele din diagramele Karnaugh sunt identificabile att, prin indicii coloanelor i liniilor, ct i prin valorile zecimale unice nscrise n respectivele celule. Celula din prima coloan (indice 0) i prima linie (indice 0) este etichetat n ordine 00 iar celula din prima coloan i a doua linie (indice 1) este, similar, etichetat 01, spre exemplu, n figura 1.1 (a). Indicii liniilor i coloanelor sunt interpretai simbolic utiliznd corespondena bijectiv care asociaz, poziional, variabila respectiv complementat unei valori zero i respectiv asociaz variabila respectiv asertat unei valori unu. Astfel, prima coloan are eticheta a' iar cea de-a doua coloan are eticheta literal, simbolic, a, spre exemplu, n figura 1.1 (a). Similar, se poate remarca faptul c prima linie este etichetat simbolic prin literalul c'd', n timp ce a doua linie are eticheta simbolic c'd, n figura 1.1 (c) corespunztoare diagramei Karnaugh pentru patru variabile. Valoarea zecimal din interiorul celulelor este determinat prin vectorul ordonat al indicilor de coloan i respectiv linie. Astfel, celula din ultima coloan i prima linie este unic identificabil numeric prin eticheta obinut din combinaia 10 (simbolic ab'), n figura 1.1 (a). Similar, celula din prima coloana i a doua linie, n figura 1.1 (a), este unic identificabil numeric prin eticheta 01 (simbolic a'b), etc. Acest procedeu este corespunztor extensibil i pentru diagramele Karnaugh pentru trei sau mai multe variabile. Celula din a prima coloan i doua linie a diagramei Karnaugh cu patru variabile (figura 1.1 (c)) este identificabil prin eticheta 0001 (simbolic a'bc'd), spre exemplu. Etichetelor celulelor li se ataeaz, n ordine ponderi. Aceste ponderi sunt, puteri n baza doi. n cazul diagramei Karnaugh pentru dou variabile (din figura 1.1(a)), ponderile sunt 21, 20, spre exemplu. Iar, n cazul diagramei pentru cinci variabile (figura 1.1 (d)) ponderile, sunt n ordine 24, 23, 22, 21, 20, asociate variabilelor abcde, respectiv. Aceste ponderi fac posibil asocierea unei valori zecimale unice fiecrei celule. Pentru fiecare diagram, din figura 1.1, este nscris, n fiecare celul, valoarea zecimal corespunztoare. Valorile zecimale nscrise n celulele diagramelor sunt identice cu indicii mintermilor corespunztori respectivelor celule. Aceast asociere uureaz mult completarea corect a diagramelor Karnaugh. Celula cu valoarea zecimal 47, spre exemplu, din diagrama figurii 1.1 (e) corespunde mintermului m47 notat simbolic prin produsul variabilelor ab'cdef, avnd respectiv codul binar 101111. Diagrama Karnaugh pentru funciile cu cinci variabile (figura 1.1(d)), a fost alctuit din dou diagrame de patru variabile fiecare, pentru simplitatea utilizrii n acest caz. Diagrama din partea dreapt a figurii 1.1(d) corespunde atribuirii a = 0 iar diagrama din partea stng corespunde atribuirii a = 1. Cele dou diagrame sunt ntr-o relaie de adiacen. Acesta este motivul pentru care s-au utilizat dou diagrame pentru patru variabile chiar dac sunt specificate cinci variabile. Similar, n cazul diagramei Karnaugh pentru ase variabile, privite atent cele patru diagrame pentru patru variabile fiecare sunt ntr-o relaie de adiacen asemntoare celei dintr-o diagram Karnaugh pentru dou variabile (a i d).

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

2. Reprezentarea funciilor scalare utiliznd diagramele Karnaugh

0 1

00 1 1

ab 01 11

10 1

f (a, b, c) = m0 + m1 + m4. Figura 2.1. Reprezentarea printr-o diagram Karnaugh a unei funcii specificate prin mintermi.

Celulelor digramelor Karnaugh le sunt atribuite valori 0 sau 1 dup cum sunt definite funciile reprezentate.
Exemplul 2.1. Fie funcia f (a, b, c) = m0 + m1 + m4. O reprezentare utiliznd o diagram Karnaugh pentru trei variabile (a, b i c) va avea trei uniti, corespunztoare celor trei mintermi ai funciei, aa cum se poate vedea din figura 2.1. Celelalte celule se presupune, implicit, c au valoarea 0. Din raiuni de simplitate se prefer doar evidenierea celulelor care au valoarea 1.

n mod uzual nu sunt reprezentate explicit valorile zero ale funciilor n diagramele Karnaugh. Dar pentru o prezentare complet se arat, n continuare, un exemplu n care o funcie este reprezentat prin maxtermi (sunt semnificative, la aceast reprezentare, valorile zero ale respectivei funcii.)
00 cd 00 01 11 10 0 0 ab 01 11 0 10 0 0

g (a, b, c, d) = M1 M4 M9 M10 M14 Figura 2.2. Reprezentarea printr-o diagram Karnaugh a unei funcii specificat prin maxtermi. Exemplul 2.2. Fie funcia g(a, b, c, d) = = M1 M4 M9 M10 M14 . O reprezentare a acestei funcii utiliznd o diagram Karnaugh pentru patru variabile (a, b, c i d) va avea cinci celule iniializate cu valoarea 0, tot attea ci maxtermi sunt utilizai n specificarea funciei (figura 2.2). Celelalte celule se presupune, implicit ca avnd valoarea 1. Tot din raiuni de simplitate se face doar marcarea celulelor pentru care funcia are valoarea 0.

Atunci cnd funciile sunt specificate prin sume de produse ne-canonice (implicani oarecari) se poate proceda n dou maniere: (a) termenii necanonici sunt expandai n termeni canonici (mintermi) dup care completarea diagramei se face ca n exemplul 2.1, sau 4

Proiectarea Logic (b) diagrama Karnaugh este completat prin considerarea ariilor corespunztoare termenilor produse necanonice, aa cum se arat n Exemplul 2.3.
00 1 ab 01 11 10 1 1

0 1

h (a, b, c) = ab' + b'c'. Figura 2.3. Reprezentarea printr-o diagram Karnaugh a unei funcii specificate prin implicani necanonici. Exemplul 2.3. Se consider funcia h(a, b, c) = ab' + b'c'. n continuare se va utiliza indicele zecimal pentru identificarea fiecrei celule din diagrama Karnaugh (figura 1.1 (b)). Variabila a corespunde mulimii celulelor {4, 5, 6 i 7}. Se poate afirma, cu alte cuvinte, toate celulele pentru care a = 1. Pentru b' vor fi considerate celulele din mulimea {0, 1, 4 i 5} (toate celulele unde b' = 1). Atunci, pentru produsul ab' va corespunde interseciei celor dou mulimi specificate anterior: {4, 5, 6 i 7} {4, 5, 6 i 7} = {4 i 5}. Similar, pentru produsul b'c' se vor intersecta mulimile de celule {0, 1, 4 i 5} i {0, 2, 6 i 4} (cea de-a doua mulime corespunde celulelor pentru care c' =1). n consecin, pentru b'c' se va utiliza mulimea {0 i 4}. n final se reunesc (+) cele dou mulimi de celule determinate: {4 i 5} {0 i 4} = {0, 4 i 5}. Funcia va fi reprezentat prin doar trei uniti, plasate n cele trei celule aa cum se poate vedea n figura 2.3.

Ca o concluzie, fa de exemplul 2.3, se poate afirma c pentru o funcie (cu n variabile) descris, ntre ali implicani, printr-un implicant care are doar p variabile (p < n) atunci, se vor iniializa prin 1, n total 2n-p celule din respectiva diagram Karnaugh. Urmtorul exemplu abordeaz o problem similar dar n cazul unei funcii specificate prin implicai (termeni produs) necanonici.
ab 01 11 0 0 0

00 c 0 1

10

j(a, b, c) = (a + b')(b' + c'). Figura 2.4. Reprezentarea printr-o diagram Karnaugh a unei funcii specificate prin implicai necanonici. Exemplul 2.4. Se consider funcia j(a, b, c) = (a + b')(b' + c'). Procedeul de reprezentare printr-o diagram Karnaugh pentru produse de implicai necanonici stabilete, pentru nceput celulele din diagram n care funcia are valori 0. Astfel, pentru ca primul produs s fie 0 trebuie ca att a = 0 ct i ca b'= 0, cu alte cuvinte a = 0 i b = 1, ceea ce desemneaz a doua coloan din stnga diagramei Karnaugh din figura 2.4.

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR


Cel de-al doilea implicat b' + c' = 0, conduce la concluzia b = 1 i c = 1, ceea ce indic intersecia dintre coloanele b = 1 i linia c = 1 rezultnd nc o celul iniializat prin zero (celula abc = 0). Reprezentarea acestei funcii printr-o diagrama Karnaugh corespunztoare este nfiat n figura 2.4.

3. Minimizarea funciilor scalare reprezentate prin sume de produse Minimizarea exact a funciilor scalare reprezentate prin diagramele Karnaugh va urma teorema Quine. Astfel, minimizarea are dou etape: Calculul mulimii tuturor implicanilor primi, i Determinarea soluiilor corespunztoare mulimii tuturor implicanilor. Stabilirea implicanilor primi ai unei funcii reprezentate printr-o diagram Karnaugh este mult facilitat de proprietile de adiacen geometric ale acestei diagrame. Pentru o mai clar nelegere a minimizrii funciilor logice combinaionale scalare utiliznd diagramele Karnaugh se consider un exemplu simplu.
Exemplul 3.1. Se consider funcia h(u,v) = m0 + m2 + m3. Diagrama Karnaugh, generic, pentru funcii cu dou variabile este prezentat, pentru o simpl urmrire a procedeului, n figura 3.1 (a) iar reprezentarea funciei h este prezentat n figura 3.1(b). v' u 0 v 0 0 1 1 (a) 1
2 3

u v 0 1 (b) 0 1 1 1 1 u

Figura 3.1. (a) Diagrama Karnaugh generic pentru funcii cu dou variabile. (b) Reprezentarea funciei din exemplul 3.1 printr-o diagram Karnaugh. Diagrama generic are n fiecare din cele patru celule nscris un numr, corespunztor indexului mintermului asociat respectivei celule. Astfel, deoarece funcia h are trei mintermi, s-au nscris, corespunztor, trei uniti pentru cei trei mintermi (figura 3.1(b)). Cele dou contururi din figura 3.1(b) vin s puncteze asocierile, n vederea minimizrii funciei, dintre cei trei mintermi. Cei trei mintermi sunt m0 =u'v', m2 = uv' i m3 = uv. Conform primului contur, cel orizontal, se scrie expresia: m0 + m2 = u'v' + uv'=( u'+ u)v' = v'. Similar, pentru cel de-al doilea contur, se scrie expresia: m3 + m2 = uv + uv'=( v'+ v)u= u. De remarca faptul c unitatea corespunztoare mintermului m2 = uv', a fost implicat n dou contururi distincte datorit proprietii generale a + a = a. Se poate concluziona asupra unei proprieti eseniale a diagramelor Karnaugh: - o pereche de uniti adiacente cuprinse ntr-un contur produc un implicant care are o variabil mai puin. Variabilele care s-au pstrat au paritate constant n conturul respectiv (adic, sunt fie constant asertate, fie constant complementate). Fiecare contur a determinat cte un implicant, respectiv p = v' i q = u. Se poate uor constata faptul c ambii implicani sunt primi (funcia are doar dou variabile). Matricea incidenei implicanilor primi, pentru aceast funcie, arat astfel:

Proiectarea Logic
Tabelul 3.1 Matricea incidenei funciei h(u,v) = m0 + m2 + m3. m2 m3 m0 e e

p q

Se remarc, n tabelul 3.1, faptul c att p ct i q sunt implicani primi eseniali (mintermul m0 este acoperit n exclusivitate de implicantul prim p, iar mintermul m3 este n aceeai relaie cu implicantul prim q). S-au scris cu caractere ngroate unitile care desemneaz respectivul implicant prim ca fiind esenial. Astfel, n dreptul interseciei dintre coloana m0 i linia p, unitatea respectiv este ngroat, spre exemplu. n coloana din extremitatea dreapt a tabelului implicanilor primi s-a marcat prin caracterul e, aceast proprietate a implicanilor primi. Rezult, n final, aceast expresie minimizat pentru funcia considerat: h(u,v) = u + v'.

Aa cum s-a putut vedea n exemplul 3.1 toate contururile desenate peste dou uniti vecine, dintr-o diagram Karnaugh pentru dou variabile, au produs doi implicani primi, n acest caz. Obinerea mulimii tuturor implicanilor primi, dintr-o diagram Karnaugh, se realizeaz prin determinarea tuturor contururilor maxime, n diagrama respectiv, care pot fi ataate fiecrei celule marcate (prin 1 ori prin 0, dup cum s-a realizat reprezentarea). n exemplul 3.1 s-au putut trasa doar dou contururi peste cele trei uniti din diagram. Dup cum s-a putut remarca, din figura 3.1(b), atunci cnd dou uniti (nvecinate) sunt prinse ntr-un contur rezult, n general, un implicant care are o variabil mai puin. Variabila redus corespunde variabilei care n respectivul contur, cu dou uniti, i schimb paritatea (adic, apare att asertat ct i complementat). Un contur, n general, va genera un implicant care va pstra doar variabilele care au aceeai paritate de-alungul conturului respectiv. Contururile, n general, pot include o unitate, dou uniti, patru uniti, 16 uniti, etc n general o expresie de forma 2p. Din raiuni de natur pragmatic se recomand s se utilizeze diagramele Karnaugh pentru funcii al cror numr de variabile n s fie relativ mic, n < 8. Exemplul urmtor introduce utilizarea diagramei Karnaugh pentru minimizarea funciilor cu trei variabile.
Exemplul 3.2. Se consider funcia f (u, v, w) = m1 + m2 + m3 + m4 + m5 + m6. n figura 3.2 (a) este prezentat diagrama Karnaugh generic, pentru funciile cu trei variabile. Astfel, deoarece funcia f este reprezentat prin ase mintermi, s-au nscris, corespunztor, ase uniti pentru cei ase mintermi (figura 3.2(b)).
t = v'w r = u'w q = u'v n = vw' p = uw' s= uv'

00 w 0 1
0 1

01

uv 11
6 7

10
4 5

00 w 0 1 1

2 3

01 1 1 (b)

uv 11 1

10 1 1

(a)

Figura 3.2. (a) Diagrama Karnaugh, generic, pentru funciile cu trei variabile. (b) Diagrama Karnaugh pentru funcia din exemplul 3.2.

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR


Contururile desenate n figura 3.2(b) epuizeaz toate posibilitile de grupare de uniti, dou cte dou, ataate fiecrei uniti. Cu alte cuvinte, s-au trasat prin fiecare unitate din diagram toate contururile maximale posibile. Este introdus i un contur deosebit (pentru cele dou uniti aflate n extremitile ultimei linii). Acesta sugereaz cuprinderea celor dou uniti (corespunztoare mintermilor m1 i m5) printr-un contur generalizat. Acest contur extins, generalizat (prin exteriorul diagramei) este trasat n baza vecintii unitilor respective (ciclicitatea codului Gray). Implicanii generai prin aceste contururi sunt etichetai astfel: n = m2 + m6, p = m6 + m4, q = m2 + m3, r = m1 + m3, s = m4 + m5, t = m1 + m5. Aceti implicani au urmtoarele expresii algebrice: n = vw', p = uw', q = u'v, r = u'w, s = uv', t = v'w. Mulimea implicanilor generai este maxim. Nu mai exist ali implicani, pentru aceast funcie, n afar de acetia (nu se mai pot genera alte contururi). Toi implicanii generai sunt primi ntruct nu exist ali implicani ori reuniuni de implicani care s-i conin, aa cum se poate repede dovedi (contururile sunt fiecare, n parte, maxime). Tabelul 3.2 al incidenelor dintre implicanii primi i mintermii acestei funcii arat astfel:
m1 n p q r s t m2 m3 m4 Tabelul 3.2 m5 m6 e e e

Implicantul r este esenial, deoarece acoper n exclusivitate mintermul m1, aa cum se poate remarca n tabelul 3.2. Similar, implicantul p este esenial (acoper n exclusivitate mintermul m4), dup cum i implicantul t este esenial (acoper n exclusivitate mintermul m5). Aceti trei implicani primi eseniali vor face parte din orice acoperire minimal iredundant a funciei f. n tabelul implicanilor s-au marcat implicanii primi eseniali prin caracterul e plasat n stnga tabelului, n dreptul liniilor respective. Se aplic metoda lui Petrick tabelului cu implicani primi. Clauza care stabilete acoperirea primului minterm m1, este r. n mod asemntor, se poate deduce clauza relativ la cel de-al doilea minterm m2. Aceasta este n + q + s. Similar, clauza care stabilete acoperirea mintermului m3, este q + r + s, dup cum clauza care determin acoperirea mintermului m6 este n + p + t. Clauza mintermului m5, este t, iar clauza mintermului m4, este p. Produsul lui Patrick, al clauzelor de acoperire ale fiecrui minterm, arat astfel: r(n + q +s)(q + r + s)pt(n+p+t) = 1, Se poate remarca: r(q + r + s) = r i t(n+p+t) = t,

Proiectarea Logic
ceea ce micoreaz sensibil efortul de calcul Boole-an al produsului de sume, deoarece rmne de calculat doar: r(n + q +s)pt = 1, rezultnd n final: nprt + pqrt + prst = 1. n consecin, pentru aceast funcie, sunt posibile trei acoperiri prime iredundante avnd aceeai cardinalitate: (a) f(u, v, w) = vw' + uw' + u'w + v'w, (corespunztor termenului nprt); (b) f(u, v, w) = uw' + u'v + u'w + v'w, (corespunztor termenului pqrt); (c) f(u, v, w) = uw' + uv' + u'w + v'w, (corespunztor termenului prst).

Exemplul care urmeaz vizeaz utilizarea, n continuare, a diagramei Karnaugh pentru trei variabile i introduce alte contururi tipice pentru aceast diagram.
Exemplul 3.3. Patru funcii Booleene f, g, h i j sunt definite dup cum urmeaz: f (u, v, w) = m0 + m1 + m2 + m4 + m5 + m6, g (u, v, w) = m0 + m1 + m2 + m3 + m4 + m7, h (u, v, w) = m0 + m1 + m2 + m3 + m4 + m5 + m6 + m7, j (u, v, w) = m1 + m2 + m4 + m7. Cele patru funcii sunt reprezentate prin diagramele Karnaugh corespunztoare din figura 3.3 (a), (b), (c) i respectiv (d). Pentru funcia f sunt desenate dou contururi, ambele cu cte patru uniti, aa cum se poate remarca n figura 3.3 (a). Primul contur, care cuprinde prima linie din diagram, poate fi considerat ca fiind compus din reuniunea (suma) a dou contururi vecine, adiacente logic, fiecare cu cte dou uniti, de forma: (m0 + m2) + (m6 + m4) = (u'w') + (uw') = w'. Se poate remarca faptul c expresiile anterioare, u'w' i uw', sunt adiacente logic (difer printr-o singur variabil (u) care n prima expresie este complementat, n timp ce n cea de-a doua este asertat).
v' w' 1

0 1

00 1 1

01 1

uv 11 1

10 1 1

0 1

00 1 1

01 1 1

uv 11 1 1

10 1 1

(a) f (u, v, w)
v'w' u' vw

(c) h (u, v, w)

0 1

00 1 1

01 1 1

uv 11 1

10 1

00 w 0 1 1

01 1

uv 11 1

10 1

(b) g (u, v, w)

(d) j (u, v, w)

Figura 3.3. Diagramele Karnaugh pentru funciile f, g, h i j din exemplul 3.3.

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

Acest fapt conduce la concluzia c dou contururi distincte adiacente, cu cte dou uniti fiecare se pot grupa sub un contur desenat peste cele patru uniti respective. Conturul rezultat va produce un implicant care va avea dou variabile mai puin. Un astfel de contur este, adesea, numit contur linie (ori coloan). Similar, conturul care cuprinde, de asemenea, patru uniti format prin exteriorul diagramei (contur extins) peste cele dou coloane din marginile diagramei, poate fi considerat ca fiind alctuit din reunirea a dou contururi adiacente care nchid fiecare cte dou uniti: (m0 + m1) + (m4 + m5) = (u'v') + (uv') = v'. Contururile cu cte patru celule adiacente imediat ori prin extensie de forma celui descris se numesc adesea careuri. n concluzie, se poate observa c un contur cu patru uniti va crea un implicant care pstreaz doar dou variabile, acelea care au paritate constant n conturul respectiv. Se poate observa, pentru reprezentarea funciei f din figura 3.3.(a), c nu exist alte contururi, mai mari care s includ (cuprind) contururile existente i nici nu exist contururi distincte de cele deja trasate. Aceasta arat, pe de-o parte, c aceste contururi corespund unor implicani primi (nu exist alte contururi mai mari care s le includ pe acestea). Iar, pe de-alt parte, faptul c nu mai exist alte contururi distincte, afar de cele deja trasate, arat completitudinea mulimii implicanilor primi desemnai de respectivele contururi. n final, se poate realiza, cu uurin, c funcia f (figura 3.3.(a)) are forma (sum de produse) minimizat, unic: f(u, v, w) = w' + v'. Funcia g (figura 3.3.(b)) are un contur cu patru uniti care poate fi privit ca fiind reuniunea a dou contururi cuprinznd cte dou uniti, respectiv: (m0 + m2) + (m1 + m3) = (u'w') + (u'w) = u'. Celelalte dou contururi sunt, fiecare, cu cte dou uniti: i respectiv (m0 + m4) = v'w' (m3 + m7) = vw. Privitor la calitatea acestor implicani de a fi primi, se poate realiza imediat c nu se pot trasa contururi care s includ contururile existente. Iar, n ceea ce privete completitudinea mulimii implicanilor primi, este limpede c nu sunt posibile alte contururi distincte de cele deja trasate. Simplificarea funciei conduce la expresia algebric (sum de produse) minimizat, unic: g(u, v, w) = u' + vw + v'w'. Funcia h este reprezentat printr-o diagram Karnaugh n figura 3.3.(c). Aceast funcie corespunde funciei constante: h(u, v, w) = 1. Dac ar fi s se judece doar dup definiia acesteia. n adevr, aceast funciei este definit peste tot domeniul de definiie prin valoarea 1.

10

Proiectarea Logic

Pe diagrama Karnaugh corespunztoare (figura 3.3.(c)) s-a desenat un contur care se aeaz peste toate cele opt uniti ale acestei funcii. Aceste contur poate fi privit ca fiind reuniunea a dou contururi vecine, logic adiacente, fiecare cu cte patru uniti. Primul contur cu patru uniti corespunde primei linii (w = 0) din diagrama Karnaugh (avnd asociat expresia logic w'). Iar cel de-al doilea contur corespunde celei de-a doua linii (w = 1) din diagrama Karnaugh (avnd asociat expresia logic w), aa cum s-a remarcat anterior. Corespunztor, acestor expresii logice asociate celor dou contururi cuprinznd fiecare cte patru uniti, rezult: h(u, v, w) = w' + w = 1. Funcia j a crei diagram Karnaugh este prezentat n figura 3.3.(d), prezint un caz particular: toi mintermii funciei j sunt implicani primi eseniali. Mai exact, funcia aceasta nu are termeni adiaceni logic (nu exist termeni vecini nici n diagram). Se poate considera, in extremis, c fiecare minterm (respectiv fiecare unitate din diagrama Karnaugh) este adiacent doar cu sine (respectiv acoperit, n diagrama Karnaugh, printr-un contur care cuprinde doar o singur unitate). Astfel, funcia j are expresia (sum de produse canonice) unic: j(u, v, w) = u'v'w + u'vw' + uvw + uv'w'. Funcia j(u, v, w) este, adesea, denumit funcia suma-modulo-2 ori, SAU-EX (sauexclusiv) cu trei variabile.

Uneori este mai convenabil minimizarea anumitor funcii folosind valorile zero ale acestora comparativ cu minimizarea acelorai funcii folosind valorile 1. Mai precis, de multe ori este mai simpl gsirea contururilor utiliznd valorile 0, comparativ cu valorile 1, ale anumitor funcii. Minimizarea funciei, astfel calculat, este obinut n final ca un produs de sume, reprezentnd complementara respectivei funcii. Produsul de sume, este complementabil, eventual, prin aplicarea teoremei DeMorgan determinndu-se o sum de produse. Acest procedeu este denumit abordarea complementar.
Exemplul 3.4. Se consider funcia cu trei variabile: g(a, b, c) = m0 + m4 + m6 + m7. Aceast funcie este reprezentat prin diagrama Karnaugh pentru trei variabile din figura 3.4. Sunt trecute n diagrama din figura 3.4 att valorile asertate ct i valorile complementate ale funciei g(a, b, c). ab 00 01 11 10 0 1 1 c 0 1 0 1 0 1 0 Figura 3.4. Pentru funcia g'(a, b, c) sunt trei contururi genernd mulimea tuturor implicanilor primi: coloana a'b, un contur cu dou celule care genereaz implicantul prim p1 = a'b.

11

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR


conturul cu dou celule format la baza coloanelor a'b' i a'b, linia c, producnd implicantul prim p2 = a'c. conturul extins cu dou celule, colurile inferioare stnga i dreapta ale diagramei, respectiv a'b'c i ab'c, reprezentnd implicantul p3 = b'c.

Tabelul incidenei implicanilor primi ai complementarei funciei este prezentat n tabelul 3.4:
m1 p1 p2 p3 m2 Tabelul 3.4 m3 m5 e e

Implicanii primi p1 i p3 sunt eseniali i constituie o acoperire minim a complementarei funciei: g'(a, b, c) = a'b +b'c. Iar funcia va avea forma: g(a, b, c) = (a'b +b'c)' = (a + b')(b +c'). Dac asupra acestei forme se calculeaz produsele (desfacerea parantezelor) i se efectueaz complet toate calculele se obine: g(a, b, c) = ab + ac' +b'c'.

Exemplele urmtoare prezint principalele tehnici de utilizarea a diagramelor Karnaugh pentru minimizarea funciilor logice cu patru variabile. Corespunztor acestor funcii diagramele Karnaugh pentru patru variabile joac un rol important n metodele manuale de minimizare a funciilor cu cinci i ase variabile.
bd

00 cd 00 01 11 10

ab 01 11 1 1 1 1 1

10

abc acd'

Figura 3.5. Exemplul 3.5. Fie funcia: f(a, b, c, d) = m5 + m7 + m10 + m13 + m14 + m15 . Acestei funcii i corespunde expresia n sume de produse calculate n raport cu variabilele a, b, c i d : f(a, b, c, d) = a'bc'd +a'bcd + ab'cd' + abc'd + abcd' + abcd. n figura 3.5 se arat reprezentarea acestei funcii printr-o diagram Karnaugh, corespunztor variabilelor a, b, c i d. Ultima linie din diagram are dou celule adiacente (corespunztoare mintermilor m10 + m14). Prin celula corespunztoare mintermului m10 este unicul i cel mai larg contur care

12

Proiectarea Logic
se poate trasa. Aceasta revine la a spune c implicantul p1 = acd' = m10 + m14, este prim i esenial. Prin celula corespunztoare mintermului m14 este posibil trasarea conturului care include i celula vecin a mintermului m15. Acest contur conduce la implicantul p2 = abc = m14 + m15. Implicantul p2 este prim, deoarece conturul corespunztor este maximal. Central n diagram sunt dispuse patru celule, corespunztoare mintermilor: m5 + m13 + m7 + m15. Aceste patru celule se pot considera, ntr-o prim aproximare, ca fiind dou contururi vecine, fiecare de cte dou celule: (m5 + m13 )+ (m7 + m15) = bc'd + bcd = bd. Se poate trage concluzia c un astfel de grup de patru celule nvecinate sunt grupabile ntr-un contur care genereaz un implicant avnd dou variabile reduse (acelea care n-au paritate constant de-a lungul conturului, n cazul de fa variabilele reduse sunt a i c). Implicantul generat, p3 = bd, este prim deoarece nu exist un alt contur care s includ acest contur. Implicantul prim p3 = bd este, de asemenea, i esenial deoarece acoper n exclusivitate mintermii m5, m13 i m7.
m5 p1 = acd' p2 = abc p3 = bd m7 m10 m13 Tabelul 3.5 m14 m15 e e

Incidena dintre implicanii primi i mintermii, pentru aceast funcie, este artat n tabelul 3.5. Extragerea implicanilor primi eseniali (mpreun cu mintermii acoperii) face ca tabelul incidenei implicanilor primi s fie vid. Rezult c minimizarea exact minim este realizat prin acoperirea funciei doar cu implicanii primi eseniali p1 i p3. Aceasta conduce la expresia minimizat exact a funciei: f(a, b, c, d) = acd' + bd.
a'b'd' abd' acd'

b'cd'

cd

00 01 11 10

00 1 1

ab 01 11 1 1

10
ab'c

1 1

Figura 3.6. Exemplul 3.6. Se dorete calculul tuturor formelor minimizate exact ale funciei: f(a, b, c, d) = m0 + m2 + m10 + m11 + m12 + m14, Reprezentarea acestei funcii printr-o diagram Karnaugh este nfiat n figura 3.5.

13

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR


Utiliznd aceast reprezentare se determin, ntr-o prim etap, mulimea implicanilor primi. n acest scop se stabilesc pentru fiecare din celulele funciei toate contururile maxime care sunt posibile fa de respectiva celul. Astfel, pentru celula corespunztoare mintermului m0 (ab = 00 i cd = 00, colul din stnga sus n diagram) este posibil un singur contur, extins, ntre aceast celul i celula corespunztoare mintermului m2 (ab = 00 i cd = 10, colul din stnga jos n diagram). Implicantul corespunztor acestui contur va avea o variabil mai puin. Aceasta este variabila c care schimb paritatea n cadrul acestui contur. n adevr: p1 = m0 + m2 = a'b'c'd '+ a'b'cd ' = a'b'd' (c' + c) = a'b'd'. Implicantul p1 este prim deoarece nu exist un alt implicant care s-l conin (adic, s aib mai puine variabile). Celulei care reprezint mintermul m12 (ab = 11 i cd = 00, linia superioar din diagram) i se poate ataa un singur contur, extins, ntre aceast celul i celula reprezentnd mintermul m14 (ab = 11 i cd = 10, linia inferioar din diagram). Pentru acest contur, cu dou celule, implicantul rezultat p2 se determin prin stabilirea variabile care nu are paritate constant. Aceasta este variabila c. Se poate uor verifica raiunea acestei afirmaii: p2 = m12 + m14 = abc'd'+ abcd' = a'b'd' (c' + c) = abd'. Pentru celula mintermului m10 (ab'cd') este posibil s se traseze trei contururi distincte, maximale, pentru care se vor determina implicanii primi p3, p4 i p5. Implicantul p3 este asociat conturului dintre celule mintermilor m10 i m14. n cadrul acestui contur, cu dou celule, va fi o singur variabil care are schimbare de paritate. Aceasta este variabila b, celelalte variabile avnd paritate constant. Un calcul simplu poate s susin aceast concluzie: p3 = m10 + m14 = ab'cd '+ abcd ' = acd ' (b' + b) = acd '. Implicantul p3 este prim deoarece conturul respectiv este maximal, neexistnd un altul care sa-l conin. Cel de-al doilea contur asociat celulei mintermului m10 este conturul care reunete aceast celul i celula mintermului m11. Implicantul p4, generat de acest contur, va fi de forma ab'c, deoarece variabila d nu are pariate constant n cadrul conturului considerat. Ultimul contur asociat acestei celule reunete celula mintermului m10 cu celula mintermului m2. n cadrul acestui contur implicantul prima care se va genera va avea variabila a redus, deoarece aceasta schimba paritatea n acest contur. Implicantul produs prin acest contur, p5, este prim, fiind generat dintr-un contur maximal. Formula algebric a implicantului prim p5, este b'cd'. Tabelul 3.6 prezint incidena implicanilor primi n raport cu mintermii funciei din acest exemplu.
Tabelul 3.6

p1 p2 p3 p4 p5

m0

m2

m10

m11

m12

m14 e e e

14

Proiectarea Logic
n tabelul 3.6, asteriscurile scrise ngroat reprezint, succint, cauza pentru care respectivul implicant prim este declarat esenial. Astfel, deoarece mintermul m0 este acoperit doar de implicantul prim p1, acest fapt conduce la declararea implicantului prim p1 ca fiind esenial. Din acest motiv, unitatea aflat la intersecia coloanei m0 cu linia p1 este scris ngroat. Consideraii similare au condus la scrierea ngroat a celorlalte uniti din tabelul implicanilor primi. Toi implicanii primi, din tabelul implicanilor, sunt eseniali n afar de implicanii primi p3 i p5. Implicanii primi eseniali vor face parte din orice acoperire minim exact a acestei funcii. (a) (b) (c) (d) (e) (f) Din tabelul implicanilor se calculeaz clauzele formulei lui Petrick, astfel: mintermul m0 este acoperit de implicantul prim esenial p1; mintermul m2 este acoperit de implicanii primi p1 (esenial) i p5; mintermul m10 este acoperit de implicanii primi p4 (esenial), p5 i p3; mintermul m11 este acoperit de implicantul prim esenial p4; mintermul m12 este acoperit de implicantul prim esenial p2; mintermul m14 este acoperit de implicantul prim esenial p2, dar i de implicantul prim p3.

Formula lui Petrick pentru aceast funcie arat astfel: p1(p1 + p5)(p3 + p4 + p5)p4p2(p2 + p3) =1. Aplicnd identitatea a(a + b) = a, formula lui Petrick se simplific sesizabil, deoarece: p1(p1 + p5) = p1, (p3 + p4 + p5)p4 = p4 i p2(p2 + p3) = p2 Formula lui Petrick, pentru aceast funcie, ajunge s fie exprimat prin produsul celor trei implicani primi eseniali: p1p2p4 = 1. n conformitate cu ultima expresie a formulei lui Petrick, rezult c pentru funcia considerat exist o acoperire prim unic iredundant, exact i minim, exprimat prin reuniunea celor trei implicani primi eseniali: f(a, b, c, d) = a'b'd' + abd' + ab'c. Privitor la simplificarea anterioar a formulei lui Petrick consideraii, utile, pe marginea tabelului implicanilor. se cuvin fcute cteva

Dendat ce s-au declarat implicanii primi, respectiv p1, p2 i p4, acetia urmeaz s aparin oricrei minimizri exacte, determinate prin acoperirea (mintermilor) funciei cu implicani primi, n conformitate cu teorema lui Quine. Privitor la implicanii primi, p1, p2 i p4, este clar c acetia acoper, n exclusivitate, respectiv mintermii m0, m12, i m11. Dar, odat cu includerea (obligatorie) a implicanilor primi eseniali n orice soluie de acoperire a funciei, sunt acoperii i ali mintermi dect acei care au determinat calificarea acestor implicani primi ca fiind eseniali. Astfel, se poate remarca faptul c prin includerea implicantului prim esenial p1, n soluia minimizrii exacte a funciei, odat cu mintermul m0, este acoperit i mintermul m2. Prin aceast remarc se micoreaz complexitatea problemei alegerii unui set de implicani primi (s-a redus numrul de mintermi care trebuie acoperii).

15

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

Tabelul implicanilor primi a fost modificat (tabelul 3.6a) n intenia marcrii mintermilor acoperii de implicantul prim esenial p1. Astfel, s-au barat cei doi mintermi acoperii de implicantul prim esenial p1.
Tabelul 3.6a Influena implicantului prim esenial p1 m10 m11 m12 m14 e e e

p1 p2 p3 p4 p5

m0

m2

Analog, se poate observa c implicantul prim esenial p2, acoper (n afar de mintermul m12) i mintermul m14. Tabelul implicanilor a fost din nou modificat, aa cum se poate vedea n tabelul 3.6b, prin bararea celor doi mintermi acoperii de implicantul prim esenial p2.
Tabelul 3.6b Influena implicanilor primi eseniali p1 i p2 m2 m10 m11 m12 m14 e e e

p1 p2 p3 p4 p5

m0

Similar, implicantul prim esenial p4, acoper (n afar de mintermul m11) i mintermul m10. Tabelul implicanilor a fost, nc odat, modificat prin bararea celor doi mintermi acoperii de implicantul prim esenial p4.

Tabelul 3.6c Influena celor trei implicani primi eseniali

m0
p1 p2 p3 p4 p5

m2

m10

m11

m12

m14
e e e

Acum, este evident c implicanii primi eseniali ai acestei funcii sunt, i prin aceste considerente, soluia unic a minimizrii exacte a funciei: f(a, b, c, d) = m0 + m2 + m10 + m11 + m12 + m14.

n figura 3.7 sunt prezentate alte contururi posibile, care grupeaz cte patru celule ntr-o diagram Karnaugh, pentru funcii cu patru variabile. Pentru fiecare funcie reprezentat n figura 3.7 este menionat formula minimizat corespunztoare conturului respectiv.

16

Proiectarea Logic Figurile 3.7 (a) i (b) nfieaz contururi cu cte patru uniti grupate n contururi ce formeaz careuri.
ab 01 11 1 1 ab 01 11 1 1 1 1

00 cd 00 01 11 10

10 cd 1 1 00 01 11 10

00

10

f(a, b, c, d) = ac Figura 3.7 (a). ab 00 01 11 00 01 11 1 1 1 10 h(a, b, c, d) = cd Figura 3.7 (c). ab 01 11 1 1 1 1

g(a, b, c, d) =bc' Figura 3.7 (b). ab 00 01 11 00 1 01 1 11 1 10 1 j(a, b, c, d) = ab Figura 3.7 (d). ab 01 11

10 cd 1

10

cd

00 cd 00 01 11 10

10 cd 00 01 11 10

00 1 1

10 1 1

k(a, b, c, d) = bd' Figura 3.7 (e).

m(a, b, c, d) = b'c' Figura 3.7 (f). ab 01 11 1 1 1 1 1 1

cd

00 01 11 10

00 1

10 1

n(a, b, c, d) = b'd' + bd Figura 3.7 (g).

n figura 3.7 sunt nfiate contururi care includ opt celule, n diagramele Karnaugh pentru funcii cu patru variabile.
00 cd 00 01 11 10 1 1 ab 01 11 1 1 1 1 10 cd 1 1 00 01 11 10 00 ab 01 11 1 1 1 1 10 1 1 1 1

m(a, b, c, d) = c Figura 3.7 (a).

n(a, b, c, d) = a Figura 3.7 (b).

17

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

cd

00 01 11 10

00 1 1 1 1

ab 01 11

10 1 1 1 1

cd

00 01 11 10

00 1 1

ab 01 11 1 1 1 1

10 1 1

p(a, b, c, d) = b' Figura 3.7 (c).

q(a, b, c, d) =d' Figura 3.7 (d).

Sunt, de multe ori, situaii n care complementara unei funcii poate oferi, ocazional, soluii mai bune. Exemplul care urmeaz prezint un astfel de caz.
Exemplul 3.7. Se consider funcia cu patru variabile: h(a, b, c, d) = m0 + m1 + m2 + m4 + m5 + m6 + m8 + m9 + m10. n figura 3.8. (a), este prezentat diagrama Karnaugh a funciei h(a, b, c, d), iar n figura 3.8.(b), este prezentat diagrama Karnaugh a complementarei acesteia, h'(a, b, c, d). b'd' 11 10 1 1 1 a'd' b'c'

a'c'

cd

00 01 11 10

00 1 1 1

ab 01 1 1 1

Figura 3.8.(a) ab 01 0

00 cd 00 01 11 10 0

11 0 0 0 0

10 ab 0 cd

Figura 3.8.(b)

Pentru funcia h(a, b, c, d), din figura 3.8.(a) se determin patru implicani primi constituind mulimea tuturor implicanilor primi ai acestei funcii. Aceti patru implicani sunt generai astfel: (1) conturul cu patru celule delimitat ntre coloanele ab = 00 i ab = 01 i liniile cd = 00 i cd = 01, va genera implicantul prim p1 = a'c' ; (2) conturul, n extensie, cu patru uniti delimitat ntre aceleai coloane ca i precedentul contur, dar cuprinznd liniile cd = 00 i cd = 10, va genera implicantul prim p2 = a'd' ; (3) conturul, n extensie, cu patru uniti cuprinznd coloanele ab = 00 i ab = 10 i liniile cd = 00 i cd = 01, va genera implicantul prim p3 = b'c' ; (4) conturul, n extensie, cu patru uniti cuprinznd cele patru celule din colurile diagramei (abcd = 0000, 1000,1010 i 0010), va genera implicantul prim p4 = b'd'. Se poate dovedi uor c toi implicanii primi sunt eseniali.

18

Proiectarea Logic
Minimizarea exact a funciei h(a, b, c, d) arat astfel: h(a, b, c, d) = a'c' + a'd' + b'c' + b'd'. Utiliznd diagrama Karnaugh a complementarei funciei (figura 3.9.(b)) se obine expresia: h'(a, b, c, d) = ab + cd. Aceast expresie (pentru h'(a, b, c, d)) are doar doi termeni produs, n timp ce expresia minimizat a funciei h(a, b, c, d) are patru termeni produs. Este evident c minimizarea funciei complementare are jumtate din numrul termenilor produs corespunztori minimizrii funciei considerate i introduce doar o inversare a ieirii porii finale (sunt disponibile curent pori SAU-NU fr costuri suplimentare). Complementnd expresia funciei h'(a, b, c, d) rezult urmtoarea form a funciei h: h(a, b, c, d) = (a' + b')(c' + d'). Efectund calculele se regsete prima expresie determinat, anterior, pentru funcia h(a, b, c, d).

4. Minimizarea funciilor scalare specificate prin produse de sume Anumite implementri ale funciilor logice impun exprimarea acestora prin produse de sume (termenul n englez este product of sums cu abrevierea POS). Atunci cnd sunt utilizate diagramele Karnaugh pentru minimizarea acestor expresii se poate obine o minimizarea a produselor de sume prin utilizarea valorilor zero ale funciei respective.
Exemplul 4.1. Se consider funcia reprezentat prin diagrama Karnaugh din figura 4.1.(a). Funcia este specificat prin valorile 0. Procedeul de minimizare n cazul produselor de sume este similar celui n care sunt utilizate sumele de produse, cu cteva excepii care vizeaz n special modul de citire al sumelor minimizate, n acest caz. Astfel, pentru determinarea sumelor corespunztoare contururilor (trasate peste celule coninnd zerouri) o variabil este complementat dac valoarea sa de-a lungul conturului este constant unu. Altfel, dac valoarea sa este asertat dac peste conturul considerat este constant zero. b' + c 00 cd 00 01 11 10 ab 01 0 0 0 11 0 0 0 b' + d' 10 0 0 a' + c' + d' a' + b + c'

g(a, b, c, d) Figura 4.1.(a) Se poate remarca, din figura 4.1.(a), c sunt posibile n total patru contururi ataate celor opt celule, coninnd zerourile corespunztoare expresiei funciei. Corespunztor fiecrui contur sunt ataate, n figura 4.1.(a), expresiile logice n sume, minimizate. Expresiile logice ataate fiecrui contur sunt calculate n maniera specificat anterior.

19

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR


ntr-o prim form funcia g(a, b, c, d) este exprimat prin produse de sume i arat astfel: g(a, b, c, d) =( b' + c)( b' + d')( a' + c' + d')( a' + b + c') Conturul corespunztor sumei (implicatului) a' + c' + d', nu este esenial, se poate realiza fr dificultate. Astfel, se poate remarca faptul c implicatul neesenial este coninut n produsul celorlali implicai. Toate celelalte contururi produc implicai eseniali. n final formula minimizat exact printr-un produs de sume arat astfel: g(a, b, c, d) =( b' + c)( b' + d')( a' + b + c').

O posibil metod alternativ poate fi formulat astfel: (1) n reprezentarea funciei complementate, celule vor fi iniializate prin valori unu; (2) Se calculeaz minimizarea cunoscut, utiliznd diagramele Karnaugh, rezultatul fiind exprimat printr-o sum de produse; (3) Se complementeaz expresia rezultat prin legea DeMorgan, obinnd produse de sume. Se poate demonstra, n fapt, c procedeul prezentat anterior este echivalent acestei metode, alternative. Aceast metod, alternativ, este prezentat n exemplul urmtor. Pentru o mai bun nelegere i o facil comparaie s-a utilizat aceeai funcie ca i n exemplul 4.1.
Exemplul 4.2. Se consider funcia reprezentat prin diagrama Karnaugh din figura 4.2. bc' 00 cd 00 01 11 10 ab 01 1 1 1 11 1 1 1 bd 10 1 1 acd ab'c

g'(a, b, c, d) Figura 4.2. Sunt patru contururi n figura 4.2, din care unul nu este esenial, cel corespunztor implicantului acd. Acest implicant este coninut n reuniunea altor doi implicani primi: acd bd + ab'c. Pentru c, acd = m15 + m11, iar bd + ab'c = (m15 + m13 + m7 + m5) + (m11 + m10). Forma minimizat exact n sume de produse a funciei g'(a, b, c, d), arat astfel: g'(a, b, c, d) = bc' + bd + ab'c. Aplicnd legea DeMorgan rezult urmtoarea form minimizat n sume de produse pentru funcia considerat: g(a, b, c, d) = (b' + c)(b' + d')(a' + b + c').

20

Proiectarea Logic

5. Minimizarea funciilor scalare avnd mai mult de 4 variabile Numrul de variabile reprezentabile prin sistemele de diagrame Karnaugh poate fi ntr-o oarecare msur mrit, nefiind limitat strict la cel mult patru variabile. Exist posibilitatea alctuirii unor diagrame pentru funcii avnd mai mult de 4 variabile dar sesizarea gruprilor celor mai eficiente poate fi ceva mai delicat i poate compromite eficiena utilizrii acestor diagrame Karnaugh de rang superior. Sesizarea gruprilor celor mai potrivite n diagramele cu mai mult de patru variabile necesit, n general, o experien peste medie. Exist numeroase abordri ale acestei probleme n literatura de specialitate. Idea care a fost mult utilizat i ncercat practic s-a focalizat pe utilizarea unor diagrame Karnaugh, bine cunoscute i uor de reinut, care s fie, la rndul lor, n aa fel grupate nct s sugereze modaliti ct mai simple de minimizare. n exemplele care urmeaz sunt considerate funcii cu mai mult dect patru variabile pentru ilustrarea metodei.

Exemplul 5.1. Se consider funcia cu cinci argumente: u(a, b, c, d, e) = m2 + m5 + m7 + m8 + m10 + m13 + m15 + m17 + m19 + m21 + m23 + m24 + m29 + m31. Diagrama complet, pentru cinci variabile (aa cum este prezentat n figura 5.1) se poate descompune n dou diagrame de patru variabile fiecare. Prima din cele dou diagrame Karnaugh de patru variabile corespunde valorilor 0 ale variabilei a (figura 5.1.(a)) iar cealalt pentru valorile 1 ale aceleiai variabile (figura 5.1.(b)). abc 010 110 1 1

000 de 00 01 11 10

001 1 1

011 1 1

111 1 1

101 1 1

100 1 1

u(a, b, c, d, e) = m2 + m5 + m7 + m8 + m10 + m13 + m15 + m17 + m19 + m21 + m23 + m24 + m29 + m31. Figura 5.1. Diagrama Karnaugh cu cinci variabile pentru funcia exemplului 5.1. Prezena unor grupri simetrice, n cele dou diagrame Karnaugh cu patru variabile, conduce la concluzia c respectivele grupri, fiind reprezentabile prin aceleai expresii doar n variabilele c, b, d, i e, ofer factorizarea respectivelor expresii i reducerea, implicit a variabilei a.

21

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

00 de 00 01 11 10

bc 01 11 1 1 1 1

10 1 de 1

00 00 01 11 10 1 1

bc 01 11 1 1 1 1

10 1

(a = 0) Figura 5.1.(a).

(a = 1) Figura 5.1.(b).

n continuare este prezentat i transcrierea algebric a gruprilor din cele dou diagrame, precum i gruprile dintre diagrame: u(a, b, c, d, e) = a'(cde) + (a + a)ce + (a + a) bcde + abe = = a'cde + ce + bcde + abe. bc 11 a + a a + a a'

00 de 00 01 11 10 a a a'

01 a + a a + a

10 a + a

Figura 5.1.(c). Diagrama Karnaugh corespunztoare funciei u din exemplul 4 coninnd expresii n variabila a. O alt abordare a acestei metode este substituirea unitilor din diagramele Karnaugh prin expresii algebrice alctuite cu variabilele care eticheteaz diagramele (n cazul de fa este o singur variabil i anume variabila a). Aa cum se poate remarca din figura 5.1.(c) gruprile omoloage din figurile 5.1.(a) i 5.1.(b) au condus la expresiile a + a, care se reduc (a + a = 1). 00 de 00 01 11 10 a a a' bc 01 11 1 1 1 1 a' 10 1

u(a, b, c, d, e) = bcde + ce + abe + acde Figura 5.1.(d). Diagrama Karnaugh corespunztoare mintermilor funciei u din exemplul 4 coninnd expresii simplificate n variabila a. Pe de alt parte, gruprile care n-au avut corespondeni ntre cele dou diagrame Karnaugh din figurile 4b i 4c, au pstrat expresii n a (a i respectiv a) aa cum se poate vedea din diagrama Karnaugh prezentat n figura 5.1.(c). Expresia, simplificat, a funciei u(a, b, c, d, e) prin utilizarea diagramei Karnaugh cu expresii n variabila a, este prezentat n figura 5.1.(d).

22

Proiectarea Logic

Metoda utilizrii expresiilor algebrice, n locul unitilor, n diagramele Karnaugh se poate face pornind direct de la forma algebric n sum de termeni canonici prin factorizarea cuburilor care nu conin variabilele de etichetare. Pentru uurina calculelor se poate observa c variabila a va apare doar n mintermii avnd indicele mai mare sau egal cu 16, n timp ce variabila a va apare n mintermii cu indicele strict mai mic sau egal cu 15. Astfel, funcia u(a, b, c, d, e) se poate scrie astfel: u(a, b, c, d, e) = (bcde + bcde + bcde + bcde + bcde)(a + a) + (bcde + bcde)a + (bcde + bcde + bcde + bcde)a. Alctuirea unei diagrame Karnaugh utiliznd variabilele b, c, d, i e cu expresii n variabila a va arta ca n figura 5.1.(d). Implicanii primi astfel obinui sunt eseniali.

Exemplul care urmeaz abordeaz o funcie cu ase variabile schind o metoda mai general de tratare a funciilor cu ase variabile utiliznd un cadran cu patru diagrame Karnaugh, fiecare cu cte patru variabile. Metoda vizeaz utilizarea abloanelor diagramelor Karnaugh cu patru variabile pentru funcii cu ase variabile.

Ca i n cazul exemplului precedent se utilizeaz introducerea unor expresii algebrice n locul unitilor, procedeul uzat n mod curent. n maniera acesta se deschide o abordare care poate permite, n continuare, extinderea diagramelor Karnaugh pentru funcii cu un numr mai mare dect se utilizeaz tradiional.
Exemplul 5.2. Se consider funcia cu ase variabile: v(a, b, c, d, e, f) = m2 + m8 + m10 + m18 + m24 + m26 + m34 + m37 + m42 + m45 + m50 + m53 + m58 + m61. Diagrama Karnaugh cu ase variabile a acestei funcii este prezentat n figura 5.2.(a). O reprezentare a acestei funcii, divizat n patru diagrame Karnaugh cu patru variabile fiecare, este prezentat n figura 5.2.(b). 000 000 001 011 010 110 111 101 100 001 011 acd 010 110 1 111 1 1 1 1 1 1 1 1 1 1 101 1 1 1 100

bef

Figura 5.2.(a). Diagrama Karnaugh pentru funcia v(a, b, c, d, e, f) = m2 + m8 + m10 + m18 + m24 + m26 + m34 + m37 + m42 + m45 + m50 + m53 + m58 + m61. Gruprile pentru aceast funcie, n figura 5.2.(b), au fost desenate astfel nct prin grosimea i forma liniei unei grupri sunt sugerate modul n care acestea sunt conectate.

23

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

00 ef 00 01 11 10

cd 01 11

10 1 ef

00 00 01 11 10

cd 01 11 1 1

10

1 (ab = 00) cd 01 11

1 (ab = 10) cd 01 11 1 1 (ab = 11) 1

00 ef 00 01 11 10

10 1 ef

00 00 01 11 10

10

1 (ab = 01)

Figura 5.2.(b). Minimizarea funciei v(a, b, c, d, e, f) din exemplul 5.2 prin divizarea acesteia n patru diagrame Karnaugh cu cte patru variabile fiecare.

Astfel, cu linie punctat marunt sunt marcate dou grupri similare din diagramele corespunztoare (ab = 00) i (ab = 01), acdf(b + b) = acdf. Tot cu linie punctat, dar mai mai mare, sunt desemnate dou grupri din diagramele (ab = 10) i respectiv (ab = 11), adef(b + b) = adef. Cu linie plin ngroat este marcat un grup de 8 uniti, cte dou din fiecare diagram i situate la baza diagramelor respective def(ab + ab + ab + ab) = def. Rezult c forma minimizat a acestei funcii este: v(a, b, c, d, e, f) = acdf + adef + def. Aplicnd substituirea unitilor din diagramele Karnaugh din figura 5.2.(b) prin expresii construite cu etichetele diagramelor respective se obine diagrama Karnaugh din figura 5.2.(c).

00 ef 00 01 11 10

cd 01 11 a a

10 a'

v(a, b, c, d, e, f) = acdf + adef + def.


Figura 5.2.(c). Diagrama Karnaugh corespunztoare mintermilor funciei v din exemplul 5.2 coninnd expresii simplificate n variabilele a i b.

24

Proiectarea Logic
Se poate remarca, n final, faptul c: grupul celor dou uniti din diagramele etichetate ab = 10 i ab = 11 (cdef i cdef n figura 5b), apar n figura 5c prin variabila a, grupul celor opt uniti sunt reprezentate n diagrama din figura 5c prin constanta 1 (cele dou variabile ale etichetelor s-au redus), iar cele dou uniti (cdef) din diagramele etichetate prin ab = 00 i ab = 01 (figura 5b) sunt reprezentate prin expresia a n diagrama Karnaugh din figura 5c; Implicanii primi, astfel obinui, sunt eseniali.

6. Minimizarea funciilor scalare care conin termeni nespecificai n practica proiectrii logice pot apare situaii cnd, pentru anumite combinaii ale variabilelor unei funcii, valorile funciei s nu fie definite. Acest fapt poate avea loc dac, spre exemplu, respectivele combinaii ale variabilelor nu prezint interes pentru c nu au cum s apar n contextul pentru care se face proiectarea, ori pur i simplu respectivele combinaii ale liniilor de intrare nu au cum s apar. Se presupune c se proiecteaz un dispozitiv digital care urmeaz s afieze durate de timp msurate, spre exemplu, n secunde. Atunci, valori ale rangului zecilor de secunde, mai mari dect cinci nu sunt posibile. Modul de abordare al minimizrii funciilor logice care cuprind termeni neprecizai este ilustrat printr-un prim exemplu practic.
Exemplul 6.1. Se consider funcia h(a,b,c,d) = m (1, 5, 7, 8, 10, 14) + x (0, 6, 9, 11, 13, 15). Diagrama Karnaugh pentru funcia h(a,b,c,d) este ilustrat n figura 6.1. 00 X 1 ab 01 11 1 1 X X X 1 10 1 X X 1

cd

00 01 11 10

Figura 6.1.(a) Diagrama Karnaugh i implicanii primi corespunztori mintermilor funciei h(a, b, c, d) din exemplul 6.1.

Termenii neprecizai, simbolizai prin X reprezint acele combinaii ale variabilelor funciei h(a, b, c, d) pentru care aceast funcie nu are valoarea precizat. Pe parcursul procesului de minimizare anumite valori X pot fi definite, precizate, dup cum impune soluia de minimizare aleas. Astfel, pentru constituirea unor contururi mai largi se pot include n respectivele contururi simboluri X alturi de valori 1. Corespunztor, acelor combinaii ale liniilor de intrare li se vor atribui valori 1. Simbolurile X care nu sunt cuprinse, alturi de valori 1, n contururile de minimizare ale funciei, li se va atribui valoarea 0. n acest mod, dup ncheierea procesului de minimizare, toate simbolurile X vor fi 1 ori 0. Contururile asociate diagramei Karnaugh corespunztoare figurii 6.1.(a) sunt prezentate n figura 6.1.(b).

25

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR


ab 01 11 1 1 X X X 1

cd

00 01 11 10

00 X 1

10 1 X X 1 p5 = ac p6 = ab'

p1 = b'c' p2 = c'd

p3 = bd p4 = bc

Figura 6.1.(a). Diagrama Karnaugh i implicanii primi corespunztori mintermilor funciei h(a, b, c, d) din exemplul 6.1. Mulimea implicanilor primi ai funciei h(a, b, c, d) este: P = {p1, p2, p3, p4, p5, p6}, respectiv: P = {bc, cd , bd, bc , ac , ab'}. Matricea de inciden a implicanilor primi n raport cu termenii canonici, pentru aceast funcie, este prezentat ca n tabelul 6.1.(a). Tabelul 6.1.(a). Matricea de inciden m5 = m7 = m8 = m1 = a'b'c'd a'bc'd a'bcd ab'c'd' m10 = ab'cd' m14 = abcd'

p1 = bc (1,8) p2 = cd (1,5) p3 = bd (5,7) p4 = bc (7,14) p5 = ac (10,14) p6 = ab' (8,10)

Se remarc, n matricea de inciden, prezena exclusiv a mintermilor corespunztori valorilor precizate, n timp ce termenii corespunztori valorilor neprecizate nu sunt utilizai. De asemenea se poate observa absena termenilor eseniali. Matricea de inciden prezint ceea ce se numete, tradiional, un nucleu ciclic. Produsul lui Petrik pentru matricea de inciden prezentat n tabelul 6.1.(a) este calculat astfel: F = s1 s5 s7 s8 s10 s14, unde clauzele de acoperire sunt calculate astfel: s1 = (p1+ p2), s5 = (p2+ p4), s7 = (p4+ p5), s8 = (p1+ p3), s10 = (p3+ p6) i s14 = (p5+ p6); Efectund produsele n expresia F = s1 s5 s7 s8 s10 s14, se obine formula: F = p2 p 3 p 5 + p 1 p 4 p 6 + p 1 p 2 p 5 p 6 + p 2 p 3 p 4 p 6 + p1 p 2 p 4 p 6 + p1 p 3 p 4 p 5 + p1 p 4 p 5 p 6 + p1 p 3 p 4 p 6 . Din suma de produse anterioar se poate remarca faptul c funcia accept dou forme minime respectiv {p2, p3, p5} i {p1, p4, p6}, amndou cu cardinalitatea trei, precum i alte ase forme minimale (cu cardinalitatea patru).

26

Proiectarea Logic Exemplul care urmeaz introduce o funcie cu termeni neprecizai pentru care matricea incidenei implicanilor primi este reductibil.
Exemplul 6.2 Se consider funcia g(a,b,c,d) = m (0, 1, 3, 5, 13, 15) + X (2, 6, 10, 11, 12). Mulimea implicanilor primi ai funciei g(a, b, c, d) a fost determinat astfel: P = {p1, p2, p3, p4, p5, p6, p7 }, iar matricea de inciden a implicanilor primi cu termenii canonici, pentru aceast funcie arat ca n tabelul 6.2. Tabelul 6.2 Implicanii primi (0-01) p1 (-101) p2 (110-) p3 (1-11) p4 (11-1) p5 (00- -) p6 (-01-) p7 m0 Termenii canonici m1 m3 m5 m13 m15 Obs

Matricea de inciden prezint un singur implicant prim esenial, p6. Acesta va face parte din orice soluie minim a funciei g Se observ faptul c implicantul prim p4 acoper doar m15 n timp ce implicantul prim p5 acoper att mintermul m15 ct i mintermul m13. Este un caz de dominan ntre liniile unei matrice de inciden. Linia dominat este exclus din procesul de alegere, cu att mai mult cu ct numrul de literali al implicantului prim p4 nu este mai mic dect cel al implicantului prim p5. De notat c, n urma ndeprtrii implicantului prim esenial i a mintermilor acoperii de acesta, implicantul prim p1 ajunge s fie dominat de implicantul prim p2 . Se poate remarca, din nou, c ambii implicani primi au acelai numr de literali. Linia dominat este eliminat, mpreun cu implicantul prim asociat, din procesul de alegere a soluiei minime. Dup aceste dou dominane de linii matricea de inciden arat ca n tabelul 6.2(a). Tabelul 6.2(a) Implicanii primi (-101) p2 (11-1) p5 m5 Mintermii m13 m15 Obs. e e

Ambii implicani primi sunt eseniali (secundari) i sunt adugai soluiei minime. n concluzie, forma minim a funciei: g(a,b,c,d) = m (0, 1, 3, 5, 13, 15) + d (2, 6, 10, 11, 12), arat astfel: g(a,b,c,d) = ab + bcd + abd. Aceast form nu este, ns, unica form minim. Dac se va considera matricea de inciden (tabelul 6.2.(c)) aa cum rmne aceasta dup extragerea implicantului prim esenial p6 se poate calcula un produs al lui Petrik corespunztor acestei matrice, innd seama i de implicantul prim esenial p6.

27

NOTE DE CURS, DR.ING.MAT. ION I. BUCUR

Tabelul 6.2(c) Implicanii primi (0-01) p1 (-101) p2 (110-) p3 (1-11) p4 (11-1) p5 m5 Mintermii m13 m15 Obs.

F = p6(p1+ p2) (p2+ p3 + p5) (p4+ p5) = p1 p3 p4 p6 + p1 p5 p6 + p2 p4 p6 + p2 p5 p6. Soluiile date de acest produs demonstreaz c sunt n total trei soluii minime de acoperire a acestei funcii: p1 p5 p6 + p2 p4 p6 + p2 p5 p6, una dintre acestea fiind i cea calculat mai nainte. Sunt listate n continuare toate soluiile minime (cardinalitate 3) de acoperire ale funciei g(a,b,c,d): 1) g(a,b,c,d) = ab + bcd + abd, 2) g(a,b,c,d) = ab + bcd + acd, 3) g(a,b,c,d) = ab + acd + abd. Produsul lui Petrick ofer, teoretic, ntotdeauna ansamblul tuturor soluiilor de acoperire a unei funcii scalare Booleene n raport cu mulimea implicanilor primi ai acesteia. Funciile cu complexitate ridicat pot ridica dificulti chiar i pentru obinerea mulimii implicanilor primi (pot fi foarte numeroi si, din acest motiv, dificil de determinat n totalitate). Produsul lui Petrick poate fi foarte dificil de calculat pentru cazuri complicate (funcii cu un numr important de implicani primi) i atunci procedeul de micorare al matricei de inciden prin dominana liniilor i - sau coloanelor precum i prin implicanii primi eseniali secundari, teriari etc., poate s ofere, ntr-un timp acceptabil, o soluie minim ori chiar minimal dac nu sunt alte posibiliti de calcul n timp rezonabil.

28