Sunteți pe pagina 1din 21

23

2. ELEMENTE DE ALGEBR LOGIC (ALGEBR DE


COMUTAIE). FUNCII LOGICE

Algebra boolean este suportul matematic care st la baza proiectrii i funcionrii dispozitivelor i
circuitelor numerice i a fost introdus de matematicianul englez George Boole n 1854. Utilizarea ei pe
scar larg se datoreaz cercettorului Claude Shannon de la Bell Laboratories, care n 1938 a artat cum
poate fi aplicat aceast teorie la descrierea, analiza i proiectarea circuitelor n comutaie (la acea vreme
relee i comutatoare).
Algebra logic sau de comutaie este o algebr boolean cu aplicaii n domeniul calculatoarelor i se
definete ca o mulime B = {0,1}, creia i se asociaz trei operaii: SAU (OR, adunare logic, disjuncie), I
(AND, nmulire logic, conjuncie) i NU (NOT, negaie), reprezentate, respectiv, prin simbolurile:
SAU : +, , ;
I : , , ;
NU : ,
Aceste operaii se mai numesc i operaii logice fundamentale. Elementele 0 (F fals, false) i 1 (A
adevrat, T true) se numesc constante logice.
Variabilele care intervin n diverse expresii din algebra logic se mai numesc variabile logice i pot
lua una dintre cele dou valori cunoscute din B: 0 sau 1.

2.1. PROPRIETILE LEGILOR ALGEBREI LOGICE

n continuare sunt prezentate principalele proprieti ale legilor de compoziie ,+ i ale legii unare ,
caracteristice algebrei logice.
Astfel, pentru operaiile de adunare i nmulire logic sunt cunoscute urmtoarele proprieti, B z y x , , :
Asociativitatea:

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

Comutativitatea:

x y y x x y y x = + = + ,

Elemente neutre: 0 pentru + i 1 pentru
Idempotena:

x x x x x x = + = ,

Absorbia:

( ) x x y x x x y x = + = + ,

Distributivitatea:

) ( ) (
) (
z x y x z y x
z x y x z y x
+ + = +
+ = +


Pentru legea unar sunt cunoscute urmtoarele proprieti:
Legea dublei negaii:

x x = ) (
24

Legea terului exclus:

1 = + x x

Legea contradiciei:

0 = x x

Legea complementrii:

0 1 , 1 0 = = ;

Legea dualitii (De Morgan):

( ) ( ) ' ' ' , ' ' ' y x y x y x y x + = = +

Observaie
Proprietile de mai sus se pot extinde la orice numr finit de variabile.

Fie S
n
o mulime finit de n variabile logice:

S
n
= {x
n-1
,x
n-2
, , x
0
}

Aceast mulime se numete spaiu logic de dimensiune n i se poate reprezenta prin toate combinaiile
binare, de n bii, ce se pot obine nlocuind variabilele x
i
cu constantele 0 i 1, n total 2
n
combinaii. Un
punct al acestui spaiu n dimensional reprezint deci un cuvnt binar ntr-un anumit cod binar considerat ca
submulime a lui S
n
.
Tabelele operaiilor binare fundamentale sunt urmtoarele (tabelul 2.1, pentru adunare i nmulire i,
respectiv, tabelul 2.2, pentru negaie):

Tabelul 2.1. Adunarea logic i nmulirea logic






Tabelul 2.2. Negaia.









x y x+y xy
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1
x x
0 1
1 0

25
2.2. OPERATORI LOGICI FUNDAMENTALI

Operatorii SAU, I, NU se numesc fundamentali deoarece ei sunt suficieni pentru a putea implementa
orice funcie logic. Simbolurile grafice pentru operatorii logici fundamentali sunt prezentate n Fig. 2.1,
Fig. 2.2 i, respectiv, Fig. 2.3.





Fig. 2.1. Simbolul operatorului (porii logice) SAU.





Fig. 2.2. Simbolul operatorului (porii logice) I.




Fig. 2.3. Simbolul operatorului (porii logice) NU.

Combinnd operatorul NU cu operatorii I, SAU, se obine perechea de operatori: I-NU (NAND),
SAU-NU (NOR) care sunt, de asemenea, suficieni pentru a implementa orice funcie logic (tabelul 2.3).
Simbolurile grafice pentru aceti operatori sunt prezentate n Fig. 2.4 i, respectiv, Fig. 2.5.





Fig. 2.4. Simbolul operatorului (porii logice) I NU.






Fig. 2.5. Simbolul operatorului (porii logice) SAU NU.

Tabelul 2.3. Operatorii NAND i NOR

x y (xy) (x + y)
0 0 1 1
0 1 1 0
1 0 1 0
1 1 0 0

De fapt, datorit legii dualitii, se observ c un operator OR poate fi implementat cu ajutorul operatorilor
AND i NOT, un operator AND poate fi implementat cu ajutorul operatorilor OR i NOT, un operator
NAND poate fi implementat cu ajutorul operatorului NOR, un operator NOR poate fi implementat cu
ajutorul operatorului NAND.

x
y


x
y

x+y

26


Exemplul 2.1
Implementarea operatorilor OR cu ajutorul operatorilor AND i NOT i implementarea operatorului NOR cu
ajutorul operatorului NAND (Fig. 2.6 i, respectiv, Fig. 2.7).

x + y = (xy)










Fig.2.6. Implementarea operatorului OR cu ajutorul operatorilor AND i NOT.

(x + y) = xy = (((x1)(y1))1)










Fig.2.7. Implementarea operatorului NOR cu ajutorul operatorului NAND.

Alt operator logic important este operatorul XOR (sum modulo 2, sau exclusiv), prezentat n Tabelul
2.4. Simbolul operatorului (porii) XOR este prezentat n Fig. 2.8.


Tabelul 2.4. Operatorul XOR

x y y x
0 0 0
0 1 1
1 0 1
1 1 0








Fig. 2.8. Simbolul operatorului XOR.


27
Observaie
Operatorul XOR se poate exprima cu ajutorul operatorilor logici fundamentali:

' ' y x y x y x + = (2.1)

Acest egalitate se verific uor, pentru cele patru valori ale perechii (x,y).

Observaie
Este evident c orice operator fundamental se poate implementa cu ajutorul unui singur operator de tip
NAND, NOR sau XOR, deci orice funcie logic se poate implementa cu un astfel de operator. Mai de
folosit este implementarea cu pori NAND. Din aceast cauz, aceti operatori se numesc operatori
complei.

Observaie
n tabele au fost prezentai operatori cu dou intrri. Pentru operatorii cu mai multe intrri, aceste
tabele sunt uor de extins.

2.3. FUNCII LOGICE

Funciile logice monodimensionale sunt funcii de tipul:

1
: S S f
n
, (2.2)
unde:

S
1
= {x
0
} = {0,1}, iar S
n
= {x
n-1
,x
n-2
, , x
0
}

Expresia unei funcii logice se bazeaz pe operaiile logice prezentate (+, , , ), cu variabilele logice
din S
n
. Prin f, fiecrui punct din S
n
i se asociaz valoarea logic 0 sau 1.
Se spune c o funcie
1
: S S f
n
este complet specificat- sau complet definit - dac se cunosc
valorile funciei n toate punctele lui S
n
.
Se spune c o funcie
1
: S S f
n
este incomplet specificat - sau incomplet definit - dac nu se
cunosc valorile funciei n unele puncte ale lui S
n
.
O funcie logic poate fi reprezentat prin forma analitic (o relaie ntre variabilele logice), prin
tabelul de adevr sau prin diagrama bidimensional (n particular, prin diagrama Veitch Karnaugh) a se
vedea 2.3.1.
Funciile logice multidimensionale sunt funcii de tipul:

m n
S S f : , (2.3)

Pentru studierea funciei f este nevoie, n primul rnd, de reprezentarea spaiului logic S
n
.
Reprezentarea cea mai simpl a spaiului logic este sub form de tabel i const din listarea tuturor
combinaiilor posibile (n numr de 2
n
) n ordine binar natural (uneori poate fi utilizat i codul ciclic).
Astfel, n tabelul 2.5 este dat exemplul spaiului S
4
.












28
Tabelul 2.5. Elementele spaiului S
4


Numr de ordine
punct (hexa)
Reprezentare punct
x
3
x
2
x
1
x
0
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

O alt reprezentare a spaiului logic, util n procesul de minimizare, este prin diagrame
bidimensionale. n acest scop, spaiul S
n
se partiioneaz n dou subspaii complementare, unul pe orizontala
i altul pe verticala diagramei (2.5).

n j i S S S
j i n
= + = , (2.5)

Pentru fiecare direcie, se prefer codificarea ciclic (Gray).

Exemplul 2.2
Partiionarea spaiului S
4
ntr-un subspaiu de dimensiune 3 i unul de dimensiune 1:
1 3 4
S S S =








Fig.2.9. Partiionarea spaiului S
4
ntr-un subspaiu de dimensiune 3 i unul de dimensiune 1.

x
2
x
1
x
0
x
3

0 1 3 2 6 7 5 4
8 9 B A E F D C
000 001 011 010 110 111 101 100
0
1

29
Exemplul 2.3
Partiionarea spaiului S
4
n dou subspaii de dimensiune 2.

2 2 4
S S S =











Fig. 2.10. Partiionarea spaiului S
4
n dou subspaii de dimensiune 2.

2.3.1. Reprezentarea funciilor logice monodimensionale

Dup cum s-a menionat, o funcie
1
: S S f
n
poate fi reprezentat analitic, prin tabel (tabel) de
adevr sau prin diagrame bidimensionale (Veitch Karnaugh). n tabel, fiecrui punct al spaiului i se
asociaz valoarea corespunztoare a funciei. n cazul diagramei, n fiecare celul se trece aceast valoare.
Dac n reprezentarea analitic apare un produs de n variabile (n care sunt implicate toate cele n
variabile, normale sau negate), atunci acesta se va numi mintermen.
Se spune c o funcie logic este n form disjunctiv dac expresia ei analitic este o sum de produse
logice (2.6):

=
1
0
1 1 0
) ,..., , (
k
i
i n
p x x x f (2.6)

unde p
i
sunt produse de variabile normale sau negate ale spaiului logic S
n
. n cadrul unui produs logic,
numele variabilelor nu se repet (termeni normali).
Dac toi termenii p
i
sunt mintermeni, atunci reprezentarea de mai sus (2.6) se numete form
canonic disjunctiv (FCD). Este evident c, pentru un spaiu S
n
, avem 2
n
mintermeni posibili.
Se observ c mintermenii se pot scrie din cuvintele de cod corespunztoare de n bii, atribuind
variabila normal pentru simbolul 1 i variabila negat pentru simbolul 0 (Exemplul 2.4).
Dac n reprezentarea analitic apare o sum de n variabile, n care sunt implicate o singur dat toate
cele n variabile normale sau negate, atunci aceasta se va numi maxtermen. Se observ mintermenul i
maxtermenul sunt concepte duale.
Se spune c o funcie logic este n form conjunctiv dac expresia ei analitic este un produs de
sume logice (2.7):

=
1
0
1 1 0
) ,..., , (
m
i
i n
s x x x f , (2.7)

unde s
i
sunt sume din variabile normale sau negate ale spaiului logic S
n
.
Dac toi termenii s
i
sunt maxtermeni, atunci reprezentarea (2.7) se numete form canonic
conjunctiv (FCC).
Este evident c, pentru un spaiu S
n
, avem 2
n
maxtermeni posibili care se pot scrie din cuvintele de cod
corespunztoare de n bii, atribuind variabila normal pentru simbolul 0 i variabila negat pentru simbolul
1.




x
1
x
0
x
3
x
2

00 01 11 10
0 1 3 2
4 5 7 6
C D F E
8 9 B A
00
01
11
10
30
Exemplul 2.4
Pentru S
2
avem patru mintermeni i patru maxtermeni posibili (Tabelul 2.6).

Tabelul 2.6. Exemplu de mintermeni i maxtermeni.
Numr x
1
x
0
Mintermeni Maxtermeni
0
1
2
3
0 0
0 1
1 0
1 1
x
1
x
0

x
1
x
0

x
1
x
0

x
1
x
0

x
1
+ x
0

x
1
+ x
0

x
1
+ x
0

x
1
+ x
0



Observaie
Folosind proprietile algebrei logice, orice form disjunctiv poate fi adus la forma canonic
disjunctiv (Exemplul 2.5) i orice form conjunctiv poate fi adus la forma canonic conjunctiv
(Exemplul 2.6).

Exemplul 2.5

f(x
2
,x
1
,x
0
) = x
1
x
0
+ x
2
x
1
x
0
= x
1
x
0
(x
2
+ x
2
) + x
2
x
1
x
0
= x
2
x
1
x
0
+ x
2
x
1
x
0
+ x
2
x
1
x
0


Exemplul 2.6

f(x
2
,x
1
,x
0
) = (x
1
+ x
0
)(x
2
+ x
1
) = (x
1
+ x
0
+ x
2
x
2
)( x
0
x
0
+ x
2
+ x
1
)=

= (x
2
+ x
1
+ x
0
)(x
2
+ x
1
+ x
0
)(x
2
+ x
1
+ x
0
)(x
2
+ x
1
+x
0
)

Observaie
Indiferent de form, disjunctiv sau conjunctiv, operatorii fundamentali sunt implicai n trei trepte.
Astfel, pentru forma disjunctiv, succesiunea operatorilor este urmtoarea: treapta 1 NOT, treapta 2
AND, treapta 3 OR. Pentru forma conjunctiv, succesiunea operatorilor este urmtoarea: treapta 1 NOT,
treapta 2 OR, treapta 3 AND.

Observaie
Pentru o funcie complet specificat, suma dintre numrul de mintermeni (k) i numrul de
maxtermeni (m) este 2
n
:

k + m = 2
n
(2.8)

Expresiile (2.6) i (2.7) pot fi scrise compact astfel:

=
=
1 2
0
n
i
i i
m a f , (2.9)
unde a
i
este valoarea funciei f din tabelul de adevr corespunztoare mintermenului m
i
, respectiv,

=
+ =
1 2
0
) (
n
i
i i
M b f (2.10)

unde b
i
este valoarea funciei f din tabelul de adevr corespunztoare maxtermenului M
i
.
Reprezentarea funciei logice prin tabel de adevr presupune marcarea valorilor acesteia pentru
fiecare element al spaiului S
n
(cuvnt de cod). n partea dreapt a tabelului de adevr, se pot marca
mintermenii corepunztori valorii 1 i maxtermenii corepunztori valorii 0 (Tabelul 2.7).


31

Tabelul 2.7. Marcarea mintermenilor i maxtermenilor de interes pentru funcia f.

x
2
x
1
x
0
f(x
2
, x
1
,

x
0
) mintermeni maxtermeni
0 0 0 0 x
2
+ x
1
+ x
0

0 0 1 0 x
2
+ x
1
+ x
0

0 1 0 1 x
2
x
1
x
0

0 1 1 0 x
2
+ x
1
+ x
0

1 0 0 0 x
2
+ x
1
+ x
0

1 0 1 0 x
2
+ x
1
+ x
0

1 1 0 1 x
2
x
1
x
0

1 1 1 1 x
2
x
1
x
0



Astfel, mintermenii de interes sunt produsele obinute innd seama de elementele spaiului S
n
pentru
care f(x
n-1
,...,x
0
) = 1, nlocuind valorile 1 i 0 din cuvintele de cod prin variabilele corespunztoare biilor de
valoare 1 i, respectiv, prin variabilele negate, pentru biii de valoare 0. Maxtermenii de interes se obin
lund n considerare elementele spaiului S
n
pentru care f(x
n-1
,...,x
0
) = 0, nlocuind valorile 1 i 0 din cuvintele
de cod prin variabilele negate corespunztoare biilor de valoare 1 i, respectiv, prin variabilele normale,
pentru biii de valoare 0 (Tabelul 2.7).
Pornind de la tabelul de adevr, se pot determina FCD sau FCC. Astfel, pentru exemplul din tabelul
anterior, se obin urmtoarele rezultate:

FCD:

f(x
2
, x
1
,

x
0
) = x
2
x
1
x
0
+ x
2
x
1
x
0
+ x
2
x
1
x
0


FCC:

f(x
2
, x
1
,

x
0
) = (x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)

Utiliznd proprietile algebrei logice, se poate verifica echivalena celor dou forme, cutnd se
restrngem ct mai mult expresiile logice:

f
FCD
= x
2
x
1
x
0
+ x
2
x
1
x
0
+ x
2
x
1
x
0
= (x
2
+ x
2
)x
1
x
0
+ x
2
x
1
x
0
= x
1
x
0
+ x
2
x
1
x
0
= x
1
(x
0
+ x
2
x
0
) =

= x
1
(x
0
+ x
0
) (x
0
+ x
2
) = x
1
(x
0
+ x
2
) = x
1
x
0
+ x
2
x
1


f
FCC
= (x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
)( x
2
+x
1
+ x
0
) =

= (x
2
+ x
1
+ x
0
x
0
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
+ x
0
x
0
) = (x
2
+ x
1
)( x
2
+ x
1
+ x
0
)( x
2
+ x
1
) =

=(x
2
x
2
+ x
1
)( x
2
+ x
1
+ x
0
) = x
1
( x
2
+ x
1
+ x
0
) = x
1
x
0
+ x
2
x
1
+ x
1
x
1
= x
1
x
0
+ x
2
x
1


Deci:

f
FCD
= f
FCC

32
Reprezentarea funciei logice prin diagrame bidimensionale (diagrame Veitch Karnaugh) se face
prin marcarea valorilor funciei n poziiile corespunztoare diagramei spaiului logic S
n
. De multe ori se
marcheaz doar valorile logice 1.

Exemplul 2.7

f(x
2
, x
1
,

x
0
) = x
1
x
0
+ x
2
x
1
x
0
(2.11)








Fig. 2.11. Diagrama Karnaugh pentru funcia (2.11).

Funciile logice incomplet specificate (incomplet definite) se pot reprezenta innd seama de restriciile
(cerinele) caracteristice marcnd cu liniu (sau X) elementele din spaiul S
n
care nu au corespondent n
aceast funcie.

Exemplul 2.8
S se reprezinte prin tabel de adevr i diagram Karnaugh o funcie f care ia valoarea 1, dac un
numr de dou cifre zecimale, strict mai mic dect 30, este divizibil cu 11, i 0, dac nu este divizibil cu 11.
Astfel, la reprezentarea prin tabel de adevr, n afara intervalului [10,29] se pune , n dreptul numerelor 11
i 22 se pune 1, iar n rest, se pune 0 (Tabelul 2.8). Dimensiunea minim a spaiului logic de reprezentare
este 5. Analog, se reprezint funcia prin diagram Karnaugh (Fig. 2.12).













Fig. 2.12. Exemplu de diagram Karnaugh pentru o funcie incomplet specificat.

















x
2
x
1
x
0
x
4
x
3

000 001 011 010 110 111 101 100
00
01


















1 0 0 0 0 0
0 0 0 0



0 0
0 0 0 0 1 0 0 0
11
10
x
1
x
0
x
2

0 0 0 1
0 0 1 1
00 01 11 10
0
1

33

Tabelul 2.8. Exemplu de tabel de adevr pentru funcie incomplet specificat.

Numr x
4
x
3
x
2
x
1
x
0
f(x
4
,x
3
,x
2
,x
1
,x
0
)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 1 1
0 0 1 0 0
0 0 1 0 1
0 0 1 1 0
0 0 1 1 1
0 1 0 0 0
0 1 0 0 1
0 1 0 1 0
0 1 0 1 1
0 1 1 0 0
0 1 1 0 1
0 1 1 1 0
0 1 1 1 1
1 0 0 0 0
1 0 0 0 1
1 0 0 1 0
1 0 0 1 1
1 0 1 0 0
1 0 1 0 1
1 0 1 1 0
1 0 1 1 1
1 1 0 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
1 1 1 1 0
1 1 1 1 1










0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0



2.3.2. Minimizarea funciilor logice complet definite

Pentru o funcie logic exist mai multe expresii analitice echivalente. n proiectare se urmrete
alegerea unei expresii care s satisfac cerinele problemei cu un pre de cost ct mai sczut. De multe ori,
preul de cost se reflect n complexitatea expresiei logice.
Evaluarea complexitii unei funcii logice urmrete trei criterii:
Numrul de pori logice implicate n implementarea funciei logice. Acest numr este legat de numrul de
componente (circuite integrate) necesar pentru implementare, deci de cost i de consum energetic.
Numrul de niveluri (cascade) de pori. Fiecare nivel implic trecerea semnalului printr-o poart, ceea ce
nu se face instantaneu, ci ntr-un timp t
p
, numit timp de propagare. Numrul de niveluri indic timpul total
de propagare, asociat funciei logice, de la intrare la ieire. Timpul de propagare a unei funcii logice n
form canonic este 3t
p
, deoarece exist trei cascade: NOT/AND/OR (FCD) sau NOT/OR/AND (FCC).
Numrul de simboluri literale (intrri). Acest numr este legat de numrul de conexiuni (de intrri n
pori) i este limitat, prin construcie tehnologic (de exemplu, la 8 intrri/poart).
La o proiectare eficient intereseaz ca cele trei numere (criterii) s fie ct mai mici.
Pentru funcia (2.11), complexitatea este urmtoarea: patru pori logice, trei niveluri (presupunnd c
x
0
se obine din x
0
), trei intrri. Implementarea funciei este dat n Fig. 2.13.
De obicei, cele trei criterii nu acioneaz n aceeai direcie, astfel nct nu este posibil o minimizare
simultan dup toate criteriile.
34
Numrul de pori logice i numrul de simboluri pot fi reduse la o form minimal, echivalent, prin
mai multe metode: metoda analitic, metoda diagramelor Veitch Karnaugh, algoritmul Quine Mc
Cluskey.












Fig. 2.13. Implementarea funciei (2.11).

2.3.2.1. Metoda analitic

Pentru a minimiza expresia funciei logice, metoda analitic folosete proprietile algebrei logice.
Deoarece este mai comod s lucrm cu funcia specificat prin valorile logice egale cu 1, n continuare vom
considera expresia analitic n forma disjunctiv. Metoda analitic este greoaie i se aplic doar pentru
expresii de ntindere mic.

Exemplul 2.9
Se consider funcia logic (2.11):

f(x
2
,x
1
,x
0
) = x
1
x
0
+ x
2
x
1
x
0
= x
1
(x
0
+x
2
x
0
) = x
1
(x
0
+x
2
)(x
0
+x
0
) = x
2
x
1
+x
1
x
0


Rezult implementarea funciei de mai sus n forma minimal pe dou niveluri, coninnd trei pori logice
cu cte dou intrri/poart (Fig. 2.14).













Fig. 2.14. Implementarea funciei (2.11) n forma minimal, utiliznd pori logice.

2.3.2.2. Metoda diagramelor Veitch Karnuagh

Aceast metod utilizeaz diagramele bidimensionale codate ciclic pentru reprezentarea spaiului logic
S
n
i a funciei logice. Dac un subspaiu al lui S
n
(n care variabilele logice corespunztoare apar cu ambele
valori 0 i 1) este acoperit de funcia logic respectiv (n toat zona sunt valori ale funciei egale cu 1),
atunci acest subspaiu (variabilele logice corespunztoare) poate fi eliminat din expresiile mintermenilor
respectivi, care se nlocuiesc cu un produs format din variabilele rmase. Acest lucru este posibil doar dac 1
urile din diagram sunt adiacente pe orizontal i/sau pe vertical (adiacent nseamn distan 1 ntre
cuvintele de cod corespunztoare, adic acestea s difere ntr-un singur bit). Se vor avea n vedere grupri de
cte 2
k
elemente, k1.


35
Observaii
Pentru simplificri eficiente, se caut s se pun n eviden subspaii acoperite ct mai mari (grupri ct
mai mari).
Un punct poate fi folosit n mai multe grupri.
Aceast metod grafic este eficient n cazul funciilor cu un numr mic de variabile i nu este comod
pentru proiectarea software.

Exemplul 2.10
Funcia logic f(x
2
,x
1
,x
0
) = x
1
x
0
+ x
2
x
1
x
0
, avnd diagrama din Fig. 2.15, permite realizarea a dou
grupri figurate cu linie groas corespunznd celor doi termeni ai sumei din forma minimal: x
2
x
1
i
x
1
x
0
. Rezult:

f = x
2
x
1
+ x
1
x
0










Fig. 2.15. Minimizarea funciei (2.11) utiliznd diagrma V-K.

2.3.2.3. Algoritmul Quine McCluskey

Acest algoritm este mai comod de implementat software datorit unei mai bune sistematizri. El se
poate aplica pentru minimizarea funciilor cu un numr mare de variabile.
Pentru alctuirea algoritmului, se pleac de la mintermenii prezeni n tabelul de adevr al funciei.
Acetia se reordoneaz ntr-un alt tabel n care, pe coloana ntia se pun numele corespunztoare
mintermenilor, pe coloana a doua se pun reprezentrile binare ale mintermenilor, pe coloana a treia se pun
rezultatele iteraiei 1, pe coloana a patra se pun rezultatele iteraiei 2 .a.m.d.
Ordonarea se face pe grupe: grupa 0 care are numai mintermeni cu variabile negate (numai 0), deci
conine un singur mintermen, grupa 1 care are mintermeni cu o singur valoare de 1 (o singur variabil
nenegat), grupa 2 care are dou valori de 1 .a.m.d. Se observ c dou grupe adiacente difer printr-un
singur bit. Elementele fiecrei grupe sunt implicani. Un implicant este un produs logic p, de tip termen
normal, cu proprietatea c, dac p = 1, atunci, valorile logice corespunztoare lui p, nlocuite n f, conduc, de
asemenea la f = 1.
Un implicant p se numete prim dac, eliminnd o component a sa, nu mai are loc proprietatea de mai
sus.
ntr-o diagram Karnaugh, implicanii primi corespund celor mai mari grupri care acoper spaiul
respectiv.

Observaie
O form disjunctiv minimal este o sum de implicani primi.

Coloana a 3-a se determin din coloana a 2-a (iteraia 1) n felul urmtor. Se consider elementul din
grupa 0 a coloanei a 2-a i se caut un element pereche din grupa 1 a aceleai coloane care s difere de
primul printr-un singur bit (evident are un 1 n plus). Acestei perechi de implicani i va corespunde un
implicant n coloana urmtoare (a 3-a), ce va avea n-1 variabile, cele identice din implicanii pereche, iar n
locul variabilei lips se va pune simbolul .
Algoritmul continu, baleind de sus n jos coloana a 2-a, comparnd elementele din grupa i cu
elementele din grupa i+1. Implicanii pereche se marcheaz cu , iar implicantul rezultat prin comasare se
trece n coloana urmtoare (care, de asemenea, se organizeaz pe grupe).
Implicanii nepereche se marcheaz cu * i vor fi implicani primi.
0
0
1
1
10
1
x
1
x
0
x
2

0 0
0
00 01 11
0
1
36
Se trece apoi la completarea coloanei a 4-a (iteraia 2), comparnd (ca mai sus) termenii din grupele
adiacente din coloana a 3-a. n dou grupe se compar doar termenii care conin simbolul n aceeai
poziie. Procedeul continu, adaugnd coloane n dreapta pn la epuizarea posibilitilor de comparare.
Evident, coloanele din dreapta vor avea din ce n ce mai puini implicani, iar ultima coloan va avea
doar implicani primi.
Toi mintermenii se regsesc n mulimea implicanilor primi, care, de regul, este redundant.
Pentru a obine forma minimal a lui f se procedeaz astfel:
Se observ i se marcheaz mintermenii care apar intr-un singur implicant prim. Aceti implicani se
numesc implicani primi eseniali.
Dintre implicanii primi rmai se selecteaz un numr minim care s acopere toi ceilali mintermeni.
O form minimal a funciei logice va avea expresia obinut prin sumarea logic a implicanilor primi
eseniali i a implicanilor primi selectai, obinui prin nlocuirea lui 1 cu variabila normal corespunztoare,
nlocuirea lui 0 cu variabila negat i eliminarea simbolului .

Exemplul 2.11
S se minimizeze funcia logic care ia valoarea 1 pentru numerele naturale din intervalul [0,15],
divizibile cu 2 sau 3, i 0 pentru numerele naturale din intervalul [0,15] care nu sunt divizibile cu 2 sau 3.
Pentru determinarea implicanilor primi se alctuiete tabelul 2.9, urmrind paii algoritmului descris.
Rezult gruprile care genereaz implicanii primi:

001 x
3


x
2


x
1
;
100 x
3


x
2


x
1
;
111 x
3


x
2


x
1

i
0 x
0


Pentru determinarea implicanilor primi eseniali i a implicanilor primi selectai se alctuiete tabelul
2.10. Se observ c m
3
este acoperit doar de 001 , deci x
3


x
2


x
1
este un implicant prim esenial. Analog, se
arat c toi implicanii primi de mai sus sunt eseniali. Deci, forma minimal a lui f este:

f(x
0
,x
1
,x
2
,x
3
) = x
0
+ x
3


x
2


x
1


+ x
3


x
2


x
1
+ x
3


x
2


x
1


Tabelul 2.9. Determinarea implicanilor primi din exemplul 2.11.

Nr. Minter-
men
Reprez.
binara
Etapa I Etapa II Etapa III
Col. 1

2 3 4 5
0
m
0
0000
(0,2)
000
(0,2,4,6)
00
(0,2,4,6,8,10,12,14)
0 *
2
m
2
0010
(0,4)
000
(0,4,8,12)
00

4
m
4
0100
(0,8)
000
(0,2,8,10)
00

8
m
8
1000
(2,3)
001 *
(2,6,10,14)
10

3
m
3
0011
(2,6)
010
(4,6,12,14)
10

6
m
6
0110
(2,10)
010
(8,10,12,14)
1 0

9
m
9
1001
(4,6)
010

10
m
10
1010
(4,12)
100

12
m
12
1100
(8,9)
100 *


37
14
m
14
1110
(8,10)
100

15
m
15
1111
(8,12)
100



(6,14)
110



(10,14)
110



(12,14)
110



(14,15)
111 *



Tabelul 2.10. Selectarea implicanilor primi pentru forma minimal a funciei logice f

Minter-
meni
m
0
m
2
m
3
m
4
m
6
m
8
m
9
m
10
m
12
m
14
m
15

001 X X
100 X X
111 X X
0 X X X X X X X X


2.3.2.4. Minimizarea funciilor incomplet definite

Dac funcia logic este incomplet definit, n punctele spaiului n care apare (funcia nu este
definit) se poate pune fie 0, fie 1. Prelungirea concret a domeniului se face innd seama de eficiena
alocrii n procesul de minimizare a funciei logice. Astfel, ar trebui analizate toate posibilitile de
transformare ntr-o funcie complet definit i aleas acea soluie care conduce la forma minimal
convenabil (eventual, cu un numr minim de implicani primi).

Exemplul 2.12
Fie f o funie incomplet definit dat prin tabelul de adevr 2.11.
Rezult diagrama V-K din Fig. 2.16, n care, pentru din poziia 2
10
s-a pus 1, iar pentru din poziia 14
10
s-
a pus 0.

Tabelul 2.11
Nr. x
3
x
2
x
1
x
0
f(x
3
,x
2
,x
1
,x
0
)
0 0 0 0 0 1
1 0 0 0 1 0
2 0 0 1 0
3 0 0 1 1 0
4 0 1 0 0 1
5 0 1 0 1 0
6 0 1 1 0 1
38
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 0
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0
15 1 1 1 1 0










Fig. 2.16 Diagrama Karnaugh pentru f din tabelul 2.11.

Rezult forma minimal:

f(x
0
,x
1
,x
2
,x
3
) = x
3


x
0


Dac se utilizeaz algoritmul Quine McCluskey, atunci trebuie fcute ncercri pentru fiecare dintre
combinaiile posibile pentru completarea valorilor nespecificate. n total sunt 4 combinaii posibile pentru
cele dou locaii, 0010 (m
2
) i 1110 (m
14
).
Evident, cazul 3 ofer direct forma minimal, x
3


x
0
.

Cazul 1: m
2
= 0 i m
14
= 0

Tabelul 2.12
m
0
0000
(0,4)
000 *
m
4
0100
(4,6)
010 *
m
6
0110







x
1
x
0
x
3
x
2

00 01 11 10
1 0 0 (1)
1 0 0 1
0 0 0 (0)
00
01
11
10 0 0 0 0

39
Cazul 2: m
2
= 0 i m
14
= 1

Tabelul 2.13
m
0
0000
(0,4)
000 *
m
4
0100
(4,6)
010 *
m
6
0110
(6,14)
110 *
m
14
1110

Cazul 3: m
2
= 1 i m
14
= 0

Tabelul 2.14
m
0
0000
(0,2)
000
(0,2,4,6)
00 *
m
2
0010
(0,4)
000

m
4
0100
(2,6)
010

m
6
0110
(4,6)
010



Cazul 4: m
2
= 1 i m
14
= 1

Tabelul 2.15
m
0
0000
(0,2)
000
(0,2,4,6)
00 *
m
2
0010
(0,4)
000

m
4
0100
(2,6)
010

m
6
0110
(4,6)
010

m
14
1110 (6,14)
40
110 *


2.3.3. Funcii logice n forme neelementare

O funcie logic neelementar are forma unei compuneri de funcii elementare (2.12):

f = g(h
1
, h
2
,, h
r
) (2.12)

unde funciile h
1
, h
2
,, h
r
i funcia de legtur g sunt funcii elementare (forma disjunctiv sau forma
conjunctiv).
Spaiul logic de definiie al funciei f, S(f) este reuniunea spaiilor logice de definiie ale funciilor h
1
,
h
2
,, h
r
:
U
r
i
i
h S f S
1
) ( ) (
=
=
(2.13)

O funcie logic neelementar poate fi adus la o form elementar prin metoda analitic sau prin
metoda tabelului de adevr. Acest lucru va fi ilustrat prin dou exemple.

Exemplul 2.13. Aducerea la forma elementar prin metoda analitic.
Se consider funcia logic urmtoare:

f(x
2
, x
1
, x
0
) = (x
2
x
0
+ (x
1
+ x
2
x
1
)) (a x
0
+ x
1
),

a fiind o constanta logic, a {0,1}.
Evident,

f = (h
1
+h
2
) h
3
, h
1
(x
2
, x
0
) = x
2
x
0
, h
2
(x
2
, x
1
) = x
1
+x
2
x
1
, h
3
(x
1
, x
0
) = ax
0
+x
1
,

unde h
1
,h
2
,h
3
sunt funcii elementare n forma disjunctiv. Funcia f poate fi adus la o form elementar
disjunctiv prin metoda analitic, utilizand proprietile algebrei logice.
Rezult:

h
2
(x
2
, x
1
) =(x
1


+x
2
x
1
) =x
1
(x
2
x
1
) = x
1
(x
2
+x
1
) =x
2
x
1
,

i forma disjunctiv a lui f:

f(x
2
, x
1
, x
0
) = ( x
2
x
0
+ x
2
x
1
)(ax
0
+ x
1
) = ax
2
x
0
+ x
2
x
1
x
0
+ ax
2
x
1
x
0
+ x
2
x
1
= ax
2
x
0
+ x
2
x
1


Exemplul 2.14. Aducerea la forma elementar prin metoda tabelului de adevr.
Se consider funcia f de mai sus. Tabelul de adevr este urmtorul:

Tabelul 2.16
x
2
x
1
x
0
x
2
x
0
+(x
1
+x
2
x
1
) ax
0
+x
1
f (minter.)
0 0 0 0 a 0
0 0 1 0 0 0
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 1 a a (m
1
)
1 0 1 0 0 0

41
1 1 0 1 1 1 (m
2
)
1 1 1 1 1 1 (m
3
)

Rezult forma disjunctiv a funciei f:

f(x
2
, x
1
, x
0
) = ax
2
x
1
x
0
+ x
2
x
1
x
0
+ x
2
x
1
x
0
= ax
2
x
1
x
0
+ x
2
x
1
= x
2
(ax
1
x
0
+ x
1
) =
= x
2
(ax
0
+ x
1
) (x
1
+ x
1
) = ax
2
x
0
+ x
2
x
1


2.3.4. Funcii logice multidimensionale

Funciile logice multidimensionale au ca domeniu al valorilor un spaiu logic S
m
, m2 (2.14):

m n
S S F : (2.14)

n Fig. 2.17 este dat simbolul unui circuit logic (CL) care reprezint o funcie logic multidimensional.
Intrrile circuitului, sunt variabilele funciei x
0
, x
1
,...,x
n-1
iar ieirile sunt componentele funciei y
0
,
y
1
,...,y
m-1
reprezentate prin funciile logice monodimensionale f
0
, f
1
,..., f
m-1
.






Fig. 2.17. Circuit logic reprezentnd o funcie logic multidimensional.

Deoarece fiecare ieire a circuitului logic multidimensional este o funcie monodimensional,
metodele de analiz i proiectare pentru funciile logice monodimensionale pot fi utilizate i aici.

Aplicaii

i) S se minimizeze n forma disjunctiv, funcia reprezentat prin urmtoarea diagram Karnaugh (X
semnific valoare logic indiferent):






ii) S se precizeze mintermenii din forma disjunctiv:
f = x
1
x
0
+ x
2
x
1
iii) S se minimizeze n forma disjunctiv, funcia reprezentat prin urmtoarea diagram Karnaugh (X
semnific valoare logic indiferent):


x
0
x
n-1
y
m-1
=f
m-1
(x
0
,,x
n-1
)

y
0
=f
0
(x
0
,,x
n-1
)

CL
X 0
1 X
1 X
0 0
x
2
x
1
x
0
42






iv) S se precizeze maxtermenii din forma conjunctiv a funciei f:
f = (x
0
+ x
1
+ x
2
) (x
0
+ x
1
)
v) Pentru funcia f, prezentat prin tabelul de adevr:

x
2
x
1
x
0
f
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
0
0
0
1
1
1
1
s se scrie FCC.
vi) Pentru funcia f, prezentat prin tabelul de adevr:
x
2
x
1
x
0
f
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
1
0
1
0
1

s se scrie FCD.
0 1
0 0
0 0
0 1
x
3
x
2


x
1
x
0
1 0
0 X
0 0
X 0

43
vii) S se minimizeze n forma disjunctiv, funcia reprezentat prin urmtoarea diagram Karnaugh (X
semnific valoare logic indiferent):

0 1
0 0
x
2


x
1
x
0
1 0
0 X