Sunteți pe pagina 1din 7

Platformdeelearningicurriculecontent pentrunvmntulsuperiortehnic

ProiectareaLogic

15.DiagrameKarnaugh

PROIECTAREA LOGIC

Diagrame Karnaugh

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.