Sunteți pe pagina 1din 7

Platformdeelearningicurriculecontent

pentrunvmntulsuperiortehnic

ProiectareaLogic

03.Analizacircuitelorcombinaionale

PROIECTAREA LOGIC

ANALIZA CIRCUITELOR COMBINAIONALE

Un circuit combinaional C, este definit prin relaiile dintre intrri i ieiri :


fi : Bn B,
(B={0,1}),
zi = fi(x1,x2, , xn),
unde :
o zi , 0 i m-1, este una dintre liniile de ieire ale circuitului, iar
o x0, x1, , xn-1 sunt liniile de intrare n circuitul combinaional considerat (diagrama modelului
circuitelor combinaionale, este prezentat n figura 1).

x0

z0

x1

z1

.
.
.

Circuit Combinaional
C

.
.
.

xn-1

zm-1
Figura 1. Reprezentarea modelului unui circuit combinaional

1. Introducere
Se poate remarca, din relaia care leag liniile de intrare de liniile de ieire, dependena n exclusivitate
a valorilor ieirilor de valorile aplicate intrrilor.
Ca particularitate, funciile Boole-ene sunt, ntotdeauna, funcii cu domeniul de definiie finit. Aa
cum au fost prezentate mai sus funciile fi au 2n puncte, n-uple, distincte n domeniul lor de definiie
(produsul cartezian al mulimii B cu aceasta nsi de n ori).
Datorit faptului c funciile au un domeniu de definiie cu 2n n-uple distincte, iar funciile pot lua
n

doar dou valori, atunci numrul funciilor distincte, astfel considerate, este 2 2 .
Exemplul 1.1
Funciile distincte cu dou variabile sunt :

x1
0
0
1
1

x0
0
1
0
1

f0
0
0
0
0

f1
0
0
0
1

f2
0
0
1
0

f3
0
0
1
1

Tabelul 1.1 Mulimea tuturor funciilor Boole-ene cu dou variabile.


f4
f5
f6
f7
f8
f9
f10
f11
f12
f13
f14
f15
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1

PROIECTAREA LOGIC
Dintre acestea, se remarc, pentru ilustrarea exemplului :
funciile constante 0 i 1, respectiv f0 i f15 ;
funciile identic x1 i x0, respectiv f3 i f5 ;
funciile x1 i x0, respectiv f12 i f10;
funciile SAU i I, respectiv f7 i f1.

Circuitele combinaionale pot fi introduse prin enumerarea valorilor funciei corespunztoare


punctelor, n numr finit, domeniului de definiie sau printr-o descriere comportamental a circuitului.
Cea de-a doua cale este reductibil la prima.
Exemplul 1.2
Se consider un circuit combinaional care realizeaz suma a dou numere binare a i b
fr semn reprezentate fiecare printr-un singur rang. Un astfel de circuit se numete,
tradiional, semi-sumator.
Circuitul, se poate remarca, este introdus printr-o descriere comportamental. Acestei
descrieri se poate asoca, simplu, o descriere enumerativ punct cu punct, dup cum
urmeaz :
((a,b) | suma, transportul) :{ ((0, 0) | 0, 0), ((0, 1) | 1, 0), ((1, 0) |1, 0), ((1, 1) | 0, 1) }.
Se remarc utilizarea unui mod de scriere explicit att al valorilor argumentelor a i b ct
i al valorilor funciilor de ieire suma i transportul, separnd prin caracterul bar
vertical ( | ) punctul curent din domeniul de definiie, de valorile funciilor n acel punct.
Acest mod de scriere este mult rpndit n literatur.
Cele dou funcii sunt exprimabile separat ca formule Boole-ene utiliznd fie valorile 1
(acolo unde funcia este asertat), fie valorile 0 (acolo unde funcia este complementat).
n acest exemplu se va considera exprimarea celor dou funcii prin aseriuni.
Pentru aceasta se construiesc formulele celor dou funcii utiliznd teorema de
reprezentare a algebrelor Boole-ene :
suma(a,b) = ab + ab ; transportul(a,b) = ab.
S-a utilizat notaia, mult rspndit, a pentru variabila a complementat.
Exist o strns coresponden ntre definirea punct cu punct (numit i definirea prin
tabela de adevr) i scrierea prin formule a unei funcii. n realitate, ambele cuprind
aceeai informaie. Se poate remarca, din forma canonic disjunctiv, c produsele
variabilelor funciilor sunt calculate acolo unde funcia ia valoarea 1. Produsele
respective se numesc, tradiional, termeni produs (din cauza analogiei, curent practicate,
dintre funcia I i Multiplicarea numerelor reale) i se calculeaz astfel :
- valoare 0 a variabilei, variabila apare n produs complementat,
- valoare 1 a variabilei, variabila apare n produs asertat.
Pentru termenii produs se mai utilizeaz, alternativ, denumirea de mintermi. Mintermii
sunt indiciai, curent, cu valorile zecimale corespunztoare scrierii binare a mintermului.
Astfel formulele pentru cele dou funcii pot fi scrise, n aceeai ordine, astfel :
suma(a,b) = m1 + m2 ; transportul(a,b) = m3.
Construcia formulelor prin punctele unde funciile sunt complementate se poate deduce
similar sau se poate calcula simplu utiliznd relaiile De Morgan aplicate formulei deduse
pentru punctele unde funciile sunt asertate. Este un foarte bun exerciiu.

PROIECTAREA LOGIC

1.1 Dualitatea i Legile DeMorgan


Dualitatea este o proprietate foarte util a algebrelor booleene. Expresia dual a unei expresii Booleene se deduce prin:
nlocuirea operatorului I (), prin operatorul SAU (+) i reciproc;
nlocuirea constantei 0, prin constanta 1 i reciproc;
n timp ce, variabilele expresiei rmn neschimbate.
Orice teorem ori propoziie demonstrat din algebra boolean ca fiind adevrat, are ntodeauna o
dual, deasemenea adevrat. Dualitatea este, n esen, o meta-teorem, cu alte cuvinte o teorem
despre teoreme.
Cu toate c dualitatea nu cuprinde, n sine, o modalitate direct de simplificare a expresiilor booleene,
aceasta ofer posibilitatea deducerii unor noi teoreme din cele deja cunoscute ajuntnd astfel n
procesul de simplificare al expresiilor.
Astfel, teorema de unificare x y + x y = x, are duala formulat astfel (x + y) (x + y) = y.
O demonstraie a dualei teoremei de unificare decurge, succesiv, n dou etape astfel:
(1) aplicnd legea de distributivitate se poate transcrie expresia membrului stng al dualei teoremei de
unificare:
(x + y) (x + y) = x (x + y) + y (x + y),
(2) n continuare, expresia obinut devine:
x (x + y) + y (x + y) = x + y x = x ( y + 1) = x,
ceea ce trebuia demonstrat.
Se consider expresia: f = abc + a(b + c), pentru care se calculeaz duala. O cale simpl de calcul a
dualei poate fi imaginat prin divizarea expresiei date n sub-expresii mai mici pentru care efortul de
calcul poate fi mai uor controlat: f = e1 + e2, unde e1 = abc, iar e2 = a(b + c).
Se noteaz, tradiional, duala expresiei f prin fD, rezultnd c:
fD = e1D e2D.
Aplicnd principiul dualitii sub-expresiei e1D, rezult:
e1D = a + b + c.
Similar, se calculeaz sub-expresia:
e2D = a + bc.
Rezultatul final arat astfel :
fD = (a + b + c)( a + bc).
Legea DeMorgan ofer o modalitate teoretic de complementare a unei funcii, de complexitate
modic. Expresia complementar a unei expresii date se formeaz pornind de la expresia original prin
nlocuirile:
oricare literal, prin complementul su (x prin x i reciproc),
oricare constant, prin complementara sa (0 se substituie prin 1 i reciproc),
operatorul I se substituie prin operatorul SAU i reciproc.
Aceast teorem, aplicat chiar operatorilor I i SAU arat relaiile cu operatorii complementari
SAU-NU respectiv I-NU:
(x + y) = x y,
(x y) = x + y.
Relaiile anterioare pot fi interpretate astfel:

PROIECTAREA LOGIC
Operatorul SAU-NU aplicat unor variabile, este identic cu operatorul I aplicat variabilelor respective
dar complementate, n timp ce operatorul I-NU aplicat unor variabile este identic cu operatorul SAU
aplicat variabilelor respective dar complementate.
Se consider expresia boolean de trei variabile E(a,b,c) = abc + abc + abc + abc. Complementara
acesteia se calculeaz, pas cu pas astfel:
(E(a,b,c)) = (abc + abc + abc + abc),
(E(a,b,c)) = (abc) (abc) (abc) (abc),
(E(a,b,c)) = (a + b + c) (a + b + c) (a + b + c) (a + b + c),
(E(a,b,c)) = (a + ab + ac + ab + bc + bc + c) (a + ab + ac + ab + bc + ac + bc),
(E(a,b,c)) = (a + bc + bc + c) (a + bc + bc),
(E(a,b,c)) = (a + c)(a + bc + bc),
(E(a,b,c)) = abc + abc + ac + bc,
(E(a,b,c)) = abc + bc + ac.
O metod, puin mai simpl, pentru calculul formal al complementului expresiei unei funcii const n
calculul dualei expresiei funciei urmat de complementarea fiecrui literal.
Astfel, complementul expresiei booleene de trei variabile din exemplul precedent ar putea fi calculat
dup cum urmeaz:
ED(a,b,c) = (a + b + c) (a + b + c) (a + b + c) (a + b + c),
Complementnd fiecare literal din expresia dualei rezult:
(E(a,b,c)) = (a + b + c) (a + b + c) (a + b + c) (a + b + c).
De remarcat faptul c duala unei expresii i legea DeMorgan aplicat aceleiai expresii nu sunt unul i
acelai lucru. Procedeul de obinere al dualei este similar cu meniunea c literalii nu sunt
complementai pe durata procesului de calcul. Astfel, duala funciei SAU-NU este funcia I-NU i
reciproc, iar duala funciei I este funcia SAU i reciproc. Atunci cnd se aplic, unei funcii,
teorema dualitii se obine o cu totul alt funcie. Prin aplicarea legii DeMorgan unei funcii anumite
se obine complementara respectivei funcii.

1.2 Formele Canonice


Compararea n raport cu identitatea, spre exemplu, a dou funcii Boole-ene exprimate
algebric (formule algebrice) este mult facilitat dac se utilizez o form etalon pentru
codificarea, reprezentarea, funciilor respective. Termenul etalon trebuie neles n sensul unei
standardizri, a unei uniciti, a scrierii algebrice pentru funciile binare de variabil binar. n
literatur formele acestea se numesc forme canonice. Formele canonice sunt forme unic
determinate de funcia pe care o reprezint i reciproc. Dendat ce dou funcii au aceeai
form canonic, acestea sunt identice. n mod frecvent se utilizeaz dou forme canonice :
Forma canonic disjunctiv, care se mai numete i suma de produse (sum of products
este termenul anglo-saxon cu binecunoscuta abreviere SOP) i
Forma canonic conjunctiv, numit deasemenea i produs de sume.
Exist i alte forme canonice, cum ar fi forma canonic exclusiv-disjunctiv, spre exemplu, i
lista ar putea continua.

1.2.1 Sumele de produse


S-au utilizat deja n exemplul semi-sumatorului aceste sume i s-au precizat modalitile de
construcie a acestor sume. Teoretic privind construcia acestor sume se poate remarca faptul

PROIECTAREA LOGIC
c sunt utilizate anumite funcii predefinite numite mintermi. n principiu fiecare minterm este
asociat unui punct specific din domeniul de definiie al funciei i este propriu domeniului de
definiie. Un minterm este constituit prin conjuncia tuturor variabilelor funciei (o variabil
apare o singur dat), iar fiecare variabil apare n form asertat (direct, dac n punctul
respectiv variabila apare cu valoarea 1) i n form complementat (negat, dac variabila n
punctul respectiv are valoarea 0).
Fiecare minterm este ponderat prin conjuncie cu valoarea funciei n punctul corespunztor
mintermului.

1.2.2 Produsele de sume


Teorema involuiei stabilete c prin complementarea complementului unei expresii, formule,
booleene E se obine expresia E. Aplicnd de dou ori teorema De Morgan se poate deduce a
doua form canonic a unei formule booleene. Aceast form se numete forma canonic
conjunctiv sau, nc, dezvoltarea n maxtermi.
Procedeul de construcie al celei de-a doua forme canonice este dual celui utilizat pentru
construcia formei canonice disjunctive.
Sunt utilizate exclusiv punctele n care funcia ia valoarea 0. Pentru fiecare dintre aceste
puncte sunt constituii maxtermii, cte unul pentru fiecare punct..
Un maxterm este definit prin disjuncia, suma, variabilelor funciei (fiecare apare o singur
dat fie asertat, fie complementat). Variabila apare n maxterm n form asertat dac n
acel punct variabila respectiv are valoarea 0 i apare n form complementat dac n acel
punct variabila are valoarea 1.
Este exact regula opus celei cu care se construiesc mintermii.
Produsul tuturor maxtermilor unei funcii constituie forma canonic conjunctiv sau, altfel
spus, produsul de sume al respectivei funcii.
Exemplu 1.3
Se consider produsul cartezian B3 pentru care se calculeaz toi maxtermii :

Tabelul 1.2.
Maxtermii spaiului B3
b c
Maxtermii

0
0

0
0

0
1

a + b + c = M0
a + b + c = M1

0
0
1
1
1
1

1
1
0
0
1
1

0
1
0
1
0
1

a + b + c = M2
a + b + c = M3
a' + b + c = M4
a' + b + c = M5
a' + b + c = M6
a' + b + c = M7

Exemplul urmtor arat modul n care sunt calculate cele dou forme canonice n cazul unei funcii
arbitrare.

PROIECTAREA LOGIC
Exemplul 1.4.
Se consider funcia de trei variabile defnit prin tabelul :

x2
0
0
0
0
1
1

Tabelul 1.3.
Funcia exemplului 1.4.
x1
x0
f
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1

1
1

1
1

0
1

1
1

Suma de produse pentru aceast funcie se calculeaz cu mintermii m3, m4, m5, m6 i
m7 :

f = x 2' x1 x0 + x 2 x1' x0' + x 2 x1' x0 + x 2 x1 x0' + x 2 x1 x 0 .


Produsul de sume se calculeaz prin maxtermii M0, M1 i M2 :

f = ( x2 + x1 + x0 )( x2 + x1 + x0' )( x2 + x1' + x0 )

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