Sunteți pe pagina 1din 14

S.D.

Anghel - Bazele electronicii analogice i digitale

12
PORILE LOGICE I ALGEBRA BOOLEAN

12.1 Variabilele Booleene i tabelul de adevr


Aa dup cum am artat n paginile anterioare, intrrile i ieirile circuitelor
digitale pot fi doar n dou stri de potenial electric (niveluri logice) crora
li s-au atribuit variabilele logice 0 i 1. Aceast caracteristic a circuitelor
logice permite folosirea algebrei Booleene (algebra lui 0 i 1) ca instrument
de analiz i proiectare a lor. Prin combinarea porilor logice elementare se
construiesc circuite logice mai complicate care pot fi analizate tot cu
ajutorul algebrei Booleene.
Ca i n cazul porilor logice elementare, pentru orice circuit logic
poate fi construit un tabel de adevr care s ne arate care este nivelul logic al
ieirii lui n funcie de diferitele combinaii posibile ale nivelurilor logice de
la intrri. Dac se noteaz cu A, B, C, ... variabilele de intrare i cu x
variabila de ieire, atunci formele tabelelor de adevr pentru circuitele cu
dou, trei i patru intrri sunt cele prezentate n Tabelul 12.1.
Tabelul 12.1
dou intrri trei intrri patru intrri
B A x C B A x D C B A x
0 0 ? 0 0 0 ? 0 0 0 0 ?
0 1 ? 0 0 1 ? 0 0 0 1 ?
1 0 ? 0 1 0 ? 0 0 1 0 ?
1 1 ? 0 1 1 ? 0 0 1 1 ?
1 0 0 ? 0 1 0 0 ?
1 0 1 ? 0 1 0 1 ?
1 1 0 ? 0 1 1 0 ?
1 1 1 ? 0 1 1 1 ?
1 0 0 0 ?
1 0 0 1 ?
1 0 1 0 ?
1 0 1 1 ?
1 1 0 0 ?
1 1 0 1 ?
1 1 1 0 ?
1 1 1 1 ?

173
12 Porile logice i algebra Booleean
n toate cele trei cazuri au fost prezentate toate combinaiile posibile
ale nivelurilor logice de la intrare. Numrul acestora este funcie de numrul
de intrri N, i el este 2N. Valoarea variabilei de ieire a fost marcat cu "?"
n toate coloanele x deoarece ea depinde de tipul circuitului logic folosit.
Ordinea niruirii combinaiilor posibile la intrare este cea a numrrii
binare. Procednd n acest mod se evit omiterea vreunei combinaii
posibile.
12.2 Descrierea algebric a circuitelor logice
12.2.1 Analiza unui circuit logic
Orice circuit, indiferent ct de complex ar fi el, poate fi descris folosind
operaiile Booleene definite anterior, deoarece porile logice SAU i I,
precum i circuitul INVERSOR, stau la baza construirii sistemelor digitale.
De exemplu, s considerm circuitul din fig.12.1.
A .
AB
B AB+C x=AB+C

C
Fig.12.1
Acest circuit are trei intrri A, B i C i o singur ieire x. Expresia
lui x poate fi gsit foarte uor folosind expresiile Booleene pentru fiecare
poart n parte, pornind de la intrare ctre ieire. Astfel, expresia pentru
ieirea porii I este A.B. Ieirea porii I este conectat la una din intrrile
porii SAU, la cealalt fiind aplicat variabila C. Expresia variabilei de
ieire a porii SAU este A.B + C. Deoarece ieirea porii SAU este conectat
la intrarea inversorului, variabila de ieire va avea expresia: x = AB + C .
n procesul de evaluare a nivelului logic al ieirii unui circuit alctuit
din mai multe pori logice se aplic urmtoarele reguli fundamentale:
prima dat se efectueaz operaia de inversare a tuturor
termenilor izolai care reclam aceast operaie
apoi se efectueaz toate operaiile din paranteze
ntotdeauna operaia I se va efectua naintea operaiei SAU.
Operaia I este de rang superior operaiei SAU.
operaiile din paranteze se efectueaz naintea celorlalte
dac o expresie este negat, mai nti se efectueaz operaiile din
expresie i apoi rezultatul final se inverseaz

174
S.D.Anghel - Bazele electronicii analogice i digitale
[ ]
Exemplu: s se evalueze expresia x = D + ( A + B ) C E dac A = B
= 0 i C = D = E = 1.
[ ]
x = 1 + (0 + 0 ) 1 1
= [1 + 0 1] 1
= [1 + 0] 1
= [1 + 1] 1
= 1 1
=1
Evaluarea nivelului logic al ieirii unui circuit cu o configuraie
cunoscut poate fi fcut i fr gsirea prealabil a expresiei Booleene a
variabilei de ieire. Aceast metod poate fi folosit n timpul proiectrii i
testrii unui sistem logic. n fig.12.2 este prezentat un exemplu n acest sens,
presupunnd c cele trei variabile de intrarea au valorile logice A = 0, B = 1,
C = 1 i D = 1.
A=0
1
1 1
B=1 x=0
1
C=1 0
0
1
D=1 1

Fig.12.2
12.2.2 Sinteza unui circuit pe baza expresiei Booleene
Dac modul de operare a unui circuit este definit printr-o expresie
Booleean atunci, pornind de la ea, se poate construi direct schema logic a
circuitului. De exemplu, dac avem nevoie de un circuit definit de expresia x
= A.B.C, imediat vom recunoate c este vorba despre o poart logic I cu
trei intrri. Dac avem nevoie de un circuit definit de expresia x = A + B
vom folosi o poart SAU cu dou intrri i un inversor conectat la una dintre
ele. Aceleai raionamente simple pot fi aplicate i n cazul unor circuite
descrise de expresii Booleene mai complicate.
S presupunem c dorim s construim un circuit a crui ieire este
descris de funcia Boolean x = AC + BC + ABC . Aceast expresie
conine trei termeni ( AC, BC si ABC ) legai ntre ei prin operaia SAU.
Avem deci nevoie de o poart SAU cu trei intrri. Dar cum fiecare termen
de la intrrile ei este de fapt cte un produs de doi sau trei termeni, pentru
realizarea acestor produse mai avem nevoie de dou pori I cu dou intrri
i o poart i cu trei intrri. Ieirile celor trei pori I vor constitui intrri
175
12 Porile logice i algebra Booleean
pentru poarta SAU. Observm ns c n dou dintre cele trei produse avem
i cte o variabil inversat. Pentru realizarea operaiilor de inversare mai
sunt necesare nc dou inversoare. Pe baza acestor considerente poate fi
construit schema circuitului care va realiza funcia logic preconizat
(fig.12.3).
A AC

B BC x

ABC
C

Fig.12.3
Dei aceast metod de proiectare poate fi folosit oricnd, n cazul
expresiilor mai complicate ea devine greoaie i obositoare. Exist i alte
metode mai inteligente i mai eficiente pentru proiectarea circuitelor logice
pornind de la funcia logic pe care trebuie s o realizeze. Toate aceste
metode stau la baza conceperii programelor soft specializate de proiectare
electronic, programe crora le este suficient s le dm funcia logic iar ele
ne vor da imediat cel mai simplu circuit logic care o realizeaz.

12.3 Teoremele algebrei Booleene


Am vzut cum poate fi folosit algebra Boolean pentru analiza i sinteza
unui circuit logic i scrierea sub form matematic a modului su de
operare. Studierea teoremelor (regulilor) algebrei Booleene este de un real
ajutor n aciunea de simplificare a expresiilor i circuitelor logice.

12.3.1 Teoreme pentru porile cu o variabil de intrare


Aceste teoreme se refer la situaia n care la intrarea unei pori logice doar
una dintre mrimile de intrare este variabil, iar cealalt (dac ea exist)
este constant. Pentru a demonstra aceste teoreme este suficient s ne
gndim la funciile logice i tabelele lor de adevr.
Teorema 1. Dac oricare dintre variabilele unei intrri ale unei
pori I este 0 rezultatul va fi 0.
x0 = 0
Teorema 2. Dac o variabil este multiplicat logic cu 1, rezultatul
va avea valoarea variabilei.
x 1 = x

176
S.D.Anghel - Bazele electronicii analogice i digitale
Teorema 3. O variabil multiplicat cu ea nsi are ca rezultat
valoarea variabilei.
xx = x
Aceast teorem poate fi demonstrat simplu dnd lui x valorile logice 0 sau
1 (0.0 = 0 i 1.1 = 1).
Teorema 4. Rezultatul multiplicrii unei variabile cu inversul ei este
0.
xx = 0
Teorema 5. Rezultatul adunrii unei variabile cu 0 va fi egal cu
valoarea variabilei.
x+ 0 = x
Teorema 6. Rezultatul adunrii unei variabile cu 1 va fi egal cu 1.
x +1 = 1
Teorema 7. Rezultatul adunrii unei variabile cu ea nsi va fi egal
cu valoarea variabilei.
x+x= x
Teorema 8. Rezultatul adunrii unei variabile cu inversul ei este 1.
x + x =1
12.3.2 Teoreme pentru porile cu mai multe variabile de intrare.
Teorema 9 x+ y = y+x
Teorema 10 x y = yx
Teorema 11 x + ( y + z) = ( x + y) + z = x + y + z
Teorema 12 x ( y z) = ( x y) z = x y z
Teorema 13a x ( y + z) = x y + x z
Teorema 13b ( w + x) ( y + z ) = w y + w z + x y + x z
Teorema 14 x+ x y = x

Teorema 15 x + xy = x + y
Teoremele de la 9 la 13 sunt n fapt teoremele comutativitii,
asociativitii i distributivitii, similare cu cele din algebra clasic.
Teoremele 14 i 15 nu au corespondent n algebra clasic. Teorema 14 poate
fi demonstrat uor cu ajutorul teoremelor 2, 13a i 6:
x + x.y = x.1 + x.y = x(1 + y) = x.1 = x

177
12 Porile logice i algebra Booleean
Teorema 15 poate fi demonstrat nlocuind n ea toate combinaiile
posibile pentru variabilele x i y.
Iat n continuare dou exemple de aplicare a acestor teoreme care
nu fac altceva dect s demonstreze utilitatea lor:
y = A BD + A B D = A B(D + D ) = A B (teoremele 13a i 8)

y = ( A + B)(A + B) = AA + AB + AB + BB=( A + A)B+B=B+B= B


(teoremele 13b, 4, 8 i 7)

12.3.3 Teoremele lui DeMorgan


Aceste teoreme sunt dintre cele mai importante ale algebrei Booleene, fiind
extrem de utile pentru simplificarea expresiilor n care apar sume inversate
sau produse inversate. Iat cele dou teoreme ale lui DeMorgan:

Teorema 16 (x + y) = x y

Teorema 17 x y = x + y
Teorema 16 spune c atunci cnd o sum SAU de dou variabile este
inversat, ea se poate calcula inversnd mai nti variabilele i fcnd apoi
produsul logic al lor. Teorema 17 spune c atunci cnd un produs I de dou
variabile este inversat, el se poate calcula inversnd mai nti variabilele i
fcnd apoi suma logic a lor. Fiecare dintre teoremele lui DeMorgan poate
fi demonstrat considernd toate combinaiile posibile dintre x i y.
Dei teoremele lui DeMorgan au fost enunate pentru variabile
simple, x i y, ele sunt valabile i n situaiile n care x sau y sunt expresii
care conin mai mult de o variabil. De exemplu, s aplicm aceste teoreme
la simplificarea expresiei ( AB + C ) :

( AB + C )= AB C
AB C = ( A + B ) C
( A + B ) C = ( A + B) C
( A + B) C = AC + BC
S observm c n rezultatul final semnul de inversare este asociat
numai unor variabile simple.

178
S.D.Anghel - Bazele electronicii analogice i digitale

12.3.4 Implicaii ale teoremelor lui DeMorgan


Teoremele lui DeMorgan au implicaii interesante din punctul de vedere al
circuitelor logice. S considerm mai nti teorema 16:
( x + y) = x y
Termenul din stnga ecuaiei poate fi privit ca ieirea unei pori
SAU-NU ale crei intrri sunt x i y. Pe de alt parte, termenul din dreapta
ecuaiei este rezultatul inversrii mai nti a variabilelor x i y i apoi al
aplicrii lor la intrrile unei pori I. Aceste dou reprezentri echivalente
sunt ilustrate n fig.12.4a.
x x
x x+y x x.y x .y
y y
y y
a b
Fig12.4
Se poate observa c o poart I precedat la intrrile sale de dou
inversoare este echivalent cu o poart SAU-NU. Atunci cnd o poart I cu
intrrile inversate este folosit pentru realizarea funciei SAU-NU se poate
folosi, pentru simplitate, simbolul din fig.12.4b n care la fiecare intrare este
marcat cerculeul simboliznd operaiunea de inversare.

S considerm acum Teorema 17:

xy = x + y
Termenul din partea stng a ecuaiei poate fi implementat cu o
poart I-NU cu dou intrri, x i y. Termenul din partea dreapt poate fi
implementat inversnd mai nti intrrile x i y i aplicndu-le apoi la
intrrile unei pori SAU. Aceste dou reprezentri echivalente sunt ilustrate
n fig.12.5a.

x x
x x.y x x+y x+y
y y
y y
a b
Fig.12.5

179
12 Porile logice i algebra Booleean

Poarta SAU avnd cte un inversor la fiecare intrare este echivalent


cu o poart I-NU. Atunci cnd o poart SAU cu ambele intrri inversate
este folosit pentru realizarea funciei I-NU se poate folosi simbolul
simplificat prezentat n fig.11.14b. i aici cerculeele de la intrri au
semnificaia inversrii valorii logice.

12.4 Universalitatea porilor I-NU i SAU-NU


Toate expresiile Booleene sunt alctuite din diverse combinaii ale
operaiilor de baz I, SAU, NU. Prin urmare, orice expresie poate fi
implementat folosind pori I, pori SAU i inversoare. Totodat este
posibil implementarea unei expresii folosind exclusiv pori I-NU.
Aceasta, deoarece folosind combinaii potrivite de pori I-NU pot fi
realizate toate celelalte funcii logice de baz: I, SAU, NU. Acest lucru
este demonstrat n fig.12.6.

x xx=x+x=x a

x xy=xy b
xy
y

x x
xy=x+y c

y y

Fig.12.6
Se poate observa c dac se conecteaz mpreun cele dou intrri
ale unei pori I-NU se obine un inversor (fig.12.6a). Inversorul astfel
obinut poate fi folosit n combinaie cu alte pori I-NU pentru realizarea
produsului logic (fig.12.6b) i a adunrii logice (fig.12.6c).
n mod similar se poate arta c porile SAU-NU pot fi combinate n
mod corespunztor pentru implementarea oricrei funcii Booleene
elementare (fig.12.7a, b i c). i asta n primul rnd pentru c o poart SAU-
NU cu intrrile conectate mpreun se transform ntr-un inversor. Deoarece
orice operaie Boolean poate fi implementat folosind numai pori I-NU,

180
S.D.Anghel - Bazele electronicii analogice i digitale
orice circuit logic poate fi realizat numai cu pori I-NU. Aceeai concluzie
este valabil i pentru porile SAU-NU.

x x+x=x.x=x a

x x+y=x+y b
x+y
y

x x
x+y=xy c

y y

Fig.12.7
Iat un exemplu de punere n practic a acestor concluzii. S
presupunem c trebuie s proiectm un circuit care sa realizeze funcia
logic z = AB + CD folosind un numr minim de circuite integrate.
Menionm c o capsul de circuit integrat poate conine una, dou sau patru
pori logice de acelai fel.
Metoda direct de implementare a expresiei logice amintite necesit
folosirea a dou pori I care s realizeze cele dou produse logice, urmate
de o poart SAU care s realizeze adunarea logic. Porile se conecteaz ca
n fig.12.8a, fiind necesare dou circuite integrate: unul care conine patru
pori I cu dou intrri (CI 1) i unul care conine patru pori SAU cu dou
intrri (CI 2). Deci, din totalul de opt pori, cinci rmn neutilizate.
O alt modalitate de implementare poate fi aplicat prin nlocuirea
porilor I i SAU din schema anterioar cu combinaii de pori I-NU care
s realizeze aceleai funcii, aa cum este artat n fig.12.8b. La prima
vedere, pentru realizarea concret a acestei scheme ar fi necesare apte pori
logice, deci dou circuite integrate. Dar, observnd succesiunea de cte dou
inversoare pe fiecare intrare a porii I-NU cu numrul 7 i avnd n vedere
efectul lor complementar, ele pot fi nlturate din schem fr a influena
funcionarea ei. Va rezulta schema din fig.12.8c, care necesit doar trei pori
I-NU, adic un singur circuit integrat (CI 3).

181
12 Porile logice i algebra Booleean

1/2 CI 1 1/4 CI 2
A

B AB+CD

B a

SI SAU
A
1 3 5
B
AB+CD
7
A
2 4 6
B
SI b

A
1
B
AB+CD
7
A
2
B CI 3 c

Fig.12.8

12.5 Reprezentri alternative ale porilor logice


Pe lng simbolurile standard ale porilor logice elementare prezentate n
paragrafele anterioare, n unele scheme vom gsi i simboluri care fac parte
dintr-un set de simboluri alternative pentru porile logice standard. nainte
de a discuta utilitatea folosirii lor, le vom prezenta artnd i echivalena lor
cu simbolurile standard (fig.12.9).
n partea stng a figurii sunt prezentate simbolurile standard pentru
fiecare poart logic iar n partea dreapt simbolurile alternative.
Echivalena simbolurilor poate fi demonstrat folosindu-ne de implicaiile
teoremelor lui DeMorgan exemplificate n fig.12.4 i 12.5.
Simbolul alternativ pentru fiecare poart se poate obine din simbolul
standard n modul urmtor:

182
S.D.Anghel - Bazele electronicii analogice i digitale
se schimb simbolul porii I cu cel al porii SAU iar al porii
SAU cu cel al porii I. Simbolul inversorului rmne
neschimbat.
se inverseaz fiecare intrare i ieirea simbolului standard prin
adugarea sau tergerea cerculeului simboliznd negarea.

SI

SAU

NU

SI-NU

SAU-NU

Fig.12.9
Analiznd echivalena dintre simbolurile alternative i simbolurile
standard trebuie subliniate cteva aspecte:
pentru fiecare tip de poart, att simbolurile standard ct i cele
alternative reprezint acelai circuit fizic, fr nici o diferen.
simbolurile standard I i SAU nu au nici un cercule, n timp
simbolurile lor alternative au cerculee la toate intrrile i la
ieire.
porile I-NU i SAU-NU fiind pori inversoare, att simbolurile
lor standard ct i cele alternative au cerculee fie la ieire, fie la
intrri.
echivalena este valabil indiferent de numrul intrrilor.

ntrebarea fireasc pe care o vei pune este: pare interesant, dar de ce


s ne mai complicm cu simbolurile alternative din moment ce att
simbolurile standard ct i simbolurile corespondente alternative presupun
realizarea acelorai funcii logice?. Rspunsul este urmtorul: folosirea i a

183
12 Porile logice i algebra Booleean
simbolurilor alternative poate face mai uoar nelegerea modului de
operare a circuitelor logice mai simple i face posibil descrierea funciei pe
care o realizeaz cu ajutorul unor propoziii simple. Vom ncerca s v
convingem de acest adevr pornind chiar de la porile elementare.
Pentru nceput vom atribui simbolurilor porilor SAU i NU cte un
cuvnt semnificativ, aa dup cum se vede n fig.12.10.

Fig.12.10
Apoi facem urmtoarea convenie: dac o linie de semnal nu are
cercule considerm ca ea se afl la nivel logic 1 iar dac are cercule se afl
la nivel logic 0.
Acceptnd aceste dou convenii, s ncercm s descriem prin
propoziii simple funcionarea porilor elementare reprezentate prin
simbolurile standard i prin cele alternative.
n fig.12.11 am aplicat conveniile pentru o poart I reprezentat
prin cele dou simboluri posibile. Apoi am scris cte o propoziie, pornind
de la ieire ctre intrri, folosind drept cuvnt de legtur cuvntul pe care l-
am asociat simbolului de baz: pentru I TOATE i pentru SAU
ORICARE.
1 0
1 0
SI
1 0

iesirea este la nivel logic 1 numai daca iesirea este la nivel logic 0 daca
TOATE intrarile sunt la nivel logic 1 ORICARE intrare este la nivel logic 0

Fig.12.11
Cu acelai algoritm putem descrie n propoziii funcionarea i a
celorlalte pori elementare (fig.12.12).
Algoritmul descris mai sus poate fi extins asupra analizrii
circuitelor cu mai multe pori. S ncercm acest lucru pe circuitul din
fig.12.13. Descrierea ncepe de la ieire spre intrare. S ncepem cu poarta 3:
ieirea porii 3 este la nivel logic 1 numai dac ambele intrri sunt la nivel
logic 1. Mergnd spre stnga vom constata c numai una dintre intrrile
porii 3 este la nivel logic 1. Cea de a doua este pe o linie de semnal cu
cercule la ieirea porii 1, ceea ce implic nivelul logic 0. Aceasta nseamn
c nu ne mai putem continua logica. Ar fi fost mai bine ca ieirea porii 1 s

184
S.D.Anghel - Bazele electronicii analogice i digitale
fie fr cercule, la fel ca i intrarea porii 3 la care este conectat. Putem
soluiona aceast cerin dac nlocuim poarta 1 cu simbolul alternativ,
rezultnd schema din fig.12.14.

0
1 0
1 SAU 0
1

iesirea este la nivel logic 1 daca iesirea este la nivel logic 0 numai daca
ORICARE intrare este la nivel logic 1 TOATE intrarile sunt la nivel logic 0

1 0
0 1
SI-NU
1 0

iesirea este la nivel logic 0 numai daca iesirea este la nivel logic 1 daca
TOATE intrarile sunt la nivel logic 1 ORICARE intrare este la nivel logic 0

1 0
0 1
SAU-NU
1 0

iesirea este la nivel logic 0 daca iesirea este la nivel logic 1 numai daca
ORICARE intrare este la nivel logic 1 TOATE intrarile sunt la nivel logic 0

Fig.12.12

A
A 1
1 B
B z
z 3
3
C C
2 2
D D

Fig.12.13 Fig.12.14

Acum putem relua raionamentul:


ieirea porii 3 este la nivel logic 1 numai dac toate intrrile sale
sunt la nivel logic1 (i constatm c ieirile la care sunt conectate
cele dou intrri sunt la nivel logic 1).

185
12 Porile logice i algebra Booleean
ieirea porii 1 este la nivel logic 1 numai dac ambele intrri ale
sale sunt la nivel logic 0.
ieirea porii 2 este la nivel logic 1 numai dac ambele intrri ale
sale sunt la nivel logic 1.
Acum, totul fiind n ordine, putem sintetiza funcionarea ntregului
circuit:
ieirea este la nivel logic 1 numai dac intrrile A i B sunt simultan
la nivel logic 0 n timp ce intrrile C i D sunt simultan la nivel logic
1.
Am vzut c dificultile de formulare a propoziiilor noastre s-au
datorat faptului c o ieire cu cercule (inversat) era conectat la o intrare
fr cercule. Ele au disprut atunci cnd, prin folosirea unui simbol
alternativ, am fcut ca ieirea i intrarea s fie de acelai fel (n cazul nostru
fr cercule). De aceea se poate face urmtoarea recomandare:
La interconectarea porilor logice se vor folosi (atunci cnd este
posibil) acele simboluri care s asigure conectarea ieirilor cu
cerculee la intrri cu cerculee i a ieirilor fr cerculee la intrri
fr cerculee.

186

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