Sunteți pe pagina 1din 69

Algebra Logic

1




Circuite Combinaionale Logice


3-Jul-13 2
Cuprins
Logica binar i pori logice
Algebra boolean
Proprieti
Calcule algebrice
Forme Standard, Forme Canonice
Mintermeni i Maxtermeni (Forme canonice)
Sum de Produse i Produs de sume (Forme standard)
Diagrame Karnaugh (K-Diagrame)
Funcii de 2, 3, 4, 5 variabile
Simplificarea funciilor logice folosind diagramele Karnaugh
3-Jul-13 3
Logica binar
VLSI (Very Large Scale Integration)
Mii de pori logice pe un singur cip de siliciu de 25 mm
2

Viitorul: VHLSL (Very High Level Specification Language)
Componentele electronice din interiorul unui calculator
componente D I G I T A L E
Electronica digital opereaz cu 2 niveluri de voltaj: mai nalt sau
mai sczut (+5V, -5V), (0V, -5V), (+5V, 0V) logica binar
lucreaz cu variabile binare ce pot lua doar 2 valori distincte (0 i
1 fals i adevrat) i cu operaii logice
Exist trei operaii logice de baz:
I (AND), SAU (OR), NU (NOT)
Variabilele logice sunt reprezentate de regul prin litere:
a,b,c,,X,Y,Z

3-Jul-13 4
Funcii logice
F(variabile) = expresie





Exemple:
F(a,b) =
H(x,y,z) =
Mulime de variabile
binare

Operatori ( +, , )
Variabile
Constante ( 0, 1 )
Grupri n paranteze

b b a + -
) z (y x + -
3-Jul-13 5
Operatori logici de baz
AND ( sau )
OR ( sau + )
NOT ( )

F(x,y) = xy, F este 1 ddac x=y=1
G(x,y) = x+y, G este 1 dac fie x=1, fie y=1
H(x) = x , H este 1 dac x=0


Operatori binari
Operator unar
3-Jul-13 6
Operatori logici de baz (cont.)
Operaia I logic (AND) este echivalent cu
nmulirea binar:
0 0 = 0, 0 1 = 0,
1 0 = 0, 1 1 = 1
Operaia SAU logic (OR) este echivalent cu
adunarea binar, cu excepia unei operaii:
0 + 0 = 0, 0 + 1 = 1,
1 + 0 = 1, 1 + 1 = 1 ( 10
2
)

3-Jul-13 7
Tabele de adevr
pentru operatorii logici

Tabel de adevr: form tabular ce reprezint n mod unic relaia
dintre variabilele de intrare i valoarea funciei
x y F=xy
0 0 0
0 1 0
1 0 0
1 1 1
2-Intrri AND
x y F=x+y
0 0 0
0 1 1
1 0 1
1 1 1
2-Intrri OR
x F=x
0 1
1 0
NOT
3-Jul-13 8
Tabele de adevr (cont.)
: Fie o funcie boolean F() de n variabile. Cte
linii exist n tabela de adevr a funciei F() ?

R: 2
n
linii, deoarece exist 2
n
combinaii binare
posibile pentru n variabile

3-Jul-13 9
Pori logice
Porile logice sunt reprezentri grafice ale
componentelor circuitelor electronice ce opereaz cu
unul sau mai multe semnale de intrare pentru a produce
un semnal de ieire
2-Intrri AND 2-Intrri OR NOT (Invertor)
x
x
x
y
y
F G H
F = xy G = x+y
H = x
3-Jul-13 10
Diagrame - funcie de timp
x
y
F=xy
G=x+y
H=x
1
1
1
1
1
0
0
0
0
0
t
0
t
1
t
2
t
3
t
4
t
5
t
6
Semnale
de intrare
Tranziii
Semnale
poart
de ieire
3-Jul-13 11
Circuite combinaionale logice
Un circuit logic al crui ieire nu depinde dect de intrri s.n. circuit
combinaional
n cazul blocurilor (circuitelor) cu memorie, ieirea poate depinde att de
intrri ct i de valorile stocate n memorie circuit secvenial
Fie funcia F = x + y z + x y
Se poate construi un circuit combinaional logic pentru a implementa funcia
F prin conectarea semnalelor de intrare pentru porile logice corespunztoare:
Semnale de intrare Variabilele funciei (x, y, z)
Semnale de ieire Valoarea de ieire x funciei (F)
Pori logice Operaiile logice

x
y
z
F
3-Jul-13 12
Circuite combinaionale logice (cont.)
Pentru a proiecta un circuit eficient
trebuie s minimizm dimensiunea
acestuia (aria) i latena de propagare
(timpul necesar ca semnalul sau
semnalele de intrare s produc
valoarea la ieire)
Tabela de adevr pentru
F=x + y z + x y
G=x + y z
Tabelele de adevr pentru funciile F i
G sunt identice avem de-a face cu
aceeai funcie
Vom utiliza forma G pentru a
implementa circuitul logic (avem
nevoie de mai puine componente)
x y z F G
0 0 0 1 1
0 0 1 1 1
0 1 0 1 1
0 1 1 1 1
1 0 0 0 0
1 0 1 0 0
1 1 0 1 1
1 1 1 0 0
3-Jul-13 13
Circuite combinaionale logice (cont.)
x
y
z
F
x
y
z
G
3-Jul-13 14
Algebra Boole (boolean)
O alt modalitate folosit pentru a specifica
funciile logice; modalitate de a manevra (i
simplifica) funciile booleene
George Boole (1815-1864): An investigation of
the laws of thought
Termeni utilizai:
Literal: O variabil sau complementul acesteia
Termen produs: literale conectate prin
Termen sum: literale conectate prin +

3-Jul-13 15
Teoremele fundamentale ale algebrei
booleene
1. Teoremele reuniunii i interseciei:
Exist un element 0 numit prim element cu proprietile:
x0=0 i x0=x
Exist un element 1 numit ultim element cu proprietile:
x1=x i x1=1

2. Teoremele de unicitate:
Elementul 1 este unic
Elementul 0 este unic

3. Teoremele complementrii:
Principiul contradiciei:
Principiul terului exclus:
0 = x x
1 = x x
3-Jul-13 16
Teoremele fundamentale ale algebrei
booleene (cont.)
4. Teorema dublei negaii:

5. Teoremele absorbiei:
x (x y)=x
x (x y)=x

6. Teoremele lui DeMorgan:



x x =
y x y x =
y x y x =
3-Jul-13 17
Teoremele fundamentale ale algebrei
booleene (cont.)
7. Teoremele de idempoten:
xxx = x
xxx = x

8. Teoremele de comutativitate, asociativitate i distributivitate pentru cele 2 legi de
compoziie:

xy = y x
x (y z)=(x y) z
x (y z)=(x y) (x z)

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


3-Jul-13 18
Dualitate
Duala unei expresii logice se obine interschimbnd
ntre ele operaiile i + i valorile 1 i 0 n expresia
iniial, respectnd precedena iniial a operaiilor.
Nu se interschimb x cu x
Exemplu de expresie dual:
Gsii H(x,y,z), duala funciei F(x,y,z) = x - y - z + x - y - z

H = (x + y + z) (x + y + z)
Duala nu are ntotdeauna aceeai valoare de adevr cu
expresia iniial
n cazul unei egaliti booleene, duala acesteia este, de
asemenea, valid.
3-Jul-13 19
Proprieti de dualitate
Conform regulilor dualitii putem rescrie
teoremele reuniunii i interseciei:

1. X + 0 = X 2. X 1 = X (duala lui 1)
3. X + 1 = 1 4. X 0 = 0 (duala lui 3)
5. X + X = X 6. X X = X (duala lui 5)
7. X + X = 1 8. X X = 0 (duala lui 7)


3-Jul-13 20
Alte proprieti ale algebrei booleene
Absorbia:
1. x + x y = x
2. x (x + y) = x (duala)
Demonstraie:
x + x y = x 1 + x y
= x (1+y)
= x 1
= x
Q.E.D.
Egalitatea 2 este adevrat conform principiului dualitii
3-Jul-13 21
Alte proprieti ale algebrei booleene (cont.)
Teorema consensului
1. xy + xz + yz = xy + xz
2. (x+y)(x+z)(y+z) = (x+y)(x+z) -- (duala)
Demonstraie:
xy + xz + yz = xy + xz + (x+x)yz
= xy + xz + xyz + xyz
= (xy + xyz) + (xz + xzy)
= xy + xz
Q.E.D.
Egalitatea 2 este adevrat conform dualitii.
3-Jul-13 22
Tabele de adevr
Conin toate combinaiile posibile
ale valorilor variabilelor funciei
Fie funciile:
F
1
(x,y,z) adevrat dac cel puin una
dintre intrri este adevrat
F
2
(x,y,z) adevrat dac exact dou
dintre intrri sunt adevrate
F
3
(x,y,z) adevrat dac toate cele trei
intrri sunt adevrate.
x y z F
1
F
2
F
3
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 1 0
1 1 1 1 0 1
3-Jul-13 23
Tabele de adevr
Care sunt expresiile celor trei funcii logice?
F
1
(x,y,z) = x + y + z
F
3
(x,y,z) = x y z
F
2
(x,y,z) = (x y z) + (x y z) + (x y z) (1)
= (x y + x z + y z)(x y z) (2)
Obs. x y z = x + y + z
3-Jul-13 24
Tabele de adevr (cont.)
Tabel de adevr: reprezentare unic a unei funcii
booleene
Dac dou funcii au tabele de adevr identice, atunci
funciile sunt echivalente (i reciproc).
Tabelele de adevr pot fi utilizate pentru a demonstra
diverse egaliti.
Tabelele de adevr cresc exponenial (cu numrul
variabilelor) n mrime i nu sunt foarte uor de neles.
De aceea este utilizat algebra booleean.
3-Jul-13 25
Expresiile logice nu sunt unice
Spre deosebire de tabelele de adevr,
expresiile ce reprezint o funcie
boolean nu sunt unice.
Exemplu:
F(x,y,z) = x y z + x yz + xyz
G(x,y,z) = x y z + y z
Tabelele de adevr pentru F() i G()
sunt identice.
n concluzie, F() G()
x y z F G
0 0 0 1 1
0 0 1 0 0
0 1 0 1 1
0 1 1 0 0
1 0 0 0 0
1 0 1 0 0
1 1 0 1 1
1 1 1 0 0
3-Jul-13 26
Calcul algebric
Algebra booleean reprezint un instrument util pentru
simplificarea circuitelor digitale.
Mai simplu mai ieftin, mai mic, mai rapid.
Exemplu: s se simplifice funcia logic
F = xyz + xyz + xz.

Calcul direct:
F = xyz + xyz + xz
= xy(z+z) + xz
= xy1 + xz
= xy + xz
3-Jul-13 27
Calcul algebric (cont.)
Exemplu. Demonstrai c:
x y z + x y z + x y z = x z + y z
Demonstraie:
x y z + x y z + x y z
= x y z + x y z + x y z + x y z
= x z (y + y) + y z (x + x)
= x z 1 + y z 1
= x z + y z
Q.E.D.
3-Jul-13 28
Funcii complementare
Complementara unei funcii se obine din
funcia iniial interschimbnd ntre ele operaiile
i +, valorile 1 i 0 i complementnd fiecare
variabil.
n tabela de adevr se face interschimbarea
valorilor 1 i 0 n coloana ce reprezint valoarea
funciei.
Complementara unei funcii nu este acelai lucru
cu duala funciei !
3-Jul-13 29
Exemplu de complementare
S se gseasc H(x,y,z), complementara funciei
F(x,y,z) = x y z + x y z

H = F = ( x y z + x y z )
= ( x y z ) ( x y z ) DeMorgan
= ( x+y+z ) ( x+y+z ) DeMorgan

Observaie: Complementara unei funcii poate fi obinut
din funcia dual n care se complementeaz toate
literalele
3-Jul-13 30
Existena i unicitatea funciilor booleene
{ }
2
ori
2 2 2
2 2 2
2 2
2
:
:
:
1 , 0
B B B B f
B B B f
B B f
B
n

=


3-Jul-13 31
Definiii forma normal
S.n. produs elementar/sum elementar un
produs/sum de variabile i/sau negaiile lor

S.n. forma normal disjunctiv (FND) a unei
relaii logice funcionale, o relaie echivalent (are
aceeai valoare de adevr) care este o sum de
produse elementare construite cu aceleai variabile
ca i relaia dat iniial, fiecare produs coninnd
toate variabilele posibile (ele sau complementarele
lor).
3-Jul-13 32
Definiii - forma normal
S.n. form normal conjunctiv (FNC) a unei
relaii logice funcionale, o relaie echivalent (are
aceeai valoare de adevr) care este un produs de
sume elementare construite cu aceleai variabile ca
i relaia dat iniial, fiecare sum coninnd toate
variabilele posibile (ele sau complementarele lor).
3-Jul-13 33
FND pentru o funcie cu o singur variabil
Fie
2 2
: B B f o funcie boolean de o singur variabil i
a,b dou constante booleene
x f x f x f FND
b b b a b a f
a a b a b a f
f (x) x x
x b x a x f
x b ax x f
- - =

= = - - = - - =
= = - - = - - =
= =
=
=
) 0 ( ) 1 ( ) ( :
0 1 0 0 0 ) 0 (
0 0 1 1 1 ) 1 (
: lui relatia in 0 , 1 Inlocuim
e. determinat unic sunt functii Aceste
a conjunctiv normala forma - ) )( ( ) (
a disjunctiv normala forma - ) (
3-Jul-13 34
FNC pentru o funcie cu o singur variabil
) ) 1 ( ( ) ) 0 ( ( ) ( :
1 ) 1 ( ) 0 ( ) 0 ( ) 0 ( ) 0 (
1 ) 0 ( ) 1 ( ) 1 ( ) 1 ( ) 1 (
: lui relatia in 0 , 1 Inlocuim
a conjunctiv normala forma - ) )( ( ) (
x f x f x f FNC
a a b a b a f
b b b a b a f
f (x) x x
x b x a x f
- =

= - = - = - =
= - = - = - =
= =
=
3-Jul-13 35
Demonstrarea existenei (FND)

= - - = - - =
= - - = - - =
- - =
) 0 ( 1 ) 0 ( 0 ) 1 ( 0 ) 0 ( 0 ) 1 ( ) 0 (
) 1 ( 0 ) 0 ( 1 ) 1 ( 1 ) 0 ( 1 ) 1 ( ) 1 (
1. si 0 e cu valoril rand pe e inlocuiest se
si FND in ) 0 ( ) 1 ( ) ( relatia considera Se
f f f f f f
f f f f f f
x
x f x f x f
3-Jul-13 36
Demonstrarea existenei (FNC)

= - = = - =
= - = = - =
- =
) 0 ( 1 ) 0 ( ) 1 ) 1 ( )( 0 ) 0 ( ( ) 0 ) 1 ( ( ) 0 ) 0 ( ( ) 0 (
) 1 ( ) 1 ( 1 ) 0 ) 1 ( )( 1 ) 0 ( ( ) 1 ) 1 ( ( ) 1 ) 0 ( ( ) 1 (
1. si 0 e cu valoril rand pe e inlocuiest se
si FNC in ) ) 1 ( ( ) ) 0 ( ( ) ( relatia considera Se
f f f f f f f
f f f f f f f
x
x f x f x f
3-Jul-13 37
FND pentru o funcie de dou variabile
Fie
2 2 2
: B B B f o funcie boolean de dou variabile i
a,b,c,d constante booleene
y x f y x f y x f xy f y x f FND
f d
f c
f b
f a
f (x) x x
y x d y x c y x b y x a y x f
xy d y x c y bx axy y x f
) 0 , 0 ( ) 1 , 0 ( ) 0 , 1 ( ) 1 , 1 ( ) , ( :
) 0 , 0 (
) 1 , 0 (
) 0 , 1 (
) 1 , 1 (
: avea Vom . lui relatia in 0 , 1 inlocuim si FND forma Consideram
a conjunctiv normala forma - ) )( ( ) )( ( ) , (
a disjunctiv normala forma - ) , (
=

=
=
=
=
= =
=
=
3-Jul-13 38
FNC pentru o funcie de dou variabile
) ) 1 , 1 ( )( ) 0 , 1 ( )( ) 1 , 0 ( )( ) 0 , 0 ( ( ) , ( :
) 1 , 1 (
) 0 , 1 (
) 1 , 0 (
) 0 , 0 (
: obtinem si 0 , 1 sus mai de expresia in Inlocuim
a conjunctiv normala forma - ) )( ( ) )( ( ) , (
y x f y x f y x f y x f y x f FNC
f d
f c
f b
f a
x x
y x d y x c y x b y x a y x f
=

=
=
=
=
= =
=
3-Jul-13 39
Demonstrarea existenei n cazul FND

= - - - - - - - - = = =
= - - - - - - - - = = =
= - - - - - - - - = = =
= - - - - - - - - = = =
= = = =
=
) 0 , 0 ( 0 0 ) 0 , 0 ( 0 0 ) 1 , 0 ( 0 0 ) 0 , 1 ( 0 0 ) 1 , 1 ( ) 0 , 0 ( 0
) 1 , 0 ( 1 0 ) 0 , 0 ( 1 0 ) 1 , 0 ( 1 0 ) 0 , 1 ( 1 0 ) 1 , 1 ( ) 1 , 0 ( 1 , 0
) 0 , 1 ( 0 1 ) 0 , 0 ( 0 1 ) 1 , 0 ( 0 1 ) 0 , 1 ( 0 1 ) 1 , 1 ( ) 0 , 1 ( 0 , 1
) 1 , 1 ( 1 1 ) 0 , 0 ( 1 1 ) 1 , 0 ( 1 1 ) 0 , 1 ( 1 1 ) 1 , 1 ( ) 1 , 1 ( 1
: obtinem si 0 , 1 , 0 , 1 inlocuim si sus mai de expresia Consideram
a disjunctiv normala forma - ) 0 , 0 ( ) 1 , 0 ( ) 0 , 1 ( ) 1 , 1 ( ) , (
f f f f f f y x
f f f f f f y x
f f f f f f y x
f f f f f f y x
y y x x
y x f y x f y x f xy f y x f
3-Jul-13 40
Demonstrarea existenei n cazul FNC

= = = =
= = = =
= = = =
= = = =
= = = =
=
) 0 , 0 ( ) 0 0 ) 1 , 1 ( )( 0 0 ) 0 , 1 ( )( 0 0 ) 1 , 0 ( )( 0 0 ) 0 , 0 ( ( ) 0 , 0 ( 0
) 1 , 0 ( ) 1 0 ) 1 , 1 ( )( 1 0 ) 0 , 1 ( )( 1 0 ) 1 , 0 ( )( 1 0 ) 0 , 0 ( ( ) 1 , 0 ( 1 , 0
) 0 , 1 ( ) 0 1 ) 1 , 1 ( )( 0 1 ) 0 , 1 ( )( 0 1 ) 1 , 0 ( )( 0 1 ) 0 , 0 ( ( ) 0 , 1 ( 0 , 1
) 1 , 1 ( ) 1 1 ) 1 , 1 ( )( 1 1 ) 0 , 1 ( )( 1 1 ) 1 , 0 ( )( 1 1 ) 0 , 0 ( ( ) 1 , 1 ( 1
: obtinem si 0 , 1 , 0 , 1 inlocuim si sus mai de expresia Consideram
) ) 1 , 1 ( )( ) 0 , 1 ( )( ) 1 , 0 ( )( ) 0 , 0 ( ( ) , ( :
f f f f f f y x
f f f f f f y x
f f f f f f y x
f f f f f f y x
y y x x
y x f y x f y x f y x f y x f FNC
3-Jul-13 41
Definiii mintermen, maxtermen
Literal: O variabil sau complementul acesteia
Termen produs: literale legate prin operaia
Termen sum: literale legate prin operaia +
Mintermen: un termen produs n care toate variabilele
apar exact o singur dat, complementate sau nu.
Maxtermen: un termen sum n care toate variabilele apar
o singur dat, complementate sau nu
3-Jul-13 42
Mintermeni
Un mintermen reprezint o combinaie unic n
tabela de adevr.
Notai cu m
j
, unde j este echivalentul zecimal al
combinaiei binare a mintermenului (b
j
).
O variabil n m
j
este complementat dac
valoarea n b
j
este 0, altfel este necomplementat.
Exemplu: Fie o funcie de 3 variabile (x,y,z) i
j=3. Atunci b
j
= 011 iar mintermenul
corespunztor este m
j
= x y z
3-Jul-13 43
Maxtermeni
Un maxtermen reprezint o combinaie unic n
tabela de adevr.
Notai cu M
j
, unde j este echivalentul zecimal al
combinaiei binare x mintermenului (b
j
).
O variabil n M
j
este complementat dac
valoarea n b
j
este 1, altfel este necomplementat.
Exemplu: Fie o funcie de 3 variabile (x,y,z) i
j=3. Atunci b
j
= 011 iar maxtermenul
corespunztor este M
j
= x + y + z
3-Jul-13 44
Formele canonice de reprezentare ale funciilor
booleene
Forme canonice:
Forma minterm (FCD forma canonic disjunctiv) SUM de produse
variabilele sau complementele lor n cadrul unui mintermen sunt legate
prin operaia booleana I, iar mintermenii sunt legai prin operaia
boolean SAU. n sum apar mintermenii pentru care funcia boolean are
valoarea 1.
Forma maxterm (FCC forma canonic conjunctiv) PRODUS de
sume variabilele sau complementele lor n cadrul unui maxtermen sunt
legate prin operaia booleana SAU, iar maxtermenii sunt legai prin operaia
boolean I. n produs apar maxtermenii pentru care funcia boolean are
valoarea 0.
Formele canonice sunt unice.
3-Jul-13 45
Mintermeni/maxtermeni pentru o funcie
de 2 variabile booleene
Funcie de 2 variabile
x y Mintermeni
m
i
Maxtermeni
M
i

0 0
0 1
1 0
1 1
y x m =
0
y x m =
1
y x m =
2
xy m =
3
y x M =
0
y x M =
1
y x M =
2
y x M =
3
3-Jul-13 46
Mintermeni/maxtermeni pentru o funcie
de 3 variabile booleene
Funcie de 3 variabile
x y z Mintermeni
m
i
Maxtermeni M
i

0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
xyz m
z xy m
z y x m
z y x m
yz x m
z y x m
z y x m
z y x m
=
=
=
=
=
=
=
=
7
6
5
4
3
2
1
0
z y x M
z y x M
z y x M
z y x M
z y x M
z y x M
z y x M
z y x M
=
=
=
=
=
=
=
=
7
6
5
4
3
2
1
0
3-Jul-13 47
Exemplu
Fie tabela de adevr urmtoare:
FCD pentru f
1
este:
f
1
(x,y,z)= m
1
+ m
2
+ m
4
+ m
6

= x y z + x y z + x y z + x y z
FCC pentru f
1
este:
f
1
(x,y,z) = M
0
M
3
M
5
M
7

= (x+y+z)(x+y + z )
(x +y+z )( x + y + z ).
Observaie: m
j
= M
j

x y z f
1
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
3-Jul-13 48
Prescurtri: i
f
1
(x,y,z) = m(1,2,4,6), unde indic faptul c este
vorba despre o sum-de-produse, iar m(1,2,4,6) indic
faptul c mintermenii din sum sunt m
1
, m
2
, m
4
i m
6
.
f
1
(x,y,z) = M(0,3,5,7), unde indic faptul c este
vorba despre un produs-de-sume, iar M(0,3,5,7) indic
faptul c maxtermenii din produs sunt M
0
, M
3
, M
5
i
M
7
.
Deoarece m
j
= M
j
pentru orice j,
m(1,2,4,6) = M(0,3,5,7) = f
1
(x,y,z)

3-Jul-13 49
Conversia ntre formele canonice
Se nlocuiete cu (sau invers) i se nlocuiesc acei termeni
de rang j ce au aprut n forma iniial cu aceia care nu au aprut.
Exemplu:
f
1
(x,y,z) = x y z + x y z + x y z + x y z
= m
1
+ m
2
+ m
4
+ m
6

= (1,2,4,6)
= (0,3,5,7)
= (x + y + z)(x + y + z )( x + y + z )( x + y + z )
3-Jul-13 50
Forme standard
Formele standard sunt asemntoare cu formele
canonice, cu excepia faptului c nu toate
variabilele trebuie s apar n termenii produs
(respectiv sum).
Exemple:

f
1
(x,y,z) = x y z + y z + x z
reprezint o form standard sum-de-produse
f
1
(x,y,z) = (x + y + z)(y + z )( x + z )
reprezint o form standard produs-de-sume
3-Jul-13 51
Conversia unei sume-de-produse de la forma
standard la forma canonic
Termenii ne-canonici se transform prin inserarea
valorii 1 pentru fiecare variabil x ce lipsete:
( x + x ) = 1
Se nltur mintermenii duplicai
f
1
(x,y,z) = x y z + y z + x z
= x y z + ( x + x ) y z + x(y+y)z
= x y z + x y z + x y z + x y z + x y z
= x y z + x y z + x y z + x y z
3-Jul-13 52
Conversia unui produs-de-sume de la forma
standard la forma canonic
Termenii ne-canonici se transform prin inserarea valorii
0 pentru variabilele ce lipsesc (de exemplu, xx = 0) i se
folosete proprietatea de distributivitate
Se nltur maxtermenii duplicai
f
1
(x,y,z) = (x+y+z)(y + z )(x + z )
= (x+y+z)(xx+y+z)(x+yy+z )
= (x+y+z)(x+y +z )(x +y +z )
(x +y+z)(x +y +z )
= (x+y+z)(x+y +z )(x +y +z )(x +y+z )
3-Jul-13 53
Diagrame Karnaugh
Diagramele Karnaugh sunt reprezentri grafice
ale funciilor booleene.
O celul din diagram corespunde unei linii din
tabela de adevr.
De asemenea, o celul din diagram corespunde
unui mintermen sau maxtermen al expresiei
booleene
Zone ce conin mai multe celule adiacente
corespund termenilor standard.
3-Jul-13 54
Diagrama Karnaugh pentru dou variabile

m
3

m
2

1

m
1

m
0

0

1 0
x
1
x
2
0 1
2
3
Obs. Ordinea variabilelor este important - pentru
f(x
1
,x
2
), x
1
este linia, x
2
este coloana.
Celula 0 reprezint x
1
x
2
; Celula 1 reprezint x
1
x
2
;
etc. Dac avem un mintermen n expresia funciei,
atunci avem o valoare de 1 n celula respectiv din
tabel.

m
3

m
1

1

m
2

m
0

0

1 0
x
2
x
1
0 2
1
3
SAU
3-Jul-13 55
Diagrama Karnaugh pentru dou variabile (cont.)
Oricare dou celule adiacente din tabel difer
printr-o singur variabil, ce apare
complementat ntr-o celul i necomplementat
n cealalt.
Exemplu:
m
0
(=x
1
x
2
) este adiacent cu m
1
(=x
1
x
2
) i cu
m
2
(=x
1
x
2
) dar nu i cu m
3
(=x
1
x
2
)
3-Jul-13 56
Diagrame Karnaugh - exemple
f(x
1
,x
2
) = x
1
x
2
+ x
1
x
2
+ x
1
x
2

= m
0
+ m
1
+ m
2

= x
1
+ x
2

n diagrama Karnaugh valorile de 1
reprezint mintermenii m
0
, m
1
, m
2
Gruparea celulelor cu valoarea 1
permite simplificarea
Ce funcii (mai simple) sunt
reprezentate de fiecare grupare?
x
1
= m
0
+ m
1
x
2
= m
0
+ m
2
Obs. m
0
este cuprins n ambele
grupri

x
1

0

1

0

1


1


1

1


0

x
2
0 1
2 3
3-Jul-13 57
Minimizarea FND folosind diagrame Karnaugh
Se completeaz cu 1 n diagrama Karnaugh pentru
fiecare termen produs din funcie.
Se grupeaz celulele adiacente ce conin valoarea 1 pentru
a obine un produs cu mai puine variabile. Gruprile
astfel obinute trebuie s conin un numr de celule ce
reprezint o putere a lui 2 (2, 4, 8, etc.).
Se grupeaz i termenii adiaceni de pe margini pentru
diagramele Karnaugh de 3 sau mai multe variabile. Cele
patru coluri ale tabelului se pot grupa mpreun.
Gruprile nu sunt neaprat unice.
3-Jul-13 58
Diagrama Karnaugh pentru trei variabile

m
6

m
7

m
5

m
4

1

m
2

m
3

m
1

m
0

0

10 11 01 00
yz
x
0 1 3 2
4 5 7 6
Obs.: ordinea variabilelor conteaz - pentru (x,y,z), yz este
coloana, x este linia.
Obs.: fiecare celul este adiacent cu trei alte celule (stnga,
dreapta, sus, jos sau cu cea de pe marginea corespunztoare din
partea cealalt)
3-Jul-13 59
Diagrama Karnaugh pentru trei variabile (cont.)
n dreapta sunt prezentate tipurile
de structuri ce sunt fie
mintermeni, fie se obin prin
regula de minimizare a gruprii n
grupuri de cte 2, 4 sau 8 celule.

mintermen
grup de 2 termeni
grup de 4 termeni
3-Jul-13 60
Regulile de simplificare
Se completeaz mintermenii funciei booleene n
diagram apoi se grupeaz termenii 1
Exemplu: f(x,y,z) = xz + xyz + yz
Rezultat: f(x,y,z)= x z + y
1 1 1
1 1
x
yz
1 1 1
1 1
3-Jul-13 61
Exemple
f
1
(x, y, z) = m(2,3,5,7)



f
2
(x, y, z) = m (0,1,2,3,6)
f
1
(x, y, z) = x y + xz
f
2
(x, y, z) = x +y z
yz
X

00

01

11

10
0
1 1
1
1 1
1 1 1 1
1
3-Jul-13 62
Diagrame cu patru variabile
Celule de sus sunt adiacente cu cele de jos.
Celulele din dreapta sunt adiacente cu cele din
stnga.
m
10
m
11
m
9
m
8 10
m
14
m
15
m
13
m
12 11
m
6
m
7
m
5
m
4 01
m
2
m
3
m
1
m
0 00

10 11 01 00
WX
YZ

3-Jul-13 63
Simplificarea diagramelor cu patru variabile
O celul reprezint un mintermen de 4 literale.
Un dreptunghi format din dou ptrate adiacente
reprezint un termen produs de 3 literale.
Un dreptunghi format din 4 celule reprezint un
termen produs de 2 literale.
Un dreptunghi format din 8 celule reprezint un termen
produs dintr-un literal.
Un dreptungi format din toate cele 16 celule reprezint
o funcie logic egal cu 1.
3-Jul-13 64
Exemplu
Simplicai funcia boolean
f (a,b,c,d) = m(0,1,2,4,5,7,8,9,10,12,13).
Se completeaz cu 1 diagrama Karnaugh a funciei f( )
i apoi se grupeaz valorile de 1.
cd
ab
1

1

1

1

1

1

1

1

1

1

1

f(a,b,c,d) = c + b d + a b d
1

1

1

1

1

1

1

1

1

1

1

3-Jul-13 65
Simplificarea produselor de sume
Simplificarea sumei-de-produse se utilizeaz
asupra zerourilor funciei din diagrama
Karnaugh pentru a obine f.
Complementara lui f, este (f) = f
Complementara unei funcii booleene se poate
obine din dual, complementnd fiecare literal.
sau
Folosind Teorema lui DeMorgan.

3-Jul-13 66
Produs-de-sume
0 0 0 0
1 1 0 0
0 1 1 1
1 1 1 1
ab
cd
f(a,b,c,d) = ab + ac + a b c d
Duala lui f este: (a+b)(a+c )(a +b+c+d )
Complementarea tuturor literalelor n duala lui (f ):
f = (a +b)(a +c)(a+b+c+d)

3-Jul-13 67
Termeni redundani
Pot exista combinaii de valori de intrare care
Nu se vor ntmpla niciodat
Dac se ntmpl, ieirea nu conteaz.
Valorile funciei pentru astfel de combinaii se numesc valori
ce nu conteaz (termeni redundani).
Se noteaza cu R (sau x). Fiecruia dintre termeni i se poate
atribui valoarea 0 sau 1 ntr-o implementare.
Termenii redundani se pot utiliza pentru simplificarea
funciilor
3-Jul-13 68
Exemplu
Simplificarea funciei f(a,b,c,d)
a crei diagram este:
f = acd+ab+cd+abc
sau
f = acd+ab+cd+abd
A 3-a soluie?
x x 1 1
x x 0 0
1 0 1 1
1 0 1 0
x x 1 1
x x 0 0
1 0 1 1
1 0 1 0
0 1 0 1
1 1 0 1
0 0 x x
1 1 x x
ab
cd
00
01
11
10
00
01 11
10
3-Jul-13 69
Exemplu
Simplificai funcia
g(a,b,c,d)
g = ac+ ab
sau
g = ac+bd
x 1 0 0
1 x 0 x
1 x x 1
0 x x 0
x 1 0 0
1 x 0 x
1 x x 1
0 x x 0
x 1 0 0
1 x 0 x
1 x x 1
0 x x 0
ab
cd

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