Documente Academic
Documente Profesional
Documente Cultură
Algebra Booleana
Algebra Booleana
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
(1.1)
(1.2)
(1.3)
(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)
k =1
xk =
xk
k =1
xk =
k =1
xk
(1.12)
k =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
OR
AND
NAND
x = xx
x + y = xy
xy = xy
NOR
x = x+x
x+y = x+y
xy = x + y
(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)
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)
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
x \ yz
0
1
00
0
0
01
0
1
11
1
1
10
0
1
U( x,y,z ) = R1 ( 3,5,6,7 )
U( x,y,z ) = R0 ( 0,1,2,4 )
(1.19)
(1.20)
x, pentru = 1
x =
x, pentru = 0
(1.21)
Definiie:
Se numete constituent al unitii funcia elementar Q(kn) caracterizat prin faptul c
n 1
xi
(1.22)
i=0
(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
(1.25)
(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}
f ( x n 1,..., x 0 ) =
xj
{0,1}
(
j=0
) f ( n 1,..., 0 ),
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)
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
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)
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)
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
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:
(1.34)
C1 = 2 3 + 3 = 9;
N1 = 2
f f
(1.35)
y
x
y
C2 = 2 + 2 + 2 + 2 = 8;
N2 = 3
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
(1.36)
C1 = 34 + 4 = 16
(1.37)
(1.38)
C2 = 32 + 3 = 9
1.7.2 Metoda Veitch - Karnaugh
11
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
(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)
x4x3 \ x2x1x0
00
01
11
10
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)
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)
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)
(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
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)
15
0000
0001
0100
1000
0011
1100
0111
1011
1101
1111
0
1
4
8
3
12
7
11
13
15
16
.... A
.... B
.... C
.... D
.... E
.... F
(1.49)
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
(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)
18