Sunteți pe pagina 1din 22

4 FUNCII BINARE

4.1 Algebra boolean


n secolul al XIX-lea, matematicianul englez George Boole (1815-1864) formalizeaz
logica aristotelic, bazat pe dihotomia adevrat-fals, sub forma unei algebre cunoscut sub
numele de algebr Boole sau algebr boolean.
Exist mai multe moduri n care poate fi prezentat sistematic logica boolean. Pe de
o parte s-a ncercat folosirea unui numr minim de axiome: s-a reuit chiar dezvoltarea
algebrei Boole pornind de la o singur axiom (foarte complex i neintuitiv). Pe de alt
parte s-a ncercat folosirea unui numr minim de funcii logice de baz. Toate aceste soluii
sunt ns limitative din punct de vedere ingineresc, deoarece "realizarea concret a
structurilor numerice este bine sprijinit numai de un cadru teoretic flexibil, n care
diversitatea formelor de reprezentare este mult mai important dect rigiditatea i
austeritatea performanelor pur formale" ([tefan, 2000]).
n cele ce urmeaz am definit o algebr boolean folosind postulatele lui
Huntington, un grup de afirmaii propuse pentru prima dat n 1904 ([Mowle, 1976]).
O algebr boolean este un ansamblu = + , , , M format din mulimea suport M cu
un numr finit de elemente, operaia binar SAU notat cu simbolul +, operaia binar I
notat cu simbolul
.
i o relaie de echivalen ntre elementele mulimii M, notat cu
simbolul =, dac sunt ndeplinite urmtoarele 6 postulate:
P1 operaiile sunt nchise:
M y x M y x M y x + ; , ,
P2 pentru fiecare operaie exist un element neutru:
0 i. a. , 0 exista , x x M M x = +
1 i. a. , 1 exista , x x M M x =
P3 operaiile sunt comutative:
x y y x x y y x M y x = + = + ; , ,
54 4 FUNCII BINARE
P4 operaiile sunt distributive:
( ) ( ) ( ) z x y x z y x M z y x + + = + , , ,
( ) ( ) ( ) z x y x z y x + = +
P5 pentru fiecare element M x exist un element M x :
0 ; 1 a.i. , x exista , = = + x x x x M M x
P6 exist cel puin 2 elemente distincte n mulimea M:
y x M y x i. a. , ,
Se poate uor observa c fiecare propoziie este exprimat prin dou echivalene
boolene. Una se obine din cealalt prin interschimbarea operaiilor binare SAU cu I i a
constantelor 0 cu 1. Aceast proprietate special se numete dualitate.
Principiul dualitii este foarte important pentru c odat ce am demonstrat c o
echivalen boolean este adevrat, atunci i echivalena dual este adevrat. Acest lucru se
poate demonstra prin aplicarea postulatelor de mai sus n ordinea folosit pentru demonstraia
echivalenei iniiale. n general, dualitatea este valabil pentru orice proprietate boolean.
Folosind postulatele lui Huntington vom demonstra o serie de teoreme fundamentale:
T1 Legile lui 1 i 0
1 = 1 + ; 0 0 , x x M x =
Demonstraie:
( ) ( ) ( ) ( ) 0 0 0 0 0 0
P5 P2 P4 P5 P2
= = + = + = + = x x x x x x x x x
S-a pornit din membrul stng i s-a introdus operaia SAU (postulatul 2);
elementul neutru astfel introdus este nlocuit de x x (postulatul 5) n vederea
aplicrii distributivitii (postulatul 4); se elimin elementul neutru pentru operaia
SAU (postulatul 2) i se aplic din nou postulatul 5.
Pentru demonstrarea expresiei duale se parcurge aceeai secven de postulate,
dar se folosesc expresiile duale:
( ) ( ) ( ) ( ) 1 1 1 1 1 1
P5 P2 P4 P5 P2
= + = + = + + = + = + x x x x x x x x x
T2 Legile complementului
Complementul lui 0 este 0 , iar 1 0 = ; Complementul lui 1 este 1 , iar 0 = 1 .
Demonstraie:
x x
P2
0= + , deci 0 0 0 = + . Dar 1 0 0
P5
= + , deci 1 0 = .
A doua relaie se poate demonstra prin dualitate.
T3 Legea de unicitate a complementului
Orice element M x are un complement unic, notat prin x
Demonstraie:
Presupunem c elementul x are dou complemente
1
x i
2
x
( ) ( ) ( ) ( )
P5
2 1
P5
2 1 1
P4
2 1
P5
1
P2
1
1 0 = + = + + = + = + = x x x x x x x x x x x
( ) ( ) ( )
2
P2
2
P5
1 2
P4
1 2 2
0 x x x x x x x x x = + = + = + + =
4.1 Algebra boolean 55
T4 Legile de idempoten
x x x x x x M x = = + ; ,
Demonstraie:
( ) ( ) ( ) ( ) x x x x x x x x x x x x x
P2 P5 P4 P5 P2
0 1 = + = + = + + = + = +
A doua relaie se poate demonstra prin dualitate.
T5 Legile de absorbie
( ) ( ) x y x x x y x x M y x = + = + ; , ,
Demonstraie:
( ) ( ) ( ) ( ) x x y x y x x y x x
P2 T1 P4 P2
1 1 1 = = + = + = +
Demonstraia este simplificat aici prin folosirea legilor lui 1 i 0 (T
1
). A doua
relaie se poate demonstra prin dualitate.
T6 Legea de involuie
x x M x = ,
Demonstraie:
( ) ( ) ( ) ( ) ( ) x x x x x x x x x x x x x + = + = + + = + = + =
P2 P5 P4 P5 P2
1 0
( ) ( ) ( ) ( ) ( ) x x x x x x x x x x x x x = + = + = + = =
P2 P5 P4 P5 P2
0 1
Prin substituie obinem urmtorul rezultat: x x x x = + . Pe de alt parte,
conform legilor de absorbie (T5): x x x x = + . Putem renuna la paranteze, dac
admitem precedena operaiei I asupra lui SAU. Concluzia este c x x = .
T7 Legile de asociativitate
( ) ( ) ( ) ( ) z y x z y x z y x z y x M z y x = + + = + + ; , , ,
Demonstraie:
Notm ( ) U z y x = + + i ( ) V z y x = + + . Se demonstreaz urmtoarele
echivalene: U V U = i V V U = . Prin proprietatea de tranzitivitate a relaiei de
echivalen rezult V U = . A doua relaie se poate demonstra prin dualitate.
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
T5 T4, P4, P4
= + + + + + + = + + + + z y z y x x z y x z y x z y x
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
T5 T4, P4, P4
= + + + + + + = + + + + = z z y x y z y x x z y z y x x
( ) ( ) ( ) ( ) z y x z z y x y x + + = + + + + =
T5 T4, P4,
. Deci s-a artat c V V U = .
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
T5 T4, P4, P4
= + + + + + + = + + + + z y x z z y x y x z y x z y x
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
T5 T4, P4, P4
= + + + + + + = + + + + = z z y x y z y x x z z y x y x
( ) ( ) ( ) ( ) ( ) ( ) z y x z y z y x x + + = + + + + =
T5 T4, P4,
. Deci s-a artat c U V U = .
Calculele efectuate aici folosesc multe paranteze. Exist unele convenii care
deriv din reprezentrile algebrice uzuale i care au rolul de a simplifica scrierea
expresiilor boolene. Se obinuiete ca operaia I s aib preceden asupra operaiei
SAU, iar uneori s fie chiar omis n reprezentare. De exemplu, expresia z xy +
trebuie interpretat ca fiind ( ) ( ) z y x + .
56 4 FUNCII BINARE
T8 Legile lui De Morgan
y x y x y x y x M y x + = = + ; , ,
Demonstraie:
( ) ( ) ( ) ( ) 0
P2 P5, T7, P4
= + = + y x y y x x y x y x
( ) ( ) ( ) 1
T1 P5, P2 P5, P4, T7
= + + = + + = + + y y x y y x x y x y x
Expresiile y x + i y x sunt expresii boolene, deci elemente din mulimea M,
i se supun postulatului 5. Deci prima lege, care poart numele lui Augustus De
Morgan (1806-1871), a fost demonstrat. Echivalena dual este i ea adevrat.
4.2 Funcii binare
O funcie binar cu n intrri este o aplicaie a mulimii { }
n
1 , 0 n mulimea format din 2
elemente { } 1 , 0 . Domeniul de definiie al funciei este mulimea configuraiilor binare de n bii:
{ } ( ) { } { } { } { } 1 , 0 , ... , 1 , 0 , 1 , 0 ... 1 , 0
2 1 2 1
=
n n
n
x x x x x x . Cardinalul mulimii { }
n
1 , 0 este
n
2 .
Numrul maxim de funcii binare distincte care pot fi generate cu n variabile se poate
stabili uor: pentru fiecare dintre cele
n
2 configuraii binare posibile o funcie are valorile 0 sau
1; dac pentru i configuraii funcia are valoarea 1, atunci pentru celelalte are valoarea 0, iar
numrul de funcii distincte este
i
n
C
2
. Cum numrul i variaz de la 0 pn la
n
2 , numrul
maxim de funcii binare N este:
n
n
n
i
i
C N
2
2
0
2
2 = =

=
Se poate observa c pentru n = 2 exist 16 funcii binare distincte, care sunt
reprezentate prin tabelul de adevr 4.1.
Tabelul 4.1
x y f
0
f
1
f
2
f
3
f
4
f
5
f
6
f
7
f
8
f
9
f
10
f
11
f
12
f
13
f
14
f
15
0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 0 1
0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 1
1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1
1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 1 1
Funciile f
0
i f
15
sunt constante i sunt de fapt cele 2 funcii care pot fi generate cu
n = 0 variabile. Ele se mai numesc funcie nular, respectiv funcie unar.
Funcia f
10
este funcia identitate pentru variabila x, iar funcia f
5
este negaia
variabilei x. Setul de funcii f
0
, f
15
, f
10
i f
5
reprezint numrul maxim de funcii binare
generate cu variabila x. Setul de funcii f
0
, f
15
, f
9
i f
6
reprezint acelai lucru pentru y.
Toate celelalte funcii din tabel sunt funcii de dou variabile, variabile notate aici cu
x i y. Ele se implementeaz cu ajutorul unor operatori logici sau pori logice. Exist
denumiri consacrate pentru cele mai importante funcii binare, precum i reprezentri
grafice standard. Tabelul din figura 4.1 ilustreaz o parte dintre ele ([Mange, 1987]).
4.2 Funcii binare 57
x
y
f
4
Denumirea funciei
i relaia boolean
Denumirea circuitului Reprezentri grafice standard
MIL-STD-806B CEI
conjuncia
f = x y
4
.
x
y
f
4
&
I (AND)
11
x
y
f
&
negarea
conjunciei
f = x y
11
.
I-NU (NAND)
x
y
f
11
f
14
x
y
x
y
f
14
>
=
1
disjuncia
f = x+ y
14
SAU (OR)
f
1
x
y
negarea
disjunciei
f = x+ y
1
SAU-NU (NOR)
x
y
f
1
>
=
1
f
7
x
y
f
8
x
y
f
5
x
f
10
x
x
y
f
7
=1
echivalena
f x y
7
=
COINCIDENA
(COMPARATOR)
x
y
f
8
=1
f x y
8
=
negarea
echivalenei
SAU EXCLUSIV
(XOR)
x
1
f
5
f x
5
= f y
6
=
negaia
;
INVERSOR
(NOT)
identitate
f x
10
= ; f y
9
=
NEINVERSOR
x
1
f
10
(BUFFER)
Fig. 4.1 Pori logice care implementeaz funcii binare
Nu toate funciile din tabelul 4.1 sunt reprezentate n figura de mai sus. Funcia f
13
,
de exemplu, are valoarea logic 0 dac x = 1 i y = 0. Funcia se numete implicaie
direct, iar relaia boolean se scrie y x y x f + = =
13
. Circuitul logic nu are o denumire
consacrat pentru c el nu poate fi implementat cu o singur poart logic. Expresia
algebric arat c sunt necesare cel puin dou pori: un inversor i o poart SAU cu 2
intrri. Funcia f
12
este implicaia invers, care se scrie y x x y f + = =
12
. Funcia f
3
are
aceleai valori cu coloana variabilei x, cu excepia cazului 1 = = y x , motiv pentru care se
numete interdicie, n sensul y interzice x. Ea este de fapt negaia implicaiei directe.
Funcia f
2
este interdicia n sensul x interzice y i negaia implicaiei inverse. i pentru
implementarea interdiciilor sunt necesare cel puin dou pori logice.
Exist mai multe reprezentri grafice standard pentru porile logice. Tabelul din
figura 4.1 le prezint pe cele mai uzuale. Primul standard folosit este standardul militar
american MIL-STD-806B, care este nc preferat de majoritatea utilizatorilor, pentru c
este simplu i sugestiv. Cellalt standard a fost stabilit de Comisia Electrotehnic
Internaional(Commission lectrotechnique Internationale-CEI) i are recunoatere
internaional la ora actual. Un standard foarte apropiat de acesta din urm este standardul
american ANSI/IEEE STD 91-1984.
58 4 FUNCII BINARE
4.3 Moduri de reprezentare
Funciile binare se reprezint de obicei prin tabele de adevr, expresii boolene, forme
geometrice sau diagrame Veitch-Karnaugh.
Reprezentarea prin tabel de adevr, cum este de exemplu tabelul 4.1, este cea mai
simpl form de reprezentare. Fiecare variabil binar a funciei are cte o coloan, iar
numrul maxim de combinaii binare posibile stabilete numrul de linii din tabel. Valorile
funciei pentru fiecare din aceste combinaii binare sunt trecute ntr-o coloan separat. Dac
funcia are ns multe variabile, atunci dimensiunile tabelului pot deveni mult prea mari.
Expresia boolean a unei funcii binare poate fi o form canonic, o form
elementar sau o form neelementar. O form canonic este o expresie care conine
termeni canonici, adic termeni care conin toate variabilele independente ale funciei, sub
form direct sau negat. Un termen canonic poate fi de tip produs logic, i se noteaz cu
i
P ,
sau de tip sum logic, i se noteaz cu
i
S , unde i variaz de la 0 la 1 2
n
, dac funcia are n
variabile.
Forma canonic disjunctiv a unei funcii binare este format din disjuncia termenilor
i
P i se scrie sub forma

1 2
0
) (

=
=
n
i
i i cd
P a f , unde
i
a este 0 sau 1, n funcie de absena sau
prezena termenului
i
P din sum.
nainte de a exemplifica reprezentarea prin aceast form canonic, vom enuna o
teorem, cunoscut sub numele de teorema de expansiune boolean:
Dac { } { } 1 , 0 1 , 0 :
n
f este o funcie binar, atunci pentru orice ( ) { }
n
n
x x x 1 , 0 ...
2 1
se
poate scrie: ( ) ( ) ( )
n n n
x x f x x x f x x x x f , ... , , 1 , ... , , 0 , ... , ,
2 1 2 1 2 1
+ = .
Demonstraia este evident: dac 0
1
= x , atunci ( ) ( )
n n
x x f x x x f ,..., , 0 , ... , ,
2 2 1
= , iar
dac 1
1
= x , atunci ( ) ( )
n n
x x f x x x f ,..., , 1 , ... , ,
2 2 1
= .
Exemplul 4.1
Funcia de 2 variabile descris prin tabelul de adevr de mai jos se poate scrie:
( ) ( ) ( ) ( ) ( ) 1 , 1 0 , 1 1 , 0 0 , 0 ,
2 1 2 1 2 1 2 1 2 1
f x x f x x f x x f x x x x f + + + =
x
1
x
2
f
(x
1
x
2
, )
0 0
0
0
0 1
1
1 1
1
1
1
f
(x
1
x
2
, )
=
x
1
x
2
.
x
1
x
2
.
+
x
1
x
2
.
+ =
= P
0
+
P
2
+
P
3
=

0, 2, 3 ( )
Funcia are numai dou variabile, deci este scris ca o sum logic de termeni canonici
de tip produs. Indicii termenilor
i
P sunt poziiile din tabel pentru care valorile funciei sunt 1
logic, poziii numerotate de la 0 la 1 2
n
, adic 3. Indicii se pot deduce i din expresia
algebric a funciei, dac lum fiecare termen canonic i facem conversia n zecimal a
numrului binar obinut prin nlocuirea variabilei negate cu 0 i a variabilei directe cu 1, innd
seama de rangul fiecrei variabile. Aici
1
x este pe poziia bitului cel mai semnificativ, iar
2
x
pe cea a bitului cel mai puin semnificativ.
4.3 Moduri de reprezentare 59
Forma canonic conjunctiv a unei funcii binare este format din conjuncia
termenilor
i
S i se scrie sub forma ( )

1 2
0

=
+ =
n
i
i i cc
S a f , unde
i
a este 0 sau 1, n funcie de
prezena sau absena termenului
i
S din produs.
Exemplul 4.2
Funcia ( )
2 1
, x x f din exemplul 4.1 devine ( )
1 2 1 2 1
, S x x x x f = + = . Se vede imediat c
( )
2 1 1 2 1
, x x P x x f = = , deci ( )
2 1 2 1 2 1
, x x x x x x f + = = , conform legilor lui De Morgan.
Rezultatul obinut este de fapt un termen canonic de tip sum, numai c de aceast dat
variabila negat se nlocuiete cu 1 i cea direct cu 0.
Iat un alt exemplu: ( ) ( ) ( ) ( ) = + + + + + + =
3 2 1 3 2 1 3 2 1 3 2 1
, , x x x x x x x x x x x x f
3 2 1
S S S = ( )

= 3 , 2 , 1 .
Forma elementar a unei funcii binare conine termeni care nu sunt canonici.
Formele elementare pot fi disjunctive sau conjunctive. O funcie poate fi reprezentat n
form neelementar dac exist doi sau mai muli termeni care conin aceeai variabil.
Exemplul 4.3
Funcia de 3 variabile ( )
3 2 1
, , x x x f din exemplul anterior se poate reprezenta n dou
forme elementare disjunctive, ( )
1 3 2 3 1 2 1 3 2 3 2 1
, , x x x x x x x x x x x x f + = + + = , ntr-o
form elementar conjunctiv, ( ) ( ) ( )
3 1 2 1 3 2 1
, , x x x x x x x f + + = , sau ntr-o form
neelementar,
( ) ( )
3 2 1 3 2 3 2 1
, , x x x x x x x x f + + =
.
Toate aceste forme algebrice se mai numesc i forme normale pentru c sunt
alctuite din termeni normali, adic termeni n care nici una dintre variabile nu apare dect
o singur dat. Un termen care nu este normal poate fi redus ntotdeauna la un termen
normal, sau la o constant, prin folosirea postulatelor i teoremelor algebrei boolene.
Un termen canonic de tip produs se mai numete i mintermen pentru c poate fi
definit ca termen produs care are valoarea logic 1, pentru o singur combinaie binar a
variabilelor funciei, sau altfel spus, pentru o singur linie a tabelului de adevr.
Un termen canonic de tip sum se mai numete i maxtermen pentru c poate fi
definit ca termen sum care are valoarea logic 0, pentru o singur combinaie binar a
variabilelor funciei, sau pentru o singur linie a tabelului de adevr. Pentru toate celelalte
1 2
n
combinaii binare maxtermenul are valoarea logic 1, deci ocup cu aceast valoare
numrul maxim de combinaii posibile pentru o funcie diferit de constanta 1.

O funcie binar de n variabile poate fi reprezentat geometric pe un cub n-
dimensional. Fiecare vrf al cubului are anumite coordonate i corespunde unui termen
canonic de tip produs. Vom porni de la forma canonic disjunctiv a funciei i vom marca
cu mici sfere vrfurile corespunztoare termenilor canonici de tip produs. Funcia poate fi
reprezentat printr-un set de subcuburi de diferite dimensiuni care acoper n totalitate
vrfurile marcate ale cubului. Pentru a vizualiza uor cubul n spaiul tridimensional vom
exemplifica reprezentarea geometric folosind o funcie de 3 variabile. Figura 4.2 ilustreaz
reprezentarea funciei ( )
3 2 1
, , x x x f din exemplele anterioare.
60 4 FUNCII BINARE

x
1
x
3
x
2
000 100
110
010
101
111
001
011
10x
1x1
11x
1x0
x00

Fig. 4.2 Reprezentarea geometric a funciei binare ( )
3 2 1
, , x x x f
Exemplul 4.4
Funcia de 3 variabile ( )
3 2 1
, , x x x f din exemplele anterioare se scrie sub forma
canonic disjunctiv ( )
7 6 5 4 0 3 2 1
, , P P P P P x x x f + + + + = . Vrfurile cubului corespunztoare
mintermenilor funciei se marcheaz. Termenului
0
P ( )
3 2 1
x x x i corespunde originea de
coordonate 000
3 2 1
= x x x , termenului
4
P ( )
3 2 1
x x x i corespunde vrful de coordonate
100
3 2 1
= x x x , i aa mai departe. Vrfurile cubului sunt subcuburi 0-dimensionale i funcia
este complet acoperit de toate cele 5 subcuburi de dimensiune 0: 000, 100, 101, 110 i 111.
Oricare dou vrfuri alturate ale cubului sunt legate printr-o muchie. Aceste laturi
formeaz subcuburi 1-dimensionale i funcia este complet acoperit de toate cele 5
subcuburi de dimensiune 1: x00, 10x, 1x1, 1x0 i 11x. Simbolul x arat c valoarea
variabilei respective nu mai conteaz. Conectarea nodurilor 000 i 100 duce la formarea
subcubului 1-dimensional x00. Valorile nule ale variabilelor
2
x i
3
x sunt cele care
localizeaz muchia respectiv.
Vrfurile de coordonate 100, 101, 110 i 111 aparin aceluiai plan, care formeaz un
subcub 2-dimensional: 1xx. Cele dou subcuburi 1xx i x00 formeaz o acoperire complet
a funciei ( )
3 2 1
, , x x x f .
O funcie binar f implic o alt funcie binar g, dac pentru orice combinaie de
variabile pentru care f = 1, atunci i g = 1. Deci g = 1 pentru toate combinaiile binare de
intrare pentru care i f = 1 i poate pentru nc alte cteva. Se mai spune c g l include pe f,
sau c g l acoper pe f.
Un implicant prim al unei funcii binare este un termen produs care implic funcia,
dar eliminarea oricrei variabile din expresia lui face ca ceea ce rmne s nu mai implice
funcia. n reprezentarea geometric implicantul prim este un subcub care nu este inclus
ntr-un subcub de dimensiune mai mare. Implicanii primi din exemplul de mai sus sunt
subcuburile 1xx i x00.
Un implicant prim esenial este un implicant prim care conine cel puin un subcub
0-dimensional, care i aparine numai lui. n exemplul considerat subcuburile 1xx i x00
sunt implicani primi eseniali pentru c subcubul 000 i aparine numai subcubului x00, iar
subcuburile 110, 101 i 111 aparin numai subcubului 1xx.
4.3 Moduri de reprezentare 61
Diagramele Veitch-Karnaugh ofer o reprezentare grafic foarte sugestiv a
funciei binare. O diagram Veitch-Karnaugh pentru o funcie binar de n variabile este un
tablou care conine
n
2 compartimente, cte unul pentru fiecare din cele
n
2 combinaii binare
posibile ale variabilelor funciei. n interiorul acestor compartimente se trec valorile funciei,
1 sau 0, pentru fiecare combinaie de variabile. Fiecare compartiment corespunde de fapt
unei linii din tabelul de adevr, sau unui mintermen, sau unui vrf al cubului n-dimensional.
n figura 4.3 sunt reprezentate dou diagrame pentru o funcie de 4 variabile. Ele
sunt aproape identice, difer numai modul de reprezentare a variabilelor care definesc liniile
i coloanele tablourilor. Diagrama din stnga este o diagram Veitch, iar cea din dreapta o
diagram Karnaugh. n cele ce urmeaz preferm reprezentarea Veitch, care, odat ce
suntem obinuii cu ea, pare mai eficient, dar vom pstra denumirea tradiional de
diagram Veitch-Karnaugh.
Variabilele pot fi amplasate i altfel, nu neaprat aa cum am fcut noi n figura 4.3.
Singura condiie este ca dou compartimente alturate s fie definite de combinaii binare de
variabile care s fie adiacente, adic s difere printr-un singur bit. Pentru c tabloul are 4
linii i 4 coloane, dou dintre cele 4 variabile vor defini liniile, iar celelalte dou coloanele.
Secvenele care caracterizeaz liniile i coloanele sunt 00, 01, 11 i 10, adic numrarea n
cod Gray. Observm c la trecerea de la o configuraie la alta se modific un singur bit. n
acest fel, dou compartimente vecine sunt adiacente, inclusiv coloana din stnga cu cea din
dreapta i rndul de sus cu cel de jos.
Pentru un numr mai mare de variabile nu se mai pot vizualiza n plan
compartimentele adiacente. O soluie este reprezentarea n 3 dimensiuni a diagramelor.
Astfel, pentru funcii de 5 variabile vom avea dou diagrame ca cele de mai sus, dispuse n
dou plane adiacente, n total 32 de compartimente. Pentru funcii de 6 variabile se pot
imagina patru plane similare, definite de secvenele n cod Gray ale celor dou variabile noi,
dar pentru un numr i mai mare de variabile nu se mai poate face reprezentarea funciei.
Figura 4.4 exemplific reprezentarea funciei de 3 variabile din exemplele anterioare.
x
1
x
1
P
0
P
1
P
3
P
2
P
4
P
5
P
7
P
6
P
12
P
13
P
15
P
14
P
8
P
9
P
11
P
10
P
0
P
1
P
3
P
2
P
4
P
5
P
7
P
6
P
12
P
13
P
15
P
14
P
8
P
9
P
11
P
10
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
Veitch Karnaugh
00
x
1
x
2
01 11 10
00
x
3
x
4
01
11
10
Fig. 4.3 Diagrama Veitch i diagrama Karnaugh pentru o funcie de 4 variabile
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
1
x
1
x
2
x
2
x
2
x
3
x
3
1 1 1
1 1
0
0 0
P
0
P
1
P
2
P
3
P
6
P
7
P
4
P
5
Fig. 4.4 Diagrama Veitch pentru funcia ( )
3 2 1 3 2 1
, , x x x x x x f + =
62 4 FUNCII BINARE
4.4 Metode de minimizare
Este normal ca implementarea cu pori logice a unei funcii binare s se fac pornind de
la o exprexie boolean ct mai simpl, care se numete forma minim a funciei. Exist mai
multe metode de minimizare care pot fi utilizate de proiectant: minimizarea algebric,
minimizarea cu diagrame Veitch-Karnaugh, metoda Quine-McCluskey, metoda
consensurilor sau metoda ESPRESSO.
Minimizarea algebric presupune aplicarea direct a postulatelor i teoremelor
algebrei boolene. Eficiena metodei depinde de abilitatea i experiena celui care o utilizeaz.
Nu este recomandat pentru c, n lipsa unei formalizri suficiente, nimic nu garanteaz gsirea
formei minime a funciei.
Minimizarea cu diagrame Veitch-Karnaugh ofer o convergen mai sigur ctre o
soluie minimal. Este optim pentru minimizarea manual a funciilor cu numr redus de
variabile pentru c permite vizualizarea grafic a implicanilor primi i gsirea imediat a unei
acoperiri convenabile.
Algoritmul de extragere a formei minime presupune parcurgerea urmtoarelor etape:
1. stabilirea numrului minim de suprafee dreptunghiulare de arie maxim formate
dintr-un numr de compartimente egal cu o putere a lui 2, care conin 1 logic
2. scrierea produselor logice asociate fiecrei suprafee evideniate la punctul 1
3. sumarea logic a produselor.
nainte de a exemplifica aceast metod vom redefini o serie de noiuni, n concordan
cu reprezentarea lor pe diagrama Veitch-Karnaugh. O grupare de compartimente care nu poate
fi inclus ntr-o grupare mai mare formeaz un implicant prim. Un implicant prim care
conine cel puin un compartiment care nu intr n componena altui implicant prim este un
implicant prim esenial. Mulimea implicanilor primi eseniali formeaz nucleul funciei.
Forma minim a funciei conine nucleul i eventual o parte din implicanii primi
neeseniali, adic implicanii primi care nu sunt eseniali, astfel nct toate compartimentele
care conin valoarea logic 1 s fie acoperite.
Exemplul 4.5
Funcia reprezentat pe diagrama Veitch-Karnaugh din figura 4.5 are dou forme
minime perfect echivalente: ( ) = + + + =
3 2 1 3 2 1 4 2 1 4 1 4 3 2 1
, , , x x x x x x x x x x x x x x x f
4 3 2 3 2 1 4 2 1 4 1
x x x x x x x x x x x + + + = .
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
1
1
1
1 1
1 0 0 0
0
0
0
0
nucleul: x
1
x
4
, x
1
x
2
x
4
x
2
x
3
x
4
x
1
x
3
x
2
x
1
x
3
x
4
x
1
x
3
x
2
x
2
x
3
x
4
implicanii primi neeseniali:
, ,
,
Fig. 4.5 Lista implicanilor primi pentru funcia dat
4.4 Metode de minimizare 63
Pentru a evalua comparativ diverse forme minime s-a introdus un criteriu global de
minimizare, care are n vedere att numrul de pori logice ct i numrul total de intrri
folosite, fr a mai lua n calcul i inversoarele. Cele dou reprezentri de mai sus folosesc 5
pori (4 pori I i o poart SAU) cu un numr total de 15 intrri.
Prin complementarea diagramei de mai sus, sau altfel spus, prin gruparea
compartimentelor care conin valoarea logic 0, obinem complementul funciei f, adic:
( )
3 2 1 4 2 1 4 3 1 4 2 1 4 3 2 1
, , , x x x x x x x x x x x x x x x x f + + + = . Expresia funciei f devine:
( ) ( ) ( ) ( ) ( )
3 2 1 4 2 1 4 3 1 4 2 1 4 3 2 1
, , , x x x x x x x x x x x x x x x x f + + + + + + + + = prin folosirea de
dou ori a legilor lui De Morgan. Costul este acum de 5 pori i 16 intrri, deci nici un
avantaj fa de reprezentarea anterioar.
S considerm acum un alt exemplu din care vom vedea c gruparea
compartimentelor care conin valoarea logic 0 ar putea fi uneori avantajoas:
Exemplul 4.6
S considerm funcia reprezentat pe diagrama din figura 4.6. Forma minim
obinut prin gruparea compartimentelor care conin 1 logic este dat n figur. Costul
acestei reprezentri este de 4 pori i 11 intrri.
Dac evalum complementul funciei f: ( )
3 2 1 3 2 1 4 4 3 2 1
, , , x x x x x x x x x x x f + + = ,
deci ( ) ( ) ( )
3 2 1 3 2 1 4 4 3 2 1
, , , x x x x x x x x x x x f + + + + = , obinem un cost de 3 pori i 9
intrri, un avantaj substanial fa de soluia anterioar.
n figura 4.7 sunt prezentate dou implementri diferite ale funciei ( )
4 3 2 1
, , , x x x x f .
Prima soluie folosete ecuaia formei minime de mai sus, iar cealalt folosete expresia
( )
3 2 1 3 2 1 4 4 3 2 1
, , , x x x x x x x x x x x f + + + + + + = , care se obine din precedenta, prin
aplicarea legilor lui De Morgan. Folosirea porilor de acelai fel este un avantaj.
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
1
1
1
0
0
0 0
0
0
0
0
0
0
x
2
x
3
x
4
x
2
x
4
f (x
1
, , , )
= +
x
1
x
3
x
4
+
x
1
x
3
x
4
Fig. 4.6 Minimizarea funciei reprezentate pe diagram

x
1
x
1
x
2
x
2
x
3
x
3
x
4
f

x
1
x
1
x
2
x
2
x
3
x
3
x
4
f
Fig. 4.7 Dou soluii de implementare a funciei ( )
4 3 2 1
, , , x x x x f
64 4 FUNCII BINARE
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
0
0 0
0
0
0
0
0
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
0
0 0
0
0
0
0
0
X
X
X
X
X
X
X
X
X
X
Fig. 4.8 Minimizarea funciilor incomplet specificate
Funciile incomplet specificate sunt funcii binare ale cror valori logice sunt
indiferente pentru o parte din combinaiile variabilelor de intrare. Astfel de situaii apar
atunci cnd suntem siguri c anumite configuraii binare nu se aplic niciodat pe intrri,
sau dac se aplic, atunci valoarea respectiv a ieirii nu este citit. Valoarea logic a
funciei pentru aceste configuraii binare nu conteaz, fiind notat cu simbolul X, numit
"don't care".
"Libertatea dobndit prin existena unor ieiri de tip don't care va trebui fructificat
pentru a optimiza structura circuitului. La nivelul nostru de abordare, a optimiza nseamn a
minimiza" ([tefan, 2000]).
Exemplul 4.7
S considerm funcia reprezentat pe diagrama din figura 4.8. Orice simbol X din
interiorul oricrui compartiment poate fi nlocuit fie cu valoarea logic 1, fie cu valoarea
logic 0, dup cum ne convine, astfel ca expresia algebric a funciei s fie ct mai simpl.
Dac grupm compartimentele care conin 1 logic, atunci ne convine s facem gruprile ca
n figura din stnga, adic compartimentele coloanei din dreapta s conin 1, iar toate
celelalte s conin 0 logic. Expresia funciei devine: ( )
3 2 1 4 1 4 3 2 1
, , , x x x x x x x x x f + = .
Dac evalum complementul ne convine ca toate compartimentele s conin valoarea
logic 0 i se obine: ( )
4 3 2 1 4 3 2 1
, , , x x x x x x x x f + + = , sau ( )
4 3 2 1 4 3 2 1
, , , x x x x x x x x f = .
Diagramele condensate, numite i diagrame cu funcii incluse, au fost concepute
pentru minimizarea unor funcii cu numr mai mare de variabile. Compartimentele lor nu
vor conine numai valorile logice 0, 1 sau X, ci i expresii boolene. O funcie de n variabile
poate fi reprezentat pe o diagram de n-m variabile, avnd i mintermeni de m variabile.
Exemplul 4.8
S considerm funcia ( )
3 2 1 3 1 2 1 3 2 1
, , x x x x x x x x x x f + + = , reprezentat pe
diagrama din figura 4.9. Variabila
3
x se introduce n diagram, observnd c pentru
00
2 1
= x x , funcia capt valoarea logic complementar variabilei
3
x , deci
3
x f = etc.
x
1
x
1
x
2
x
2
x
2
x
3
x
3
1 1
1 1
0
0 0
0
x
1
x
1
x
2
x
2
x
2
x
3
x
3
0 1
Fig. 4.9 Condensarea diagramei Veitch - Karnaugh
4.4 Metode de minimizare 65

.
1
x
3
.
x
1
x
1
x
2
x
2
x
2
x
3
x
3
0 1
x
3
.
}
+
1 0 0 X
0 0
0 0 0 1
X 1
Fig. 4.10 Descompunerea diagramei condensate
Mai dificil este descompunerea unei diagrame condensate. Desenul din figura 4.10
ilustreaz modul n care se face descompunerea diagramei din exemplul precedent.
Algoritmul folosit pentru aceast operaie presupune parcurgerea urmtoarelor etape:
1. ntr-un compartiment care conine o variabil sau o expresie boolean se trece 1,
n celelalte compartimente similare se trece 0, compartimentele care conin 0 i
pstreaz valoarea, iar cele care conin 1 capt valoarea X (don't care).
Compartimentele care conin simbolul X nu se modific. Se minimizeaz funcia
reprezentat n diagram i variabila sau expresia boolean se aplic prin
operatorul logic I formei minime a funciei.
2. se repet punctul 1 pentru toate compartimentele care conin variabile sau expresii
boolene.
3. n toate compartimentele care conin variabile sau expresii boolene se trece 0, iar
compartimentele care conineau 0 sau 1 i pstreaz valorile. Compartimentele
care conin simbolul X nu se modific.
4. se aplic operatorul SAU expresiilor intermediare obinute la punctele 1, 2 i 3.
Exemplul 4.9
Desenul din figura 4.11 arat cum se face descompunerea diagramei condensate,
pentru funcia de 7 variabile, reprezentat prin diagrama condensat de 4 variabile:
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
0
0 0
0 0
0
0 0
X
X X
x
5
x
6
x
7
0
0 0
0 0
0
0 0
X X
x
5
0
0 0
0 0
0
0 0
X X
1
1
1
0
0 0
0 0
0
0 0
X
X X
1
0
X
X
X
X
.
X
X
X
X
0
1
x
6
x
7
. .
0
0
.
1
f
=
x
3
.
x
4
.
x
5
+
x
3
.
x
6
.
x
7
+ x
1
.
.
x
1
x
2
Fig. 4.11 Descompunerea unei diagrame condensate
66 4 FUNCII BINARE
Metoda Quine-McCluskey permite minimizarea unei funcii cu numr mai mare de
variabile i are avantajul unei formalizri maxime, care permite o implementare uoar a
algoritmului de minimizare ntr-un program de calculator.
Vom introduce pentru nceput noiunea de pondere a unui numr binar. Ponderea
numrului binar x este un numr zecimal notat cu w(x), care este egal cu numrul de bii de
valoare 1 din reprezentarea binar a numrului x.
Exemplul 4.10
Ponderea numrului binar x = 1011 este w(x) = 3.
Se pornete de la forma canonic disjunctiv a funciei binare, iar algoritmul folosit
pentru gsirea formei minime presupune parcurgerea urmtoarelor etape:
1. se face conversia din zecimal n binar a indicilor mintermenilor funciei binare
2. se mpart numerele binare care reprezint indicii mintermenilor n grupuri, dup
ponderea fiecrui indice, n sens cresctor al ponderilor; grupurile se separ ntre
ele prin linii orizontale i rezult tabelul 1
3. se compar fiecare numr binar din grupul de pondere i cu fiecare numr binar din
grupul de pondere i + 1, pentru toate grupurile. Dou numere binare formeaz o
nou grupare dac difer printr-un singur bit de acelai rang. Gruparea nou se
trece n tabelul 2
4. de fiecare dat cnd ponderea i de la punctul 3 crete cu o unitate, se trage o linie
orizontal n tabelul 2. Dup completarea tabelului 2, se repet comparaiile de la
punctul 3, pentru elementele din tabel i rezult tabelul 3, i aa mai departe
5. cnd se ajunge la un tabel care conine un singur numr binar, atunci termenul
corespunztor este un implicant prim al funciei. Ceilali implicani primi se
gsesc cutnd n toate tabelele construite termenii care nu au fost folosii n
comparaii.
Exemplul 4.11
S minimizm funcia ( ) = + + + + + =
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1
, , x x x x x x x x x x x x x x x x x x x x x f
0 1 2 3 4 7
P P P P P P + + + + + = prin metoda Quine-McCluskey.
Prima coloan a tabelului 1 conine indicii zecimali ai mintermenilor funciei, grupai
n ordinea cresctoare a ponderilor acestora, coloana din mijloc conine reprezentrile binare
ale indicilor, iar cea din dreapta expresiile algebrice ale mintermenilor.
I
( )
I
2
P
I
0 000
2 010
1 001
4 100
7 111
3 011
x x x
1 2 3
x x x
1 2 3
x x x
1 2 3
x x x
1 2 3
x x x
1 2 3
x x x
1 2 3
Tabelul 1
Pentru construcia tabelului 2, observm c termenul de indice 0 poate fi grupat cu
termenul de indice 2, rezultnd reprezentarea: 00, o scriere echivalent a relaiei:
3 1 3 2 1 3 2 1
x x x x x x x x = + . Pentru a reine termenii care au fost comparai, termenul de indice 0
se marcheaz n partea stng, iar cel de indice 2 n dreapta.
4.4 Metode de minimizare 67
Gruprile rezultate prin comparaii se trec n tabelul 2. Dup completarea tabelului 2
se repet comparaiile i rezult tabelul 3, un tabel cu o singur linie, deci ne oprim. Forma
minim a funciei este disjuncia termenilor produs din toate tabelele construite, care nu au
fost folosii n comparaii: ( )
3 2 3 2 1 3 2 1
, , x x x x x x x x f + + = .
(0-2) 0-0 x x
1 3
(0-1) 00- x x
1 2
(0-4) -00 x x
2 3
(2-3) 01- x x
1 2
(1-3) 0-1 x x
1 3
(3-7) -11 x x
2 3
Tabelul 2
(0-2-1-3) 0-- x
1
.
Tabelul 3
Toi implicanii primi din expresia minim a funciei f sunt eseniali i funcia are o
form minim disjunctiv unic. Este posibil ns ca o funcie s aib mai multe reprezentri
minime.
Exemplul 4.12
S minimizm funcia ( )
0 3 4 6 7 8 9 11 12 15 4 3 2 1
, , , P P P P P P P P P P x x x x f + + + + + + + + + =
Putem simplifica tabelele construite dac renunm la coloana care conine expresiile
algebrice ale mintermenilor.

0 0000
4 0100
7
1111
3
0110
1000 8
12 1100
9 1001
6
0110
11 1011
0111
15
Tabelul 1
(0-8) -000
(0-4) 0-00
1-00 (8-12)
100- (8-9)
(4-12) -100
01-0 (4-6)
10-1 (9-11)
011- (6-7)
(3-11) -011
0-11 (3-7)
(11-15) 1-11
(7-15) -111
Tabelul 2

(0-8-12) --00
(0-4-12)
(3-11-15)
(3-7-15)
--11
Tabelul 3
f se poate scrie ca disjuncia implicanilor primi:
f =
x x
3 4
+
x x
3 4
x x x
1 2 3
+ +
x x x
1 2 4 +
x x x
1 2 4 +
x x x
1 2 3
dar nu este n form minim
n tabelul 3 nu se mai pot face comparaii, deci ne oprim cu construcia tabelelor.
Cutm n toate tabelele construite termenii care nu sunt marcai i care sunt implicani
primi ai funciei. Disjuncia lor nu este forma minim a funciei, pentru c o parte din ei sunt
neeseniali. Trebuie s gsim disjuncia numrului minim de implicani primi care s ofere o
acoperire complet a funciei, disjuncie numit i sum neredundant.
n acest scop se construiete un tabel al implicanilor primi, reprezentat n figura
4.12. Implicanii primi definesc liniile tabelului, iar mintermenii funciei definesc coloanele.
Dac un mintermen este inclus ntr-un implicant prim, atunci compartimentul de la
intersecia coloanei i liniei respective se marcheaz. Pentru a determina nucleul funciei, se
parcurg coloanele tabelului de la stnga la dreapta. Dac exist un singur marcaj pe coloan,
atunci implicantul cruia i corespunde marcajul este esenial.
68 4 FUNCII BINARE
Implicani primi
Mintermeni
P
15
P
12
P
11
P
9
P
8
P
7
P
6
P
4
P
3
P
0
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x
1
x
2
x x
3 4
x x
3 4
x x
3 4
x
1
x x
2 3
x
1
x x
2 4
x
1
x x
2 3
x
1
x x
2 4
Fig. 4.12 Tabelul implicanilor primi
Se poate observa aici c implicanii primi eseniali sunt
4 3
x x i
4 3
x x (primele dou
coloane, de exemplu). Fiecare linie din tabel care corespunde unui implicant prim esenial se
"taie" cu o linie (liniile punctate orizontale), i fiecare coloan care conine un marcaj ce se
afl pe liniile "tiate", se "taie" la rndul ei cu o linie vertical. Marcajele rmase "netiate"
(ncercuite aici) corespund implicanilor care formeaz mulimea sumelor neredundante. O
sum neredundant trebuie s conin un singur implicant pentru fiecare coloan rmas
"netiat". Rezult c funcia din exemplul considerat are 4 forme minime echivalente:
= + + + = + + + =
3 2 1 3 2 1 4 3 4 3 4 2 1 3 2 1 4 3 4 3
x x x x x x x x x x x x x x x x x x x x f
3 2 1 4 2 1 4 3 4 3 4 2 1 4 2 1 4 3 4 3
x x x x x x x x x x x x x x x x x x x x + + + = + + + = .
Metoda consensurilor are unele avantaje fa de metoda Quine-McCluskey deoarece
permite reprezentarea funciei ntr-o form elementar disjunctiv, nu neaprat canonic, i
asigur reducerea dimensiunilor listelor de termeni prelucrai ([Pop, 1986]).
Consensul a doi termeni produs, care conin aceeai variabil, variabil care este
complementat ntr-unul dintre ei i necomplementat n cellalt, se obine prin nlturarea
variabilei respective i efectuarea produsului logic al celorlalte variabile rmase n cei doi
termeni produs.
Exemplul 4.13
Consensul termenilor
x x x
1 2 3
i
5 4 3
x x x este
x x x x
1 2 4 5
, iar consensul termenilor
x x x
1 2 3
i
4 3 2
x x x este x x x
1 3 4
.
Algoritmul folosit pentru gsirea formei minime prin metoda consensurilor
presupune parcurgerea urmtoarelor etape:
1. se stabilesc perechile de termeni pentru care exist consens i se adaug
consensurile termenilor la forma elementar disjunctiv a funciei
2. se elimin termenii care sunt acoperii de ali termeni care se gsesc n expresia
disjunctiv a funciei
3. se repet punctele 1 i 2 pn cnd nu se mai pot forma consensuri, sau toate
consensurile care se pot forma sunt acoperite de termeni deja existeni.
4.4 Metode de minimizare 69
Exemplul 4.14
Funcia de 4 variabile dat prin urmtoarea form disjunctiv se poate transforma n
felul urmtor: ( ) f x x x x x x x x x x x x x x x x x x x x x x x x
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
, , , = + + + + =
.
4 3 2 1 4 3 2 1 4 3 2 1 4 3 1 4 3 2 1 4 3 2 1 4 3 1
x x x x x x x x x x x x x x x x x x x x x x x x x x + + + + + + =
. Aplicnd de
dou ori legile de absorbie obinem: ( ) =
4 3 2 1
, , , x x x x f
4 3 2 1 4 3 1 4 3 1
x x x x x x x x x x + + . Se mai
poate genera un consens i expresia funciei devine
4 3 2 1 4 3 1 4 3 1 3 1
x x x x x x x x x x x x f + + + = ,
sau dup absorbie:
3 1 4 3 2 4 3 2 1 3 1 4 3 2 4 3 2 1 3 1
x x x x x x x x x x x x x x x x x x x x f + = + + = + = .
Aceasta este forma minim a funciei date.
Metoda ESPRESSO este folosit mai ales n cazul funciilor cu numr foarte mare de
variabile. Ea folosete o strategie euristic bazat pe aproximaie, care evit construcia
listelor de termeni i minimizeaz timpul de calcul ([Hill, 1993]).
"Dac timpul n care este gsit o soluie optim nu conteaz, atunci exist
ntotdeauna o cale de a o obine. Dar, aproape ntotdeauna, timpul conteaz. Degeaba tim
s facem un lucru dac nu ajungem la soluie n timp util. Acesta este motivul pentru care
uneori ne mulumim i cu soluii numai parial optimizate" ([tefan, 2000]).
Metoda ESPRESSO se aplic repetitiv i genereaz de fiecare dat expresii boolene
disjunctive mai simple dect precedentele lor. Fr a garanta forma minim absolut,
metoda ofer rezultate comparabile cu cele obinute prin metoda Quine-McCluskey.
Algoritmul folosit pentru minimizarea funciei F presupune parcurgerea urmtoarelor etape:
1. se aplic procedura EXPAND funciilor F i F , rezultatul fiind expresia redus a
funciei F , notat cu F
*
.
2. se aplic procedura IRREDUNDANT expresiilor F
*
i , rezultnd o nou
expresie redus notat tot cu F
*
.
3. Se aplic procedura ESSENTIAL_PRIMES expresiei F
*
, iar rezultatul este
expresia E.
4. Rezultatul procedurii anterioare se noteaz cu D i se elimin din expresia F
*
, iar
rezultatul este notat tot cu F
*
.
5. Se aplic procedura REDUCE expresiei notate cu F
*
i expresiei D, iar rezultatul
este notat cu F
*
.
6. Se aplic procedura EXPAND funciilor F
*
i F , iar rezultatul se noteaz cu F
*
.
7. Se aplic procedura IRREDUNDANT expresiilor F
*
i D, rezultnd o nou
expresie redus notat cu F
*
.
8. Dac expresia redus F
*
este mai simpl dect cea folosit la pasul 5, atunci se
reia de la pasul 5; n caz contrar, se introduce o "perturbaie" pentru a scoate
procesul dintr-un eventual minim local. Dac se reuete acest lucru, atunci se reia
de la pasul 5; n caz contrar, forma minim a funciei este F F E = +
*
.
70 4 FUNCII BINARE
Exemplul 4.15
Considerm funcia de 4 variabile F x x x x x x x x x x x x x = + + +
1 2 3 4 1 2 3 1 2 4 1 3 4
.
Procedura EXPAND nlocuiete fiecare termen din expresia funciei F cu un set alctuit din
toi termenii distinci care formeaz o acoperire de rang imediat superior i care nu
intersecteaz pe F . Desenul din figura 4.13 exemplific aciunea procedurii asupra
primului termen din expresia funciei. Sunt date i reprezentrile echivalente n diagrame
Veitch-Karnaugh, pentru a avea o imagine grafic a termenilor expandai.
Complementul ( ) ( ) ( ) ( ) F x x x x x x x x x x x x x = + + + + + + + + + =
1 2 3 4 1 2 3 1 2 4 1 3 4
( ) ( ) = + + + + = x x x x x x x x
1 3 2 4 1 4 2 3 4 3 2 4 2 1 4 3 3 1 3 2 1 4 1
x x x x x x x x x x x x x x x + + + + +
.
Primul termen care formeaz o acoperire de rang imediat superior lui x x x x
1 2 3 4
este
x x x
2 3 4
. Pentru a vedea dac acest termen l intersecteaz sau nu pe F facem un calcul
algebric uor: ( ) ( ) x x x F x x x x x x x x x x x x x x x x x x
2 3 4 2 3 4 1 4 1 2 3 1 3 3 4 1 2 4 2 3 4
= + + + + + =
= + + + + + x x x x x x x x
1 2 3 4 1 2 3 4
0 0 0 0 0 . Deci acest termen l intersecteaz pe F i prin
urmare este marcat pe desenul din figura 4.13 cu un asterisc. Procedm la fel i cu ceilali
termeni i obinem expresia redus a funciei F , notat cu F
*
:

F x x x x x x x x x x x x
*
= + + +
1 3 4 1 2 3 1 2 4 1 3 4
.
Procedura IRREDUNDANT ncearc s gseasc o sum logic neredundant, adic
s elimine termenii redundani din expresia disjunctiv a funciei F
*
. Este format din trei
subproceduri care se aplic consecutiv: REDUNDANT, PARTIALLY_REDUNDANT i
MINIMAL_COVER.
Subprocedura REDUNDANT separ toi implicanii primi care ar putea fi redundani
de cei care sunt relativ eseniali. Un implicant prim este relativ esenial fa de o anumit
expresie, dac i numai dac pentru acele valori ale variabilelor pentru care el are valoarea
logic 1, expresia care nu conine implicantul respectiv este diferit de 1.
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
0
0 0 0
0
0
0
0 1
1
1 0
0
x
1
x
1
x
2
x
2
x
2
x
3
x
3
x
4
x
4
x
4
1
1
1
0
0 0
0
0
0
0 1
1
1 0
0
0
x
1
x
2
x
3
x
4
x
2
x
3
x
4
x
1
x
3
x
4
x
1
x
2
x
4
x
1
x
2
x
3
*
- intersecteaz F
x
3
x
4
x
1
x
4
x
1
x
3
* * *
* * *
Fig. 4.13 Exemplificarea procedurii EXPAND
4.4 Metode de minimizare 71
De exemplu, termenul
x x x
1 3 4
este relativ esenial pentru funcia F
*
stabilit mai sus,
deoarece pentru 0
1
= x , x
3
0 = i x
4
0 = termenul x x x
1 3 4
1 = , iar expresia funciei din
care se elimin termenul
x x x
1 3 4
devine:
2 2
1 1 x x = , evident diferit de 1.
Se observ c toi implicanii din expresia lui F
*
sunt relativ eseniali, deci expresia
lui F
*
nu se modific:
F x x x x x x x x x x x x
*
= + + +
1 3 4 1 2 3 1 2 4 1 3 4
.
Celelate dou subproceduri vor fi discutate la sfritul acestui exemplu, dar, n acest
caz, nici ele nu modific expresia lui F
*
.
Procedura ESSENTIAL_PRIMES stabilete care sunt implicanii primi eseniali. n
lipsa listei de mintermeni, un implicant prim este esenial dac nu este acoperit n totalitate
de orice alt set de implicani primi ai funciei F, indiferent dac acetia sunt sau nu inclui
n F
*
. Acoperirea unui implicant de ctre ali implicani primi poate fi gsit din consensul
lui cu fiecare din termenii din F
*
.
Pentru c nu ntotdeauna se pot face consensuri, vom avea n vedere un consens
generalizat. Consensul generalizat a doi termeni produs reprezint o arie acoperit de
fiecare dintre cei doi termeni. De exemplu, consensul lui x x x
1 2 4
cu
4 3 1
x x x este
x x x x
1 2 3 4
,
adic mintermenul acoperit de fiecare dintre cei doi termeni.
Tabelul din figura 4.14 arat cum se face identificarea implicanilor primi eseniali
folosind consensurile generalizate. Dac suma consensurilor pe coloane acoper termenul de
pe linia respectiv, atunci acesta nu este esenial. Compartimentele marcate indic faptul c
respectivele consensuri generalizate sunt identice cu termenii respectivi ai expresiei F
*
i
ele nu se iau n calculul sumelor consensurilor pe coloane. Pentru o mai bun nelegere, se
recomand o vizualizare a implicanilor primi folosind echivalentul grafic al diagramei
Veitch-Karnaugh.
Suma implicanilor primi eseniali este: E x x x x x x = +
1 3 4 1 3 4
, iar noua expresie a lui
F
*
devine: F F E x x x x x x
* *
= = +
1 2 3 1 2 4
.
x
1
x
2
x
4
x
1
x
3
x
4
x
1
x
2
x
3
x
1
x
3
x
4
x
1
x
2
x
3
x
4
x
1
x
3
x
4
x
1
x
2
x
3
x
1
x
2
x
4
x
1
x
3
x
4
0 0
x
2
x
1
x
3
x
4
x
2
x
3
x
4
0
0 x
2
x
3
x
4
x
1
x
2
x
3
x
4
x
1
x
2
x
3
x
4
0 0
x
2
x
1
x
3
x
4
C
j

j
C
i
C
i

( )
=
Esenial
Da Da
Da Da
Nu
Nu Nu
Nu
x
2
x
1
x
3
x
4
x
2
x
3
x
1
x
4
+ ( )
x
2
x
4
x
1
x
3
+ ( )
Fig. 4.14 Identificarea implicanilor eseniali prin consensuri
72 4 FUNCII BINARE
Procedura REDUCE ncearc s micoreze acoperirea fiecrui implicant din F
*
,
fr a modifica funcia F
*
. Pentru fiecare consens notat cu c
i
, expresia
( )
( ) F i F c D
i * *
= +
acoper F
*
prin ali implicani. Procedura nlocuiete consensul
c
i
cu
( )
c F i
i

*
, o poriune din c
i
care este acoperit numai de c
i
. Pentru consensul
3 2 1
x x x , vom scrie: ( ) ( ) F x x x x x x x x x x x x x x x x x x
*
1 2 3 1 2 3 1 2 4 1 2 3 1 3 4 1 3 4
= + + + =
4 3 1 4 3 1 4 2 1
x x x x x x x x x + + =
. ( ) F x x x x x x x x x x x x x x x x x
*
1 2 3 3 4 1 3 1 4 1 4 2 3 4 1 2 3
= + + + + + .
( ) ( ) x x x F x x x x x x x x x x x
1 2 3 1 2 3 1 2 3 4 1 2 3 4
0 0 0 0 0 = + + + + + =
*
. Se repet calculele i
pentru cellalt consens x x x
1 2 4
i obinem noua form a expresiei F
*
:
F x x x x x x x x
*
= +
1 2 3 4 1 2 3 4
Procedura EXPAND folosete tot complementul lui F stabilit la nceput i se obine:
F x x x x x x x x x
*
= + +
2 3 4 1 2 3 1 2 4
.
Primele dou subproceduri ale procedurii IRREDUNDANT folosesc funcia "don't
care" D ca parametru. De data aceasta, la expresia lui F
*
din subprocedura REDUNDANT
se adaug i expresia lui D. Observm c nici unul din implicanii primi nu este relativ
esenial, deci: F x x x x x x x x x
*
= + +
2 3 4 1 2 3 1 2 4
.
Subprocedura PARTIALLY_REDUNDANT stabilete care sunt implicanii acoperii
de expresia D + RE pentru a fi declarai total redundani i eliminai. RE este suma
implicanilor relativ eseniali. Implicanii din F
*
care nu sunt nici relativ eseniali i nici
total redundani se numesc parial redundani i formeaz expresia R
p
:
R x x x x x x x x x
p
= + +
2 3 4 1 2 3 1 2 4
Subprocedura MINIMAL_COVER caut un set minim de implicani din R
p
care
acoper expresia neacoperit de RE i setul D. Pentru fiecare implicant c
i
din R
p
va exista
o sum de implicani
G
nc
, astfel nct expresia ( ) R G D RE
p nc
+ + va acoperi
implicantul c
i
dac i numai dac un implicant este eliminat din
G
nc
. Rezult c
F x x x
*
=
2 3 4
, i forma minim a funciei este:
F x x x x x x x x x = + +
2 3 4 1 3 4 1 3 4
Verificai cu ajutorul altor metode de minimizare mai simple c aceasta este
ntr-adevr forma minim a funciei de la care am pornit.
Probleme 73
Probleme
4.1 S se demonstreze prin cel puin dou metode urmtoarea echivalen boolean:
z x y x z x z y y x + = + +
4.2 Folosind axiomele i teoremele algebrei boolene, s se verifice urmtoarele echivalene:
( ) ( ) y x y x y x y x + = + +
y x y x x + = +
( ) ( ) ( ) z x z y y x z x z y y x + + = + + +
( ) ( ) ( ) y x y x y x y x = + + +
z y z x y x z y z x y x + + = + +
z y y x z y y x = + +
( ) ( ) y x z x z x y x + = + +
4.3 Se d funcia de 3 variabile descris prin tabelul de adevr din figura de mai jos. S se
minimizeze algebric i apoi folosind diagrama Veitch-Karnaugh i s se implementeze
ntr-o variant cu timp de propagare minim.
A B C
f
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
A B C
f
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
4.4 S se implementeze funcia SAU-EXCLUSIV folosind numai pori I-NU cu 2 intrri.
S se repete implementarea, folosind numai pori I-SAU-NU. Comparai cele dou
soluii din punct de vedere al numrului de circuite integrate i al timpului de propagare.
4.5 O companie dorete s angajeze personal n diferite compartimente. Pentru a fi admii,
candidaii trebuie s ndeplineasc cel puin una din urmtoarele condiii:
a) s fie brbat, necstorit, cu studii superioare;
b) s fie necstorit(), cu studii i s aib vrsta sub 30 ani;
c) s fie femeie, necstorit i fr studii superioare;
d) s fie brbat, cu vrsta sub 30 ani;
e) s fie necstorit(), cu vrsta peste 30 ani.
S se proiecteze un circuit pentru selecia automat a candidailor.
4.6 S se minimizeze urmtoarea funcie binar folosind metoda Quine-McCluskey i s se
verifice prin metoda diagramelor Veitch-Karnaugh:
15 13 11 10 8 7 5 3 2 0
P P P P P P P P P P f + + + + + + + + + =
74 4 FUNCII BINARE
4.7 Folosind numai teorema consensurilor, inclusiv formularea dual, s se minimizeze
urmtoarele expresii:
D C A D C A D C B D B A C B A + + + +
( ) ( ) ( ) ( ) ( ) ( ) D C D B C B D A C A B A + + + + + +
([Wilkinson, 2002])
4.8 Se d funcia:
14 9 8 7 1
P P P P P f + + + + = , cu termenii redundani
3
P ,
4
P ,
10
P ,
11
P i
15
P . Se cere:
a) minimizare cu ajutorul diagramei Veitch-Karnaugh;
b) s se implementeze cu numr minim de pori I-NU cu dou intrri;
c) s se implementeze cu numr minim de pori SAU-NU cu dou intrri.
([Murean, 1996])
4.9 Artai c o poart AND cu n intrri poate fi nlocuit cu n-1 pori AND cu cte
2 intrri. Se poate afirma acelai lucru i despre porile NAND?
([Wakerly, 1990])
4.10 S se nlocuiasc circuitul din figur cu un circuit echivalent mai simplu:
f
A
B
C
D
E
([Wilkinson, 2002])
4.11 a) Dac B A f + =
1
,
3
f este o poart I, iar A Z = pentru circuitul din
figura de mai jos, atunci este
2
f unic determinat?
b) Dac A Z = atunci putei gsi o funcie
3
f care depinde de ambele
intrri i permite ca
2
f s fie unic determinat?
f
1
f
2
f
3
A
B
Z
([Friedman, 1986])
4.12 Presupunem c transferul datelor ntr-un sistem numeric se face pe 4 bii, primii
3 fiind bii de date, iar ultimul, bit de paritate (indic dac s-a transmis un numr
par de bii de 1, de exemplu, pentru informaia 101 rezult cuvntul 1011).
Proiectai un circuit NAND pe dou nivele care semnalizeaz o eroare de 1 bit.
([Friedman, 1986])

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