Documente Academic
Documente Profesional
Documente Cultură
1 PDF
1 PDF
1
cap.1 Elemente de algebră booleană
(x∪y ) (x∩y )
x x x y x+y x y x⋅y
0 1 0 0 0 0 0 0
1 0 0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1
x x x x
x+y x⋅y
y y
x x
x
x y
x x y
Axiome:
2
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
4. Distributivitatea:
X+Y⋅Z = (X+Y)(X+Z) ; X⋅ (Y+Z) = X⋅Y+X⋅Z ; (1.4)
5. Element neutru:
X + 0 = 0 + X = X ; X⋅1 = 1⋅ X = X ; (1.5)
6. Complementul:
X + X = 1; X ⋅ X = 0 ; (1.6)
Teoreme (proprietăţi):
7. Idempotenţa:
X+X+…..+X = X ; XX…..X = X ; (1.7)
8. Elemente neutre:
X+1 = 1 ; X’0 = 0 ; (1.8)
9. Involuţia:
X = X, X = X; (1.9)
10. Absorbţia:
X+XY = X ; X(X+Y) = X ; (1.10)
11. Relaţiile lui De Morgan:
X + Y = XY , XY = X + Y (1.11)
∑ xk = ∏ xk şi ∏ xk = ∑ xk (1.12)
k =1 k =1 k =1 k =1
Exemplu:
x y x+y x+y x y x⋅y
0 0 0 1 1 1 1
0 1 1 0 1 0 0
1 0 1 0 0 1 0
1 1 1 0 0 0 0
3
cap.1 Elemente de algebră booleană
NOT OR AND
NAND x = x⋅x x + y = x⋅y x⋅y = x⋅y
3) x + x * y = x + y (1.15)
Demonstraţie:
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
(1.16)
4) x( x + y ) = x * y (duala relaţiei precedente). (1.17)
4
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
Exemplu:
Considerăm un rezervor alimentat de trei robinete x, y şi z. Ne propunem să
menţinem rezervorul plin cu ajutorul acestor trei robinete. Rezervorul poate fi
menţinut plin dacă cel puţin două robinete sunt deschise simultan. Dacă considerăm
că un robinet deschis are atribuită valoarea logică 1, atunci funcţia care descrie din
punct de vedere logic această situaţie este următoarea:
U( x, y, z) = xy z + x yz + xyz + xyz (1.18)
x \ yz 00 01 11 10
0 0 0 1 0
1 0 1 1 1
5
cap.1 Elemente de algebră booleană
Exemplu:
U( x,y,z ) = R1 ( 3,5,6,7 ) (1.19)
U( x,y,z ) = R0 ( 0,1,2,4 ) (1.20)
x, pentru σ = 1
Notaţie: xσ = (1.21)
x, pentru σ = 0
Definiţie:
Se numeşte constituent al unităţii funcţia elementară Q(kn) caracterizată prin faptul că
ia valoarea 1 logic într-un un singur punct al domeniului de definiţie. Constituentul
unităţii va fi produsul logic al tuturor variabilelor negate sau nenegate:
n −1
Q(kn) = ∏ xiσ i
, k(10) = σ n-1,…..σ 0 (2) (1.22)
i=0
6
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
Numim conjuncţii vecine două conjuncţii care sunt constituite din aceleaşi
variabile şi diferă doar prin comlementarea uneia singure. Prin sumarea a două
conjuncţii vecine se obţine o conjuncţie cu un număr de variabile mai mic cu 1,
lipsind variabila a cărei complementaritate diferă.
Exemplu:
Pentru cazul unei funcţii de 4 variabile, fie suma a două conjuncţii vecine:
Definiţie:
Se numeşte constituent al lui zero funcţia elementară D(kn) care ia valoarea 0 logic
într-un singur punct al domeniului de definiţie. Constituentul lui 0 va fi suma logică a
tuturor variabilelor negate sau nenegate:
n −1
D(kn) = ∑ xσi i
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 definiţie este
necesar ca toţi termenii sumei să fie 0, ceea ce este echivalent cu x i = σ i .
Prin urmare rezultă următoarea regulă de scriere a maxtermului D(kn) : în
disjuncţia variabilelor, variabilele care iau valoarea 0 în punctul respectiv al
domeniului de definiţie se vor lua nenegate, iar cele care iau valoarea 1 se vor lua
negate.
Disjuncţiile vecine se definesc în mod similar cu conjuncţiile vecine. Prin
înmulţirea a două disjuncţii vecine se obţine o disjuncţie având o variabilă mai puţin
(dispare acea variabilă care îşi modifică complementaritatea).
În mod similar, pentru o funcţie de două variabile f(x1, x0) avem relaţia:
∑ ∏xj
σj
f ( x n −1,..., x 0 ) = ( ) ⋅ f (σ n −1,...,σ 0 ), j = 0,..., n − 1 (1.28)
σ ∈{0,1}
j j=0
7
cap.1 Elemente de algebră booleană
∑ ∏
σj
f ( x n −1,..., x 0 ) = ( xj ) ( FCD ) (1.29)
f (σ n−1,...,σ 0 ) =1 j=0
Expresia unei funcţii logice este suma mintermilor pentru care funcţia ia valoarea 1.
Exemplu:
U( x, y, z ) = x1y1z0 + x1y 0 z1 + x 0 y1z1 + x1y1z1 = xy z + x yz + xyz + xyz (1.30)
∑ ∏ ∑ ∏ xj
σ σj
f ( x n −1,..., x 0 ) = f ( x n −1,..., x 0 ) = ( xj j ) = ( )=
f (σ n−1,...,σ 0 ) =1 j=0 f (σ n−1,...,σ 0 ) =1 j = 0
(1.31)
n −1 n −1
∑ ∏ xj ∏ ∑ xj
σj σj
= ( )= ( )
f (σ n−1,...,σ 0 )=0 j=0 f (σ n−1,...,σ 0 ) = 0 j = 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 ) =
(1.32)
= ( x + y + z)( x + y + z)( x + y + z )( x + y + z)
n −1
∑ ∏ ∏xj
σj
f ( x n −1,..., x 0 ) = Q(kn) = Q(kn), Q(kn) = , k10 = σ n −1,...,σ 0 ( 2)
f (σ n −1,...,σ 0 ) =1 f (σ n −1,...,σ 0 ) =1 j=0
(1.32)
Realizând Q(kn) cu circuite NAND, funcţia f se obţine prin cuplarea ieşirilor
circuitelor NAND precedente la intrările unui alt circuit NAND.
Exemplu:
f ( x, y, z ) = xy z + x yz + xyz + xyz (problema implementată de realaţia1.18)
8
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
x y z x y z x y z x y z
n −1
f ( x n −1,..., x 0 ) = ∏ D(kn) = ∑ D(kn) , D(kn) = ∑ xj σj
, k (10 ) = σ n −1,..., σ 0
f (σ n − 1,...,σ 0 ) = 0 f (σ n − 1,...,σ 0 ) = 0 j=0
(1.33)
Exemplu: x y z x y z x y z x y z
C2( f )= 3 ’ 4 + 4 = 16
f
9
cap.1 Elemente de algebră booleană
x y y z z x
C1 = 2 ’ 3 + 3 = 9; N1 = 2 f f
z
x f
y
x
y
C2 = 2 + 2 + 2 + 2 = 8; N2 = 3
x y z f
0 0 0 0
0 0 0 1
0 1 0 1
0 1 1 x
1 0 0 x
1 0 1 x
1 1 0 x
1 1 1 x
10
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
Un alt mod de reprezentare a acestor funcţii este prin echivalenţi zecimali (1.36).
f ( x,y,z ) = R1 ( 1,2,4 ) + Rx ( 3,5,6,7 ) (1.36)
f ( x,y,z ) = R0 ( 0 ) + Rx ( 3,5,6,7 )
f ( x,y,z ) = R0 ( 0 ) + R1 ( 1,2,4 )
11
cap.1 Elemente de algebră booleană
x2 \ x1x0 00 01 11 10
0 x 2 x1 x 0 x 2 x1x 0 x 2 x1x 0 x 2 x1 x 0
1 x 2 x1 x 0 x 2 x1x 0 x 2 x1x 0 x 2 x1 x 0
Fiecare celulă din diagramă conţine un minterm. Două celule vecine conţin
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 funcţiei care se obţine şi implicit simplificarea structurii
logice corespunzătoare
Exemplu:
x2 \ x1x0 00 01 11 10
0 0 0 1 0
1 0 1 1 1
FCD se obţine prin sumarea mintermilor pentru care funcţia ia valoarea 1. Prin
gruparea celulelor vecine pentru care valoarea funcţiei este 1 se obţin x2x1, x2x0, x1x0
(prin eliminarea variabilelor care îşi schimbă valoarea în cadrul aceleiaşi grupări).
Fiecare celulă ocupată de valoarea 1 trebuie să facă parte din cel puţin o
grupare, dar poate fi inclusă în mai multe grupări.
Pentru exemplul considerat se obţine FMD:
f ( x2, x1, x0 ) = x2x1 + x2x0 + x1x0. (1.39)
Dacă un grup de două celule vecine este vecin la rândul său 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 unităţi 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 1 0 0 1
01 1 0 0 0
11 1 0 0 0
10 1 0 0 1
Cel mai avansat grad de simplificare se obţine dacă valorile 1 dintr-o diagramă
Karnaugh sunt grupate într-un număr minim de grupuri, fiecare grup conţinând un
număr maxim de unităţi, aşa cum este exemplificat în diagrama care urmează.
x4x3 \ x2x1x0 000 001 011 010 011 111 101 100
00 1 1 1 1 1
01 1 1 1 1 1
11 1 1 1 1
10 1 1 1 1
12
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
Exemplu:
f (x4, x3, x2, x1, x0 ) = x1x0 + x4 x2x0 + x4 x2x1x0 + x3 x2x1x0 +
(FMD) (1.41)
+ x3x2x0 + x4 x2 x1
Pentru simplitate, în diagramă nu s-au trecut decât valorile 1 ale funcţiei. 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
x4x3 \ x2x1x0 000 001 011 010 110 111 101 100
00 0 0 0
01 0 0 0
11 0 0 0 0
10 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 ) ⋅
(1.42)
⋅ ( x 3 + x 2 + x1 + x 0 ) ⋅ ( x 3 + x 2 + x1 + x 0 )
C2 = ( 3 + 3 + 4 + 4 + 4 ) + 5 = 23
13
cap.1 Elemente de algebră booleană
x 4 x2 x0 x 4 x1 x 0 x 4 x 2 x1 x0 x 3 x 2 x1 x 0 x 3 x 2 x1 x 0
x3x2\x1x0 00 01 11 10 x3x2\x1x0 00 01 11 10
00 1 1 x 1 00 x
01 1 x 01 x 0 0
11 x 11 0 0 x 0
10 x 10 0 0 0 x
x3x2\x1x0 00 01 11 10 x3x2\x1x0 00 01 11 10
00 1 1 x 1 00 x
01 1 x 01 x 0 0
11 x 11 0 0 x 0
10 x 10 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)
14
BAZELE PROIECTĂRII CIRCUITELOR NUMERICE
Definiţie:
n −1 n −1
∏ ∑σ j , unde ∑
σj
Ponderea conjuncţiei Q(kn) = xj este numărul P[Q(kn) ] = este
j=0 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)
Lemă:
Pentru două conjuncţii 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]
Definiţie:
Se numeşte implicant prim al unei funcţii un termen al acesteia care nu se mai poate
reduce.
15
cap.1 Elemente de algebră booleană
Exemplu:
f ( x3, x2, x1, x0 ) = R1 ( 0, 1, 3, 4, 7, 8, 11, 12, 13, 15 ) (1.49)
0 0000 0
1 0001 1
0100 4
1000 8
2 0011 3
1100 12
3 0111 7
1011 11
1101 13
4 1111 15
000- .... A
0-00
-000
00-1 .... B
-100
1-00
0-11
-011
110- .... C
-111
1-11
11-1 .... D
- -00 .... E
- -11 .... F
16
BAZELE PROIECTĂRII 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
0 1 3 4 7 8 11 12 13 15
A 1 1
B 1 1
C 1 1
D 1 1
E 1 1 1 1
F 1 1 1 1
( 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
f=A+C+E+F (1.52)
f = A + D+ E + F
f = B + C+ E + F
f = B + D+ E + F
x 3 x 2 x1 x 3 x 2 x1 x1 x 0 x1 x 0
17
cap.1 Elemente de algebră booleană
18