Sunteți pe pagina 1din 31

Modulul 3.

Reprezentarea funciilor de comutaie


3.1. Forma sum de produse (SOP - Sum of Products).
Formele de reprezentare SOP sunt cunoscute i sub denumirea de forme normal
disjunctive ale funciilor de comutaie.
Teorema 1 : Orice funcie de comutaie f (x1 ,..., x n ) , cu excepia constantei 0, poate fi
reprezentat n mod unic ca o sum de funcii mintermen :
f ( x1 ,..., x n ) =

i j F1

mi j ( x1 ,..., x n ) = mi1 + mi2 + ... + mik

unde :
- F 1 este mulimea tuturor combinaiilor ale valorilor variabilelor {x1 ,..., x n } pentru
care f este mapat n 1
- m este o funcie mintermen definit pe mulimea {x1 ,..., x n }
- este sum logic
- k este greutatea funciei, k = w( f )
Aceast reprezentare este cunoscut i sub numele de forma normal disjunctiv
absolut pentru funcia f (x1 ,..., x n ) .
Teorema 2 : Orice funcie de comutaie f (x1 ,..., x n ) , exceptnd constanta 0, poate fi
reprezentat n mod unic ca o sum XOR de funcii mintermen
f (x1 ,..., x n ) =

mi (x1 ,..., x n ) = mi

mi2 ... mik

i j =F1

unde :
- F 1 este mulimea tuturor combinaiilor ale valorilor variabilelor {x1 ,..., x n } pentru
care f este mapat n 1
- m este o funcie mintermen definit pe mulimea {x1 ,..., x n }
- k este greutatea funciei f, k=w(f)
- este suma XOR

Corolarul 1 : Fie f i g dou funcii de comutaie definite pe mulimea {x1 ,..., x n } :


conform cu teorema anterioar, funciile pot fi reprezentate astfel :
f (x1 ,...x n ) = mi j (x1 ,...x n )

i j F11

g (x1 ,...x n ) = 1 mi j (x1 ,...x n )

i j F2

Fiecare funcie are propria mulime de combinaii pentru care f este 1 sau g este 1,
notate F11 sau F21 . Atunci, produsul logic ntre f i g conduce ctre o nou funcie
de comutaie h cu mulimea F31 = F21 F11 ( unde este intersecia ntre mulimi ) :
f (x1 ,..., x n ).g ( x1 ,..., x n ) = h(x1 ,..., x n ) =

i j F31

mi j (x1 ,..., x n ) =

mi (x1 ,..., x n )

i j F31

Corolarul 2: n aceleai condiii, o sum logic ntre f i g conduce la o nou


funcie de comutaie k cu mulimea F41 = F11 F21 ( unde este reuniune de mulimi
):

f (x1 ,..., x n ) + g (x1 ,..., x n ) = k (x1 ,..., x n ) =

i j F41

mi j (x1 ,..., x n ) =

mi (x1 ,..., x n )

i j F41

Corolarul 3: Fie
f (x1 ,..., x n ) o funcie de comutaie definit pe {x1 ,..., x n } .
Complementul lui f este o nou funcie de comutaie l cu mulimea F51 , unde
F51 = 2 n F11 ( complementul mulimii F11 ) :
f (x1 ,..., x n ) = l (x1 ,..., x n ) =

i j F51

mi j (x1 ,..., x n ) =

mi (x1 ,..., x n )

i j F51

Teorem ( forma canonic P ) :


Orice funcie de comutaie f (x1 ,..., x n ) , exceptnd constanta 0, poate fi unic
reprezentat n urmtoarea form disjunctiv :
1

f (x1 ,..., x n ) = ... f (i1 ,..., i n )x1i1 x 2i2 ...x nin


i1 = 0 i2 = 0

in = 0

unde :

(i1 ,..., i n ) este o combinaie particular de valori atribuite variabilelor {x1 ,..., x n } ,
i {0,1}, j [1, n] ;
f (i1 ,..., i n ) este valoarea lui f pentru combinaia considerat

este suma logic ( funcia OR )


Aceast formul corespunde unuia dintre modurile fundamentale de reprezentare a
funciilor de comutaie denumit forma canonic P sau forma canonic SOP. Se
numete canonic doarece folosete termeni canonici adic mintermeni.
Interpretare a teoremei
f (x1 ,..., x n ) este o funcie de comutaie care este mapat n 0 sau 1. Produsul
x1i1 x 2i2 ...x nin corespunde unui mintermen, definit pe mulimea {x1 ,..., x n } i, deci,
extinderea este o sum ponderat de termeni, unde coeficientul pondere este
f (x1 ,..., x n ) cnd f (i1 ,..., i n ) este 0, atunci termenul corespunztor este inhibat. Deci,
suma final const din mintermeni pentru care f (x1 ,..., x n ) este mapat n 1. Am
demonstrat c aceast form de reprezentare este echivalent cu teorema anterioar,
prin care
f (x1 ,..., x n ) =

i j F1

mi j (x1 ,..., x n )

Algoritm :
Se d tabelul de adevr al unei funcii de comutaie f (x1 ,..., x n ) . Pentru a scrie forma
canonic P corespunztoare se aplic urmtoarea procedur :
Pasul 1 : Se marcheaz toate combinaiile de variabile pentru care funcia este mapat
n 1.
Pasul 2 : Se scriu mintermenii corespunztori combinaiilor marcate.
Pasul 3 : Se scrie suma logic a mintermenilor de la pasul 2.
Exemplu :
Se d o funcie de comutaie de trei variabile {x1 x 2 x3 } prin tabelul su de adevr i se
cere reprezentarea n form canonic P.
x1

x2

x3

0
0
0

0
0
1

0
1
0

0
1
1

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

0
1
1
0
0

Pasul 1 :
x1

x2

x3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1*
1*
0
1*
1*
0
0

Pasul 2 :
m1 = x1 x 2 x3
m 2 = x1 x 2 x3
m 4 = x1 x 2 x 3
m5 = x1 x 2 x 3

Pasul 3 :

f (x1 x 2 x3 ) = x1 x 2 x3 + x1 x 2 x3 + x 2 x3 + x1 x 2 x 3

Putem lega mintermenii cu operatorul XOR :

f (x1 x 2 x3 ) = x1 x 2 x 3 x1 x 2 x3 x1 x 2 x 3 x1 x 2 x3
Algoritm : Se d o form boolean A(x1 ,..., x n ) . Pentru a se obine forma canonic P,

se aplic urmtoarea procedur :


Pasul 1 : Se transform forma boolean dat n forma normal disjunctiv ( forma SOP
).
Pasul 2: Se identific i se separ mintermenii
Pasul 3 : Dac ntr-un produs Pi (x1 ,..., x n ) lipsete o variabil x j , atunci se nmulete

logic Pi cu 1 i se nlocuiete 1 cu x j + x j :

Pi .1 = Pi x j + x j

Pasul 4 : Se folosete distributivitatea i se aplic teorema de idempoten. Expresia


obinut incluz1nd mintermenii de la pasul 2 reprezint forma canonic P asociat
formei booleene A(x1 ,..., x n ) .
Exemplu : Se d urmtoarea form boolean :
A( x, y, z , u ) = x y + z ( x + y ) + yzu + x y zu

i se cere forma canonic P corespunztoare :


Pasul 1 :
A( x, y , z , u ) = x y + xz + yz + yzu + x y zu

Pasul 2 :
Se separ mintermenul x y zu

Pasul 3 :
x y = x y ( z + z )(u + u ) = x yzu + x y zu + x y z u
xz = xz ( y + y )(u + u ) = x yzu + x yzu + x yzu + x yz u
yz = ( x + x) yz (u + u ) = x yzu + x yz u + x yz u
yzu = ( x + x) yzu = xyzu + x yzu

Pasul 4 :
A( x, y, z , u ) = x yzu + x yz u + x y zu + x y z u +
+ x yzu + x yzu + x yzu + x yz u + x yzu +
+ x yz u + x yzu + x yz u + xyzu + x yzu =
= x yzu + x yz u + x y zu + x yzu +
+ x y z u + x yzu + x yzu + x yz u + xyzu

Deci, forma canonic P corespunztoare funciei de comutaie este :


A( x, y , z , u ) = x yzu + x yz u + x y zu + x yzu +
+ x y z u + x yzu + x yzu + x yz u + xyzu

Fiecare mintermen poate fi nlocuit prin notaia mi dup calcularea indicatorului


zecimal al mintermenilor :
x yzu m11
x yz u m10
x y zu m9
x yzu m7
x y z u m8
x yzu m3
x yzu m 6
x yzu m 2
xyzu m15

Atunci :

f (xyzu ) = (m 2 , m3 , m6 , m7 , m8 , m9 , m10 , m11 , m15 )

sau, mai simplu :

f (xyzu ) = (2,3,6,7,8,9,10,11,15)

Deoarece forma canonic P a unei funcii de comutaie este unic, dou forme
booleene echivalente trebuie s aib aceeai form canonic P. Deci, o metod
simpl se poate folosi pentru a demonstra c dou forme booleene sunt echivalente.
Se aplic algoritmul pentru transformarea formelor booleene n forme canonice P i
se compar. Dac sunt identice atunci formele booleene analizate sunt echivalente.
Exemplu :
Se dau A( x, y, z ) i B( x, y, z ) dou forme booleene n forma SOP i se cere s se
stabileasc dac sunt echivalente :
A( xyz ) = xy + x y z + yz
B ( xyz ) = xyz + x z + x yz + x yz

Calculm forma canonic P pentru A( x, y, z ) i B( x, y, z ) :

A( xyz ) = xy + x y z + yz = xy ( z + z ) + x y z + ( x + x) yz =
= xyz + xy z + x y z + x yz + x yz =
= m7 + m6 + m 4 + m5 + m1 = (1,4,5,6,7 )
B ( xyz ) = xyz + x z + x yz + x yz = xyz + x( y + y ) z + x yz + x yz =
= xyz + xy z + x y z + x yz + x yz = m7 + m6 + m 4 + m5 + m1 = (1,4,5,6,7 )

Deoarece formele canonice P sunt identice putem spune c :


A( x, y, z ) = B ( x, y, z )

3.2. Reprezentarea Reed-Muller-Jegalkin


Reprezentarea Reed-Muller-Jegalkin mai este cunoscut ca reprezentarea polinomial
a funciilor de comutaie ( reprezentarea RMJ ).
Teorem : Orice funcie de comutaie de n variabile f (x1 ,..., x n ) poate fi
reprezentat n urmtoarea form polinomial :
f (x1 ,..., x n ) = a 0 a1 x1 a 2 x 2 ... a n x n a n +1 x1 x 2

a n + 2 x1 x3 ... a 2 n 1 x1 x 2 ...x n 1 x n

unde :

[ (

)]

a i , i 0, 2 n 1

sunt coeficieni binari denumii coeficieni Reed-Muller-Jegalkin


sau coeficieni polinomiali ( coeficieni RMJ ) ;
este operatorul XOR
xi sunt variabile booleene n form necomplementat ( toate variabilele sumt n
form necomplementat ).
Exemple :
1). Considerm funcia NOR, definit prin tabelul de adevr :
x

x y

0
0
1
1

0
1
0
1

1
0
0
0

f ( x, y ) = x y = x. y = (1 x )(1 y ) = 1 x y xy

Aceasta reprezint forma Reed-Muller-Jegalkin pentru funcia NOR f ( x, y ) = x y .


Coeficienii RMJ au urmtoarele valori :
a 0 = 1

a1 = 1

a 2 = 1
a3 = 1

2) Considerm funcia OR definit prin tabelul de adevr :


x

x+ y

0
0
1

0
1
0

0
1
1

f ( x, y ) = x y x y xy = (1 x ) y x(1 y ) xy =
= y xy x xy xy = x y xy

Suma obinut corespunde formei Reed-Muller-Jegalkin pentru funcia OR.


Coeficienii RMJ sunt :
a 0 = 0

a1 = 1

a 2 = 1
a 3 = 1

3) Considerm funcia NAND definit prin tabelul de adevr:


x

xy

0
0
1
1

0
1
0
1

1
1
1
0

f ( x, y ) = x y x y x y = (1 x )(1 y ) (1 x ) y x(1 y ) =
= 1 x y xy y xy x xy = 1 xy

Aceasta reprezint forma RMJ pentru funcia NAND iar coeficienii RMJ
corespunztori sunt:
a 0 = 1

a1 = 0

a 2 = 0
a 3 = 1

Deci, fiecare funcie de dou variabile este caracterizat de propria mulime de


coeficieni polinomiali {a 0 , a1 , a 2 , a 3 } . Numrul total de combinaii este 2 4 = 16 care
corespunde numrului total de funcii de comutaie de dou variabile f ( x1 x 2 ) , care
2

este 2 2 = 16 .
Considerm forma canonic P a unei funcii de comutaie de o variabil scris cu
operatorul XOR ntre mintermeni :
f ( x) = d 0 m0 (x ) d1 m1 (x )

unde :

d i (i (0,1)) sunt coeficieni binari ai mintermenilor


dac d i = 1 atunci mi este respins
m0 ( x) = x = 1 x
m1 ( x) = x

Prin nlocuire n f (x) obinem :

f ( x) = d 0 (1 x ) d 1 x = d 0 d 0 x d 1 x = d 0 x(d 0 d1 )

n cazul formei RMJ, avem :


f ( x) = a 0 a1 x1 ,
unde a 0 , a1 sunt coeficieni binari RMJ.

Prin identificarea coeficienilor obinem :


a 0 = d 0

a1 = d 0 d1

Aceste relaii pot fi scrise n form matriceal :


a 0 1
=
a1 1

0 d 0

1 d 1

Notm matricile :
0
1
= T1

1
1
a0
= a
a1
d0
= d
d1
Atunci : a = T1 d

Continum analiza pentru funciile de dou variabile. Forma canonic P a unei funcii
de comutaie de dou variabile scris cu operatorul XOR ntre mintermeni este :
f (x1 x 2 ) = d 0 m0 d1 m1 d 2 m 2 d 3 m3

unde :

d i (i (0,1)) sunt coeficieni binari ai mintermenilor


dac d i = 1 , atunci mintermenul este reinut
dac d i = 0 , atunci mintermenul este respins

m0 (x1 x 2 ) = x1 x 2 = (1 x1 )(1 x 2 ) = 1 x1 x 2 x1 x 2
m1 (x1 x 2 ) = x1 x 2 = (1 x1 )x 2 = x 2 x1 x 2

m 2 (x1 x 2 ) = x1 x 2 = x1 (1 x 2 ) = x1 x1 x 2

m3 (x1 x 2 ) = x1 x 2

Prin nlocuirea n f (x1 x 2 ) obinem :

f (x1 x 2 ) = d 0 (1 x1 x 2 x1 x 2 ) d 1 (x 2 x1 x 2 ) d 2 (x1 x1 x 2 ) d 3 x1 x 2 =

= d 0 x 2 (d 0 d1 ) x1 (d 0 d 2 ) x1 x 2 (d 0 d 1 d 2 d 3 )

Forma polinomial RMJ pentru n = 2 este :


f (x1 x 2 ) = a 0 a1 x 2 a 2 x1 a3 x1 x 2 ,
unde a i (i = 0,1,2,3) Sunt coeficieni RMJ.
Prin identificarea coeficienilor, obinem urmtoarele relaii :
a 0 = d 0

a1 = d 0 d1

a 2 = d 0 d 2
a 3 = d 0 d1 d 2 d 3

Aceste relaii pot fi scrise n form matricial :


1
a0
1
a1
a = ...
2 1
a
3 1

0
1
...
0
1

...
...
...
...
...

0
0
...
1
1

0
d 0
0
d1
...
d2
0
d
1 3

sau, n notaie compact :


a = T2 d

unde:
a0

a1
a=
a
2
a
3
d0

d1
d =
d
2
d
3
T1 0

T2 =
T1 T1

O analiz similar pentru n = 3 , conduce la :

f (x1 x 2 x3 ) = d 0 m0 d 1 m1 d 2 m 2 d 3 m3 d 4 m 4 d 5 m5 d 6 m6 d 7 m7

m0 = x1 x 2 x3 = (1 x1 )(1 x 2 )(1 x 3 ) = 1 x1 x 2 x3 x1 x 2 x1 x3 x 2 x3 x1 x 2 x 3
m1 = x1 x 2 x3 = (1 x1 )(1 x 2 )x 3 = (1 x1 x 2 x1 x 2 ) x3 = x3 x1 x3 x 2 x3 x1 x 2 x3

m 2 = x1 x 2 x 3 = (1 x1 )x 2 (1 x 3 ) = (1 x1 x3 x1 x3 ) x 2 = x 2 x1 x 2 x 2 x3 x1 x 2 x 3

m3 = x1 x 2 x 3 = (1 x1 )x 2 x 3 = x 2 x3 x1 x 2 x 3

m 4 = x1 x 2 x3 = x1 (1 x 2 )(1 x3 ) = x1 (1 x 2 x 3 x 2 x3 ) = x1 x1 x 2 x1 x3 x1 x 2 x3
m5 = x1 x 2 x3 = x1 (1 x 2 )x3 = x1 x3 x1 x 2 x 3

m6 = x1 x 2 x 3 = x1 x 2 (1 x3 ) = x1 x 2 x1 x 2 x 3
m7 = x1 x 2 x3

Prin nlocuirea expresiilor pentru mi (x1 x 2 x3 ) n f (x1 x 2 x3 ) obinem :


f (x1 x 2 x3 ) = d 0 (1 x1 x 2 x3 x1 x 2 x1 x3 x1 x 2 x3 )

d 1 (x3 x1 x 3 x 2 x3 x1 x 2 x3 )

d 2 (x 2 x1 x 2 x 2 x3 x1 x 2 x3 )
d 3 ( x 2 x3 x1 x 2 x3 )

d 4 (x1 x1 x 2 x1 x3 x1 x 2 x 3 )
d 5 (x1 x3 x1 x 2 x3 )

d 6 (x1 x 2 x1 x 2 x3 ) d 7 x1 x 2 x3 =

= d 0 x1 (d 0 d 4 ) x 2 (d 0 d 2 ) x3 (d 0 d 1 )

x1 x 2 (d 0 d 2 d 4 d 6 )
x1 x 3 (d 0 d1 d 4 d 5 )

x 2 x 3 (d 0 d1 d 2 d 3 )

x1 x 2 x3 (d 0 d 1 d 2 d 3 d 4 d 5 d 6 d 7 )

Forma polinomial RMJ pentru f (x1 x 2 x3 )

f (x1 x 2 x3 ) = a 0 a1 x3 a 2 x 2 a 3 x 2 x3 a 4 x1 a 5 x1 x3 a 6 x1 x 2 a 7 x1 x 2 x 3

Prin identificarea coeficienilor :

a0 = d 0
a1 = d 0 d 1
a2 = d 0 d 2
a3 = d 0 d1 d 2 d 3
a4 = d 0 d 4
a5 = d 0 d1 d 4 d 5
a6 = d 0 d 2 d 4 d 6
a 7 = d 0 d1 d 2 d 3 d 4 d 5 d 6 d 7

n notaie matriceal:
1 0 0 0 ... 0 0 0
a0
1 1 0 0 ... 0 0 0
a1
a 1 0 1 0 ... 0 0 0
2 1 1 1 1 ... 0 0 0
a3
= .........................................
a 4 1 0 0 0 ... 1 0 0
a5
1 1 0 0 ... 1 1 0
a6
a 1 0 1 0 ... 1 0 1
7 1 1 1 1 ... 1 1 1

0
d 0
0
d1
0
d2
0
d 3
d
0 4
d
0 5
d
0 6
d
1 7

n notaie compat :
a = T3 d

unde:
T
T3 = 2
T2

T2

Deci, prin generalizare :


a = Tn d

unde :
Tn 1
Tn =
Tn 1

Tn 1

Dimensiunile matricii Tn sunt 2 n 2 n


Am determinat o procedur iterativ simpl pentru calcularea coeficienilor RMJ,
a i , i 0, (2 n 1) pentru fiecare n . Rmne de clarificat problema corespondenei
ntre a k i termenul produs de variabile necomplementate din forma polinomial
RMJ.
Considerm forma general pentru un termen produs pe n variabile necomplementate,
notat k :

= x1e1 .x 2e2 ...x nen

unde :

e j {0,1}, j [1, n] este un exponent al variabilelor care difer fa denotaia

exponenial folosit pentru literali, i anume :

daca e j = 1

x j
e
x jj =
1

daca e j = 0
n

k10 = (e1e 2 ...en )2 = e1 .2 n 1 + e 2 .2 n 2 + ... + e n .2 0 = e j 2 n j


j =1

este

[0, (2

)]

indexul

coeficientului

RMJ

gama

zecimal

Deci, trebuie s transformm k din baza 10 n baza 2 pe n poziii i s aplicm


e
formula general pentru k , respectnd convenia pentru x j j ( pentru e j = 1
variabila x j rmne, pentru e j = 0 , variabila este tears). Astfel pentru n = 2 ,
valorile lui k sunt 0,1,2 i 3 ; coeficienii RMJ sunt a 0 a1 a 2 a 3 i termenii produs sunt
determinai astfel :
k = 010 = (00 )2
k = 110 = (01)2

k = 210 = (10 )2
k = 310 = (11)2

x10 x 20 = 1.1 = 1
x10 x 12 = 1.x 2 = x 2
x11 x 20 = x1 .1 = x1
x11 x 12 = 1.x 2 = x1 x 2

Atunci forma polinomial RMJ este :

f (x1 x 2 ) = a 0 0 a1 1 a 2 2 a3 3 = a 0 a1 x 2 a 2 x1 a 3 x1 x 2

Pentru n = 3 , valorile lui k sunt 0,1,...,7 ; coeficienii RMJ sunt : a 0 ...a 7 iar termenii
produs sunt determinai astfel :
k = 010 = (000 )2

x10 x 20 x30 = 1.1.1 = 1

k = 110 = (001)2

x10 x 20 x31 = 1.1.x3 = x3

k = 210 = (010 )2

x10 x12 x30 = 1.x 2 .1 = x 2

k = 310 = (011)2

x10 x 12 x31 = 1.x 2 .x3 = x 2 x3

k = 410 = (100 )2

x11 x 20 x30 = x1 .1.1 = x1

k = 510 = (101)2

x11 x 20 x31 = x1 .1.x3 = x1 x3

k = 610 = (110 )2

x11 x12 x30 = x1 .x 2 .1 = x1 x 2

k = 710 = (111)2

x11 x 12 x31 = x1 x 2 x3

Atunci, forma polinomial RMJ este :

f (x1 x 2 x3 ) = a 0 a1 x3 a 2 x 2 a 3 x 2 x3 a 4 x1 a 5 x1 x3 a 6 x1 x 2 a 7 x1 x 2 x 3
n general, reprezentarea RMJ pentru n variabile se poate scrie n felul urmtor :
f (x1 x 2 ...x n ) =

2 n 1

a k k

k = 0

unde :

= x1e1 x 2e2 ...x nen

e j (0,1),

j [1, n]

x j , daca e j = 1
e
x jj =
daca e j = 0
1,
Coeficienii a k k = 0, 2 n 1 sunt determinai din ecuaia matriceal :
(a ) = (Tn )(. d ) , unde

))

10

Tn 1
Tn =
Tn 1

Tn 1
0

Matricea Ti este obinut iterativ,

Ti 1

Ti 1
Ti =
Ti 1

i
1
T1 =
1

Fiecare mulime de coeficieni ai conduce la o expresie diferit, astfel nct exist


n

2 2 expresii diferite.

Algoritm :
Transformarea formei canonice P n reprezentare RMJ urmeaz urmtorii pai :
d0

d1
1). Formarea matricii d =
...

d n
2 1

2).Scrierea matricii (Tn )2 n 2n :


Tn 1
Tn =
Tn 1
Ti 1
Ti =
Ti 1

1
T1 =
1

Tn 1
0

Ti 1
0

3). Calculul coeficienilor a k din ecuaia matricii :


a = Tn .d

4). Pentru fiecare k se determin termenul corespunztor :

= x1e1 x 2e2 ...x nen

x j , daca e j = 1
e
x jj =
daca e j = 0
1,
k10 = (e1e2 ...en )2

Exemplu :
Se d urmtoarea funcie de trei variabile :
f (x1 x 2 x3 ) = (0,4,5,6)

Matricea d

11

1

0
0

0
d =
1
1

1
0

Matricea T3 :

T2
T3 =
T2

T1 0 .

T1 T1 .
0
= .
. .
T2
T1 0 .

T1 T1 .

. .
T1 0
T1 T1

1
1

1
= .

1

1
1

0 0 0 . 0 0 0 0

1 0 0 . 0 0 0 0
0 1 0 . 0 0 0 0

1 1 1 . 0 0 0 0
. . . . . . . .
0 0 0 . 1 0 0 0

1 0 0 . 1 1 0 0
0 1 0 . 1 0 1 0

1 1 1 . 1 1 1 1

Rezolvarea ecuaiei cu coeficieni ai , (i [0,7])


a = T3 .d
1
a0
1
a1
a 1
2 1
a3
= .
a 4 1
a5
1
a6
a 1
7 1

a0 = 1

0
1
0
1
.
0
1
0
1

0
0
1
1
.
0
0
1
1

0
0
0
1
.
0
0
0
1

. 0 0 0
. 0 0 0
. 0 0 0
. 0 0 0
. . . .
. 1 0 0
. 1 1 0
. 1 0 1
. 1 1 1

0
1
0
0
0
0
0
0
. .
1
0
1
0
1
0
0
1

a1 = 1
a2 = 1
a3 = 1
a4 = 0
a5 = 1
a6 = 1
a7 = 0

Determinarea termenilor produs :

12

k =0

000

x10 x 20 x30 = 111 = 1

k =1

001

x10 x 20 x 31 = 11x 3 = x 3

k =2

010

x10 x 12 x30 = 1x 2 1 = x 2

k =3

011

x10 x 12 x31 = 1x 2 x3 = x 2 x3

k =4

100

x10 x 20 x30 = x111 = x1

k =5

101

x11 x 20 x 31 = x11x3 = x1 x 3

k =6

110

x11 x 12 x 30 = x1 x 2 1 = x1 x 2

k =7

111

x11 x 12 x 31 = x1 x 2 x 3 = x1 x 2 x 3

Reprezentarea RMJ pentru f (x1 x 2 x3 ) este:


f (x1 x 2 x 3 ) = 1 x 3 x 2 x 2 x 3 x1 x3 x1 x 2

Putem verifica corectitudinea expresiei obinute prin scrierea formei canonice P a lui
f (x1 x 2 x3 ) cu operatorul XOR :
f (x1 x 2 x3 ) = x1 .x 2 .x3 x1 .x 2 .x3 x1 x 2 x3 x1 x 2 x3 =

= (1 x1 )(1 x 2 )(1 x3 ) x1 (1 x 2 )(1 x3 ) x1 (1 x 2 )x3 x1 x 2 (1 x3 ) =


= 1 x1 x 2 x3 x1 x 2 x1 x3 x 2 x3 x1 x 2 x3 x1 x1 x 2 x1 x3 x1 x 2 x3 x1 x3 x1 x 2 x3
x1 x 2 x1 x 2 x 3 = 1 x3 x 2 x 2 x 3 x1 x3 x1 x 2

Se observ c s-a obinut acelai rezultat.


Aa cum s-a clarificat relaia dintre coeficienii RMJ i termenii produs, sunt
prezentate n mod centralizat cele 16 combinaii de patru coeficieni {a 0 a1 a 2 a 3 }
pentru toate cele 16 funcii de comutaie de dou variabile, f (x1 x 2 )
Funcie de dou variabile
Reprezentare RMJ
a 0 a1 a 2 a 3
f0
0
0
0000
f1
x1 x 2
x1 x 2
0001
f2
x1 1 x 2
x1 x1 .x 2
0011
f3
x1
x1
0010
f4
x1 2 x 2
x 2 x1 .x 2
0101
f5
x2
x2
0100
f6
x1 x 2
x1 x 2
0110
f7
x1 + x 2
x1 x 2 x1 x 2
0111
f8
1 x1 x 2 x1 x 2
1111
x1 x 2
f9
x1 [x 2
1 x1 x 2
1110
f 10
1 x2
1100
x2
f 11
f 12

f 13
f 14
f 15

x1 2 x 2

1 x 2 x1 x 2
1 x1

1100
1010

x1 x 2

1 x1 x1 x 2
1 x1 x 2

1011
1001

1001

x1
x1 1 x 2

3.3. Formule Produs de Sum (POS)

13

Formulele POS sunt cunoscute ca forme normal conjunctive ale reprezentrii


funciilor de comutaie.
Teorema T1 :
Orice funcie de comutaie f (x1 ,..., x n ) , exceptnd constanta 1, poate fi reprezentat n
mod unic ca un produs de funcii maxtermen.
f (x1 ,..., x n ) =

M i (x1 ,..., x n ) = M i .M i .....M i


1

i j F 0

unde :
- F 0 este mulimea tuturor combinaiilor de valori ale variabilelor {x1 ,..., x n } pentru
care f este mapat n 0.
- - este produs logic
- M este un maxtermen definit pe variabilele {x1 ,..., x n } ;
- L = 2 n k , unde k este greutatea funciei.
Aceast form se mai numete i forma absolut normal conjunctiv, pentru funcia
f (x1 ,..., x n ) .
Teorema T2 :
Orice funcie f (x1 ,..., x n ) , exceptnd constanta 1, poate fi reprezentat n urmtoarea
form conjunctiv folosind operatorul XNOR :
f (x1 ,..., x n ) =

M ij
[
i j F 0

(x1 ,..., x n ) = M i

M i2 ... M iL

unde :
- - F 0 este mulimea tuturor combinaiilor de valori ale variabilelor {x1 ,..., x n }
pentru care f este mapat n 0.
- M este un maxtermen definit pe variabilele {x1 ,..., x n } ;
- L = 2 n k , unde k este greutatea funciei.
- P este produsul XNOR
Teorem ( forma canonic S )
Orice funcie de comutaie f (x1 ,..., x n ) , exceptnd constanta 1, permite urmtoarea
reprezentare unic n form conjunctiv :
1

f ( x1 ,..., x n ) = ... f (i1 ...i n ) + x1i1 + x 2i2 + ... + x nin


i1 = 0 i2 = 0

in = 0

unde :

f (i1 ,..., i n ) este valoarea funciei de comutaie f pentru o mulime particular de


valori atribuite variabilelor x1 = i1 ,..., x n = i n ;

este produs logic ( funcia AND )


Aceast reprezentare conjunctiv se numete forma canonic S a funciei
f (x1 ,..., x n ) . Forma canonic S reprezint cea de-a doua reprezentare fundamental a
funciilor de comutaie. Se numete canonic deoarece sunt folosii termeni sum
canonici ( sume complete) definite anterior ca maxtermeni.
Forma canonic S se mai numete i form canonic POS a funciei de comutaie.
Interpretarea teoremei.
Suma x1i1 + x 2i2 + ...x nin este un maxtermen definit pe variabilele {x1 ,..., x n } . f (i1 ,..., i n )
este valoarea funciei de comutaie f (x1 ,..., x n ) pentru o mulime particular de valori
atribuite variabilelor x1 = i1 ,..., x n = i n . Dac f (i1 ,..., i n ) = 1 , maxtermenul corespunztor
(1 + A = 1) . Dar,
este inhibat datorit agresivitii lui 1 asupra lui OR

14

dac f (i1 ,..., i n ) = 0 atunci maxtermenul corespunztor este reinut. Deci, din cei 2 n
maxtermeni numai cei pentru care f (i1 ,..., i n ) = 0 sunt reinui. Astfel, produsul
reprezint mulimea de maxtermeni pentru care f (i1 ,..., i n ) este mapat n zero. Astfel
am demonstrat c aceast teorem a fost redus la cea anterioar definind forma
absolut normal conjunctiv a unei funcii de comutaie.
Algoritm :
Tranziia de la tabelul de adevr al unei funcii de comutaie f (x1 ,..., x n ) la forma
canonic S.
1) Se marcheaz combinaiile pentru care f (x1 ,..., x n ) este mapat n 0.
2) Se scriu maxtermenii corespunztori diferii de combinaiile identificate la pasul
1.
3) Se scrie produsul logic din maxtermeni formai la pasul 2.
Exemplu :
Se consider o funcie de comutaie f (x1 x 2 x3 ) definit prin tabelul de adevr :
x1

0
0
0
0
1
1
1
1

x2

x3

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1
0
0
1
0
1
1
0

Pasul 1:
Marcm combinaiile 001, 010, 100, 111 pentru care f (x1 x 2 x3 ) = 0
x1

0
0
0
0
1
1
1
1

x2

x3

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1
0*
0*
1
0*
1
1
0*

Pasul 2 :
Scriem maxtermenii corespunztori
M 1 = x1 + x 2 + x 3
M 2 = x1 + x 2 + x 3
M 4 = x1 + x 2 + x 3
M 7 = x1 + x 2 + x 3

Pasul 3 :
Forma canonic S este :
15

)(

f ( x1 x 2 x3 ) = M 1 M 2 M 4 M 7 = x1 + x 2 + x3 x1 + x 2 + x 3

(x

)(

+ x 2 + x3 x1 + x 2 + x3

Putem uni maxtermenii cu operatorul XNOR, conform cu teorema T2

) (

f (x1 x 2 x3 ) = x1 + x 2 + x3 x1 + x 2 + x3

) (

x1 + x 2 + x3 x1 + x 2 + x3

Algoritm :
Transformarea unei forme booleene A(x1 ,..., x n ) n forma canonic S .
1) Forma boolean dat se prelucreaz pn se obine forma POS (forma normal
conjunctiv )
2) Termenii care conin toate variabilele sunt separai ( extragerea maxtermenilor )
3) Dac ntr-un maxtermen lipsete variabila xi atunci un 0, scris ca xi .xi
, este adugat xi .xi = 0
4) Se aplic distributivitatea lui OR fa de AND.
5) Teorema de idempoten se folosete pentru a reine numai un maxtermen din
mulimea de maxtermeni identici
Exemplu :
Considerm urmtoarea form boolean :

)(

A(x1 x 2 x3 ) = x1 + x 2 x 2 + x3

Se cere forma canonic S a funciei de comutaie asociat. Forma boolean este n


form POS. n primul termen sum lipsete variabila x3 iar n al doilea termen
lipsete variabila x1 . Deci, adugm produsul x3 x3 la primul termen i x1 x1 la cel
de-al doilea termen :

)(
= (x + x + x )(x + x + x )
(x + x + x )(x + x + x )

A(x1 x 2 x3 ) = x1 + x 2 + x 3 x3 x1 x1 + x 2 + x 3 =
1

Identificm doi termeni sum identici, i anume


canonic S este :

)(

)(

f (x1 x 2 x3 ) = x1 + x 2 + x 3 x1 + x 2 + x3 x1 + x 2 + x3

(x

+ x 2 + x3 , astfel nct forma

Maxtermenii au urmtorii indici :


M 2 = x1 + x 2 + x 3
M 3 = x1 + x 2 + x3
M 6 = x1 + x 2 + x 3

n notaie compact putem scrie :


f (x1 x 2 x3 ) = M 2 .M 3 .M 6 sau
f ( x1 x 2 x3 ) = M 2 M 3 M 6

O notaie frecvent folosit este :


f (x1 x 2 x3 ) = (2,3,6) sau
f ( x1 x 2 x3 ) = (2,3,6 )

Proprietate : Deoarece forma canonic S este unic, dou forme booleene sunt
echivalente dac au aceeai form canonic S.
Exemplu : Sunt considerate dou forme booleene

)(

A(x1 x 2 x 3 ) = (x 2 + x 3 ) x1 + x 2 x 2 + x3

)(

)(

B(x1 x 2 x 3 ) = x 2 + x 2 + x 3 x1 + x 2 x1 + x 2 + x 3 (x 2 + x3 )

16

Se cere s se determine dac A(x1 x 2 x3 ) = B(x1 x 2 x3 )


Determinm forma canonic S pentru A i B

)(
)(
= (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 + x )
(x + x + x )(x + x + x ) =

A(x1 x 2 x3 ) = x1 .x1 + x 2 + x3 x1 + x 2 + x3 x3 x1 .x1 + x 2 + x3 =


1

= M 0M 4M 6M 7M 3

(
)(
)
(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 + x + x )(.x + x + x )(x + x + x )
(x + x + x )(x + x + x ) = M M M M M
B(x1 x 2 x3 ) = x1 + x 2 + x3 x1 + x 2 + x3 x3
1

1 1

Deoarece am obinut forme canonice S identice rezult c


A(x1 x 2 x3 ) = B( x1 x 2 x3 )

17

3.4. Reprezentarea XNOR polinomial a funciilor de


comutaie
Ca i n cazul formelor disjunctive se pot obine reprezentri polinomiale folosind
operatorul XNOR.
Teorem :
Orice funcie de comutaie f (x1 ,..., x n ) se poate exprima ntr-o form polinomial
bazat pe operatorul XNOR i variabile complementate astfel :

) (

f (x1 ,..., x n ) = a 0 a1 + x1 a 2 + x 2 ... a n + x n

) (

a n +1 + x1 + x 2 a n + 2 + x1 + x 3 ...

... a 2 n 1 + x1 + x 2 + ... + x n

unde :

a i {0,1}, i 0,2 n 1 sunt coeficieni binari


Dac a i = 1 atunci termenul sum corespunztor este inhibat datorit agresivitii lui
1 asupra lui OR ; dac a i = 0 termenul sum este reinut n form polinomial.

Fiecare funcie de comutaie este caracterizat de mulimea proprie de coeficieni


binari {a 0 , a1 ...a 2n 1 } n reprezentarea polinomial.
n

Pentru un n dat sunt definite 2 2 funcii de comutaie diferite. n aceast expresie


n
exist 2 n coeficieni binari diferi astfel nct numrul total de combinaii este 2 2 .
Dac n = 2 atunci :

) (

) (

f (x1 x 2 ) = a 0 a1 + x1 a 2 + x 2 a 3 + x1 + x 2

Exemplu :
Considerm funcia AND , f (x1 x 2 ) = x1 x 2 , cu urmtorul tabel de adevr :
x1

x2

x1 x 2

0
0
0
0
1
0
1
0
0
1
1
1
Prin aplicarea teoremei T2 , f (x1 x 2 ) poate fi reprezentat astfel :

) (

f (x1 x 2 ) = ( x1 + x 2 ) x1 + x 2 x1 + x 2

Prin nlocuirea fiecrui x j cu 0 x j , obinem :

[(

)] [(

) (

] [ (

f (x1 x 2 ) = 0 x1 + 0 x 2 0 x1 + x 2 x1 + 0 x 2
Prin aplicarea distributivitii lui + asupra avem :
f (x1 x 2 ) = (0 + 0 ) 0 x 2 0 x1 x1 + x 2

[
( ) ( ) (
)]
[(0 x ) (x + x )]
[(0 x ) (x x )] =
= 0 x x (x x ) x (x + x ) x (x
2

+ x2

)]

Cutm termenii identici i aplicm formula de reducere i obinem :

f (x1 x 2 ) = 0 x1 + x 2
Astfel, pentru f (x1 x 2 ) = x1 x 2 coeficienii polinomiali sunt :

18

a 0 = 0

a1 = 1

a 2 = 1
a 3 = 0

3.5. Forme canonice generalizate


Pn acum am considerat c exist dou forme canonice fundamentale, denumite
forma canonic P i forma canonic S. Aceste forme conin numai operatorii
{AND, OR, NOT } . Aa cum s-a discutat mulimea {AND, OR, NOT } reprezint o
mulime funcional complet, constituind o baz normal n sinteza logic a reelelor
digitale. Apariia circuitelor {NAND, NOR} a impus o nou abordare a sintezei logice.
S-a cerut extinderea formelor canonice iniiale astfel nct s includ noile funcii
NOR i NAND. Astfel, au aprut formele canonice generalizate, care includ formele
canonice fundamentale (P i S).
Formele canonice generalizate sunt mprite n dou grupuri : D i C ; D reprezint
grupul formelor disjunctive, iar C reprezint grupul formelor conjunctive.
Formele disjunctive sunt definite pe mulimea F ' , adic mulimea de combinaii de
variabile pentru care f (x1 ,..., x n ) = 1 .
Formele conjunctive sunt definite pe mulimea F 0 , adic mulimea de combinaii de
variabile pentru care f (x1 ,..., x n ) = 0 . Exist 8 forme canonice generalizate dintre care
patru sunt disjunctive (D1 D2 D3 D4 ) i patru sunt conjunctive (C1C 2 C 3 C 4 ) .
Formele canonice generalizate disjunctive sunt :

f (x1 ...x n ) = U x1i1 x 2i2 ...x nin

D1

AND OR

D2

NAND NAND

D3

OR NAND

D4

NOR OR

F/

f (x1 ...x n ) = / x1i1 x 2i2 ... x nin


F

(
f ( x ...x ) = U (x

f (x1 ...x n ) = . x1i1 + x 2i2 + ... + x nin


F

i1
1

F/

x 2i2 ... x nin

Formele canonice generalizate conjunctive sunt :

f (x1 ...x n ) = x1i1 + x 2i2 + ... + x nin

)
)
)

C1

OR AND

C2

NOR NOR

f (x1 ...x n ) = 0 x1i1 x 2i2 ... x nin

C3

AND NOR

f (x1 ...x n ) = 0 x1i1 x 2i2 ...x nin

C4

NAND AND

F0

f (x1 ...x n ) = x1i1 x 2i2 ... x nin

F0

Fiecare form este descris de dou funcii logice. Prima funcie logic specific
operaia dintre variabilele {x1 ,..., x n } iar cea de-a doua funcie specific operaia dintre
termeni. Evident, D1 i C1 corespund formelor fundamentale canonice P i S iar
restul corespund unor forme canonice noi care incorporeaz funciile NAND i NOR.
Aceste forme sunt uor de demonstrat prin reducere la formele canonice
fundamentale:

19

D2

f (x1 ...x n ) = / x1i1 x 2i2 ... x nin = / x1i1 x 2i2 ...x nin = / m jk (x1 ...x n ) = m j1 m j2 ...m jk =
F
F
F

= m j1 + m j2 + ... + m jk = U x1i1 x 2i2 ...x nin

( forma

canonica P )

F/
i1 i2
x1 x 2 ...x nin

Fiecare produs
reprezint un mintermen definit pe mulimea {x1 ,..., x n } ; k
este greutatea funciei f (k = w( f ) ) .

f (x1 ...x n ) = . x1i1 + x 2i2 + ... + x nin =

D3 :

= . x1i1 x 2i2 ...x nin = . m j (x1 ...x n ) = m j1 m j 2 ...m jk = m j1 m j 2 ...m jk =


F

= m j1 + m j 2 + ... + m jk =

= U x1i1 x 2i2 ...x nin

( forma canonica P )

F/

) (

f (x1 ...x n ) = U x1i1 x 2i2 ... x nin = U x1i1 x 2i2 ... x nin =

D4 :

= U x1i1 x 2i2 ...x nin

F/

F/

( forma canonica P )

F.

) (

f (x1 ...x n ) = 0 x1i1 x 2i2 ... x nin = 0 x1i1 + x 2i2 + ... + x nin =

C2 :

= 0 M jt = M j1 + M j2 + ... + M jt = M j1 .M j2 .....M jt =
F

= x1i1 + x 2i2 + ... + x nin


F0

( forma

canonica S )

unde :
M j = x1i1 + x 2i2 + ... + x nin este un maxtermen definit pe {x1 ,..., x n } ;
L = 2 n w( f ) = 2 n k

valoarea complementar a greutii k

f ( x1 ...x n ) = 0 x1i1 x 2i2 ...x nin = 0 x1i1 + x 2i2 + ... + x nin = 0 M jt =

C3 :

= M j1 + M j2 + ...M jt = M j1 .M j2 .....M jt =

= x1i1 + x 2i2 + ... + x nin


F0

canonica S )

C4 :

f (x1 ...x n ) = x1i1 x 2i2 ... x nin = x1i1 x 2i2 ...x nin =

F0
F0

= x1i1 + x 2i2 + ... + x nin


F0

( forma

( forma

canonica S )

Formele disjunctive sunt recomandate funciilor de comutaie care sunt balansate


ctre '' 0 '', iar formele conjunctive sunt recomandate funciilor de comutaie care sunt
balansate ctre '' 1''.
Exemple :
1) Se d urmtoarea funcie de comutaie de 4 variabile :

20

x1

x2

x3

x4

0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
Se cer formele generalizate canonice.
Deoarece greutatea funciei este k = w( f ) = 12 , nseamn c funcia este balansat
ctre 1. Vom folosi forma generalizat canonic conjunctiv. Sunt identificate
combinaiile pentru care f (x1 x 2 x3 x 4 ) = 0 , ceea ce corespunde cu determinarea
mulimii F 0 :
0
0

F0 =
1
1

0 1 0
1 0 0

0 1 0
1 1 1

Formele canonice generalizate definite pe F 0 sunt :

(
)(
)(
)(
: f (x x x x ) = (x x x x )(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 .x .x .x )

)
x )

C1 : f (x1 x 2 x3 x 4 ) = x1 + x 2 + x3 + x 4 x1 + x 2 + x3 + x 4 x1 + x 2 + x3 + x 4 x1 + x 2 + x3 + x 4

C2
C3

1 2 3 4

1 2 3 4

)(

)(

C 4 : f (x1 x 2 x 3 x 4 ) = x1 x 2 x3 x 4 x1 x 2 x 3 x 4 x1 x 2 x3 x 4 (x1 x 2 x3 x 4 )

x 2 x3

2) Se d funcia de comutaie de trei variabile f (x1 x 2 x3 ) :


x1

x2

x3

0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
Se cer formele canonice generalizate. Greutatea funciei este
folosi formele canonice generalizate disjunctive.
Sunt identificate combinaiile pentru care f (x1 x 2 x3 ) = 1

w( f ) = 3 , deci vom

21

0 0 1

F = 1 0 0
1 1 0

'

Formele canonice generalizate corespunztoare lui F ' sunt:


D1 : f ( x1 x 2 x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x 2 x3

)(

)(
x ) + (x

)(

)(

D2 :

f ( x1 x2 x3 ) = x1 x 2 x3 x1 x2 x3 x1 x2 x3

D3 :

f (x1 x2 x3 ) = x1 + x2 + x3 x1 + x2 + x3 x1 + x 2 + x3

(
f (x x x ) = (x

) (

D4 :
1 2 3
1 x2
3
1 x 2 x3 + x1 x 2 x3
n afar de criteriul greutii, exist i un al doilea criteriu legat de baza tehnologic
avut la dispoziie pentru realizarea reelei logice. De exemplu, dac avem la
dispoziie numai pori NAND, atunci, indiferent de greutate , trebuie s construim
circuitul folosind numai pori NAND. Astfel, avem nevoie de forma NAND - NAND
care se poate obine din C 4 prin dubl complementare :
f (x1 ...x n ) = x1i1 x 2i2 ... x nin = 0 x1i1 x 2i2 ... x nin

F0

Aceast relaie este adevrat deoarece complenentul lui AND generalizat este
NAND.
Astfel, exist dou metode disponibile pentru scrierea formei canonice n baza
NAND, prima ca grup disjunctiv pe F ' iar cea de-a doua n grup conjunctiv pe F 0 ,
astfel :
1) f (x1 ...x n ) == 1 x1i1 x 2i2 ... x nin
F

2) f (x1 ...x n ) == 0 x1i1 x 2i2 ... x nin


F

Exemplu : Se d urmtoarea funcie de trei variabile :


x1

x2

x3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1
0
0
1
0
1
1
0

Este specificat c sunt disponibile numai pori NAND pentru implementare i


deoarece k = 4 , se cere s se scrie ambele forme canonice folosind numai operatori
NAND.
Formm mulimile F 0 i F 1 :
0
0

0
F =
1
1

0
1
0
1

1
0

0
1

22

0
0

F1 =
1
1

0 0
1 1

0 1
1 0

Prima form canonic pe F 1 este :

)(

)(

)(

)(

)(

f (x1 x 2 x3 ) == 1 x1i1 x 2i2 ... x nin = x1 x 2 x3 x1 x 2 x3 x1 x 2 x3 x1 x 2 x3


F

A doua form canonic pe F 0 este :

f (x1 x 2 x3 ) == 0 x1i1 x 2i2 ... x nin = x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x3 (x1 x 2 x3 )


F

O analiz similar poate fi fcut pentru implementarea NOR ; n definirea formelor


canonice generalizate avem numai n grupul conjunctiv, forma C 2 , adic NOR-NOR
pe F 0 :

f (x1 ...x n ) = 0 x1i1 x 2i2 ... x nin


F

Avem nevoie de ceva similar pe F 1 ; dac lum forma D4 din grupul disjunctiv,
dup o dubl complementare obinem :

) (

) (

f (x1 ...x n ) = U x1i1 x 2i2 ... x nin =U x1i1 x 2i2 ... x nin = 1 x1i1 x 2i2 ... x nin
F1

F1

Aceast relaie este adevrat deoarece complementul lui OR generalizat este NOR.
Astfel, avem dou metode disponibile de a scrie forme canonice n baza NOR, prima
n grupul conjunctiv pe F 0 iar cea de-a doua n grupul disjunctiv pe F 1
1) f (x1 ...x n ) = 0 x1i1 x 2i2 ... x nin

(
f (x ...x ) = (x
F

2)

F1

i1
1

x 2i2 ... x nin

)
)

Exemplu : Considerm aceeai funcie f (x1 x 2 x3 ) cu :


0
0

F0 =
1
1
0
0

F1 =
1
1

0 1
1 0

0 0
1 1
0 0
1 1

0 1
1 0

Sunt cerute ambele forme canonice n baza NOR.


Prima form canonic pe F 0 este :

)(

) (

f (x1 x 2 x3 ) = 0 x1i1 x 2i2 ... x nin = x1 x 2 x3 x1 x 2 x3

) (

x1 x 2 x3 x1 x 2 x3

A doua form canonic pe F 1 este :


23

) (

) (

) (

f (x1 x 2 x3 ) = 1 x1i1 x 2i2 ... x nin = x1 x 2 x3 x1 x 2 x3 x1 x 2 x3 x1 x 2 x3


F

3.6. Reprezentri canonice NAND/NOR ale funciilor de


comutaie cu constrngeri referitoare la numrul de intrri
n paragrafele anterioare au fost prezentate proprietile funciilor NAND/NOR i
formele canonice generalizate. n acest paragraf sunt tratate aspecte particulare ale
reprezentrii funciilor n logic NAND/NOR cu constrngeri referitoare la numrul
de intrri. Constrngerile referitoare la numrul de intrri creeaz probleme serioase
cnd trebuie adaptat o funcie NAND/NOR arbitrar la un numr de intrri
disponibile ale porilor NAND/NOR.
Soluia este folosirea pseudo-asociativitii funciilor NAND/NOR :
x1 ... x k x k +1 ... x n = x1 ... x k 1 x k x k +1 ... x n
x1 ... x k x k +1 ...x n = x1 ... x k 1 x k x k +1 ... x

Procedura general de reprezentare a unei funcii de comutaie f (x1 ...x n ) n baza


NAND/NOR cu constrngeri referitoare la numrul de intrri este :
1) Se scrie forma canonic generalizat pentru f (x1 ...x n ) pe F 0 sau F 1 :
f (x1 ...x n ) = 1 x1i1 x 2i2 ... x nin
F

f (x1 ...x n ) = x1i1 x 2i2 ... x nin


F 0

(
f (x ...x ) = (x

f (x1 ...x n ) = 0 x1i1 x 2i2 ... x nin


F

F0

i1
1

x 2i2 ... x nin

)
)

2) Se aplic proprietatea de pseudo-asociativitate (teorema) astfel nct urmtoarele


dou cerine sunt ndeplinite :
1) se potrivete dimensiunea intrrii
2) se obine o structur echilibrat
Cea de-a doua cerin se refer la lungimile cilor de la intrri ctre ieire care trebuie
s fie egale dac este posibil. Altfel, un circuit nebalansat este obinut ceea ce
reprezint o situaie nedorit, care conduce la hazarduri n operare deoarece
ntrzierile pe ci diferite sunt diverse.

3.7. Forme particulare de reprezentare ale funciilor de


comutaie n baza NOR.
3.7.1. Reprezentri disjunctive NOR
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0, poate fi
reprezentat n mod unic cu operatori NOR 2 n urmtoarea form disjunctiv :

...

f ( x1 ...x n ) = U
xnin
i
i
i
i

F 1 x11 x 22 x33 ... x nn11

24

Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0, poate fi


reprezentat n mod unic cu operatori NOR 3, n urmtoarea form disjunctiv :
...

f (x1 ...x n ) = U
x nin11 x nin
i
i
i
i
i
i
F 1 x11 x 22 x 33 x 44 x 55 ... x nn22

Aceste teoreme pot fi extinse pentru diveri operatori NOR depinznd de tehnologia
impus.
Aa cum se tie, funcia NOR formeaz o mulime funcional complet, astfel nct
nu este nevoie de folosirea operatorilor OR.
Urmtoarele teoreme asigur un mod direct de reprezentare a funciilor de comutaie
prin folosirea numai a operatorilor NOR.
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0, i care are
greutatea k = w( f ) , poate fi reprezentat cu operatori NOR 2 n felul urmtor :
f ( x1 ...x n ) =

...

m in
mi1 mi2 mi3 ...

unde mi j este un mintermen definit pe mulimea {x1 ...x n }

- k este greutatea funciei


Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0, i care are
greutatea k = w( f ) , poate fi reprezentat cu operatori NOR3 n felul urmtor :
f (x1 ...x n ) =

...

m ik
mi1 mi2 mi3 mi4 mi5 ...mik 1

Aceste teoreme pot fi extinse la diveri operatori NOR n funcie de tehnologia


disponibil.
Algoritm :
Tranziia de la tabelul de adevr la reprezentarea NOR disjunctiv :
1) Se marcheaz combinaiile pentru care f (x1 ...x n ) este mapat n 1.
2) Se scriu mintermenii corespunztori cu ajutorul formulei :
...

mj =
x nin
i3
in 1
i1
i2
x1 x 2 x3 ... x n 1

3) Se scrie expresia funciei astfel :


f (x1 ...x n ) =

...

m ik
mi1 mi2 mi3 ...

Exemplu : Pentru o funcie de comutaie cu trei variabile, se cere s se reprezinte n


form disjunctiv n tehnologia NOR 2 .
x1

x2

x3

0
0
0
0
1
1
1

0
0
1
1
0
0
1

0
1
0
1
0
1
0

0
1
0
0
1
1
0

25

1
1
1
0
1
Mulimea F este {(001), (100), (101)} ; greutatea lui f (x1 x 2 x3 ) este 3 (k = w( f ) = 3) .
Mintermenii pentru combinaiile marcate sunt :
m1 = x1 x 2 x3
m 4 = x1 x 2 x3
m5 = x1 x 2 x 3

Forma disjunctiv a funciei este :

f (x1 x 2 x3 ) = x1 x 2 x3 x1 x 2 x3 x1 x 2 x 3

3.7.2. Reprezentri conjunctive NOR


Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi
reprezentat n mod unic n urmtoarea form conjunctiv cu ajutorul operatorilor
NOR 2.
...

f (x1 ...x n ) == i
i3
i2
in
1
F 0 x1 x 2 x 3 ... x n

Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi


reprezentat cu ajutorul operatorilor NOR 3 n urmtoarea form conjunctiv :
...

f (x1 ...x n ) = i1
i2
in
0
F x1 x 2 ... x n

Aceste teoreme pot fi extinse la diveri operatori NOR n funcie de tehnologia


impus. Dar, aa cum este cunoscut, reprezentarea funciilor de comutaie se poate
realiza prin folosirea strict a operatorilor NOR, deoarece NOR este mulime
funcional complet. Urmtoarele teoreme asigur reprezentarea funciilor folosind
numai operatori NOR.
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi
reprezentat cu ajutorul operatorilor NOR 2 n urmtoarea form conjunctiv :
f (x1 ...x n ) =

...
M i1 M i2 M i3 ...

M iL

unde :
- M i j este un maxtermen definit pe mulimea de variabile {x1 ...x n }
- L este complementul greutii : L = 2 n k = 2 n w( f )
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi
reprezentat cu ajutorul operatorilor NOR 3 n form conjunctiv astfel :
f (x1 ...x n ) =

...
M i1 M i2 M i3 ...

M iL 1 M iL

unde :
- M i j este un maxtermen definit pe mulimea de variabile {x1 ...x n }

26

- L este complementul greutii : L = 2 n k = 2 n w( f )


Algoritm : Tranziia de la tabela de adevr la reprezentarea conjunctv NOR :
1) Se marcheaz combinaiile pentru care f (x1 ...x n ) este mapat n 0
2) Se scriu maxtermenii corespunztori cu ajutorul formulelor :
Mj =

...
x1i1 x 2i2 x 3i3 ... x nin

3) Se scrie expresia funciei astfel :


f (x1 ...x n ) =

...
M i1 M i2 M i3 ...

M iL

Exemplu : Pentru funcia de comutaie


cere reprezentarea conjunctiv NOR 2.
Pasul 1 :
x2

x3

0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Pasul 2 :

0
1
0
1
0
1
0
1

0
1
1
1
0
0
1
0

x1

f (x1 x 2 x3 ) dat prin tabelul de adevr se

M 0 = x1 x 2 x 3
M 4 = x1 x 2 x 3
M 5 = x1 x 2 x3
M 5 = x1 x 2 x3

Pasul 3 :

f (x1 x 2 x3 ) = M 0 M 4 M 5 M 7 = x1 x 2 x 3 x1 x 2 x3 x1 x 2 x3

x1 x 2 x 3

3.8.Reprezentri NAND
3.8.1. Reprezentri NAND disjunctive.
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0, poate fi unic
reprezentat cu operatori NAND 2 n form disjunctiv astfel :

...

f ( x1 ...xn ) = U i i i
in

3
1
2
F 1 x1 x 2 x3 ... x n

27

Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0, poate fi


reprezentat cu operatori NAND 3 n form disjunctiv astfel :
...

f ( x1 ...x n ) = U
i3
i5
in 1
in
i1
i2
i4
1
F
[(( x1 | x 2 | x3 ) | x 4 | x5 ) | ... | x n 1 | x n ]
Aceste teoreme pot fi extinse la alte tipuri de operatori NAND. Deoarece NAND este
o mulime funcional complet, funcia OR nu este necesar. Deci, urmtoarele
teoreme specific pe f (x1 ...x n ) folosind numai funcii NAND.
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0 , cu greutatea
k , poate fi reprezentat cu ajutorul operatorilor NAND 2 n form disjunctiv astfel :
...
f ( x1 ...x n ) =
mi1 mi2 mi3 ... | mik

unde :
- mi j este mintermen definit pe {x1 ...x n }
- k este greutatea funciei, k = w( f )
Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 0 , cu greutatea
k , poate fi reprezentat cu ajutorul operatorilor NAND 3 n form disjunctiv astfel :
f (x1 ...x n ) =

...
mi1 mi2 mi3 mi4 mi5

... mik 1 mik

unde :
- mi j este mintermen definit pe {x1 ...x n }
k este greutate afunciei, k = w( f )

Algoritm : Tranziia de la tabelul de adevr la reprezentarea NAND disjunctiv este :


1) Se marcheaz combinaiile pentru care f (x1 ...x n ) se mapeaz n 1.
2) Se scriu mintermenii corespunztori cu ajutorul formulei :
...
mj =

x1i1 x 2i2 x 3i3 ... x nin

3) Se scrie expresia funciei :


f (x1 ...x n ) =

...
mi1 mi2 mi3 ...

m ik

Exemplu : Se d funcia de comutaie f (x1 x 2 x3 ) prin tabelul de adevr :


x1

x2

x3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1
0
0
1
1
0
0
0

28

Se cere s se reprezinte f (x1 x 2 x3 ) n forma disjunctiv NAND 2. Prin aplicarea


algoritmilor avem :
Pasul 1 :
x1

x2

x3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1*
0
0
1*
1*
0
0
0

Pasul 2:
Mintermenii m0 , m3 i m 4 sunt :
m0 = x1 x 2 x3
m3 = x1 x 2 x3
m 4 = x1 x 2 x 3

Pasul 3 : Funcia f (x1 x 2 x3 ) :


f (x1 x 2 x3 ) = x1 x 2 x 3 x1 x 2 x3 x1 x 2 x3

3.8.2. Reprezentarea conjunctiv NAND.


Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi unic
reprezentat cu operatori NAND 2 n form conjunctiv astfel :
...

f (x1 ...x n ) = i1 i2 i3 x nin

F 0 x1 x 2 x 3 ...

Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi


reprezentat cu operatori NAND 3 n form conjunctiv astfel :

...

f ( x1 ...x n ) = i1 i2 i i3 in 1 in

F 0 x1 x 2 x3 x 4 ... x n 1 | x n

Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi unic
reprezentat cu operatori NAND 2 n form conjunctiv astfel :
f (x1 ...x n ) =

...
M i1 M i2 M i3 ... M iL

unde :
- M i j este maxtermen definit pe {x1 ...x n }

29

- L este complementul greutii k , L = 2 n k = 2 n w( f )


Teorem : Orice funcie de comutaie f (x1 ...x n ) , exceptnd constanta 1, poate fi unic
reprezentat cu operatori NAND 3 n form conjunctiv astfel :
f (x1 ...x n ) =

...
M i1 M i2 M i3 M i4 M i5 ... M iL 1 M iL

unde :
- M i j este maxtermen definit pe {x1 ...x n }
- L este complementul greutii k , L = 2 n k = 2 n w( f )
Algoritm : Tranziia de la tabelul de adevr la reprezentarea NAND conjunctiv.
1) Se marcheaz combinaiile pentru care f (x1 ...x n ) este mapat n 0
2) Se scriu maxtermenii corespunztori combinaiilor marcate la pasul 1 folosind
formula :
...
Mj =

x1i1 x 2i2 x3i3 ... x nin

3) Se scrie expresia funciei :


f (x1 ...x n ) =

...
M i1 M i2 M i3 ... M iL

Exemplu : Se d funcia de comutaie de trei variabile :


x1

x2

x3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1
0
1
0
1
1
0
1

Se cere reprezentarea NAND 2 conjunctiv a lui f . Maxtermenii pentru combinaiile


marcate sunt :
M 1 = x1 x 2 x3
M 3 = x1 x 2 x 3
M 6 = x1 x 2 x 3

Funcia :

f (x1 x 2 x3 ) = x1 x 2 x3 x1 x 2 x3 x1 x 2 x 3

Observaii :
1) Dei teoremele i algoritmii sunt precis descrise, implementrile au un neajuns :
structura este dezechilibrat, diverselor ci de la intrare la ieire avnd valori
30

foarte diferite. De exemplu, variabilele x1 , x 2 au ntotdeauna o cale mai lung


dect x n 1 , x n . Din acest motiv, proiectantul trebuie s fie foarte atent cnd aplic
aceste procedee de implementare n mod special cnd este nevoie de circuite
logice de mare vitez.
2) Aceste teoreme pot fi obinute din formele canonice generalizate prin aplicarea
ntr-un mod particular a teoremei pseudo-asociativitii. De exemplu :
f (x1 ...x n ) =

...
M i1 M i2 M i3 ...

M iL

Forma canonic generalizat C 2 :

) ( )

f (x1 ...x n ) = 0 x1i1 x 2i2 ... x nin = 0 M i j =


F

= M i1 M i2 M i3 ... M iL =
= M i1 M i2 M i3 ... M iL =
= M i1 M i2 M i3 ... M iL =
....................................................
=

...
M i1 M i2 M i3 ...

M iL

Similar, considernd formula dat pentru NAND 2 n reprezentarea disjunctv :


f (x1 ...x n ) =

...
mi1 mi2 ... mik

Conform cu D2 :

) ( )

f ( x1 ...x n ) = 1 x1i1 x 2i2 ... x nin = 1 mi j =


F

= mi1 mi2 ... miL =


= mi1 mi2 mi3 ... miL =
= mi1 mi2 mi3 ... miL =
....................................................
=

...
mi1 mi2 mi3 ...

mi L

31

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