Sunteți pe pagina 1din 7

Karnaugh map (K map)

F=A + B C
Minterm
i A B C F Forma canonica (se iau mintermii pentru care F=1)
BC/00 F= A B C+ A B C+ A B C+ AB C+ ABC
m0 0 0 0 0 A/
0
m0 A B C+ A B ( C +C ) + AB ( C+C )
m1 0 0 1 0
01 A B C+ A B+ AB
0 m1
A B C+ A =>se ingora A
10
m2 0 1 0 1 0 m2 A + B C
11
m3 0 1 1 0 0 m3
00
m4 1 0 0 1 1 m4
01
m5 1 0 1 1 1 m5
10
m6 1 1 0 1 1 m6
11
m7 1 1 1 1 1 m7
Se creeaza harta Karnaugh urmand regulile:
1. Se separa pe randuri valorile lui A (0 si 1)
2. Se separa pe coloane valorile combinatiei BC astfel incat intre 2 celule alaturate sa se schimbe doar 1 singura variabila (ca
valoare)
Randurile de la capete sunt alaturate cu primele randuri
3. Se completeaza apoi celulele cu mintermii potriviti valorilor A, B, C
BC BC BC BC Intre celulele vecine trebuie sa se modifice doar 1
00 01 11 10 variabila atat pe ORIZONTALA cat si pe VERTICALA
A= m0 m1 m3 m2
0
A= m4 m5 m7 m6
1

4. Se inlocuiesc mintermii cu valorile lor


Ordinea de scriere, de la MSB (most significant bit) la LSB (least significant bit)
LSB
MSB
B
C
0 0 1
A 0 1 11 0

0 0 0 0 1

1 1 1 1 1
5. Se imperecheaza valorile de 1 in numar de:
(prioritatea e de la cel mai mare la cel mai mic)
2 valori de = 4 de = 8 de = 16 de
1 > 1 > 1 > 1
16 => 8 => 4 => 2
Imperecherile se fac pe linie sau pe coloana, nu se permite imperecherea pe diagonala pentru ca atunci nu se mai modif
doar 1 variabila intre celulele alaturate.
Se pot imperechea de mai multe ori valori care au fost imperecheate daca vor include valori ce nu au fost imperecheate

B
C
0 0 1
A 0 1 11 0
0 0 0 0 1

1 1 1 1 1
I

6. Se formeaza functia folosind imperecherile si apoi se inlocuiesc cu variabilele care nu se schimba in cadrul perechilor coresp.
F = I + II
I => in cadrul acestui grup A nu se schimba (valoarea din stanga tabelului) dar B si C se schimba => I = A
II => A se schimba dar B si C raman la fel (valorile de deasupra): B = 1 ; C = 0 => B C
F = A + B C

Exemplul 1:
Mintermii: m1, m3, m5, m7 .
F(A, B, C) = m(1, 3, 5, 7)
In formula sunt prezentati doar mintermii care au valori de 1
MSB LSB SOP (sum of products)
most significantleast significant
bit bit

1. afla numarul de variabile


N = 3 (A, B, C)
2. afla numarul de celule in K map
= numarul total de combinatii cu variabilele = 2 n ;unde n = nr de variabile
23 = 8

3. se face K map 4. se completeaza cu valorile si se imperecheaza

BC BC
0
A 00 01 11 10 A 0 01 11 10
m0 m1 m3 m2 0 1 1 0
0 0
m4 m5 m7 m6 0 1 1 0
1 1
I

f=I
f=C => doar C nu se schimba in cadrul grupului

Exemplul 2:
F(A, B, C) = m(0, 1, 2, 4, 7)

Se imperecheaza cu celula adiacenta de la capatul celalalt


B
C IV
0 0 1
A 0 1 11 0
1 1 1
0
1 1
1
I
Se imperecheaza singur
II III
f = I + II + III + IV
B C + A B+ ABC + A C

Exemplul 3:
F(A, B, C) = m(1, 3, 6, 7)

B
C
0 0 1
A 0 1 11 0
I
1 1
0
1 1
1
II III
Nu mai e necesara imperecherea asta (motivul mai jos)
F = I + II + III
F AB+ A C +BC
Redundancy theorem: - 3 variabile
- fiecare variabila e de cate 2 ori
- 1 variabila e complementata
Se iau termenii care includ variabila complementata (compl. si necompl.)
x
F AB+ A C +BC

Exemplul 3:
F(A, B, C) = m(0, 1, 5, 6, 7)

B
C
0 0 1
A 0 1 11 0
1 1 I
0
1 1 1
1

II III III

Sunt 2 combinatii posibile pentru valoarea 1 comuna dintre III si III : III si III
CAZ 1 CAZ 2
F = I + II + III F = I + II + III
F F
AB+ A B+ AC AB+ A B+ B C
Ambele cazuri sunt minime dar sunt diferite.

OBS.: Rezultatul e minim dar poate sa nu fie la fel sau UNIC.


Implicanti = grup de 1 (Ex.: 1, 2, 4, 8, 16 ... valori de 1)
Implicant prim = cel mai mare grup de 1 posibil
Implicant prim esential = contine cel putin un 1 care nu poate fi combinat in alt fel

C
D

A 0 0 11 1
B III
0 1 0

00 1

01 1 1

11 1 1

10 1

I II
Implicantul prim contine cel mai mare grup de 1 posibil => 2 de 1
I -> 1 de jos nu mai poate fi combinat altfel => Implicant prim esential
II -> valorile de 1 ale lui pot fi combinate altfel => Implicant non-esential
III -> 1 de sus nu mai poate fi combinat altfel => Implicant prim esential

K map cu 4 variabile
Exemplul 1:
F(A, B, C, D) = m(0, 2, 3, 7, 11, 13, 14, 15)

C
D II

A 0 0 11 1
B 0 1 0 III

00 1 1 1

01 1

11 1 1 1

10 1

IV I

Pentru 4 variabile grupul maxim de variabile ce poate fi grupat e 2 4 = 16 dar nu se regaseste in tabel.
F = I + II + III + IV
F CD+ A B D+ ABC + ABD

Exemplul 2:
F(A, B, C, D) = m(0, 2, 3, 5, 7, 8, 10, 11, 14, 15)

C
D

A 0 0 11 1
B 0 1 0

00 1 1 1

01 1 1

11 1 1

10 1 1 1

IV I II
F = I + II + III + IV
F CD+ B D+ AC + A BD

In cazurile cand K map e plin cu 1 atunci F = 1 pentru ca se modif toate variabilele.

B
C
0 0 1
A 0 1 11 0
1 1 1 1
0
1 1 1 1
1
F=1
Exemplul 3:
F(A, B, C, D) = m(1, 5, 7, 9, 11, 13, 15)

C
D

A 0 0 11 1
B 0 1 0

00 1

01 1 1

11 1 1

10 1 1

Nu-mi pasa in K map (Dont care)


F(A, B, C) = m(2, 3, 4, 5) + d(6, 7) Nu-mi pasa

Analogie: daca trebuie sa faci semn unui avion sa aterizeze doar pozitia mainilor e importanta, pozitia picioarelor nu conteaza.
Daca ar fi sa ignoram termenul de nu-mi pasa:
B
C
0 0 1
A 0 1 11 0
1 1
0
1 1 x X
1

F A B+ A B

x = Nu-mi pasa
Termenul de nu-mi pasa poate fi luat cu valoari de 1 sau 0 dupa cum urmeaza:
x => 1 (minterm)
x => 0 (maxterm)
Scopul regulii de deasupra e de a minimiza la maxim functia prin marirea grupurilor de 1.

B
C
0 0 1
A 0 1 11 0
1 1
0
1 1 1 1
1

F A +B
K map folosind MAXTERMI
Ex.1:

B
C
0 0 1
A 0 1 11 0
0 0 0 1
0
1 1 1 1
1
I II
F=I + II
F pentru ca sunt maxtermi si au valoarea de iesire 0
F= A B+ A C
( F)'=( A B + A C)'
Se aplica legea DeMorgan pentru a transforma din forma SOP in forma POS
F=( A B)' +( A C)'
F=( A + B )( A+C ' )
Se aplica distributivitatea:
F = A + BC
Rezolvand cu mintermi (folosind valorile 1 din tabel) obtinem acelasi lucru:
F = A + BC

Ex.2:
F(A, B, C, D) = m(1, 3, 4, 5, 9, 11, 14, 15) => mintermi
F(A, B, C, D) = M(0, 2, 6, 7, 8, 10, 12, 13) => MAXTERMI
24 = 16 celule pt tabel

C
D

A 0 0 11 1
B 0 1 0 II

00 0 0

01 0 0

11 0 0

10 0 0

III
II
F=I + II + III
F=B D+ A BC + AB C => se aplica DeMorgan
F=( B+ D )( A+ B+ C )( A+ B+C)

K map cu 5 variabile
!!!!!!xxxxx!!!!