2. Circuite logice 2.2. Diagrame Karnaugh Copyright Paul GASNER
Diagrame Karnaugh Tehnică de simplificare a unei expresii în sumă minimă de produse (minimal sum of products MSP): Există un număr minim de termeni produs în expresie Fiecare termen are un număr minim de variabile Implementarea în circuit impune minimum două nivele Copyright Paul GASNER 2
Diagrame Karnaugh O funcţie de două variabile are patru posibili mintermeni. Aceştia se rearanjează într-o diagramă Karnaugh: Mintermenii de pe coloane conţin y şi y respectiv Mintermenii de pe linii conţin x and x respectiv Copyright Paul GASNER 3
Simplificările diagramei Karnaugh Pentru o sumă de mintermeni de două variabile: x y + x y ambii mintermeni apar în prima linie a diagramei, adică ambii conţin x Simplificând expresia algebrică se obţine x y + x y = x (y + y) [ Distributivitatea ] = x [ y + y = ] = x [ x = x ] Copyright Paul GASNER 4
Alte exemple cu două variabile Un alt exemplu de expresie este x y + xy. ambii mintermeni apar în dreapta, adică nu sunt complementaţi Astfel, se reduce x y + xy la y x y + x y + xy x y + x y în prima linie, corespunzător lui x x y + xy în partea dreaptă, corespunzător y expresia se reduce la x + y Copyright Paul GASNER 5
K-map cu trei variabile Aranjarea mintermenilor la o funcţie cu trei variabile este puţin mai complicată sau încă o variantă Copyright Paul GASNER 6
K-map cu trei variabile Orice grup de 2, 4 or 8 blocuri adiacente din diagramă conţine variabile comune care pot fi scoase în factor Adiacenţele se formează circular Copyright Paul GASNER 7
Exemplu K-map cu trei variabile f(x,y,z) = xy + y z + xz. Se converteşte expresia într-o sumă de mintermeni Cel mai simplu ar fi obţinerea acesteia din tabela de adevăr sau se pot utiliza notaţiile mintermeni f(x,y,z) = x y z + xy z + xyz + xyz = m + m 5 + m 6 + m 7 Copyright Paul GASNER 8
Complicarea unei expresii Se poate converti expresia într-o sumă de mintermeni utilizând algebra booleană xy + y z + xz = (xy ) + (y z ) + (xz ) = (xy (z + z)) + (y z (x + x)) + (xz (y + y)) = (xyz + xyz) + (x y z + xy z) + (xy z + xyz) = xyz + xyz + x y z + xy z În ambele cazuri expresia se complică Rezultatul este mai complex decât originalul! Având toţi mintermenii individuali, aceştia pot fi combinaţi pentru a obţine diagrama Karnaugh Copyright Paul GASNER 9
Formarea diagramei Karnaugh Pasul următor este desenarea şi completarea diagramei Karnaugh Se completează cu în diagramă pentru mintermi şi în rest Se pot utiliza atât mintermii cât şi notaţiile În cazul nostru, f(x,y,z) poate fi scrisă în două moduri f(x,y,z) = x y z + xy z + xyz + xyz f(x,y,z) = m + m 5 + m 6 + m 7 x y z x y z x yz x yz xy z xy z xyz xyz Diagrama Karnaugh arată în final m m m 3 m 2 m 4 m 5 m 7 m 6 Copyright Paul GASNER
Formarea diagramei Karnaugh din tabela de adevăr ieşirea i din tabelă corespunde mintermenului m i în diagramă m m m 3 m 2 x y z f(x,y,z) m 4 m 5 m 7 m 6 Copyright Paul GASNER
Gruparea mintermenilor Cea mai dificilă operaţie este gruparea -rilor din K-map se încercuiesc grupurile de unu, doi, patru sau opt de orice trebuie să fie cuprins în cel puţin un grup -urile nu se include Fiecare grup corespunde unui termen produs. Pentru a simplifica rezultatul trebuie obţinut numărul minim de dreptunghiuri pentru minimizarea numărului de termeni produs în expresia finală fiecare dreptunghi trebuie să fie cât mai mare posibil pentru minimizarea numărului de litere din termeni dreptunghiurile se pot suprapune Copyright Paul GASNER 2
Determinarea MSP din K-map În final se găseşte suma minimă de produse MSP: fiecare dreptunghi corespunde unui termen produs produsele sunt determinate literele comune din dreptunghi x y z x y z x yz x yz xy z xy z xyz xyz În exemplul nostru se găseşte în final xy + y z + xz = y z + xy (de fapt o teoremă din algebra booleană) Copyright Paul GASNER 3
Exerciţiu K-map Simplificaţi suma de mintermeni m + m 3 + m 5 + m 6 m m m 3 m 2 m 4 m 5 m 7 m 6 regiunile se suprapun pentru a fi cât mai largi cu putinţă minitermenul m 6 este singur rezultatul final este x z + y z + xyz Copyright Paul GASNER 4
K-map cu patru variabile Mintermenii din coloanele 3 şi 4 precum şi din liniile 3 şi 4 comută respectiv Adiacenţele se formează grupând mintermenii după literele comune w x y z w x y z w x yz w x yz w xy z w xy z w xyz w xyz W wxy z wxy z wxyz wxyz wx y z wx y z wx yz wx yz m m m 3 m 2 m 4 m 5 m 7 m 6 W m 2 m 3 m 5 m 4 m 8 m 9 m m Gruparea mintermenilor se face similar ca la trei variabile, dar: grupurile pot conţine, 2, 4, 8 sau 6 mintermi adiacenţele se formează ciclic la toate cele 4 margini Copyright Paul GASNER 5
Exemplu K-map cu patru variabile Să se simplifice m +m 2 +m 5 +m 8 +m +m 3 W m m m 3 m 2 m 4 m 5 m 7 m 6 W m 2 m 3 m 5 m 4 m 8 m 9 m m Se grupează mintermenii şi se obţine MSP x z + xy z W w x y z w x y z w x yz w x yz w xy z w xy z w xyz w xyz W wxy z wxy z wxyz wxyz wx y z wx y z wx yz wx yz Copyright Paul GASNER 6
Diagrama Karnaugh nu este unică MPS nu este unică y z + yz + xy y z + yz + xz Copyright Paul GASNER 7
Excepţii Uneori nu sunt necesare toate cele 2n combinaţii ale intrărilor unei funcţii de n variabile: dacă există certitudinea că anumite combinaţii nu apar niciodată dacă anumite ieşiri nu sunt utilizate în restul circuitului x y z f(x,y,z) Într-o diagramă, un poate fi interpretat ca sau. Se ia în considerare cazul care permite simplificarea cea mai bună Copyright Paul GASNER 8
Copyright Paul GASNER Copyright Paul GASNER 9 Exemplu: display cu 7 segmente Exemplu: display cu 7 segmente un digit este codat pe 4 bits: ABCD la intrare avem doar cifrele de la la 9 pentru segmentul e avem tabela: e b a f g c d CD AB e D C B A 9 8 7 6 5 4 3 2 CD + B D
Copyright Paul GASNER Copyright Paul GASNER 2 Exemplu: display cu 7 segmente Exemplu: display cu 7 segmente sau pentru segmentul a: e b a f g c d a D C B A 9 8 7 6 5 4 3 2 CD AB A + C + BD + B D
Să se găsească MSP pentru: Exerciţiu K-map f(w,x,y,z) = Σm(,2,4,5,8,4,5), d(w,x,y,z) = Σm(7,,3) (această notaţie semnifică neutilizarea mintermenilor m 7, m şi m 3, corespunzători la wxyz =, şi ) Grupul roşu nu se ia în considerare pentru că mintermenii 'reali' din el apar în alte grupuri grup redundant MPS este x z + wxy + w xy x W x x Copyright Paul GASNER 2
K-map. Concluzii Diagramele Karnaugh sunt utilizate la simplificarea expresiilor ca alternativă la algebra Bool Rezultatul este suma minimă de produse MSP, care permite construirea unui circuit cu două nivele Simplitate în utilizare Expresiile cu mulţi termeni devin dificil de simplificat manual De reţinut: Ordinea corectă a mintermenilor în K-map La formarea adiacenţelor se poate trece peste marginile diagramei şi grupurile formate se pot suprapune Se formează dreptunghiuri cât mai mari posibil şi cât mai puţine Există mai multe soluţii Copyright Paul GASNER 22