Sie sind auf Seite 1von 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 B A x 0 0 ? 0 1 ? 1 0 ? 1 1 ? trei intrri B A 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 patru intrri C B A 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

C 0 0 0 0 1 1 1 1

x ? ? ? ? ? ? ? ?

D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

x ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

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 B C AB AB+C x=AB+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 + 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 B=1 C=1 D=1 1 1 1 0 1 1

[ ] =[ 1 + 0 1] 1 =[ 1 + 0] 1

1 0

x=0

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

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

12

BC

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 Teorema 10 Teorema 11 Teorema 12 Teorema 13a Teorema 13b Teorema 14 Teorema 15
x+ y = y+x

x y = yx

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

( w + x) ( y + z ) = w y + w z + x y + x z
x+ x y = x

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

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:

12

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 Teorema 17

(x + y) = x y
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 y x+y x y a x y x.y x y b x .y

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 y x.y x y a x y x+y x y b x+y

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 y x

xy

xy=xy

x xy=x+y c

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 SAUNU 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 y x

x+y

x+y=x+y

x x+y=xy c

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 A B A B SI 1 3 5 7 A B 2 SI A B A B 2 CI 3 c 1 7 AB+CD 4 6 AB+CD AB+CD 1/4 CI 2

a
SAU

A B

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

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.

12

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 lam asociat simbolului de baz: pentru I TOATE i pentru SAU ORICARE.
1 1 1 0

SI

0
iesirea este la nivel logic 0 daca ORICARE intrare este la nivel logic 0

iesirea este la nivel logic 1 numai daca TOATE intrarile sunt la nivel logic 1

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.
1 1 0 1 0

SAU

iesirea este la nivel logic 1 daca ORICARE intrare este la nivel logic 1

iesirea este la nivel logic 0 numai daca TOATE intrarile sunt la nivel logic 0

1 1

0 0

SI-NU

1 0

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

iesirea este la nivel logic 1 daca ORICARE intrare este la nivel logic 0

1 0 1

SAU-NU

1 0

iesirea este la nivel logic 0 daca ORICARE intrare este la nivel logic 1

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

Fig.12.12
A B C D

A
1 3 2 z

B C D

1 3 2 z

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