Sunteți pe pagina 1din 29

2.

Circuite logice
2.2. Diagrame Karnaugh

1
Forme standard ale unei expresii

O expresie poate fi scris n mai multe moduri, dar unele sunt


mai folositoare dect altele

-notaia sau suma de produse (sum of products SOP) conine:

Numai operaii OR la nivelul cel mai apropiat de ieire

Fiecare termen al sumei este un produs de variabile

f(x,y,z) = y + xyz + xz

Avantajul major al notaiei este c implementarea se face pe


un circuit pe dou nivele
28
Mintermeni

Un mintermen este un produs special de variabile n care fiecare


variabil apare o singur dat

O funcie cu n variabile are 2n mintermeni


Mintermen Adevrat dac Notaie
Fiecarexyz
mintermenx=0,
estey=0,
adevrat
z=0 pentru
m0
o singur combinaie de
intrri: xyz x=0, y=0, z=1 m1
xyz x=0, y=1, z=0 m2
xyz x=0, y=1, z=1 m3
xyz x=1, y=0, z=0 m4
xyz x=1, y=0, z=1 m5
xyz x=1, y=1, z=0 m6
xyz x=1, y=1, z=1 m7
29
Suma de mintermeni

Orice funcie poate fi scris ca o sum de mintermeni

Notaia este unic pentru o funcie


au 1 la output
Dac
xyz avem tabela de adevrf =pentru
f(x,y,z)f(x,y,z) xyz o
+ funcie, suma
xyz + xyz de + xyz
+ xyz
mintermeni
000
= m0 + m1 + m2 + m3 + m6
10 poate fi scris lund n considerare doar liniile care
001 10 = m(0,1,2,3,6)
010 10 f = xyz + xyz + xyz
011 10
100 01 = m4 + m5 + m7
101 01 = m(4,5,7)
110 10
111 01
f' conine mintermenii care nu se
gsesc n f

30
Produsul de sume notaia

Exist i posibilitatea dual, produsul de sume, care conine

Numai operaii AND la nivelul final

Fiecare termen este o sum de variabile

f(x,y,z) = y (x + y + z) (x + z)

Implementarea se realizeaz cu un circuit pe dou nivele

nivel 0: inputs i complementele lor

nivel 1: pori OR

nivel 2: o singur poart AND 31


Maxtermeni

Un maxtermen este o sum de variabile n care fiecare input


apare o singur dat

O funcie cu n variabile are 2 n maxtermeni


Maxtermen Fals dac Notaie
Fiecare maxtermen este fals x=0,
x+y+z pentru
y=0,o z=0
singur combinaie
M0 de
inputs:x + y + z x=0, y=0, z=1 M1
x + y + z x=0, y=1, z=0 M2
x + y + z x=0, y=1, z=1 M3
x + y + z x=1, y=0, z=0 M4
x + y + z x=1, y=0, z=1 M5
x + y + z x=1, y=1, z=0 M6
x + y + z x=1, y=1, z=1 M7
32
Produs de maxtermeni

Orice funcie poate fi scris ca un produs unic de maxtermeni

Dat tabela de adevr a unei funcii, expresia funciei n notaia


se obine lund liniile din tabel care au 0 la output
xyz f(x,y,z)f(x,y,z)
000 10
001 10
010 f = 10
(x + y + z)(x + y + z)(x + y + z)
011 = M4 M5 M7
10
100 01
= M(4,5,7)
101 f =01(x + y + z)(x + y + z)(x + y + z)
110 10
(x + y + z)(x + y + z)
111 01
= M0 M1 M2 M3 M6
= M(0,1,2,3,6)
f' conine maxtermenii care nu se
33
Mintermeni i maxtermeni; conversii

Mintermenul mi este complementul maxtermenului Mi

De exemplu, m4 = M4 deoarece (xyz) = x + y + z

Notaia se poate converti n :

f = m(0,1,2,3,6) i f = m(4,5,7) = m4 + m5 + m7
prin complementare (f) = (m4 + m5 + m7) i deci

f = m4 m5 m7 [ DeMorgan ]

= M4 M5 M7 = M(4,5,7)

34
Diagrame Karnaugh

Tehnic de simplificare a unei expresii n sum minim de


produse (minimal sum of products MSP):

Exist un numr minim de termeni produs n expresie

Fiecare termen are un numr minim de variabile

Implementarea n circuit impune minimum dou nivele

2
Diagrame Karnaugh

O funcie de dou variabile are patru posibili mintermeni.


Acetia se rearanjeaz ntr-o diagram Karnaugh:

Mintermenii de pe coloane conin y i y respectiv

Mintermenii de pe linii conin x and x respectiv

3
Simplificrile diagramei Karnaugh

Pentru o sum de mintermeni de dou variabile:

xy + xy

ambii mintermeni apar n prima linie a diagramei, adic ambii


conin x

Simplificnd expresia algebric se obine

= x 1 [ y + y = 1 ]
= x [x1=x]
xy + xy = x(y + y) [ Distributivitatea ]

4
Alte exemple cu dou variabile

Un alt exemplu de expresie este xy + xy.

ambii mintermeni apar n dreapta, adic nu sunt complementai

Astfel, se reduce xy + xy la y

xy + xy + xy

xy + xy n prima linie, corespunztor lui x

xy + xy n partea dreapt, corespunztor y

expresia se reduce la x + y

5
K-map cu trei variabile

Aranjarea mintermenilor la o funcie cu trei variabile este puin


mai complicat

sau nc o variant

6
K-map cu trei variabile

Orice grup de 2, 4 or 8 blocuri adiacente din diagram conine


variabile comune care pot fi scoase n factor

Adiacenele se formeaz circular

7
Exemplu K-map cu trei variabile

f(x,y,z) = xy + yz + xz.

Se convertete expresia ntr-o sum de mintermeni

Cel mai simplu ar fi obinerea acesteia din tabela de adevr

sau se pot utiliza notaiile mintermeni

f(x,y,z) = xyz + xyz + xyz + xyz


= m1 + m5 + m6 + m7

8
Complicarea unei expresii

Se poate converti expresia ntr-o sum de mintermeni utiliznd


algebra boolean

xy + yz + xz = (xy 1) + (yz 1) + (xz 1)


= (xy (z + z)) + (yz (x + x)) + (xz (y + y))
= (xyz + xyz) + (xyz + xyz) + (xyz + xyz)
= xyz + xyz + xyz + xyz
n ambele cazuri expresia se complic

Rezultatul este mai complex dect originalul!

Avnd toi mintermenii individuali, acetia pot fi combinai pentru a


obine diagrama Karnaugh

9
Formarea diagramei Karnaugh

Pasul urmtor este desenarea i completarea diagramei


Karnaugh

Se completeaz cu 1 n diagram pentru mintermi i 0 n rest


f(x,y,z) = xyz + xyz + xyz + xyz
Se pot utiliza att mintermii ct i f(x,y,z)
notaiile= m 1 + m5 + m6 + m 7
Y Y
xyz xyz xyz xyz m0 m1 m3 m2
nX cazul
xyz nostru, f(x,y,z)
xyz xyz xyz poate fi scris n X
dou
m moduri
m m 4 5 7 m6
Z Z

Diagrama Karnaugh arat n final


Y
0 1 0 0
X 0 1 1 1
Z

10
Formarea diagramei Karnaugh din tabela de adevr

ieirea i din tabel corespunde mintermenului mmi nmdiagram


m m 0 1 3 2

X m4 m5 m7 m6
x y z f(x,y,z)
Z
0Y 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
Y
0 1 0 0
X 0 1 1 1
Z
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

11
Gruparea mintermenilor

Cea mai dificil operaie este gruparea 1-rilor din K-map

se ncercuiesc
0-urile grupurile de unu, doi, patru sau opt de 1
nu se include
Y

orice 1 trebuieXs fie0 cuprins


1
n 0cel puin
0
un grup
0 1 1 1

Fiecare grup corespunde unui termen produs. Pentru a


simplifica rezultatul

trebuie obinut numrul minim de dreptunghiuri pentru minimizarea


numrului de termeni produs n expresia final

fiecare dreptunghi trebuie s fie ct mai mare posibil pentru


minimizarea numrului de litere din termeni
12
Determinarea MSP din K-map

n final se gsete suma minim de produse MSP:

fiecare dreptunghi0 corespunde


1 0 unui
0 termen produs
X 0 1 1 1
Z
produsele sunt determinate literele comune din dreptunghi
Y
Y
xyz xyz xyz xyz
X xyz xyz xyz xyz
Z

n exemplul nostru se gsete n final xy + yz = yz + xy


(de fapt o teorem din algebra boolean)

13
Exerciiu K-map

Simplificai suma de mintermeni m1 + m3 + m5 + m6


m0 m1 m3 m2
X m4 m5 m7 m6
Y
Z

regiunile se suprapun pentru a fi ct mai largi cu putin


minitermenul m6 este singur
Y Y
0 1 1 0 xyz xyz xyz xyz
X 0 1 0 1 X xyz xyz xyz xyz

Z
Z

rezultatul final este xz + yz + xyz


14
K-map cu patru variabile

Mintermenii din coloanele 3 i 4 precum i din liniile 3 i 4


comut respectiv

Adiacenele se formeaz Y grupnd mintermenii dupYliterele


wxyz wxyz wxyz wxyz m m m m
comune
wxyz wxyz wxyz wxyz m
0

m 4 m
1

m 5
3

7
2

6
X X
W wxyz wxyz wxyz wxyz W m12 m13 m15 m14
wxyz wxyz wxyz wxyz m8 m9 m11 m10
Z Z

Gruparea mintermenilor se face similar ca la trei variabile, dar:

grupurile pot conine 1, 2, 4, 8 sau 16 mintermi

adiacenele se formeaz ciclic la toate cele 4 margini


15
Exemplu K-map cu patru variabile

S se simplificeY m0+m2+m5+m8+m10+m13 Y
1 0 0 1 m0 m1 m3 m2
0 1 0 0 X m4 m5 m7 m6
X
W 0 1 0 0 W m12 m13 m15 m14
1 0 0 1 m8 m9 m11 m10
Z Z

Se grupeaz mintermenii i se obine MSP xz + xyz


Y Y
1 0 0 1 wxyz wxyz wxyz wxyz
0 1 0 0 X wxyz wxyz wxyz wxyz
X
W 0 1 0 0 W wxyz wxyz wxyz wxyz
1 0 0 1 wxyz wxyz wxyz wxyz
Z Z

16
Diagrama Karnaugh nu este unic

MPS nu este unic


Y
0 1 0 1
X 0 1 1 1
Z

Y Y
0 1 0 1 0 1 0 1
X 0 1 1 1 X 0 1 1 1
Z Z

yz + yz + xy yz + yz + xz

17
Excepii

Uneori nu sunt necesare toate cele 2n combinaii ale intrrilor


unei funcii de n variabile:

dac exist certitudinea c anumite combinaii nu apar niciodat


xyz f(x,y,z)
000 utilizate0n restul circuitului
dac anumite ieiri nu sunt
001 1
010 X
011 0
100 0
101 1
110 X
111 1

ntr-o diagram, un X poate fi interpretat ca 1 sau 0. Se ia n


considerare cazul care permite simplificarea cea mai bun
18
Exemplu: display cu 7 segmente
A B C D e

0 0 0 0 0 1
un digit este codat pe 4 bits: ABCD 1 0 0 0 1 0

2 0 0 1 0 1
la intrare avem doar cifrele de la 0 la 9 3 0 0 1 1 0

4 0 1 0 0 0
pentru
f segmentul
b
e avem tabela: 5 0 1 0 1 0

g CD 00 01 11 10 6 0 1 1 0 1
e c AB
7 0 1 1 1 0
d 00 1 0 0 1
8 1 0 0 0 1
01 0 0 0 1 9 1 0 0 1 0

11 X X X X X X

a 10 1 0 X X X X

X X
CD + BD X
X
X 19
Exemplu: display cu 7 segmente
A B C D a

0 0 0 0 0 1
sau pentru segmentul a: 0 0 0 1 0
1
2 0 0 1 0 1

3 0 0 1 1 1

a 4 0 1 0 0 0

f 5 0 1 0 1 1
b CD 00 01 11 10
g AB 6 0 1 1 0 1
e c
00 1 1 1 7 0 1 1 1 1
d 1 0 0 0 1
01 1 1 1 8
9 1 0 0 1 1
11 X X X X
X X
10 1 1 X X
X X

A + C + BD + BD X X

X X

X 20
Exerciiu K-map

S se gseasc MSP pentru:

f(w,x,y,z) = m(0,2,4,5,8,14,15), d(w,x,y,z) = m(7,10,13)

1 0 0 1
(aceast notaie semnific neutilizarea mintermenilor m7, m10 i m13,
1 x1 0 X
corespunztoriW la wxyz
0x
= 0111,
1
1010
1
i 1101)
Y 1 0 0 x
Z

Grupul rou nu se ia n considerare pentru c mintermenii 'reali'


din el apar n alte grupuri grup redundant

MPS este xz + wxy + wxy


21
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 muli termeni devin dificil de simplificat manual

De reinut:

Ordinea corect a mintermenilor n K-map

La formarea adiacenelor se poate trece peste marginile diagramei i22

S-ar putea să vă placă și