Sunteți pe pagina 1din 18

1.

ELEMENTE DE ALGEBR BOOLEAN


n teoria circuitelor numerice i n electronica digital n general, semnalele
electrice pot lua numai valori discrete, n majoritatea cazurilor aceste valori fiind
asociate convenional lui 0 logic i 1 logic. n limbaj tehnic ne vom referi la aceste
dou valori cu noiunea de bit (binary digit).
Bitul se definete n teoria informaiei i este o unitate de msur a acesteia,
echivalent cu informaia transmis prin furnizarea unui mesaj din dou egal
probabile.
Calculatoarele electronice digitale (numerice) efectueaz operaii logice. De
aceea, pentru a studia principiile de operare ale subsistemelor de procesare logic,
este necesar s se analizeze unele noiuni de logic matematic. Se disting mai
multe direcii de preocupare n logica matematic, printre care logica claselor i
logica propoziiilor.
n logica claselor se studiaz relaiile dintre clasele (mulimile) de obiecte, prin
clas nelegndu-se totalitatea obiectelor care au o anumit proprietate.
n logica propoziiilor se studiaz propoziiile din punct de vedere al adevrului
sau falsitii lor (este vorba de propoziii matematice).
n afar de logica bivalent, n care propoziiile pot fi numai adevrate sau
numai false, s-au dezvoltat i alte logici matematice n care se admit i alte valori
pentru propoziii. Aceste logici au cptat atributul de polivalente.
Majoritatea sistemelor digitale lucreaz n logic bivalent, utiliznd
codificarea binar a informaiei. Exist i sisteme care lucreaz pe baza unor logici
polivalente.
Fie A o propoziie. Dac ea este adevrat vom scrie: A = 1. Dac este fals,
vom scrie: A = 0. Astfel, 1 i/sau 0 reprezint valori de adevr (sau valori logice
binare) pentru propoziia A. Expresiile n care intervin mai multe propoziii vor fi
numite funcii logice.
Algebra logic binar a fost fundamentat prin lucrrile matematicianului
englez George Boole i din aceast cauz ea mai poart i denumirea de algebr
Boole sau algebr boolean. Pentru studiul circuitelor numerice (digitale) se
folosete ca suport matematic algebra boolean. Ea are la baz o serie de postulate
(axiome) i teoreme.

cap.1 Elemente de algebr boolean

1.1 Axiome i teoreme booleene


Algebra boolean opereaz pe o mulime B = { x / x{0, 1}}. n aceast
mulime binar se definesc trei legi de compoziie: complementarea (negare, NU,
NOT, inversare logic), disjuncia (sum logic, +, SAU, OR, ) i
conjuncia (produs logic, , I, AND, ), pentru care se dau n continuare
tabelele de adevr, simbolurile grafice i implementarea prin contacte (figura 1.1)

x
0
1

x
0
0
1
1

x
1
0

x
x

y
0
1
0
1

(xy )
x+y
0
1
1
1

x+y

x
0
0
1
1

y
0
1
0
1

(xy )
xy
0
0
0
1

xy

x
x

Figura 1.1 Tabelele de adevr, simbolurile grafice i implementarea prin contacte


electrice pentru complementare, disjuncie i conjuncie

Toate relaiile definite pe B au un caracter dual, adic relaiile rmn valabile


dac se fac schimbrile: + cu i respectiv 0 cu 1 (teorema dualitii).
n mulimea B se poate alege o structur de ase axiome duale pe baza
crora se definesc teoremele i proprietile care stau la baza algebrei boolene.
Acestea sunt prezentate n continuare.
Axiome:
1. Mulimea B este o mulime nchis:
X,Y B X+YB; X,Y B XYB ;
2. Asociativitatea:
X+(Y+Z) = (X+Y)+Z ; X(YZ) = (XY) Z ;
3. Comutativitatea:
X+Y = Y+X ; XY = YX ;
2

(1.1)
(1.2)
(1.3)

BAZELE PROIECTRII CIRCUITELOR NUMERICE


4. Distributivitatea:
X+YZ = (X+Y)(X+Z) ; X (Y+Z) = XY+XZ ;
5. Element neutru:
X + 0 = 0 + X = X ; X1 = 1 X = X ;
6. Complementul:

(1.4)
(1.5)

X + X = 1; X X = 0 ;

(1.6)

Teoreme (proprieti):
7. Idempotena:
X+X+..+X = X ; XX..X = X ;
8. Elemente neutre:
X+1 = 1 ; X0 = 0 ;
9. Involuia:

(1.7)
(1.8)

X = X, X = X;
10. Absorbia:
X+XY = X ; X(X+Y) = X ;
11. Relaiile lui De Morgan:

X + Y = XY ,

(1.9)
(1.10)

XY = X + Y

(1.11)

n general, notnd cu suma i respectiv cu produsul boolean, relaiile De


Morgan se scriu:
n

k =1

xk =

xk

k =1

xk =

k =1

xk

(1.12)

k =1

Pe mulimea B sunt valabile teoremele enunate. Demonstraia lor se poate


face folosind axiomele, dar este mai comod dac se folosesc tabelele de adevr.
Tabela de adevr stabilete o coresponden ntre valorile de adevr ale variabilelor
i valoarea de adevr a funciei.
Exemplu:
x
0
0
1
1

y
0
1
0
1

x+y
0
1
1
1

x+y

xy

1
0
0
0

1
1
0
0

1
0
1
0

1
0
0
0

Figura 1.2 Relaiile lui De Morgan

cap.1 Elemente de algebr boolean

Perechile de operatori NOT i AND, respectiv NOT i OR formeaz fiecare


cte un sistem complet, adic orice relaie definit pe B poate fi exprimat folosind
numai operatorii unei singure perechi.
Circuitul fizic care implementeaz un operator logic se numete poart logic.
Sistemele complete prezentate au fost realizate cu cte o singur poart: I-NU
(NAND, Scheffer) i SAU-NU (NOR, funcie nici sau funcie Pierce). Un sistem
complet de operatori poate exprima orice relaie logic ca n exemplul urmtor, n
care ne propunem s implementm operatorii NOT, OR i AND folosind operatori
NAND i NOR.
NOT

OR

AND

NAND

x = xx

x + y = xy

xy = xy

NOR

x = x+x

x+y = x+y

xy = x + y

Figura 1.3 Implementarea operatorilor NOT, OR i


AND folosind operatori NAND i NOR.

Relaii booleene utile:


1) x + 1 = ( x + 1) * 1 = ( x + 1)( x + x ) = x * x + x * x + 1 * x + 1 * x =
= x+0+x+x = x+x =1
2) proprietatea de absorbie: x + ( x * y ) = x * (1 + y ) = x
i relaia dual: x * ( x + y ) = x * x + x * y = x + xy = x

(1.13)

(1.14)

3) x + x * y = x + y
(1.15)
Demonstraie:
x + y = ( x + y )( x + x )( y + y ) = ( xx + x x + yx + y x )( y + y ) = ( x + xy + xy )( y + y ) =
= xy + x y + xy + xy y + xy + xy y = xy + x y + xy = x( y + y ) + xy = x + xy
4) x( x + y ) = x * y (duala relaiei precedente).

(1.16)
(1.17)

1.2 Funcii logice


O funcie f : Bn B se numete funcie boolean. Altfel spus, o funcie
boolean de n variabile y = f (x1,x2,..xn), unde xi sunt variabile de intrare, se
caracterizeaz prin faptul c att funcia ct i variabilele nu pot lua dect dou
valorile distincte, 0 i 1.

BAZELE PROIECTRII CIRCUITELOR NUMERICE

Exemplu:
Considerm un rezervor alimentat de trei robinete x, y i z. Ne propunem s
meninem rezervorul plin cu ajutorul acestor trei robinete. Rezervorul poate fi
meninut plin dac cel puin dou robinete sunt deschise simultan. Dac considerm
c un robinet deschis are atribuit valoarea logic 1, atunci funcia care descrie din
punct de vedere logic aceast situaie este urmtoarea:

U( x, y, z) = xy z + x yz + xyz + xyz

(1.18)

1.3 Reprezentarea funciilor logice


Pentru reprezentarea funciilor logice se folosesc n mod curent i n principal
trei metode, descrise mai jos.
A. Reprezentare prin tabela de adevr

Aceast reprezentare presupune marcarea, ntr-un tabel, a corespondenei


dintre valorile de adevr ale variabilelor de intrare i valoarea de adevr a funciei n
fiecare punct al domeniului de definiie.
Exemplu:
Pentru cazul problemei considerate n exemplul anterior, reprezentarea prin tabel
arat ca n figura 1.4

x
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1

U
0
0
0
1
0
1
1
1

Figura 1.4 Exemplu de reprezentare prin tabel a unei funcii logice


B. Reprezentarea prin diagrame Karnaugh

Reprezentarea prin diagrame Karnaugh const n a marca punctele


domeniului de definiie ntr-o diagram plan i a preciza valoarea funciei n fiecare
din aceste puncte.

x \ yz
0
1

00
0
0

01
0
1

11
1
1

10
0
1

Figura 1.5 Reprezentarea funciilor logice prin diagrame Karnaugh

cap.1 Elemente de algebr boolean


Dac lum n considerare vrful cubului caracterizat prin coordonatele 000,
constatm c acest vrf este vecin cu vrfurile 001, 010, 100. n diagrama Karnaugh
constatm c 000 este vecin doar cu 001 i 100. Pentru ca diagrama Karnaugh s fie
echivalent cu reprezentarea prin cub, ea trebuie s pstreze acelai vecinti,
lucru ce devine posibil doar dac ne imaginm latura din stnga a diagramei
Karnaugh n continuarea celei din dreapta, iar latura de sus n continuarea celei de
jos. n acest fel, punctul 000 devine vecin i cu punctul 010.
C. Reprezentarea prin echivaleni zecimali ai mintermilor

Reprezentarea prin echivaleni zecimali ai mintermilor const n indicarea


echivalenilor zecimali ai conjunciilor pentru care valoarea funciei este 1 sau a
echivalenilor zecimali corespunztori valorii 0 ale funciei.
Exemplu:

U( x,y,z ) = R1 ( 3,5,6,7 )
U( x,y,z ) = R0 ( 0,1,2,4 )

(1.19)
(1.20)

1.4 Expresii analitice ale funciilor logice


n majoritatea aplicaiilor practice este necesar utilizarea formei analitice a
funciilor booleene. n acest scop se utilizeaz dou forme de dezvoltare:
- forma canonic disjunctiv (FCD) care presupune utilizarea unor funcii elementare
numite constitueni ai unitii (termeni minimali sau mintermi);
- forma canonic conjunctiv (FCC) care presupune utilizarea unor funcii elementare
numite constitueni ai lui zero (termeni maximali sau maxtermi).
Notaie:

x, pentru = 1
x =
x, pentru = 0

(1.21)

Definiie:
Se numete constituent al unitii funcia elementar Q(kn) caracterizat prin faptul c

ia valoarea 1 logic ntr-un un singur punct al domeniului de definiie. Constituentul


unitii va fi produsul logic al tuturor variabilelor negate sau nenegate:
Q(kn)

n 1

xi

k(10) = n-1,.. 0 (2)

(1.22)

i=0

Pentru ca Q(kn) s fie 1 ntr-un anumit punct al domeniului de definiie este

necesar ca toi termenii produsului s fie 1 logic, ceea ce presupune ca argumentele


s aib valoarea xi = i.
Aadar rezult urmtoarea regul de scriere a mintermenilor Q(kn) : n
conjuncia variabilelor, variabilele care iau valoarea 0 n punctul respectiv al
domeniului de definiie se vor lua negate, iar cele care iau valoarea 1 se vor lua
nenegate.

BAZELE PROIECTRII CIRCUITELOR NUMERICE


Numim conjuncii vecine dou conjuncii care sunt constituite din aceleai
variabile i difer doar prin comlementarea uneia singure. Prin sumarea a dou
conjuncii vecine se obine o conjuncie cu un numr de variabile mai mic cu 1,
lipsind variabila a crei complementaritate difer.
Exemplu:
Pentru cazul unei funcii de 4 variabile, fie suma a dou conjuncii vecine:

Q(94 ) + Q(84 ) = x 3 x 2 x1x 0 + x 3 x 2 x1 x 0 = x 3 x 2 x1( x 0 + x 0 ) = x 3 x 2 x1 = Q(43 )

(1.23)

Definiie:
Se numete constituent al lui zero funcia elementar D(kn) care ia valoarea 0 logic
ntr-un singur punct al domeniului de definiie. Constituentul lui 0 va fi suma logic a
tuturor variabilelor negate sau nenegate:

D(kn) =

n 1

xi

k (10 ) = n 1..... 0 ( 2)

(1.24)

i=0

Pentru ca D(kn) s fie 0 ntr-un un anumit punct al domeniului de definiie este


necesar ca toi termenii sumei s fie 0, ceea ce este echivalent cu x i = i .
Prin urmare rezult urmtoarea regul de scriere a maxtermului D(kn) : n
disjuncia variabilelor, variabilele care iau valoarea 0 n punctul respectiv al
domeniului de definiie se vor lua nenegate, iar cele care iau valoarea 1 se vor lua
negate.
Disjunciile vecine se definesc n mod similar cu conjunciile vecine. Prin
nmulirea a dou disjuncii vecine se obine o disjuncie avnd o variabil mai puin
(dispare acea variabil care i modific complementaritatea).
D(94 ) D(84 ) = ( x 3 + x 2 + x1 + x 0 )( x 3 + x 2 + x1 + x 0 ) = (D(43 ) + x 0 )(D(43 ) + x 0 ) =
= D(43 )D(43 ) + D(43 ) ( x 0 + x 0 ) + x 0 x 0 = D(43 ) + D(43 ) + 0 = D(43 ) = x 3 + x 2 + x1

(1.25)

Pentru o funcie de o variabil x, f(x) se poate scrie sub forma:


f ( x ) = xf (1) + xf (0)

(1.26)

n mod similar, pentru o funcie de dou variabile f(x1, x0) avem relaia:
f (x1, x0 ) = x1f(1, x0 ) + x1f (0, x0 ) = x1[x0f(1,1) + x0f(1,0)] + x1[x0f(0,1) + x0f(0,0)] =
= x1x0f (1,1) + x1x0f(1,0) + x1x0f(0,1) + x1x0f(0,0) =

x1 x0 f(10 )

(1.27)

j = 0,..., n 1

(1.28)

1, 0 {0,1}

Prin inducie rezult:


n 1

f ( x n 1,..., x 0 ) =

xj
{0,1}
(

j=0

) f ( n 1,..., 0 ),

cap.1 Elemente de algebr boolean


Termenii de sum pentru care f ( n 1,..., 0 ) = 0 dispar, deci:

f ( x n 1,..., x 0 ) =

n 1

xj

) =1
(

f ( n1,..., 0

( FCD )

(1.29)

j=0

Expresia unei funcii logice este suma mintermilor pentru care funcia ia valoarea 1.
Exemplu:
U( x, y, z ) = x1y1z0 + x1y 0 z1 + x 0 y1z1 + x1y1z1 = xy z + x yz + xyz + xyz

(1.30)

Forma canonic conjunctiv ( FCC ) se obine astfel:


n 1

f ( x n 1,..., x 0 ) = f ( x n 1,..., x 0 ) =

f ( n1,..., 0

f ( n1,..., 0

n 1

xj
)=0
(

)=

j=0

) =1
(

n 1

j=0

xj

xj j ) =

n 1

xj

f ( n1,..., 0 ) =1 j = 0

)=

(1.31)

f ( n1,..., 0 ) = 0 j = 0

Expresia funciei logice poate fi scris deci ca produsul maxtermilor pentru


care funcia ia valoarea 0.
Exemplu:

U( x, y, z) = ( x 0 + y 0 + z0 )( x 0 + y 0 + z1)( x 0 + y1 + z 0 )( x1 + y 0 + z 0 ) =
= ( x + y + z)( x + y + z)( x + y + z )( x + y + z)

(1.32)

1.5 Implementarea funciilor logice


Implementarea unei funcii logice nseamn realizarea ei cu ajutorul circuitelor
(porilor) fundamentale.
Se definete cost al unei implementri numrul de intrri n circuitele
fundamentale care realizeaz funcia dat.
Pentru implementarea unei funcii cu circuite NAND se pornete de la FCD:
f ( x n 1,..., x 0 ) =

Q(kn) =

f ( n 1,..., 0 ) =1

Q(kn),

f ( n 1,..., 0 ) =1

Q(kn) =

n 1

xj

, k10 = n 1,..., 0 ( 2)

j=0

(1.32)
Realiznd Q(kn) cu circuite NAND, funcia f se obine prin cuplarea ieirilor
circuitelor NAND precedente la intrrile unui alt circuit NAND.
Exemplu:
f ( x, y, z ) = xy z + x yz + xyz + xyz (problema implementat de realaia1.18)

BAZELE PROIECTRII CIRCUITELOR NUMERICE

x y z

x y z

x y z

x y z

f
Figura 1.6 Exemplu de implementare a unei funcii logice
cu circuite NAND, pornind de la FCD

Costul implementrii din figura 1.6 este: C1( f ) = 3 4 + 4 = 16


Pentru implementare cu circuite NOR se pornete de la FCC:
f ( x n 1,..., x 0 ) =

D(kn) =

f ( n 1,..., 0 ) = 0

D(kn) ,

D(kn) =

f ( n 1,..., 0 ) = 0

n 1

xj

, k (10 ) = n 1,..., 0

j=0

(1.33)
Funcia f se obine prin cuplarea ieirilor circuitelor NOR ce implementeaz D(kn) la
intrrile unui alt circuit NOR.
Exemplu:

x y z

x y z

x y z

x y z

C2( f )= 3 4 + 4 = 16
f
Figura 1.7 Exemplu de implementare a unei funcii logice
cu circuite NOR, pornind de la FCC
Nivelul unei implementri logice se definete ca fiind numrul maxim de
circuite pe care le strbate un semnal de la intrare ctre ieire.
n cazurile precedente s-au considerat structuri logice cu dou nivele.
Exemplu:

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

(1.34)

cap.1 Elemente de algebr boolean

C1 = 2 3 + 3 = 9;

N1 = 2

f f

Figura 1.8 Exemplu de implementare a unei funcii logice(1.34)


cu NAND, pe dou nivele, fr reducerea costului

Rescriind relaia (1.34) sub alt form se obine (1.35).


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

(1.35)

Scderea costului n varianta a doua s-a fcut pe seama creterii nivelului,


ceea ce implic ns micorarea vitezei.
z

y
x
y

C2 = 2 + 2 + 2 + 2 = 8;

N2 = 3

Figura 1.9 Exemplu de implementare a unei funcii logice


cu NAND (1.34), pe trei nivele, cu reducerea costului

1.6 Funcii incomplet definite


n unele cazuri, pentru anumite combinaii de variabile de intrare nu este
precizat valoarea funciei sau aceste combinaii nu apar niciodat n sistemul fizic
ce materializeaz funcia. Astfel de funcii se numesc funcii incomplet definite i
prezint valori indiferente, pe care n tabelul de adevr le vom nota cu x:
x
0
0
0
0
1
1
1
1

10

y
0
0
1
1
0
0
1
1

z
0
0
0
1
0
1
0
1

f
0
1
1
x
x
x
x
x

BAZELE PROIECTRII CIRCUITELOR NUMERICE


Un alt mod de reprezentare a acestor funcii este prin echivaleni zecimali (1.36).
f ( x,y,z ) = R1 ( 1,2,4 ) + Rx ( 3,5,6,7 )
f ( x,y,z ) = R0 ( 0 ) + Rx ( 3,5,6,7 )
f ( x,y,z ) = R0 ( 0 ) + R1 ( 1,2,4 )

(1.36)

1.7 Minimizarea funciilor logice


n proiectarea sistemelor digitale, analiza i sinteza circuitelor numerice se
bazeaz pe algebra boolean. Rezult o legtur fireasc ntre gradul de
complexitate al circuitului care se obine i gradul de complexitate al funciei care l
descrie. Din acest motiv, pentru sinteza circuitelor numerice (circuite funcionnd n
regim de comutaie), dup etapa de definire a funciei, urmeaz obligatoriu etapa de
minimizare a funciei n scopul obinerii unei forme simplificate (form minim).
Minimizarea unei funcii este procedeul prin care, pentru un nivel dat, se
obine o expresie care genereaz un cost minim pentru un numr dat de nivele
logice.
Implementarea practic a circuitului se realizeaz pe baza formei minimizate,
ceea ce conduce la configuraia optim de circuit.
Exist mai multe metode de minimizare, cteva dintre acestea fiind:
- metoda analitic
- metoda Veitch - Karnaugh
- metoda Quine - McCluskey
1.7.1 Metoda analitic

Metoda analitica se bazeaz pe simplificarea expresiei unei funcii pe baza


axiomelor i teoremelor algebrei booleene.
Exemplu:
f ( x,y,z ) = xy z + x yz + xyz + xyz ;

C1 = 34 + 4 = 16

(1.37)

Prelucrnd forma dat a funciei, ea se poate rescrie:

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


= xy(z + z) + xz(y + y) + yz(x + x) = xy + xz + yz ;

(1.38)

C2 = 32 + 3 = 9
1.7.2 Metoda Veitch - Karnaugh

Aceast metod transpune axiomele i teoremele algebrei booleene pe


reprezentarea funciei cu diagrame Karnaugh.
O diagram Karnaugh poate fi privit ca o reprezentare a funciei booleene,
dac se au n vedere produsele logice ale coordonatelor, prin mintermi, aa cum se
observ n reprezentarea care urmeaz.

11

cap.1 Elemente de algebr boolean


x2 \ x1x0
0
1

00
x 2 x1 x 0

01
x 2 x1x 0

11
x 2 x1x 0

10
x 2 x1 x 0

x 2 x1 x 0

x 2 x1x 0

x 2 x1x 0

x 2 x1 x 0

Fiecare celul din diagram conine un minterm. Dou celule vecine conin
mintermi care difer prin valoarea unei singure variabile. Prin adunarea mintermilor
din dou celule vecine se elimin variabila care i schimb valoarea. Aceasta
permite simplificarea expresiei funciei care se obine i implicit simplificarea structurii
logice corespunztoare
Exemplu:

x2 \ x1x0

00

01

11

10

0
1

0
0

0
1

1
1

0
1

FCD se obine prin sumarea mintermilor pentru care funcia ia valoarea 1. Prin
gruparea celulelor vecine pentru care valoarea funciei este 1 se obin x2x1, x2x0, x1x0
(prin eliminarea variabilelor care i schimb valoarea n cadrul aceleiai grupri).
Fiecare celul ocupat de valoarea 1 trebuie s fac parte din cel puin o
grupare, dar poate fi inclus n mai multe grupri.
Pentru exemplul considerat se obine FMD:
f ( x2, x1, x0 ) = x2x1 + x2x0 + x1x0.

(1.39)

Dac un grup de dou celule vecine este vecin la rndul su cu un alt grup de
dou celule vecine, acestea se pot contopi ntr-un singur grup de patru celule vecine,
ceea ce va permite eliminarea a dou variabile. n general, un grup de 2m celule
vecine ocupate de uniti permite eliminarea a m variabile.
Exemplu:
f ( x 3 , x 2 , x1, x 0 ) = x1 x 0 + x 2 x 0

(1.40)

x3x2 \ x1x0

00

01

11

10

00
01
11
10

1
1
1
1

0
0
0
0

0
0
0
0

1
0
0
1

Cel mai avansat grad de simplificare se obine dac valorile 1 dintr-o diagram
Karnaugh sunt grupate ntr-un numr minim de grupuri, fiecare grup coninnd un
numr maxim de uniti, aa cum este exemplificat n diagrama care urmeaz.
x4x3 \ x2x1x0
00
01
11
10

12

000

001

011

1
1
1
1

1
1

010

011

111

101

100

1
1

1
1
1
1

1
1

1
1
1

BAZELE PROIECTRII CIRCUITELOR NUMERICE


Exemplu:
f (x4, x3, x2, x1, x0 ) = x1x0 + x4 x2x0 + x4 x2x1x0 + x3 x2x1x0 +

(FMD)

+ x3x2x0 + x4 x2 x1

(1.41)

Pentru simplitate, n diagram nu s-au trecut dect valorile 1 ale funciei. Costul este:
C1 = ( 2 + 3 + 4 + 4 + 3 + 3 ) + 6 = 25
Implementarea cu circuite NAND este prezentat n figura 1.10.
x1 x 0

x 4 x2 x0

x 4 x 2 x1 x 0

x 3 x 2 x1 x 0

x3x2x0

x 4 x 2 x1

f
Figura 1.10 Implementarea cu circuite NAND a funciei (1.41)

Pentru minimizarea funciilor scrise sub forma conjunctiv, n diagrama


Karnaugh se vor considera disjunciile corespunztoare valorilor 0 ale funciei i se
va urma o procedur asemntoare cu cea folosit la forma disjunctiv. Metoda
const n cuplarea de disjuncii vecine din care va disprea termenul corespunztor
bitului ce se modific, n echivalenii binari.
Exemplu:

x4x3 \ x2x1x0
00
01
11
10

000 001 011 010 110 111 101 100


0
0
0
0

0
0
0
0

0
0
0
0

0
0

f ( x 4 , x 3 , x 2 , x1, x 0 ) = ( x 4 + x 2 + x 0 ) ( x 4 + x1 + x 0 ) ( x 4 + x 2 + x1 + x 0 )

( x 3 + x 2 + x1 + x 0 ) ( x 3 + x 2 + x1 + x 0 )
C2 = ( 3 + 3 + 4 + 4 + 4 ) + 5 = 23
Implementarea cu circuite NOR este prezentat n figura 1.11.

13

(1.42)

cap.1 Elemente de algebr boolean


x 4 x2 x0

x 4 x1 x 0

x 3 x 2 x1 x 0

x 4 x 2 x1 x0 x 3 x 2 x1 x 0

f
Figura 1.11 Implementarea cu circuite NOR a funciei (1.42)

n cazul funciilor incomplet definite, valorile indiferente ale funciei se iau 1


pentru forma disjunctiv i 0 pentru forma conjunctiv dac aceste valori particip la
minimizare. Valorile indiferente care nu sunt cuplate devin 0 pentru forma disjunctiv
i 1 pentru forma conjunctiv. Considerarea valorilor indiferente determin
simplificarea formei funciei care se obine n sensul reducerii numrului de variabile.
Exemplu:
f (x3, x2, x1, x0 ) = R1( 0, 1, 2, 4 ) + Rx( 3, 5, 10, 15 )

x3x2\x1x0

00

01

11

10

x3x2\x1x0

00
01
11
10

1
1

1
x

00
01
11
10

x
x

f ( x 3 , x 2 , x1, x 0 ) = x 3 x1 x 0 + x 3 x 2 x 2 + x 3 x 2 x1;

(1.43)
00

01

11

10

0
0

x
0
0

x
0
x
0

0
0
x

C1 = 3 3 + 3 = 12

(1.44)

f ( x 3 , x 2 , x1, x 0 ) = ( x 3 + x1)( x 3 + x 2 + x 0 )( x 3 + x 2 + x1)( x 2 + x1 + x 0 );

(1.45)

C3 = (2 + 3 3) + 4 = 15

x3x2\x1x0

00

01

11

10

x3x2\x1x0

00
01
11
10

1
1

1
x

00
01
11
10

x
x

00

01

11

10

0
0

x
0
0

x
0
x
0

0
0
x

f ( x 3 , x 2 , x1, x 0 ) = x 3 x1 + x 3 x 2 ;

C2 = 2 2 + 2 = 6

(1.46)

f ( x 3 , x 2 , x1, x 0 ) = x 3 ( x 2 + x1);

C4 = 2 + 2 = 4

(1.47)

14

BAZELE PROIECTRII CIRCUITELOR NUMERICE


Concluzia este c prin participarea valorilor indiferente la minimizarea funciilor
incomplet definite se obine o reducere a costurilor.
1.7.3 Metoda Quine McCluskey

Pentru funcii ce depind de mai mult de 5 variabile, metoda Veitch - Karnaugh


devine greoaie i se prefer o alt metod, metoda Quine - McCluskey.
n cazul formei disjunctive, minimizarea prin aceast metod presupune
parcurgerea etapelor prezentate n continuare.
1) Ordonarea echivalenilor binari ai conjunciilor corespunztoare valorilor 1 ale
funciei dup pondere.
Definiie:

Ponderea conjunciei Q(kn) =

n 1

xj

este numrul

P[Q(kn) ] =

j=0

n 1

j , unde

este

j=0

suma algebric.
Exemplu:
P[ x 3 x 2 x1 x 0 ] = P[ x 03 x12 x11x 00 ] = 0 + 1 + 1 + 0 = 2

(1.48)

Pentru o conjuncie Q = Q1Q2, ponderea este P[Q]= P[Q1]+ P[Q2].


Lem:
Pentru dou conjuncii vecine ponderile difer cu o unitate.
P[ x iQ] = P[ x i ] + P[Q] = 1 + P[Q]

P[ xiQ] = P[ xi ] + P[Q] = 0 + P[Q] = P[Q]


Reciproca nu este adevrat: P[ x 3 x 2 x1 x 0 ) = P[ x 3 x 2 x1x 0 ] + 1
2) Determinarea implicanilor primi prin comparaii succesive ale echivalenilor binari.
Definiie:
Se numete implicant prim al unei funcii un termen al acesteia care nu se mai poate
reduce.

Pentru determinarea implicanilor primi se cupleaz echivalenii binari care


difer doar printr-o cifr din acelai rang. Se obine astfel primul tabel de comparaii
n care dispariia variabilei corespunztoare cifrei care se modific se noteaz cu -.
n continuare, se pot cupla dou conjuncii din grupe vecine dac simbolul - se afl
n acelai rang i echivalenii binari difer doar printr-o cifr din acelai rang. Rezult
al doilea tabel de comparare i procedura se repet. Conjuncia care nu se mai poate
cupla cu nici o alt conjuncie din tabel este un implicant prim al funciei date.

15

cap.1 Elemente de algebr boolean


3) Determinarea tabelului de acoperire al funciei
Tabelul de acoperire este un tablou rectangular, la care liniile corespund
implicanilor primi, iar coloanele corespund echivalenilor zecimali ai conjunciilor
pentru care funcia ia valoarea 1. Tabloul se completeaz cu 1 n poziiile pentru care
conjunciile de pe coloane realizeaz implicanii primi de pe linii.
4) Calculul formal de determinare a tuturor soluiilor funciei

Fiecrui implicant prim X i se ataeaz o variabil logic Fx care ia valoarea 1


cnd implicantul prim este realizat (conform tabelului de acoperire). Pentru realizarea
funciei este necesar ca n expresia ei s existe toate conjunciile corespunztoare
valorilor 1 ale funciei. Pentru determinarea tuturor soluiilor funciei, se exprim
aceast cerin cu ajutorul variabilelor Fx.
Exemplu:

f ( x3, x2, x1, x0 ) = R1 ( 0, 1, 3, 4, 7, 8, 11, 12, 13, 15 )


1) Ordonarea echivalenilor binari
0
1
2
3
4

0000
0001
0100
1000
0011
1100
0111
1011
1101
1111

0
1
4
8
3
12
7
11
13
15

2) Determinarea implicanilor primi


0000-00
-000
00-1
-100
1-00
0-11
-011
110-111
1-11
11-1
- -00
- -11

16

.... A
.... B

.... C
.... D
.... E
.... F

(1.49)

BAZELE PROIECTRII CIRCUITELOR NUMERICE


A = x 3 x 2 x1 ; B = x 3 x 2 x 0 ;

C = x 3 x 2 x1 ;

(1.50)

D = x 3 x 2 x 0 ; E = x1 x 0 ; F = x1x 0
3) Determinarea tabelului de acoperire al funciei
A
B
C
D
E
F

0
1

1
1
1

11

12

13

15

1
1

1
1

4) Calculul formal de determinare a tuturor soluiilor funciei


( FA + FE )( FA + FB )( FB + FF) FE FF FE FF ( FC + FE )( FC + FD )( FD + FF ) = 1
( FA + FB ) FE FF ( FC + FD ) = 1

(1.51)

FA FC FE FF + FA FD FE FF + FB FC FE FF + FB FD FE FF = 1
Funcia f poate avea 4 expresii:
f=A+C+E+F

(1.52)

f = A + D+ E + F
f = B + C+ E + F
f = B + D+ E + F
n prima variant de obine
f ( x 3 , x 2 , x1, x 0 ) = x 3 x 2 x1 + x 3 x 2 x1 + x1 x 0 + x1 x 0
Implementarea cu circuite NAND este prezentat n figura 1.12.
x 3 x 2 x1

x 3 x 2 x1

x1 x 0

x1 x 0

f
Figura 1.12 Implementarea cu circuite NAND a funciei (1.53)

17

(1.53)

cap.1 Elemente de algebr boolean


n cazul formei conjunctive a funciilor, procedura este similar, dar se vor
considera valorile 0 ale funciei i disjunciile corespunztoare.
Metoda Quine McCluskey se preteaz implementrii automate a sistemelor
numerice. Algoritmul bazat pe aceast metod poate fi transpus n aplicaii software
care determin automat structura logic a circuitului.

18

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