Sunteți pe pagina 1din 25

Table of Contents

CAPITOLUL 1 ALGEBRA BOOLEANĂ......................................................................2

1.1 Funcția logică........................................................................................................................2


1.1.1 Funcţii de zero variabile........................................................................................................2
1.1.2 Funcții de o variabilă............................................................................................................3
1.1.3 Funcții de două variabile.......................................................................................................4

1.2 Formalizarea algebrei logice.....................................................................................................7


1.2.1 Principiile algebrei logice.....................................................................................................9
1.2.2 Forme canonice...................................................................................................................12
1.2.3 Minimizarea funcţiilor logice..............................................................................................16
Capitolul 1 ALGEBRA BOOLEANĂ

1.1Funcția logică 1
Definiţia 1.1 Dacă o variabilă v ia valori în mulțimea {0,1} atunci o vom numi
variabilă binară.
Definiţia 1.2 Vom numi configurație binară de n biți un element al mulțimii
{0,1}n .
Definiţia 1.3 O funcție logică, f, cu n intrări şi m ieşiri, este
f : {0,1}n ---> {0,1}m, cu domeniul de definiție în X ={0,1} n şi cu domeniul de
valori în Y⊂ {0,1}m .
Vom lua în consideraţie numai funcțiile logice cu o ieşire, de forma: f :{0,1} n —>
{0,1}
Vom studia, în consecință pe rând, funcțiile logice cu zero intrări, pe cele cu o
intrare, pe cele cu două intrări şi ne vom opri înainte de a incepe studiul celor cu trei
intrări. Creşterea exponenţială a numărului de funcții logice va face neinteresantă
continuarea enumerării lor pentru n > 2.

1.1.1 Funcţii de zero variabile

Funcțiile de zero variabile sunt valorile 0 şi 1. Domeniul lor de definiţie este


mulțimea vidă, adică {0,1}. Există numai două funcții logice de zero variabile, f 0, cea
care generează zero logic:
f0 = 0
şi cea care generează unu logic:
f0 = 1.

1
(Stefan, Circuite si sisteme digitale, 2000)
Aceste funcții sunt folosite pentru inițializarea unor valori fixe într-un sistem ce
trebuie să funcționeze pornind dintr-o stare iniţială bine precizată.

1.1.2 Funcții de o variabilă 1

Funcțiile de o variabilă, f1, vor fi notate cu fi(x). Numărul lor este dat de numărul
modurilor distincte de comportament ce pot fi definite la ieşirea unui circuit logic cu o
singură intrare. Pentru cele două valori distincte ale intrării pot fi evidenţiate 4
comportamente distincte.
Definiţia 1.4 Tabelul de adevăr este un tabel care în coloana din extrema stăngă,
coloana de intrare, listează toate elementele valorilor posibile de intrare, X = {0,1} n, iar
în următoarele coloane, coloanele de ieşire, sunt listate valorile, din
Y⊂{0,1},corespunzătoare ieşirilor .

Tabelul de adevar se prezintă mai jos

x f0 f1 f2 f3
0 0 1 0 1
1 0 0 1 1

Funcția NOT
Funcţia f1(x) = x generează pe ieşire complementul faţă de 1 al variabilei de
intrare. Numim această functie NOT. Ea reprezintă funcția de negaţie, funcţia logică cea
mai importantă a mulțimii funcţiilor cu o intrare. Negația este interpretarea logică dată
acestei funcţii . O altă interpretare pentru această funcție, aritmetică de data aceasta, este
cea de incrementor modulo 2. Într-adevăr, incrementarea modulo 2 a numărului 0 dă
numărul 1 (0 + 1 = 1), iar incrementarea modulo 2 a lui 1, dă numărul 0 (1 + 1 = 0).
Funcţia de driver

1
(Stefan, Circuite si sisteme digitale, 2000)
Funcţia f2(x) = x lasă variabila de intrare nemodificată. Pare o funcţie inutilă, dar
este folosită pentru a specifica circuitele de tip driver. În aplicaţiile concrete unele
semnale trebuiesc aplicate la intrarea unui număr mare de circuite. Acest fapt "consumă
energia" semnalului. Pentru a-1 `întări" se folosesc circuite speciale care nu modifică
valoarea semnalului, regenerăndu-l numai pentru a putea fi aplicat mai multor intrări.
Funcția tautologie 1
Funcţia f3(x) = 1 este independentă de valoarea variabilei de intrare generând
valoarea 1. Vom numi această funcţie tautologie. O vom regăsi în toate seturile f i de
funcţii. O tautologie este o funcție care ia valoarea 1 pentru orice combinație a valorilor
variabilelor de intrare. Utilitatea acestei funcţii este mai mult teoretică.
Definiţia 1.5 O funcție logică este satisfiabilă dacă există cel puțin o combinație a
valorilor de pe intrări pentru care funcția ia valoarea 1.
Dacă privim tabelul de mai sus , funcția f 0 este insatisfiabilă. Problema
satisfiabilității unei funcții este fundamentală pentru circuitele digitale. Un program
pentru verificarea acestei proprietăți trebuie să decidă dacă pentru valoarea i este diferită
sau egală cu 0. Din păcate, timpul de rulare al unui astfel de program creşte exponential
cu numtărul de variabile, n, al unei funcţii f n. O funcţie este satisfiabilă dacă inversul ei
nu este o tautologie. Pentru aceasta, în cazul cel mai defavorabil, trebuie calculată funcţia
pentru toate cele 2n combinații de n biți ale domeniului de definiţie. Deci timpul de calcul
este în O(2n). Dacă identificăm o configuraţie de n biți pentru care functia este
satisfiabilă, atunci verificarea se va putea face intr-un timp în O(n). Această observaţie
nu are nici o valoare teoretică, dar este de o imensă utilitate în practica inginerească.

1.1.3 Funcții de două variabile

Funcţiile de două variabile, f i(x,y) pot fi redate într-un tabel în care apar cele 16
moduri în care ieşirea poate reacţiona la cele patru combinaţii aplicate pe intrările x şi y.

1
(Stefan, Circuite si sisteme digitale, 2000)
Tab. 1

x f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15


y
0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1
1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0
1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
1

În tabelul de adevăr Tab. 1 al tuturor funcţiilor de două variabile regăsim


funcţiile deja discutate şi multe altele. Între acestea, unele vor fi mai interesante decât
altele, în sensul că vor reprezenta funcții ale unor circuite fundamentale pentru
construcția circuitelor digitale. Din acest motiv nu vom analiza toate ccle 16 funcţii de
două variabile, dar vom discuta pe cele considerate mai importante.
Se recunosc în funcțiile f3(x, y) = x şi f13(x, y) = y funcția NOT. Prima nu depinde
de variabila y, iar cea de a doua nu depinde de varibila x. Funcția driver este prezentă
prin f5(x, y) = y şi f12(x, y) = x , funcțiile zero, fo(x, y) = 0, şi tautologie, f15(x, y) =
1.
Funcţiile AND şi NAND 1
Observăm că f8 ia valoarea logică 1 numai atunci când atât x cât şi y iau valoarea
logică 1. Numim această funcție AND (de la englezescul and). Notăm funcția AND după
cum urmează:
f8(x,y)= xy.
Funcția AND mai este numită şi produs logic.

1
(Stefan, Circuite si sisteme digitale, 2000)
Funcția cu un comportament invers va fi NOT-AND, pe scurt NAND. Identificăm pe
f7(x, y) ca fiind această funcție. Ieşirea acestei funcții este 0 logic numai atunci când
ambele intrări sunt pe 1 logic. Notăm funcția NAND prin:
f7(x, y)= xy
Funcția AND reprezintă o poartă, în sensul că una din variabile permite "trecerea"
prin circuit a celeilalte. Să presupunem că x "deschide" poarta pentru y. Atunci, ieşirea
circuitului este 0 pentru x = 0, în sensul că poarta este "închisă" şi nimic nu "trece", iar
pentru x = 1 poarta este "deschisă", deoarece ieşirea ia valoarea lui y, în sensul că y trece
prin poartă. Acest comportament se poate observa prin simpla inspecţie a valorilor din
coloana f8 în raport cu valorile pe care le iau variabilele de intrare x şi y. Poarta AND se
poate folosi ori de câte ori: va trebui să stabilim că două semnale sunt egale cu 1 (sunt
ambele active), va trebui să permitem trecerea unui semnal în funcție de valoarea unui alt
semnal, când va trebui să concepem un inmulţitor.
Funcţiile OR şi NOR 1
Dacă ne uităm pe coloana notată cu f 14, constatăm că această funcție ia valoarea 1
dacă cel puțin una din valorile de intrare x și y ia valoarea 1. Această funcție se numește
funcția SAU sau OR , numită și sumă logică .
f14(x,y)=x+y
Inversa acestei funcţii este NOT OR, prescurtat prin NOR. Funcţia NOR valoarea
1 numai atunci când ambele variabile de intrare iau valoarea 0. Vom nota funcţia NOR
prin
f14(x,y)= x + y
Şi circuitul OR poate fi interpretat ca poartă. Închiderea porții se va manifesta
printr-un 1 pe ieşire. Dacă x = 1, atunci ieşirea nu mai depinde de y şi este egală cu 1.
Inspectarea tabelului confirmă imediat propoziţia anterioară. Semnalul x se postează în
poartă şi nu mai lasă să treacă semnalul y. Într-un fel, putem spune că x "astupă poarta".
Funcţiile XOR şi NXOR
Dacă privim coloanea notată cu f6 constatăm că această funcţie este un fel de OR
care nu permite trecerea la ieşire a valorilor de 1 aplicate ambelor intrări. Circuitul
asociat acestei funcţii este un fel de OR care exclude activarea ieşirii în 1 atunci când

1
(Stefan, Circuite si sisteme digitale, 2000)
ambele intrări sunt în 1. Datorită acestui comportament "exclusivist", circutul a fost
numit sau¬exdusiv. Vom folosi abrevierea XOR, de la englezescul eXclusive OR.
Notaţia consacrată pentru această funcţie este:
f6(x,y) = x⊕y = x y+ x y
Funcţia negată asociată este NXOR (de la NOT XOR), pe care o găsim, în acelaşi
tabel, sub forma:
f9(x,y) = x ⊕ y = xy+ x y
Interpretări ale funcției XOR
- XOR este sumator modulo 2
- XOR este un inversor comandat, în sensul că una dintre intrări, fie aceasta x,
comandă modul în care este transferată la ieşire valoarea de pe cea de a doua intrare: x=0
implica f6=1 și x=1 implica f6= y
- NXOR-ul este un circuit de coincidența, iar X0R¬ul este un circuit de
anticoincidență.
Pentru domeniul circuitelor digitale ,functiile NOT, AND, NAND, OR, NOR,
XOR, și NXOR sunt de primă importanță .
Funcţii de n variabile
Pasul următor ar trebui să presupună studiul funcţiilor de trei variabile şi, în
consecinţă, al circuitelor cu trei intrări. Pentru aceasta, primul pas ar consta în definirea
tabelului care să conţină toate funcţiile de trei variabile. Tabelul ar trebui să aibă 256 de
coloane în partea stângă, cea în care sunt definite toate functiile de trei variabile.
Deoarece pentru trei variabile (intrări) există 8 configuraţii binare distincte pentru care
trebuie definită funcţia, vom folosi pentru aceasta un cuvânt de 8 biți, iar numărul total
de cuvinte de 8 biţi este 256.
Teorema Numărul, N, al funcţiilor logice cu n variabile binare de intrare, este:
N = 2m , unde m=2n

Nu mai putea continua cu enumerarea funcţiilor pentru 3, 4, sau mai multe variabile.
Dacă cele cu 3 variabile sunt 256, o cifră în limita rezonabilului, cele cu 4 variabile ating
cifra de
64 K f unctii = 65536 funcții .
1.2 Formalizarea algebrei logice 1

Încă din cele mai vechi timpuri, Aristotel din Stagira (384-322), într-una din cele
mai importante lucrări pe care le-a scris, Organon, pune în evidenţă o serie de reguli
simple de exprimare prin limbaj. Pentru aceasta, filosoful grec clasifică propoziţiile în
două clase distincte: propoziţiile adevărate şi propoziţiile false. În acest mod, logica
exprimării corecte în limbaj natural este fundamentată riguros, la nivelul propoziţiilor ce
puteau fi, în ultimă instanţă, numai adevărate sau false.
Catalanul Raymundus Lullus (1234-1315),promovează ideea unei logici
calculatorii drept o artă mecanică de a deduce noi judecăţi pomind de la cele deja
acceptate.
Gottfried Wi1helm Leibniz (1646- 1716), în De arte combinatoria (1666), aspiră
către un calcul axiomatizat. Conexiunea numeric/logic, astfel prefigurată, ne apropie de
sinteza care face posibil calculul simbolic şi, mai simplu, posibilitatea de a interpreta
logic şi/sau numeric bitul.Logica matematică sau algebra logică, a fost intemeiată prin
lucrările lui George Boole. Acesta formalizează suplimentar logica aristotelică sub forma
unei algebre ce-i poartă numele, algebra Boole sau algebra booleană, numită şi algebra
logică. Lucrarea, publicată în 1854, studiază adevărul sau falsitatea unor propoziţii
complexe cu ajutorul unei algebre speciale ce manipulează numai valorile mulţimii
{0,1}. Augustus De Morgan (1806-1871) a impus atenţiei noastre legile ce-i poartă
numele, redescoperindu-le, după opinia unor cercetători.Teza de deoctorat realizată de
Claude Shannon în 1938 la Massachusetts Institute of Technology demonstrează că
algebra booleană poate fi materializată în circuite electrice de comutaţie cu două stări:

1
(Stefan, Circuite si sisteme digitale, 2000, pp. 90 - 91)
deschis şi închis, prin care un semnal electric poate lua două valori trece sau nu trece
Contribuţii remarcabile a avut si școala românească de matematica prin acad Grigore
Moisi în această direcţie a avut şi şcoala românească de matematica prin acad. Moisil şi
colaboratorii săi.

Exista probleme principale pe care incearcă să le rezolve o teorie a funcţiilor


logice.

Problema posibilltăţii deductive are in vedere premizele şi concluziile unei


expresii logicc. Este importantă facilitatea care să ne permită transformarea unei expresii
logice in alte expresii logice echivalente. Realizarea concretă a unui circuit asociat unei
expresii va fi eficientă numai pentru anumite forme.
Problema echivalenţei se referă la posibilitatea de a decide dacă două funcții
logice sunt echivalente, in sensul că, pentru accleaşi configuraţii de intrare iau aceleaşi
valori pe ieşire.
Problema minimizării se bazcază pe rezolvarea celor două anterioare. Fiind dată o
funcţie logică trebuie găsită o formă echivalentă , prin deducție,astfel încât să conțină un
numar minim de simboluri. Unei expresii logice minimizate ii corespunde, de regulă,o
implementare minimală, dar numai de regulă, pentru există situații în care datorită unor
restricții tehnologice minimul algebric nu corespunde cu cel fizic.
Problema deciziei se referă la decizia asupra caracterului tautologic al unei funcții
logice sau asupra realizabilității acesteia. O tautologie este o funcție care ia valoarea
logică adevărat pentru orice configuraţie binară de intrare. O funcție este realizabilă dacă
ia valoarea logică de adevărat pentru cel puţin o configuraţie binară de intrare.1

1.2.1 Principiile algebrei logice 2

1
(Stefan, Circuite integrate digitale, 1993, pg. 36-37)
2
(Stefan, Circuite si sisteme digitale, 2000, pg. 107 - 115)
Se vor enumera principiile folosite pentru a construi și transforma funcții logice si
circuitele care le sunt asociate. Vom folosi pentru aceasta o serie de echivalențe logice
între expresii construite folosind conectivii logici: negație, și, sau, sau-
exclusiv .Circuitele NOT,AND, OR, XOR sunt curent folosite pentru construirea
circuitelor digitale . Pentru echivalență vom utiliza simbolul “=”, ca in exemplul ce
urmează
f(A , B) = g(B)

Principiul identității
Conform principiului identității putem scrie
A=A❑
Aparent acesr principiu este evident. Dpdv fizic nimic nu poate rămâne identic cu
sine deoarece evolutia temporala este specifică existenței. Acest principiu fundamental
se află impreună cu altele la originea limitelor funcționale in domeniul circuiteelor
digitale. Rigiditatea impusă de valorile logice goleşte de "viață" demersul inginerului
oricît de .inteligente. ar deveni maşinile sale. În realitate un astfel de principiu este absurd
dacă este dus pînă la consecințe ultime .

Principiul dublei negații


Principiul dublei negații este dat de urmatoarea echivalenţa
A =A❑
Dubla negare a unei variabile nu afectează valoarea acesteia. Şi acest principiu
este limitativ. Există o anumită formă de “reversibilitate” in aplicarea acestui principiu .
În realitate acesta poate fi consistent numai in situaţii limită. Maşinile digitale il
presupun, limitindu-se astfel fundamental.
Procesele fizice nu "uită" complet ce s-a petrecut cu ele. Acest proces natural este
ignorat în domeniul funcţiilor şi circuitelor logice, motiv pentru care funcţionarea
circuitelor digitale îşi apropie o nenaturaleţe firească. Este în firea logicii nefirescul
reversibilităţii absolute.
Asociativitatea
Acest principiu ne permite să definim funcţii de mai multe variabile binare şi, în
consecinţă, circuite logice cu mai multe intrări.
A + (B+C)=(A+B)+C=A+B+C
A(BC) = (AB)C = AB
A ⨁ ( B ⊕ C ) =( A ⊕ B ) ⊗ C= A ⊕ B⊕ C

Comutativitatea:
Acest principiu ne permite să conectăm intrările anumitor circuite in orice ordine
la variabilele asociate funcției
A+B=B+A
A•B=B•A
A ⊕ B=B ⊕ A
Distributivitatea
Cum se pot conecta funcții logice diferite pentru a realiza alte funcții logice ?
Răspunsul la această întrebare îl reprezintă Distributivitatea
A • (B+C) = A • B + A • C
A + B • C = (A+B) • (A+C)
A + B ⊕ C ≠ (A⨁ B) • (A⊕C)
Absorbţia
Atunci când o variabilă apare de prea multe ori într-o expresie există o şansă ca să-
şi anuleze, măcar parţial, propria acţiune. Alteori devine dorninantă înlăturând efectul
altor variabile. Aceste aspecte sunt luate în consideraţie de legile absorbţiei :
A + A̅ = 1
A +A = A
A • A̅ = 0
A•A=A
A+A•B=A
A • (A + B) = A
Prima dintre formele absorbţiei este celebră încă din antichitate. Principiul terţului exclus,
A + A̅ = 1, a fost folosit pentru a se statua un lucru aparent evident - valoareă unei variabile
poate fi numai adevărat sau fals, o a treia posibilitate este exclusă.
Acest principiu se adaugă celui al identităţii şi al dublei negaţii ca unul ce impune de-
limitări fundamentale ale abordării de tipul algebrei logice. Prin algebra logică structurile de
circuite moştenesc aceste delimitări care se vor transforma în limitări principiale ale maşinilor
digitale . UItimele două identifică în ce condiţii efectul unei variabile poate fi anihilat de prezenţa
"opresivă" a unei alte variabile. În ambele expresii, A + A • B = A şi A • (A + B) = A , când A
= 1 atunci "astupă", cu prezenţa sa, trecerea prin OR, iar când A = 0 inchide poarta AND,
blocând astfel întotdeauna accesul B-ului spre ieşire circuitului.

Semiabsorbţia
Semiabsorbţia are efecte mai puțin spectaculoase. Formele sale sunt următoarele două:
A+ A B=A+B
A( A + B) = AB
În prima formă variabila A se comportă cu îngăduinţă - atunci când nu poate ea impune
adevărul pe ieşire, îi lasă această posibilitate lui B. În cea de a doua formă: atunci când nu poate
impune falsul pe ieşire, îi lasă această posibilitate lui B.
Substituţia
Dacă o variabilă dintr-o identitate logică este inlocuită cu 0 sa 1 , deci substituită,
obținem urmatoarele relatii
A + 0 =A
A + 1 =A
A•0=0
A•1=A
A⊕0=A
A⊕1= A
Substituția contribuie la minimizarea circuitelor logice, porțile cu valori constante
pe intrare fiind eliminate din circuit, iar ieşirea lor conectată la valori constante sau la
variabile .
Excluderea
Efectul minimizant maxim se poate obţine atunci când este posibilă aplicarea
principiului excluderii. Indiferent ce valoare are, A-ul permite trecerea valorii lui B.
AB + A B = B
(A + B)( A + B) = B
Aplicarea principiului excluderii ne permitc climinarea din circuit a două AND-uri
şi un OR, sub prima sa formă, sau a două OR-uri şi un AND, în a doua formă.
Prima formă a principiului excluderii are în partea stângă a echivalenţei expresia
care descrie circuitul selector cu A drept bit de selecţie. Valorile selectate sunt egale
ambele cu B. Circuitul îl selectează "pe B sau pe B", deci are ieşirea constant egală cu
valoarea lui b.

Legile lui De Morgan


Poate fi înlocuită o poartă neinversoare AND sau OR cu una inversoare NAND
sau NOR? Ce soluţii eficiente avem la dispoziţie atunci când dispunem de variabile
negate? În ce condiţii exprimarea cu conectivul “sau” poate fi înlocuită cu exprimarea ce
foloseşte conectivul „şi” ?
Răspunsul este oferit de Legile lui De Morgan
A+B =(A’B’)’ AB=(A’+B’)’
sau
A’+B’=(AB)’ A’B’=(A+B)’ , unde prin apostrof specificăm negarea
Care ar putea fi utilitatea aplicării acestor legi? De regulă, adaptarea la restricţiile
tehnologice care pot fi mai mari sau mai mici pentru porţile AND sau pentru porţile OR ,
Pe Iângă minimizare, posibilitatea de reformulare a expresiilor logice este la fel de mare.

1.2.2 Forme canonice 1

Este posibil ca principiile enunţate anterior să permită analiza tuturor funcţiilor


logice ? Vom arăta în această secţiune că acest lucru este posibil, prezentând formele
generale sub care poate fi reprezentată orice funcţie logică.
Extragerea funcţiei logice din tabelul de adevăr
Pornim de la observaţia că orice funcţie logică poate fi reprezentată sub forma
unui tabel de adevăr, care defineşte care sunt configuraţiile binare de intrare (elementele
din {0,1}n ) pentru care funcţia ia valoarea logică l.

1
(Stefan, Circuite si sisteme digitale, 2000)
Extragerea funcţiei logice din tabelul de adevăr se face cu următorul algoritm :
• se iau în considerație configuraţiile binare pentru care funcţia logică ia valoarea 1
• se construieşte pentru fiecare configuraţie binară considerată un produs logic în
care negăm variabilele corespunzătoare astfel încăt valoarea logică a produsului să fie 1.
• se sumează logic produsele astfel obţinute.
Vom exemplifica printr-un Tabel 1 cele de mai sus și cele ce urmează Pentru acest
lucru avem nevoie de tabelul de adevăr, din care vom extrage funcția logică .

Exemplu 1
Tabel 1
Nr. A B C Mintermul Maxtemul f
zecimal și codul Pi și codul Si
0 0 0 0 A’B’C’ A+B+C 1
1 0 0 1 A’B’C A+B+C’ 1
2 0 1 0 A’BC’ A+B’+C 1
3 0 1 1 A’BC A+B’+C’ 0
4 1 0 0 AB’C’ A’+B+C 0
5 1 0 1 AB’C A’+B+C’ 0
6 1 1 0 ABC’ A’+B’+C 1
7 1 1 1 ABC A’+B’+C’ 1

Fiecare rând conține , numărul zecimal, reprezentarea binară a numărului zecimal


și valoarea logică a funcției pentru acea combinație (ex:numarul zecimal 3 cu
reprezentarea binară 001 si valoarea logică 0 .
Pentru nr. zecimal 2 A=0 , B=1,C=0 , f=1 , produsul logic este A’BC’ si se
observă că este egal cu 1.
Forma normală disjunctivă 1
Extragerea funcţiei sub formă algebrică din tabelul de adevăr ne oferă o sumă
logică de produse logice. Fiecare produs depinde de toate cele n variabile binare de
intrare. Numărul de produse este cuprins între 0 şi 2n
1
(Gheorghe Toacșe, 2005, pg. 14 -17)
Definiţia 1 Termenul canonic produs este produsul logic a tuturor celor n variabile
ale funcției, negate sau nenegate. Termenul canonic produs este referit ca minterm..
Definiţia 2 Forma normală disjunctivă (FND) a unei funcții logice este o sumă
logică de mintermeni.
n−1
2
FND=∑ d i P i
i=0

{
unde d i P i= P i , dac ă d i=1
0 , dac ă d i=0

Mintermenii Pi sunt evidențiați in coloana Pi din Tabelul 1. Un minterm se obține


negând acele variabile de intrare în minterm , astfel încăt valoarea produsului să fie 1.
Pentru exemplul nostru
P0=A’B’C’ , P1=A’B’C , P2=A’BC’, P6=ABC’ P7=ABC , unde negăm variabilele
corespunzătoare în așa fel încât mintermul sa ia valoarea 1 .
Deci FND=f= P0 +P1+P2+P6+P7
Forma normală conjunctivă 1
Este firească întrebarea, dacă ne gândim la principiul dualității și Legile lui De
Morgan, dacă se pot reprezenta funcţiile logice prin produse de sume ? Răspunsul este
afirmativ și se folosește reprezentarea prin produse de sume numită forma normală
conjunctivă şi este notată prescurtat prin FNC.
Definiţia 3 Un maxtermen este o sumă logică care depinde de toate cele n variabile
binare de intrare ale unei funcții logice de n biți .
Definiţia 4 Forma normal conjunctivă a unei funcții (FNC) logice este formată
dintr-un produs logic de maxtermeni.
n−1
2
FNC=∏ (d i+ S i¿)¿
i=0

{
d i + S i= S i , dac ă d i=0
0 , dac ă d i=1
Maxtermenii Si sunt evidențiați in coloana Si din Tabelul 1. Un maxterm se obține
negând acele variabile de intrare în maxterm , astfel încăt valoarea sumei să fie 0.
1
(Gheorghe Toacșe, 2005, pg. 14 - 17)
Pi Si sunt evidențiați in Tabel 1

Pentru exemplul nostru Exemplu 1


S3=A+B’+C’, S4=A’+B+C, S5=A’+B+C’ și
FNC=( A+B’+C’)( A’+B+C)( A’+B+C’)= S3+ S4+ S5
Pentru a obţine FNC a unei funcţii logice trebuie aplicat următorul algoritm:
• se extrage complementul funcţiei din tabelul de adevăr (sumând logic
mintermenii corespunzători zerourilor din tabel)
• se neagă expresia obţinută pentru a obține funcţia dorită (contând pe principiul
dublei negaţii)
• se aplică legea lui De Morgan la nivelul întregii expresii
• se aplică legea lui De Morgan nivelul mintermenilor.
Complementul lui f se realizează pentru mintermenii P3, P4, P5
f= P3+ P4+ P5=A’BC+AB’C’+AB’C
f’=(A’BC+AB’C’+AB’C)’=(A’BC)’(AB’C’)’(AB’C)’=(A+B’+C’)( ’+B+C)
(A’+B+C’)
= S3+S4+S5
Se constată că Si = (Pi)’ Pi = (Si)’

1.2.3 Minimizarea funcţiilor logice 1

Vom descrie mai multe modalităţi distincte de minimizare a expresiilor logice.


Toate sunt echivalente, deosebindu-se numai prin gradul de formalizare. Forma
disjunctivă FD a funcției este o sumă de termeni necanonici denumită și sumă de
produse, iar forma conjunctivă FC a funcției este un produs de termeni sumă necanonici,
denumită și produs de sume. Reducerea formelor normale disjunctive (FND) sau normale
conjunctive (FNC), respectiv la FD sau FC este referită ca un procedeu de minimizare a
funcției, deși uneori nu se obține forma minimă sau se obțin mai multe expresii
(neminime).
Există trei modalități de minimizare:

1
(Stefan, Circuite integrate digitale, 1993, pg. 121 - 122)
1 - analitică, utilizând axiomele și teoremele algebrei Booleene. Această cale este
eficientă doar pentru funcții cu număr mic de variabile și de termeni :
 minimizare cu adâncime constantă, cu menţinerea adâncimii minime, cea
de trei niveluri a FND (adâncimea unui circuit reprezintă numărul de
porți logice pe care îl paecurge un semnal de la intrare la ieșire )
 minimizare multinivel, din care rezultă şi creşterea adâncimii circuitului
 minimizarea circuitelor cu mai multe ieșiri , care se obține prin
maximizarea circuitelor folosite în comun pentru relizarea a două sau mai
multe ieșiri ale circuitului
2 - prin metode grafice (de exemplu diagrama Veitch - Karnaugh), de asemenea
utilizabile pentru funcții care nu au mai mult de 5-6 variabile.
3 - pe baza unor algoritmi sau abordări euristice . Există algoritmi (de exemplu
Quine - McQlusky) care pot fi aplicați unor funcții cu zeci de variabile și ieșiri multiple.
Acești algoritmi stau la baza programelor de minimizare (de exemplu Espresso - MV)
incluse în medii de Programare Automată în Electronică, referite prin termenul tehnici
EDA (Electronic Design Automation)

Diagrama Veitch – Karnaugh1

În varianta Veitch, coordonata unei căsuțe elementare este exprimată prin


variabilele funcției și aceste variabile sunt notate pe marginile diagramei, iar in acea
căsuță se introduce valoarea mintermenului Pi sau maxtermenului Si (indicele i este
numărul zecimal a cărui reprezentare în binar natural rezultă din codul format de
variabilele coordonate ale casuței).
În varianta Karnaugh, coordonata unei căsuțe elementare este exprimată prin
valorile variabilelor (conform codificării mintermilor sau maxtermilor ) și aceste valori
ale variabilelor sunt notate pe marginile diagramei; în acea căsuță se introduce d i din
tabelul de adevăr corespunzător pentru configurația valorilor de intrare (care
constituie coordonatele căsuței).

1
(Gheorghe Toacșe, 2005, pg. 178 - 188)
Pentru un număr de n de variabile există două diagrame Veitch-Karnaugh-VK
corespunzătoare FND si FNC . În Figura 1de mai jos pentru n = 2, n = 3 sunt
reprezentate separat diagramele VK și pentru fiecare dintre ele s-a figurat atât forma
canonică normală disjunctivă (P ), cât și forma canonică normală conjunctivă (S). Dar,
in Figura 3, pentru n = 4, la cele două diagrame notarea (variabilele și valorile) este
intermixată atât pentru forma canonică normală disjunctivă cât și pentru forma canonică
normală conjunctivă (adică, pe marginile diagramelor sunt notate atât variabilele,
cât și valorile acestor variabile). Diagramele pentru n = 5 se obțin prin alăturarea
de două diagrame de n = 4 iar pentru n = 6 din alăturarea a patru diagrame de
n =4 sau două diagrame de n =5. Dar pentru a păstra adiacența¸ la alăturarea a
două diagrame de n = 4 trebuie păstrată numărarea in cod Gray adică, 000, 001,
011, 010, 110, 111, 101, 100.
Diagramele Veitch ¸si Karnaugh: a,b) forma P ¸si forma S pentru n
= 2 ¸si
n = 3; c) diagrama V-K forma S ¸si P pentru n = 4; d) diagrama V-K forma
P pentru n = 6.
Figura 1
În oricare din diagrame, pentru cele 2 n căsuțe elementare, fiecare variabila˘
intra˘ negată în coordonatele a 2 n/2 căsuțe ¸si nenegată în restul de 2 n/2 căsuțe.
Trecerea de la o diagramă pentru forma P la o diagramă pentru forma S se
realizează prin substituirea în coordonate a variabilei nenegată cu variabila negată,
x → x’ , iar a celor negate cu nenegate x’ → x ¸si în interiorul căsuței se substituie
termenii Pi -> Si. Trecerea de la forma S la cea P este, la fel, o negare a variabilelor
coordonate ale casuțelor iar în căsuțe se substituie termenii Si -> Pi.
În fiecare diagramă V-K două căsuțe vecine sunt adiacente, adică distanța
Hamming este egală cu 1. Adiacența rezultă în urma faptului că notarea, pe
marginea diagramelor, a coordonatelor căsuțelor se face prin numărare în cod Gray.
Adiacență există între căsuțele elementare de pe fiecare două linii alăturate sau de
pe fiecare două coloane alăturate, adiacența se extinde și între cele două linii extreme
sau între cele două colane extreme (de exemplu, în figura de mai sus Figura 1 c) între
coloanele 00 cu 01 sau între liniile 00 cu 01). Nu sunt adiacente două căsuțe care
sunt situate în diagonală una față de alta. Rezulta˘ ca˘ in diagrama VK de tip P
sau S trebuie luate respectiv toate ca˘su¸tele elementare care au valoarea unu sau toate
cele care au valoarea zero ¸si aceasta se face identificaˆnd suprafe¸te care cuprind
ca˘su¸tele adiacente grupate ˆın numa˘r de puteri ale lui doi. Evident, se cauta˘ a se
forma suprafe¸te care sa˘ cuprinda˘ un numa˘r, de puteri ale lui doi, de ca˘su¸te.
Definiție 5 Se numește implicant prim IP , coordonata unei suprafețe de căsuțe
adiacente grupate
Definiție 6 Se numește implicant prim IP neesențial o grupare de căsuțe adiacente ,
dar fiecare din aceste ca˘su¸te elementare ale grupa˘rii mai este acoperita˘ cel pu¸tin
de ˆınca˘ o alta˘ suprafa¸ta˘
Definiție 7 Se numește implicant prim IP esențial o grupare de căsuțe adiacente dar
dintre aceste ca˘su¸te elementare exista˘ cel pu¸tin o ca˘su¸ta˘ care nu mai este
acoperita˘ ¸si de ca˘tre o alta˘ suprafa¸ta˘.
Pentru exprimarea func¸tiei ˆın forma˘ redusa˘ trebuie luate ˆın considerare
suprafe¸te maxime astfel ˆıncaˆt sa˘ fie acoperite toate ca˘su¸tele elementare cu valoarea 1
pentru forma redusa˘ disjunctiva˘ (suma˘ de produse), respectiv sa˘ fie acoperite
toate ca˘su¸tele elementare cu valoarea 0 pentru forma redusa˘ conjunctiva˘ (produs de
sume).
Definiție 8 Forma redusa˘ a unei sume de produse este minima˘ atunci caˆnd nu
exista˘ o alta˘ forma˘ redusa˘ a func¸tiei cu mai pu¸tini termeni produs sau oricare alta˘
forma˘ cu acela¸si numa˘r de termeni produs are cel pu¸tin acela¸si numa˘r de
variabile. La fel se poate da o defini¸tie pentru forma minima˘ a unui produs de sume.
Exemplu 2
Pentru funcția F dată sub forma FND
15
F=∑ ( 0 , 2 , 6 , 9 ,11, 13 , 14 , 15 )
0

sau sub forma FNC


15
F=∏ (1 , 3 , 4 , 5 ,7 ,8 , 10 , 12)
0

să se realizeze minimizarea cu diagrama VK


Minimizarea func¸tiilor incomplet definite

Există situații în care. funcționarea unui CLC –circuit logic combinațional- prin
valoarea logică generată pe ieșire nu modifică cu nimic comportamentul util al
circuitului. Valoarea logica˘ pe ie¸sire se poate modifica fie în 1 fie în 0 dar aceste valori
sunt indiferente (do not care) pentru utilitatea circuitului, de aceea ie¸sirea respectiva˘ se
,,
noteaza˘ ˆın tabelul de adeva˘r sau ˆın diagrama VK cu simbolul “- “. Astfel de
situa¸tii apar caˆnd anumite configura¸tii de intrare, restric¸tionate prin condi¸tiile
de func¸tionare, nu se aplica˘ niciodata˘ pe intra˘ri, sau caˆnd pentru anumite
configura¸tii de intrare func¸tionarea sistemului nu considera˘ valorile logice de pe
ie¸siri. Simbolurilor indiferente din diagramele V- K, prin includerea lor ˆın
grupuri de ca˘su¸te elementare adiacente, pot aduce la expresii mult mai simple pentru
IP esen¸tiali sau neesen¸tiali. Dupa caz, acestor simboluri li se pot atribui valoarea 1,
pentru sinteza ca suma˘ de produse, respectiv 0, pentru sinteza ca produs de sume, astfel
ˆıncaˆt suprafe¸tele care acopera˘ ca˘su¸te adiacente sa devina˘ caˆt mai mari.
Minimizare pe diagrame V-K cu variabile reziduu

Tabelul de adeva˘r, caˆnd numa˘rul de variabile este mare, poate fi redus la o


forma˘ cu mai pu¸tine linii daca˘ unele din variabilele func¸tiei sunt introduse ˆın
coeficien¸tii func¸tiei ca variabile reziduu.
Cum în interiorul căsuțelor avem una sau o combinație de mai multe variabile
spunem că avem funcții incluse în căsuțe.
Deducerea formei reduse dintr-o diagrama˘ care cuprinde funcții incluse se face ˆın
urma˘torii pa¸si:

Pasul 1. ˆIn toate ca˘su¸tele elementare ˆın care coeficiemtul conține variabile
reziduu se substituie acesta cu zero ¸si apoi se face extragerea func¸tiei dupa˘ regula
normala˘ prin gruparea suprafe¸telor de 1-uri.

Pasul 2. ˆIn toate ca˘su¸tele ˆın care coeficientul este 1 se substituie acesta cu
indiferent
¸si apoi se face extragerea dupa˘ gruparea suprafe¸telor care cuprind coeficien¸tii care
au aceea¸si expresie de variabile reziduu.

Pasul 3. Forma redusa˘ a func¸tiei se ob¸tine prin sumarea logica˘ a expresiei


ob¸tinuta˘ la Pasul 1 cu cea ob¸tinuta˘ la Pasul 2.

Exemplificăm acest lucru prin Tabel 1

Nr. zecimal A B C f

0 0 0 0 1
1 0 0 1 1
2 0 1 0 1
3 0 1 1 0
4 1 0 0 0
5 1 0 1 0
6 1 1 0 1
7 1 1 1 1

Dorim să eliminăm variabila C


Analizăm tabelul și observăm că pentru A=0,B=0,C=0 si A=0,B=0,C=0 f=1, deci
f nu sepinde de C. Continuăm în același fel cu analiza și obținem
Nr. A B f
zecimal

0 0 0 1
1 0 1 C’
2 1 0 0
3 1 1 1
Aplicăm VK cu variabile reziduu

a
b 1 C’
1

a a a
b 1 C' b 1 b - C'
= +
1 1 -

A'B'+AB BC'

f=A'B'+AB+B
Deci C'

Uneori, prin extragerea formei reduse, dintr-o diagramă V-K care conține
variabile reziduu, nu se ajunge la forma minimă din cauza folosirii redundante a
unor căsuțe cu valoarea 1. Poate exista situația în care o căsuță elementară cu valoarea 1
în Pasul 1, care va avea valoarea indiferentă în Pasul 2, să fie inclusă în suprafața unui
termen produs care conține o variabilă reziduu x și de asemenea să fie inclusă și în
suprafața unui alt termen produs care conține aceeași variabilă reziduu doar negată
x’ . Un astfel de 1 se numește dublu acoperit. Forma minimă se obține doar când căsuța
cu un 1 dublu acoperit se consideră 0 în Pasul 1 de extragere (când se consideră
suprafețele de 1-uri).
Ob¸tinerea unei forme reduse, eventual minima˘, pentru o func¸tie prin opera¸tii
analitice, , sau utilizaˆnd diagrama V-K pot constitui metode practicabile doar pentru
func¸tii de caˆteva variabile. Pentru func¸tii ce depa˘¸sesc caˆteva variabile sunt
utilizate alte metode. Oricare ar fi aceste metode, în fond, procesul de reducere parcurge doua˘
etape: (1) identificarea tuturor implican¸tilor primi ai func¸tiei ¸si (2) apoi selectarea
unui set minimal de implican¸ti primi care sa˘ acopere func¸tia. Aceste etape pot fi
realizate fie prin metode tabelare, de exemplu metoda Quine-McCluskey, fie prin aborda˘ri
algoritmice, ˆın termeni de structuri de date ¸si func¸tii de limbaj de nivel înalt .
Minimizarea algebrică sau cea bazată pe diagrame presupun reguli ce se cer aplicate cu
abilitate. Pentru un număr mare de variabile se folosesc instrumente programate care
folosesc, până la anumite dimensiuni, algoritmi bazaţi pe metoda Quine-McCluskey
(https://ictlab.kz/extra/Kmap/,
https://www.mathematik.uni-marburg.de/~thormae/lectures/ti1/code/karnaughmap/ ,
http://www.32x8.com/index.html iar pentru dimensiuni mai mari apelează tot la metode
euristice pentru a minimiza timpul de calcul. Dar cum resursa timp este , de multe ori
limitată , ne mulţumim şi cu soluții numai parţial optimizate.

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