Sei sulla pagina 1di 5

Karnaugh map (K map)

= +
Mintermi A B C F Forma canonica (se iau mintermii pentru care F=1)
m0 0 0 0 0
BC/00 = + + + +
A/0 m0
01
= + ( + ) + ( + )
m1 0 0 1 0 0 m1 = + +
10 = + =>se ingora
m2 0 1 0 1 0 m2 = +
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 = 0 m0 m1 m3 m2
A = 1 m4 m5 m7 m6

4. Se inlocuiesc mintermii cu valorile lor


Ordinea de scriere, de la MSB (most significant bit) la LSB (least significant bit)
LSB
BC
MSB

A 00 01 11 10
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 1 => 4 de 1 => 8 de 1 => 16 de 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
BC
A 00 01 11 10
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 =>
F = A +
Exemplul 1:
F(A, B, C) = m(1, 3, 5, 7) Mintermii: m1, m3, m5, m7 .
In formula sunt prezentati doar mintermii care au valori de 1
MSB LSB SOP (sum of products)
most least
significant 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 = 2n ;unde n = nr de variabile
23 = 8

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


BC BC
A 00 01 11 10 A 00 01 11 10
0 m0 m1 m3 m2 0 0 1 1 0
1 m4 m5 m7 m6 1 0 1 1 0
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)

BC
A 00 01 11 10 Se imperecheaza cu celula adiacenta de la capatul celalalt
0 1 1 1
IV
1 1 1
Se imperecheaza singur
I II III

f = I + II + III + IV
= + + +

Exemplul 3:
F(A, B, C) = m(1, 3, 6, 7)
BC
A 00 01 11 10
0 1 1
1 1 1
II I
III
Nu mai e necesara imperecherea asta (motivul mai jos)
F = I + II + III
F = + +
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 = + +
Exemplul 3:
F(A, B, C) = m(0, 1, 5, 6, 7)

BC
A 00 01 11 10
0 1 1
1 1 1 1

I
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 = + +
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

CD
AB 00 01 11 10
00 1
01 1 1
11 1 1 III
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)
CD
AB 00 01 11 10
00 1 1 1
II
01 1
11 1 1 1
10 1 III

IV I
Pentru 4 variabile grupul maxim de variabile ce poate fi grupat e 24 = 16 dar nu se regaseste in tabel.
F = I + II + III + IV
F = + + +
Exemplul 2:
F(A, B, C, D) = m(0, 2, 3, 5, 7, 8, 10, 11, 14, 15)
CD
AB 00 01 11 10
00 1 1 1
01 1 1 II
11 1 1
10 1 1 1

IV I II
F = I + II + III + IV
F = + + +

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


BC
A 00 01 11 10
0 1 1 1 1
1 1 1 1 1
F=1
Exemplul 3:
F(A, B, C, D) = m(1, 5, 7, 9, 11, 13, 15)
CD
AB 00 01 11 10
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:
BC
A 00 01 11 10
0 1 1
1 1 1 x X

F = +

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.
BC
A 00 01 11 10
0 1 1
1 1 1 1 1

F=+
K map folosind MAXTERMI
Ex.1:
BC
A 00 01 11 10
0 0 0 0 1
1 1 1 1 1
I II
= +
F pentru ca sunt maxtermi si au valoarea de iesire 0
= +
( ) = ( + )
Se aplica legea DeMorgan pentru a transforma din forma SOP in forma POS
= () + ( )
= ( + ) ( + )
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
CD
AB 00 01 11 10
00 0 0
01 0 0
11 0 0
0 0 II
10
III
II
= + +
+ +
= => se aplica DeMorgan
= ( + ) ( + + ) ( + + )

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

Potrebbero piacerti anche