Sunteți pe pagina 1din 241

COLECIA DE AUTOMATIC

F. Moldoveanu D. Floroian

Circuite logice
i
comenzi secveniale
Circuite logice combinaionale

Editura Universitii Transilvania


Braov, 2003

2003 EDITURA UNIVERSITII TRANSILVANIA DIN BRAOV


Adresa: 500030 Braov,
B-dul Eroilor, Nr. 9
Tel./Fax:0268-475348
E-mail: repa@unitbv.ro

Tiprit la:
Tipografia Universitii Transilvania din Braov
B-dul Eroilor, Nr. 9
Tel./Fax: 0268-475348

Toate drepturile rezervate.


Editur acreditat de CNCSIS.
Adresa nr. 1615 din 29 mai 2002.

Refereni tiinifici: Prof. dr. ing. Iulian OPA


Prof. dr. ing. tefan DAN

Descrierea CIP a Bibliotecii Naionale a Romniei


MOLDOVEANU, FLORIN
Circuite logice i comenzi secveniale; Circuite logice
combinaionale/ Florin Moldoveanu, Dan Floroian. Braov: Editura
Universitii Transilvania, 2003
Bibliogr.
Index
ISBN 973-635-237-4
I. Floroian, Dan
004.312

Editarea acestei lucrri s-a fcut cu sprijinul MECT, prin contractul nr. 40533,
grant nr. 7, cod CNCSIS 972.

CUPRINS

PREFA...........................................................................................................................5
1. BAZELE TEORETICE ALE CIRCUITELOR LOGICE ........................................7
1.1 ALGEBRA LOGIC............................................................................................7
1.1.1 Axiomele i proprietile algebrei booleene..............................................8
1.2 FUNCII BOOLEENE.......................................................................................11
1.2.1 Operaii cu funcii booleene ....................................................................12
1.2.2 Funcii booleene elementare....................................................................13
1.2.3 Reprezentri ale funciilor booleene........................................................16
1.2.3.1 Reprezentarea funciilor booleene prin tabele de adevr ............16
1.2.3.2 Reprezentarea funciilor booleene prin diagrame Karnaugh.......16
1.2.3.3 Reprezentarea analitic a funciilor booleene..............................17
1.2.3.4 Reprezentarea funciilor booleene prin scheme logice................20
1.2.3.5 Reprezentarea funciilor booleene prin diagrame de timp ..........21
1.2.4 Sisteme complete de funcii ....................................................................23
1.2.4.1 Implementarea FCD i FCC cu funcii Pierce i Sheffer ............24
2. CIRCUITE LOGICE COMBINAIONALE ...........................................................27
2.1 NOIUNI INTRODUCTIVE .............................................................................27
2.2 ANALIZA CIRCUITELOR LOGICE COMBINAIONALE ..........................28
2.2.1 Analiza schemelor logice combinaionale realizate cu elemente
logice I, SAU, NU ................................................................................29
2.2.2 Analiza schemelor logice combinaionale realizate cu elemente
logice I-NU i SAU-NU .......................................................................32
2.3 SINTEZA CIRCUITELOR LOGICE COMBINAIONALE............................35
2.3.1 Minimizarea funciilor booleene .............................................................35
2.3.1.1 Minimizarea funciilor booleene pe baza axiomelor i
teoremelor algebrei booleene ......................................................38
2.3.1.2 Minimizarea funciilor booleene prin metoda
Quine-McCluskey ........................................................................38
3

CUPRINS

2.3.1.3 Minimizarea funciilor booleene prin metoda diagramelor


Karnaugh..................................................................................... 46
2.3.1.4 Minimizarea funciilor booleene prin metoda consensurilor...... 54
2.3.1.5 Minimizarea funciilor booleene incomplet definite .................. 60
2.3.1.6 Minimizarea sistemelor de funcii booleene ............................... 65
2.3.2 Implementarea funciilor booleene ......................................................... 69
2.3.2.1 Implementarea funciilor booleene cu relee electromagnetice ... 69
2.3.2.2 Implementarea funciilor booleene cu circuite integrate ............ 71
2.3.2.2.1 Implementarea cu circuite integrate SSI....................... 73
2.3.2.2.2 Implementarea cu circuite integrate MSI ..................... 83
2.3.2.2.3 Implementarea cu circuite integrate LSI .................... 104
2.4 HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE ................. 133
2.5 ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE ................... 142
2.5.1 Convertoare de cod ............................................................................... 142
2.5.2 Decodificatorul BCD-7 segmente......................................................... 148
2.5.3 Circuite codificatoare............................................................................ 150
2.5.4 Comparatoare numerice........................................................................ 157
2.5.5 Detectoare i generatoare de paritate.................................................... 161
2.5.6 Sumatoare binare .................................................................................. 165
2.5.7 Circuite generatoare de funcii.............................................................. 180
2.5.8 Unitatea aritmetic i logic ................................................................. 181
2.5.9 Circuite multiplicatoare ........................................................................ 188
ANEXA A....................................................................................................................... 195
ANEXA B ....................................................................................................................... 197
ANEXA C....................................................................................................................... 205
ANEXA D....................................................................................................................... 219
BIBLIOGRAFIE ........................................................................................................... 231
INDEX ............................................................................................................................ 233

PREFA

Aceast carte se adreseaz tuturor acelora care doresc s se familiarizeze cu tehnicile


specifice analizei i sintezei sistemelor logice de comand: studeni ai specializrilor de
automatic, calculatoare, electronic, electrotehnic, ingineri specialiti n domeniile
menionate precum i altor specialiti care sunt preocupai de aplicarea tehnicilor digitale
n diferite domenii ale tiinei i tehnicii.
Organizarea materialului crii a avut la baz ideea c atingerea scopului propus
trebuie s aib n vedere att nsuirea cunotinelor fundamentale dar i nelegerea
modului n care se petrec lucrurile n lumea real.
Deoarece volumul de cunotine specifice domeniului tratat este destul de mare
autorii au considerat util structurarea materialului n dou pri: prima, care face obiectul
volumului de fa, se focalizeaz pe studiul circuitelor logice combinaionale, urmnd ca
cea de a doua, ce va fi publicat separat, s se ocupe de circuitele logice secveniale.
n prima parte a lucrrii sunt tratate noiunile fundamentale de algebr logic (boolean), necesare pentru analiza i sinteza circuitelor de comutare combinaionale i
secveniale, din punctul de vedere al inginerului proiectant de circuite digitale. Din acest
motiv, pentru demonstrarea multora dintre teoremele utilizate se fac trimiteri la literatura
de specialitate, reinndu-se, n cadrul crii, numai partea aplicativ (reguli practice de
utilizare, algoritmii de rezolvare a problemelor, etc.).
Dup prezentarea metodelor specifice de analiz a circuitelor logice combinaionale, n continuare, n lucrare sunt expuse, ntr-o manier pe ct posibil unitar, principiile proiectrii acestui tip de circuite logice, folosindu-se operatori logici de tipuri
diferite i fcnd parte din familii diferite, integrate att pe scar mic (SSI) ct i pe
scar medie (MSI) sau mare (LSI).
n general, funcia de prelucrare realizat de ctre un circuit logic poate fi privit
independent de modul n care acesta este construit. Funcia poate fi definit i se poate
opera cu aceast noiune, pn la un anumit punct, fr a se preciza modul n care ea este
realizat. Mai mult dect att, este posibil ca un anumit circuit logic s poat realiza nu
doar o singur funcie de prelucrare a semnalelor ci o familie de funcii asemntoare.
Pe de alt parte, modul de realizare a unei funcii nu este unic. Ca urmare, circuitului logic i se asociaz un set de parametrii care arat n ce condiii i ct de bine
5

PREFA

acesta realizeaz funcia dorit. S-a denumit ca fiind implementarea unei funcii, modul
n care aceasta este realizat (modelat fizic) de ctre un circuit logic. Cele dou aspecte
enunate mai sus se pot deci sintetiza: n funcia realizat de circuit i n implementarea
acestei funcii.
Din mulimea funciilor posibile, ca rezultat al interdependenei procesului de utilizare i a celui de implementare, s-a impus un numr relativ redus de funcii. S-a creat
astfel un set de funcii de baz, grupate n clase de funcii de prelucrare a semnalelor, cu
variantele lor de implementare, grupate n familii de circuite.
Dezvoltarea exploziv a tehnologiilor a determinat diversificarea extraordinar a
tipurilor de funcii, fcnd posibil realizarea unor prelucrri de semnale, asemntoare
sau distincte, cu un singur circuit, deci cu o singur variant de implementare. S-au obinut astfel circuite multifuncionale care, prin modificri minime de schem (hardware)
pot realiza una sau alta dintre funciile de prelucrare din clasa pentru care au fost construite. Vrful atins n aceast direcie l constituie circuitele a cror funcie de prelucrare
poate fi modificat prin program (software).
Lucrarea, dei acoper o gam larg de circuite, nu prezint toate tipurile de circuite
digitale. Acest domeniu al circuitelor logice moderne are o evoluie extrem de rapid, noi
i noi tipuri de circuite fcndu-i apariia la intervale scurte de timp, motiv pentru care
prezentarea acestora la zi nici nu este posibil.
Trebuie precizat c pentru proiectarea unui sistem digital mai mult sau mai puin
complex, este necesar ca informaiile prezentate n aceast lucrare s fie completate cu
datele din cataloagele i din notele de aplicaii prezentate de firmele productoare.
Autorii aduc i pe aceast cale mulumiri domnilor profesori: prof. dr. ing. Iulian
OPA i prof. dr. ing. tefan DAN, referenii tiinifici ai prezentei lucrri, care, prin citirea atent a manuscrisului i prin observaiile i sugestiile fcute, referitoare la structurarea materialului, au contribuit la aducerea manualului la forma pe care autorii o prezint cititorilor.
Domnului ing. tefan HURUBEANU i suntem recunosctori pentru discuiile tehnice deosebit de utile pe care le-am avut pe marginea materialului coninut n aceast lucrare.
Autorii apreciaz contribuia personal la realizarea prezentei lucrri dup cum urmeaz: Florin Moldoveanu 70% respectiv Dan Floroian 30%, din volumul acesteia.
De asemenea, mulumim anticipat tuturor acelora, care, n urma lecturii crii, vor
transmite la adresele moldof@unitbv.ro i danf@unitbv.ro observaiile i sugestiile lor
privind coninutul, modul de tratare a problemelor, forma de prezentare i vor sesiza
eventualele greeli aprute, astfel nct s poat fi utilizate ntr-o ediie ulterioar a
acestui text.
Braov, noiembrie 2003

Florin MOLDOVEANU
Dan FLOROIAN

1
BAZELE TEORETICE ALE
CIRCUITELOR LOGICE

1.1 ALGEBRA LOGIC


Definirea riguroas a problemelor tehnice privind circuitele logice se poate face folosind
principiile logicii matematice, n particular principiile calculului propoziiilor.
Spre mijlocul secolului al XIX-lea, matematicianul i logicianul englez George
Boole (18151864) a propus o interpretare a logicii propoziiilor bivalente, fundamentnd
algebra propoziiilor cu dou valori care adesea este denumit algebra logicii sau algebr
boolean. Apariia elementelor, circuitelor i sistemelor care n funcionare pot avea doar
dou stri stabile distincte a condus la aplicarea n tehnic a perceptelor logicii bivalente.
Algebrele booleene i n special algebra boolean cu dou valori constituie fundamentul teoretic al circuitelor logice.
Algebra logic, numit, aa cum s-a mai precizat i calculul propoziional, opereaz
cu propoziii, despre care are sens s afirmm c sunt adevrate sau false. Din nsi
definirea propoziiilor rezult c o propoziie poate fi adevrat sau fals. Propoziiile pot
fi simple i compuse. Cele compuse se obin ca rezultat al legturii propoziiilor simple,
prin intermediul unor conective logice. Adevrul sau falsitatea unei propoziii compuse
este funcie de valoarea propoziiilor simple din care se compune i de tipul legturii
logice.
n logica simbolic se poate face abstracie de sensul propoziiilor, opernd cu relaiile de valoare. Convenim ca unei propoziii adevrate s-i atribuim valoarea binar 1,
iar falsitatea acesteia s o notm cu valoarea binar zero (0).
Propoziia compus a crei valoare depinde de valorile propoziiilor simple, putnd
avea tot dou valori, se numete funcie logic sau funcie binar.
Funcia compus este complet definit cu ajutorul unui tabel finit, n care se trec
valorile funciei n coresponden cu valorile propoziiilor simple considerate independente. O astfel de exprimare a funciei compuse este cunoscut sub numele de tabel de
adevr.
Calculul propoziiilor poate fi extrapolat n tehnic la sistemele automate care
utilizeaz elemente de comutaie cu dou stri. Acestora le putem atribui relaii de
valoare (1 sau 0) binar corespunztoare adevrului (1) i falsitii (0) propoziiilor.
7

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

1.1.1 Axiomele i proprietile algebrei booleene


Considernd cunoscute noiunile elementare de teoria mulimilor, n continuare se vor
defini axiomele i proprietile algebrei booleene pornind de la structura algebric, mai
general, de latice [3,5,10,20,28].
Fie A o mulime nevid, mpreun cu dou operaii binare pe A, denumite reuniune
i intersecie i notate cu U i I .
Prin definiie, tripletul:
L = ( , U, I ) ,

(1.1)

este o latice i se bucur de urmtoarele proprieti:


comutativitatea:
a1 U a 2 = a 2 U a1 , a1 I a 2 = a 2 I a1 , a1 , a 2 A ,

(1.2)

asociativitatea:
a1 U (a 2 U a3 ) = (a1 U a 2 ) U a3 , a1 I (a 2 I a3 ) = (a1 I a2 ) I a3 ,
a1 , a 2 , a3 A ,

(1.3)

absorbia:
a1 U (a1 I a2 ) = a1 , a1 I (a1 U a2 ) = a1 , a1 , a 2 A .

(1.4)

Proprietile (1.2) (1.4) constituie axiome pentru latici. Se poate observa c n


acest sistem de axiome se pot schimba ntre ele simbolurile U i I . Evident, acest lucru
se poate face n orice afirmaie care decurge din sistemul de axiome, proprietate cunoscut sub denumirea de principiul dualitii pentru latici.
Avnd n vedere proprietile (1.2) i (1.3), operaiile de reuniune i de intersecie se
pot extinde la orice numr arbitrar, dar finit, de termeni, indiferent de ordinea termenilor
sau factorilor:
n

U ai = a1 U a2 U U an ,
i =1

I ai = a1 I a2 I I an .

(1.5)

i =1

Plecnd de la axiomele definite mai sus se poate demonstra i urmtoarea proprietate:


idempotena:

a U a U U a = a , a I a I I a = a , a A .

(1.6)

O latice se poate defini i ca o mulime parial ordonat L = ( , ) , care are o cea


mai mic margine superioar (c.m.m.m.s.) s i o cea mai mare margine inferioar
(c.m.m.m.i.) p, pentru fiecare pereche de elemente. Legtura ntre cele dou definiii se
8

ALGEBRA LOGIC

poate face notnd s = a1 U a 2 , p = a1 I a2 .


Prin definiie, o latice finit (mrginit) are un element care este c.m.m.m.i., numit
ultim element al laticei, notat prin 0, astfel nct:
legile lui 0:

a U 0 = a , a I 0 = 0 , a A

(1.7)

i un element care este c.m.m.m.s., numit prim element al laticei, notat prin 1, astfel
nct:
legile lui 1:

a U 1 = 1 , a I 1 = a , a A .

(1.8)

Fie L = ( A, U, I, 0, 1) o latice finit i a A . Un element complementar sau, pe


scurt, un complement al elementului a, este elementul a (non a), astfel nct:
principiul terului exclus:
a U a = 1,

(1.9)

care atest faptul c nu exist o a treia posibilitate ntr-o reuniune cu variabile complementare i:
principiul contradiciei:
a I a = 0.

(1.10)

Trebuie menionat c nu orice element dintr-o latice finit are un complement.


Astfel, n laticea finit L = ({0, a, 1}, U, I, 0, 1) , elementul a nu are complement. De
asemenea, complementul unui element al unei latice, dac acesta exist, nu este n mod
necesar unic. n schimb, elementele 0 i 1 au fiecare un complement unic, respectiv
1 i 0: 0 = 1 , 1 = 0 .
Dac ntr-o latice finit orice element a are un complement unic a , aceast latice se
numete complementar.
Prin definiie o latice L este distributiv dac i numai dac:
distributivitatea:

(a1 U a2 ) I a3 = (a1 I a3 ) U (a2 I a3 ) , a1 , a2 , a3 A ,

(1.11)

(a1 I a2 ) U a3 = (a1 U a3 ) I (a2 U a3 ) , a1 , a2 , a3 A .

(1.12)

Proprietatea (1.11) poart denumirea de distributivitatea reuniunii n raport cu


intersecia iar (1.12) distributivitatea interseciei n raport cu reuniunea.
Definiie. O algebr boolean este o latice distributiv i complementar. Din
definiie rezult c o algebr boolean este un 4-uplu:
B = ( A, U , I , ) ,

(1.13)

n care este operaia unar de complementare.


9

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

ntr-o algebr Boole se mai pot demonstra i urmtoarele proprieti care au o


deosebit importan pentru studiul circuitelor de comutare:
principiul involuiei (dublei negaii):
a = a , a A .

(1.14)

De asemenea, ntr-o algebr Boole sunt adevrate:


relaiile lui De Morgan:
a1 U a2 = a1 I a2 , a1 , a 2 A ,

(1.15)

a1 I a 2 = a1 U a 2 , a1 , a 2 A .

(1.16)

Dac ntr-o algebr Boole mulimea A are numai elementele 0 i 1, se obine algebra
Boole cu dou elemente:
B 2 = ({0 ,1}, U , I , ) ,

(1.17)

n care, operaiile sunt date n urmtoarele tabele:


Tab.1.1 Tabelele operaiilor de reuniune (a), intersecie (b) i complementare (c).

(a)

(b)

(c)

Din cele prezentate mai sus rezult c n algebra Boole calculul este definit prin relaiile (1.2) (1.16). Pentru cele trei operaii, n afara denumirilor menionate se mai
folosesc i urmtoarele:
operaia SAU, numit i disjuncie ori sum logic pentru reuniune, fiind notat i
cu simbolurile sau +. Astfel, urmtoarele notaii sunt echivalente:
a1 U a2 = a1 a2 = a1 + a2 . Din motive de simplitate a exprimrii, n aceast lucrare
se va folosi simbolul +;
operaia I, numit i conjuncie ori produs logic pentru intersecie, fiind notat i
cu simbolurile & sau . Ultimul simbol este cel mai folosit, n scriere, el putnd
fi omis. Astfel, urmtoarele notaii sunt echivalente: a1 I a 2 = a1 & a2 = a1 a 2 =
= a1a 2 ;
operaia NU sau negaia logic pentru complementare, notaiile urmtoare fiind
echivalente: a = a c = a .
Algebra boolean cu dou elemente are aplicaie direct n teoria circuitelor logice.
n acest caz, ntre valorile mulimii {0,1} i cele dou stri ale elementelor funcionnd n
regim de comutaie se stabilete o coresponden biunivoc. Astfel, o variabil asociat
unui element de comutare poate lua numai dou valori, 0 sau 1, definind o variabil
bivalent boolean sau, pe scurt, o variabil boolean. Rezult c pentru circuitele
10

FUNCII BOOLEENE

materializate cu elemente de comutaie, modelul matematic l constituie funciile de


variabile binare. Deoarece circuitele realizate cu elemente binare nu pot avea dect dou
stri stabile distincte, funciile care descriu aceste circuite vor lua numai dou valori.
Aceste funcii bivalente de variabile binare se numesc funcii booleene sau funcii logice
i au o deosebit importan pentru studiul circuitelor logice.

1.2 FUNCII BOOLEENE


Pentru definirea funciilor booleene [3,5,10,11,20,28,33] se consider vectorul X =
= ( x1 , x2 ,K , xn ) , ale crui elemente ( x1 , x2 ,K, xn ) pot lua valorile 0 sau 1. n acest caz
rezult c pot exista 2 n vectori X. Se noteaz mulimea acestor vectori cu B 2n . De asemenea, fiecrui vector din B 2n i se pot atribui valorile 0 sau 1.
Definiie. Se numete funcie boolean funcia f ( X ) = f ( x1 , x2 ,K, xn ) , X =
= ( x1 , x2 ,K , xn ) , care aplic mulimea B 2n n mulimea {0,1}.

Fie K o submulime a lui B 2n i K complementara lui K fa de B 2n : K, K B 2n ,


K U K = B 2n , K I K = . Atunci o funcie boolean de n argumente,
= f ( x1 , x2 ,K , x n ) , X = ( x1 , x2 ,K , xn ) , se poate defini i astfel:

X K f (X ) = 1, X K f (X ) = 0 .

f (X ) =

(1.18)

Deci, unei funcii booleene i se asociaz un vector V f = ( f ( X )) cu 2 n componente egale


cu 0 sau 1, fiecare component fiind asociat unui vector X dat.
n

Consecin. Deoarece exist 2 2 vectori bivaleni de 2 n elemente, rezult c numn

rul funciilor booleene distincte de n argumente este finit i egal cu 2 2 .


Se noteaz valorile fixe ale elementelor unui vector din B 2n prin ( ~
x1 , ~
x2 ,K, ~
xn ) .
Aceste valori pot fi privite ca o combinaie de valori ale argumentelor unei funcii booleene. Deoarece numrul acestor combinaii este finit i egal cu 2 n , atunci orice funcie
boolean poate fi complet definit printr-un tabel finit cu 2 n linii. n acest tabel, n partea
stng se trec combinaiile valorilor argumentelor iar n partea dreapt valorile corespunztoare, 0 sau 1, ale funciei (v. tab. 1.2), cu i {0,1} .
Exist situaii cnd pentru unele combinaii ale valorilor argumentelor o funcie
boolean s nu aib valoarea determinat. Astfel de funcii nedeterminate, pentru una sau
mai multe combinaii ale valorilor argumentelor, se numesc funcii booleene incomplet
definite. n mod obinuit n tabelele de definiie ale funciilor, valorile nedeterminate sunt
indicate cu () sau d1. Tabelul de definiie al unei funcii incomplet definite este reprezentat n tabelul 1.3. Funcia este nedeterminat pentru combinaiile (0,1,0), (1,0,1) i
(1,1,0) ale valorilor argumentelor, valorile putnd fi aplicate arbitrar din mulimea {0,1}.
Atribuind funciei valorile 0 sau 1 pentru combinaiile respective ale valorilor argumentelor se pot obine 8 funcii complet definite.
1

Simbolul d provine de la prescurtarea expresiei englezeti dont care (nu ine cont).

11

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

Tab.1.2 Tabel ce definete complet o funcie boolean.

Tab.1.3 Tabelul de definiie al unei funcii


booleene incomplet definite.

x1

x2

xn 1

xn

f ( x1 , x2 ,K , xn )

x1

x2

x3

f ( x1 , x2 , x3 )

K K K

1
0
1
*
n general, dac o funcie boolean nu este
1
1
0
*
definit pentru r combinaii ale valorilor argumentelor atunci, prin definire arbitrar, se pot
1
1
1
1
obine 2 r funcii noi complet definite. Funciile
incomplet definite se ntlnesc frecvent n practic, evidenierea situaiilor de nedefinire i atribuirea voit a valorilor 0 sau 1 fiind foarte
important pentru simplificarea lor.
1.2.1 Operaii cu funcii booleene

Operaiile cu funcii booleene se definesc pe domeniul valorilor funciilor [3,10,20,28].


Se consider dou funcii f1 ( x1 , x2 ,K, xn ) i f 2 ( x1 , x2 ,K, xn ) . Se spune c aceste funcii
sunt identice dac iau valori identice pentru toate combinaiile posibile ale valorilor
argumentelor. n mod obinuit identitatea a dou funcii booleene se scrie astfel:
f1 ( x1 , x2 ,K , xn ) = f 2 ( x1 , x2 ,K , xn ) .

(1.19)

Dac pentru cel puin o singur combinaie a valorilor argumentelor (un n-uplu)
cele dou funcii nu au aceeai valoare atunci:
f1 ( x1 , x2 ,K , xn ) f 2 ( x1 , x2 ,K , xn ) .

(1.20)

Fie f1 , f 2 , i f 3 funcii booleene de n argumente. Operaiile +, , , cu


funcii se definesc n modul urmtor:
reuniunea (suma logic) funciilor:
f1 ( x1 , x2 ,K, xn ) + f 2 ( x1 , x2 ,K, xn ) = f 3 ( x1 , x2 ,K, xn ) ,

(1.21)

dac i numai dac valorile funciilor se combin corespunztor tabelului operaiei +,


pentru fiecare combinaie a valorilor argumentelor;
intersecia (produsul logic) funciilor:
f1 ( x1 , x2 ,K , xn ) f 2 ( x1 , x2 ,K , xn ) = f 3 ( x1 , x2 ,K , xn ) ,
12

(1.22)

FUNCII BOOLEENE

dac i numai dac valorile funciilor se combin conform tabelului operaiei , pentru
fiecare n-uplu al argumentelor;
negarea (complementarea) funciilor:
f1 ( x1 , x2 ,K , xn ) = f 2 ( x1 , x2 ,K , xn ) ,

(1.23)

dac i numai dac valorile funciilor respect tabelul de definiie al operaiei de complementare.
Din cele de mai sus rezult c pentru operarea cu funcii booleene se consider succesiv valorile funciilor corespunztoare celor 2 n combinaii ale argumentelor. Funciile
f1 i f 2 aplic fiecare din cele 2 n n-uple n mulimea {0,1}. Se obin astfel 2 n perechi
de valori ale funciilor. Operaiile binare SAU (suma logic) i I (produsul logic) asupra
celor dou funcii aplic cele 2 n perechi n mulimea {0,1}. Operaia unar de complementare aplic cele 2 n n-uple ale unei funcii n {0,1}. Pentru operarea cu funcii booleene este avantajoas folosirea tabelelor.
1.2.2 Funcii booleene elementare

n acest paragraf se vor defini funciile booleene fundamentale, cu ajutorul crora se pot
construi funcii mai complexe [3,5,10,20,28].
Aceste funcii booleene denumite i funcii elementare au o deosebit importan
practic pentru realizarea circuitelor logice modulare. n mod obinuit, funciile elemen2

tare se definesc pe mulimea funciilor de dou argumente. Cele 2 2 = 16 funcii booleene de dou argumente sunt prezentate n tabelul 1.4.
Tab.1.4 Definirea funciilor booleene elementare.

x1

x2

f0

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

f15

Din examinarea tabelului rezult i se definesc urmtoarele funcii elementare:


funciile f 0 i f15 sunt funcii constante, nedepinznd de argumentele x1 i x2 .
Sunt denumite i funciile logice constanta 0 i respectiv constanta 1:
f 0 ( x1 , x2 ) = 0 , f15 ( x1 , x2 ) = 1 ,

(1.24)

funciile f10 i f12 corespund valorilor argumentelor:


f10 ( x1 , x2 ) = x2 , f12 ( x1 , x2 ) = x1

(1.25)

i care se mai numesc funcii identitate;


13

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

funciile f 3 i f 5 corespund funciilor f10 i f12 negate:


f 3 ( x1 , x2 ) = f12 ( x1 , x2 ) = x1 , f 5 ( x1 , x2 ) = f10 ( x1 , x2 ) = x2

(1.26)

i se numesc funciile negaie.


Observaie. Funciile definite mai sus depind numai de unul dintre argumente sau de
nici unul. Se spune c aceste funcii elementare sunt funcii degenerate de dou argumente.
funcia f 8 corespunde produsului logic al funciilor f10 i f12 i se numete
funcia conjuncie sau funcia I:
f 8 ( x1 , x2 ) = f10 ( x1 , x2 ) f12 ( x1 , x2 ) = x1 x2 ,

(1.27)

funcia f14 corespunde sumei logice a funciilor f10 i f12 , numindu-se funcia
disjuncie sau funcia SAU:
f14 ( x1 , x2 ) = f10 ( x1 , x2 ) + f12 ( x1 , x2 ) = x1 + x2 ,

(1.28)

funcia f1 poart denumirea de funcia lui Pierce sau funcia lui Webb i se noteaz
n modul urmtor:
f1 ( x1 , x2 ) = x1 x2 .

(1.29)

Examinnd valorile acestei funcii se observ c ea reprezint negata funciei disjunctive:


f1 ( x1 , x2 ) = f14 ( x1 , x2 ) = x1 + x2 = x1 x2 .

(1.30)

Avnd n vedere cele de mai sus se mai poate scrie:


f1 ( x1 , x2 ) = f 3 ( x1 , x2 ) f 5 ( x1 , x2 ) = f10 ( x1 , x2 ) f12 ( x1 , x2 ) .

(1.31)

Din relaia precedent se observ c simbolul are rol de operator, definind situaia de
nici x1 i nici x2 . Din acest motiv funcia f1 se mai numete i funcia NICI. n
literatur este ntlnit i sub denumirea de funcia NOR, provenind din limba englez
(NOT OR = NOR).
funcia f 7 se numete funcia lui Sheffer i se simbolizeaz astfel:
f 7 ( x1 , x2 ) = x1 x2 = x1 / x2 .

(1.32)

Examinnd n tabel valorile acestei funcii, se poate observa c ea reprezint negarea


funciei conjunctive de unde i rezult i denumirea de funcie I-NU sau funcie NAND
(n limba englez NOT AND NAND):
f 7 ( x1 , x2 ) = f 8 ( x1 , x2 ) = x1 x2 = x1 + x2 = f10 ( x1 , x2 ) f12 ( x1 , x2 ) .

14

(1.33)

FUNCII BOOLEENE

Corespunztor relaiilor de mai sus se mai poate spune c funcia lui Sheffer definete
situaia de numai x1 sau numai x2 , fapt ce a condus i la denumirea de funcie
NUMAI.
Funciile NICI i NUMAI au o deosebit importan att pentru teoria funciilor
booleene ct i pentru aplicarea practic a acesteia n realizarea circuitelor logice modulare.
funcia f 9 are de asemenea importan pentru teoria funciilor booleene, fiind
denumit funcia echivalen:
f 9 ( x1 , x2 ) = x1 ~ x2 ,

(1.34)

desemnnd echivalena ntre x1 i x2 . Se poate demonstra c aceast funcie poate fi


descris prin funciile conjuncie, disjuncie i negaie:
f 9 ( x1 , x2 ) = x1 ~ x2 = ( x1 + x2 ) ( x1 + x2 ) .

(1.35)

ntr-adevr, folosind tabelele (v. tab. 1.5.a,b), pentru cele dou pri ale identitii, se
obine rezultatul precizat mai sus. ntruct pentru toate combinaiile posibile ale valorilor
argumentelor cele dou pri ale identitii au aceleai valori, demonstraia este fcut.
Tab.1.5 Tabelele funciei echivalen.

x1

x2

x1 ~ x 2

x1

x2

x1

x2

x1 + x2

x1 + x2

( x1 + x2 )( x1 + x 2 )

(a)

(b)

funcia f 6 se numete funcia suma modulo 2 sau funcia SAU-EXCLUSIV i se


noteaz astfel:
f 6 ( x1 , x2 ) = x1 x2 .

(1.36)

Comparnd n tabelul de definiie valorile acestei funcii cu ale funciei f 9 , rezult:


f 6 ( x1 , x2 ) = f 9 ( x1 , x2 ) = x1 ~ x2 = ( x1 + x2 ) ( x1 + x2 ) = x1 x2 + x1 x2 ,

(1.37)

funciile f11 i f13 sunt denumite funciile implicaie:


f11 ( x1 , x2 ) = x1 x2 , implicaia lui x1 n x2 ,

(1.38)

f13 ( x1 , x2 ) = x1 x2 , implicaia lui x2 n x1 , sau implicaia invers.

(1.39)
15

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

Folosind reprezentarea tabelar se poate arta uor c:


f11 ( x1 , x2 ) = x1 x2 = x1 + x2 ,

(1.40)

f13 ( x1 , x2 ) = x1 x2 = x1 + x2 ,

(1.41)

funciile f 2 i f 4 sunt denumite funciile interdicie sau funciile inhibare:


f 2 ( x1 , x2 ) = x1
/ x2 = x1 x2 , x1 inhib x2 ,

(1.42)

f 4 ( x1 , x2 ) = x2
/ x1 = x1 x2 , x2 inhib x1 , sau inhibare invers.

(1.43)

Din definirea funciilor booleene elementare de dou argumente se poate desprinde


concluzia c se pot genera funcii booleene noi prin:
permutarea argumentelor;
introducerea de funcii ca argumente ale noilor funcii.
1.2.3 Reprezentri ale funciilor booleene

Studiul funciilor booleene se face n multe cazuri pe reprezentrile acestora. Exist o


mare diversitate de reprezentri ale funciilor booleene care pot fi grupate n reprezentri
grafice (geometrice) i analitice [3,10,20,28]. Reprezentrile din prima categorie sunt
intuitive i se folosesc pentru studiul funciilor booleene cu un numr redus de argumente. Din aceast categorie fac parte reprezentrile prin tabel de adevr, diagrame
Euler, Venn, Veitch sau Karnaugh, prin grafuri sau pe hipercub. A doua categorie asigur
o reprezentare prin expresii algebrice sau sub form de coduri. Reprezentrile din aceast
categorie permit studiul funciilor booleene cu un numr arbitrar de argumente, cu posibilitatea utilizrii mijloacelor numerice de calcul. n continuare se va insista asupra celor
mai folosite reprezentri ale funciilor booleene n scopuri tehnice [10,20,28].
1.2.3.1 Reprezentarea funciilor booleene prin tabel de adevr
Acest mod de reprezentare corespunde reprezentrii tabelare a funciilor booleene i de
care s-a uzitat pn aici. Tabelele denumite de adevr sau combinaionale conin n
partea stng un numr de linii egal cu numrul combinaiilor posibile ale valorilor
argumentelor, iar n partea dreapt valorile funciei pentru fiecare combinaie de valori
ale argumentelor. Tabelul de adevr este cea mai complet reprezentare a unei funcii
booleene deoarece pentru fiecare combinaie posibil a valorilor argumentelor se indic
valoarea funciei.
1.2.3.2 Reprezentarea funciilor booleene prin diagrame Karnaugh
Diagrama Karnaugh este tot o reprezentare tabelar dar, n raport cu tabelul de adevr,
este mai compact datorit dispunerii bidirecionale a valorilor argumentelor.
n cazul general al unei funcii booleene de n argumente, diagrama Karnaugh conine 2 p linii i 2 q coloane, astfel ca p + q = n . Dac n este par, n mod obinuit p = q ,
iar dac n este impar, q = p + 1 (sau p = q + 1 ). Rezult o diagram cu 2 p 2 q = 2 n cm16

FUNCII BOOLEENE

puri (compartimente sau locaii) n care se trec valorile funciei pentru combinaiile
corespunztoare ale valorilor argumentelor. Valorile argumentelor se indic la capetele
liniilor i coloanelor diagramei.
Veitch a fost acela care a introdus acest mod de reprezentare a funciilor booleene.
n reprezentarea propus de acesta combinaiile valorilor argumentelor pe linii i coloane
se dispun conform codului binar natural. Aceast dispunere conduce la dificulti n
folosirea diagramei pentru simplificarea funciilor booleene (pentru care a i fost conceput). Ceva mai trziu Karnaugh propune construirea acestor diagrame folosind codul
Gray (binar reflectat) care fiind un cod continuu i ciclic asigur adiacena ntre
cmpurile diagramei. Din motivele artate, aceast reprezentare mai este cunoscut i ca
diagrama Veitch-Karnaugh.
Not. ntr-un sistem de numeraie n baza B, dou cifre sunt adiacente dac difer cu
o unitate modulo B. n sistemul de numeraie binar dou cifre vor fi adiacente dac difer
cu cifra 1.
Mai multe amnunte despre modul concret de construcie i de utilizare al diagramei Karnaugh se vor prezenta la paragraful dedicat minimizrii funciilor booleene prin
metoda diagramelor Karnaugh (v. 2.3.1).
1.2.3.3 Reprezentarea analitic a funciilor booleene

Se consider combinaia valorilor argumentelor unei funcii booleene de n argumente


(~
x1 , ~
x 2 ,K , ~
xn ) . Numrul i ataat n-uplului i definit prin relaia:
i=~
x1 2 n 1 + ~
x2 2 n 2 + + ~
xn 2 0 ,

(1.44)

se numete numrul combinaiei.


De asemenea, se consider funcia Pi ( x1 , x2 ,K , xn ) care se definete n modul
urmtor:
1 , dac numrul combinaiei este i ,
Pi =
0 , n caz contrar .

(1.45)

Aceast funcie se numete constituent al unitii sau funcia caracteristic a unitii.


Presupunnd c se cunoate expresia analitic a funciei Pi , a crei determinare explicit
se va face mai trziu, atunci se poate enuna urmtoarea teorem:
Teorem. Orice funcie boolean dat prin tabel de adevr poate fi scris sub
urmtoarea form analitic:
f ( x1 , x2 ,, x n ) = Pi1 + Pi2 + + Pik =

i j M1

Pi j ,

(1.46)

unde M 1 este mulimea numerelor combinaiilor valorilor argumentelor pentru care funcia ia valoarea 1.
Reprezentarea unei funcii booleene se poate face i sub alt form analitic dac se
consider funcia S i ( x1 , x2 ,K, xn ) definit n modul urmtor:
17

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

0 , dac numrul combinaiei este i ,


Si =
1 , n celelalte cazuri.

(1.47)

Funcia S i va fi denumit funcia caracteristic a lui zero sau constituentul lui zero. Din
relaiile de definiie (1.45) i (1.47) rezult c Pi ( x1 , x2 ,K , xn ) = S i ( x1 , x2 ,K , xn ) .
ntr-un mod similar se poate arta c orice funcie boolean de n argumente poate fi
reprezentat analitic i sub forma:

f ( x1 , x2 ,, xn ) = S i1 S i2 S ik =

i j M 0

Si j ,

(1.48)

unde M 0 este mulimea numerelor combinaiilor valorilor argumentelor pentru care funcia ia valoarea 0.
Tab.1.6 Valorile variabilei booleene
x a pentru toate combinaiile
posibile ale lui xi i ai .

xi

ai

xiai

xi0 = xi = 0 = 1

x1i = xi = 0

xi0

xi1 = xi = 1

= xi = 1 = 0

Reprezentarea funciei booleene sub forma


(1.46) se numete reprezentare disjunctiv iar sub
forma (1.48), reprezentare conjunctiv.
Pentru a se stabili expresiile funciilor Pi i
S i se introduce urmtoarea notaie pentru o variabil boolean:
x , dac a = 1 ,
xa =
x , dac a = 0 .

(1.49)

Se consider expresia boolean:

x1a1 x 2a2 x nan .

(1.50)

n aceast conjuncie de n argumente orice termen xiai este 1 dac i numai dac xi = ai .
ntr-adevr, considernd toate combinaiile posibile pentru xi i ai i innd cont de
(1.49) se obin rezultatele concentrate din tabelul 1.6. Conform celor artate rezult c
expresia (1.50) este 1 dac i numai dac x1 = a1 , x2 = a 2 ,, xn = a n , fiind 0 pentru
toate celelalte cazuri. Avnd n vedere definiia (1.45) a funciei Pi , rezult:
Pi ( x1 , x2 ,, xn ) = x1a1 x2a2 xnan ,

(1.51)

cu condiia ca i = a1 2 n1 + a2 2 n2 + K + a n 2 0 . n aceste condiii, orice funcie boolean


poate fi descris printr-o expresie analitic de forma:
f FCD ( x1 , x2 ,, xn ) = ( x1a1 x2a2 xnan ) ,

(1.52)

unde, prin s-a notat faptul c se consider disjuncia termenilor conjunctivi (1.50)
1

18

FUNCII BOOLEENE

pentru care funcia f ia valoarea 1.


Reprezentarea funciei booleene sub forma (1.52) se numete forma canonic
disjunctiv (FCD) a funciei, iar termenii (1.50), termeni canonici conjunctivi (TCC) sau
termeni minimali (mintermi).
Teorema prezentat anterior i formula (1.52) permit stabilirea algoritmului trecerii
de la tabelul de adevr al unei funcii booleene la FCD.
Algoritmul 1.1. Forma canonic disjunctiv a unei funcii booleene dat prin tabel
de adevr (sau diagram Karanugh) se obine astfel:
1. Din tabelul de adevr (diagrama Karnaugh)
Tab.1.7 Tabelul de adevr al funciei
booleene f, din exemplu.
se consider toate n-uplele pe care funcia le aplic
n 1.
x1 x2 x3
f ( x1 , x 2 , x3 )
2. Se scriu termenii canonici conjunctivi care
corespund acestor n-uple. n aceti termeni argu0
0
0
0
mentul xi intr ca atare sau negat dup cum n n0
0
1
1
uplul considerat are valoarea 1 sau respectiv 0.
0
1
0
1
3. Termenii canonici conjunctivi obinui se
reunesc cu operaia de disjuncie.
0
1
1
0
Exemplu. Se consider funcia f ( x1 , x2 , x3 )
1
0
0
1
dat prin tabelul de adevr reprezentat n tabelul
1.7. Se consider combinaiile valorilor argu1
0
1
1
mentelor pentru care funcia are valoarea 1. Se
1
1
0
0
scriu TCC corespunztori:
x1 x 2 x3 , x1 x 2 x3 , x1 x 2 x3 , x1 x 2 x3 , x1 x 2 x3 .

Reunind TCC prin operaia de disjuncie se obine FCD:

f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x 2 x3 + x1 x2 x3 + x1 x2 x3 .

(1.53)

Corespunztor relaiei (1.48) i definiiei funciilor caracteristice, se poate scrie:

f ( x1 , x2 ,, xn ) = S i j = Pi j = x1a1 x2a2 xnan .


0

(1.54)

Aplicnd relaiile De Morgan, rezult:

f ( x1 , x2 ,, xn ) = ( x1a1 + x2a2 + + xnan ) ,

(1.55)

unde, prin s-a notat faptul c se consider numai n-uplele pentru care funcia ia va0

loarea 0.
Din relaia (1.55) rezult:
S i ( x1 , x2 ,, xn ) = x1a1 + x2a2 + + xnan ,

(1.56)
19

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

cu condiia ca i = a1 2 n1 + a 2 2 n2 + K + a n 2 0 .
Rezultatele obinute n tabelul 1.6 confirm condiia impus i totodat permit verificarea identitii xiai = xiai . n acest caz relaia (1.55) se mai poate scrie:

f FCC ( x1 , x2 ,, xn ) = ( x1a1 + x2a2 + + xnan ) .

(1.57)

Relaiile (1.55) i (1.57) sunt cunoscute sub denumirea de form canonic


conjunctiv (FCC), fiind duala formei canonice disjunctive. Termenii disjunctivi
( x1a1 + x2a2 + + xnan ) sunt numii termeni canonici disjunctivi (TCD) sau termeni maximali (maxtermi). i n acest caz relaiile (1.55) i (1.57) permit stabilirea algoritmului
realizrii FCC dac se cunoate tabelul funciei.
Algoritmul 1.2. Forma canonic conjunctiv a unei funcii booleene dat prin tabel
de adevr se obine n modul urmtor:
1. Din tabelul de adevr al funciei se consider toate n-uplele pe care funcia le
aplic n 0.
2. Se scriu termenii canonici disjunctivi care corespund acestor n-uple. n expresia
TCD argumentul xi intr ca atare sau negat dup cum n combinaia considerat are
valoarea 0 sau 1.
3. Termenii canonici disjunctivi obinui la pasul 2 se reunesc prin semnul conjunciei.
Exemplu. S se stabileasc FCC pentru funcia dat prin tabelul din exemplul precedent. Conform algoritmului prezentat mai sus rezult urmtorii TCD: x1 + x2 + x3 ,
x1 + x2 + x3 , x1 + x2 + x3 . Forma canonic conjunctiv rezult imediat:
f FCC ( x1 , x2 , x3 ) = ( x1 + x2 + x3 ) ( x1 + x2 + x3 ) ( x1 + x2 + x3 ) .

(1.58)

Cele dou forme canonice, disjunctiv i conjunctiv, sunt unice pentru o funcie
boolean complet definit. Alegerea unei forme sau a celeilalte depinde de criteriul care
st la baza dezvoltrii funciei n form analitic. Dac acest criteriu este cel al economicitii atunci alegerea FCD sau FCC depinde de forma tabelului funciei respective.
Astfel, dac majoritatea valorilor funciei sunt zero este de preferat FCD; n caz contrar o
economie mai mare o asigur FCC.
1.2.3.4 Reprezentarea funciilor booleene prin scheme logice (logigrame)
Schema logic (logigrama, reeaua de comutare sau, mai rar, schema de operatori) este o
reprezentare grafic a funciei booleene obinut prin adoptarea unor semne (simboluri)
convenionale pentru operatorii logici. n general, numim operator n-ar o funcie boolean de n variabile y = f ( x1 , x2 ,K , xn ) [3,20]. Mulimea operatorilor utilizai n practic este determinat de posibilitatea realizrii acestora prin elemente fizice. Schema
logic indic de fapt topologia unui circuit logic care materializeaz o funcie boolean.
Ca urmare, simbolurile grafice adoptate pentru operatorii logici constituie o reprezentare
a circuitelor logice care materializeaz funciile logice elementare. Una dintre posi-

20

FUNCII BOOLEENE

bilitile de realizare fizic a acestora o reprezint porile logice (v. 2.3.2). n tabelul 1.8
sunt indicate cele mai utilizate simboluri grafice pentru principalele funcii elementare de
dou argumente, n conformitate cu trei sisteme de norme:
normele Comisiei Electrotehnice Internaionale (CEI)2, care sunt recunoscute internaional;
normele americane MIL-STD-806 B (MIL)3,4, care sunt foarte frecvent utilizate n
practic (adoptate i n literatura de specialitate romneasc);
normele germane DIN 40700, ediia 1963.
Folosind aceste simboluri grafice expresiile algebrice ale funciilor booleene pot fi
reprezentate sub form de scheme logice.
Exemplu. S se reprezinte prin schem logic funcia f FCD ( x1 , x2 , x3 ) = x1 x2 x3 +
+ x1 x2 x3 + x1 x2 x3 + x1 x2 x3 . Avnd n vedere tabelul 1.8, n figura 1.1 este prezentat
logigrama funciei date. Schema logic indic i nivelele logice compuse din elemente
fizice care opereaz simultan. De cte ori este posibil, elementele aceluiai nivel logic se
reprezint pe aceeai coloan.
x1

x2

x3

NU

SAU

Fig.1.1 Schema logic i nivelele logice pentru funcia f din exemplu.

1.2.3.5 Reprezentarea funciilor booleene prin diagrame de timp


Diagrama de timp reprezint grafic o funcie boolean prin forma semnalelor corespunztoare argumentelor i funciei. Cifrele binare 0 i 1 se ataeaz semnalelor de nivel
cobort i respectiv ridicat, astfel nct s existe o difereniere net a acestora.
Reprezentarea prin diagrame de timp este deosebit de util n studiul sistemelor secveni2

COMMISSION ELECTROTECHNIQUE INTERNATIONALE, Publication 617-12, Symboles graphiques


recommands, cinquime partie: Oprateurs logiques binaires, Bureau Central de la Comission
Electrotechnique Internationale, Genve, 1972.
3
Military Standard, Graphic Symbols for Logic Diagrams, MIL-STD-806 B, Department of Defense,
Washington, 1962.
4
ANSI, IEEE, American National Standard, graphic symbols for logic diagrams (two-state devices), IEEE
Std 91-1984, ANSI Y 32.14-1984, Institute of Electric and Electronics Engineers, New York, 1984.

21

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

Tab.1.8 Principalele funcii elementare de dou argumente i simbolurile lor grafice.

22

FUNCII BOOLEENE

ale n a cror evoluie intervine i timpul. De asemenea, folosind aceast reprezentare se


pot studia fenomenele tranzitorii de cox1
mutare i fenomenele de hazard datorate
funcionrii neideale a elementelor care
1
0
materializeaz variabile sau funcii boolet
(a) x2
ene.
Exemplu. S se reprezinte prin dia1
gram de timp funcia logic f ( x1 , x2 ) =
0
t
= x1 x2 , cunoscnd evoluia n timp a
semnalelor ataate argumentelor (v. fig.
1.2,a). Avnd n vedere tabelul de definiie
al funciei NUMAI, n figura 1.2,b se d
reprezentarea prin diagram de timp a
funciei considerate, pentru evoluia dat a
argumentelor.

f
(b)

1
0

Fig.1.2 Diagrama de timp pentru funcia din exemplu.

1.2.4 Sisteme complete de funcii


Aa cum s-a mai precizat (v. 1.2.2) funciile booleene se pot forma prin superpoziia
funciilor elementare [3,10,20]. Problema formrii funciilor booleene poate fi privit i
astfel: s se stabileasc un sistem de funcii care s poat reprezenta orice funcie boolean i n plus, dac acest sistem exist, s conin un numr ct mai mic de funcii.
Evident, problema formrii funciilor booleene pus n acest mod are o mare importan
pentru sinteza schemelor logice.
Definiie. Sistemul de funcii booleene ( f1 , f 2 ,K , f k ) se numete complet (baz
respectiv sistem funcional complet de baz) n clas R, dac orice funcie aparinnd
lui R poate fi reprezentat prin superpoziia funciilor ( f1 , f 2 ,K , f k ) .
n calitate de clas R se poate considera clasa tuturor funciilor booleene care
depind de n argumente B 2n . Conform celor artate n prima parte a subcapitolului 1.2, nun

mrul total al funciilor care depind de n argumente este egal cu 2 2 . Deci, n clasa B 2n
n

exist un sistem complet compus din cele 2 2 funcii ale acestei clase, dar acest sistem
este trivial. n 1.2.3 s-a stabilit c orice funcie boolean poate fi reprezentat sub FCD
sau FCC. Rezult c sistemul de funcii compus din conjuncie, disjuncie i negare
constituie un sistem complet de funcii. Se pune problema dac sistemul complet de
funcii (+, , ) conine numrul strict necesar pentru reprezentarea oricrei funcii
booleene. Pentru ca un sistem complet s fie minim (baz minimal) este necesar s
satisfac urmtoarea definiie:
Definiie. Un sistem complet de funcii ( f1 , f 2 ,K , f k ) este minim (baz minimal)
dac nlturnd oricare dintre funciile aparinnd sistemului acesta devine incomplet.
Completitudinea sistemului de funcii (+, , ) permite demonstrarea
completitudinii oricrui alt sistem de funcii arbitrar format. Pentru aceasta este suficient
s se arate c funciile sistemului ales pot reprezenta funciile sistemului (+, , ).
Corespunztor celor artate mai sus, interes practic prezint evidenierea urmtoa-

23

FUNCII BOOLEENE

relor teoreme:
Teorem. Sistemul de funcii format din conjuncie i negaie (, ), este un
sistem complet n clasa B 2n .
Teorem. Sistemul de funcii format din disjuncie i negaie (+, ), este un
sistem complet n clasa B 2n .
Dac conform celor dou teoreme prezentate , sistemele (, ) i (+, ) sunt
complete, n acelai timp formeaz baze minimale n raport cu sistemul (+, , ).
Teorem. Funcia lui Sheffer formeaz n clasa B 2n un sistem complet.
Teorem. Funcia lui Pierce formeaz n clasa B 2n un sistem complet.
Ultimele dou teoreme prezentate sunt deosebit de importante pentru aplicarea
practic la sinteza circuitelor logice, permind folosirea unui singur tip de circuit pentru
materializarea oricrei funcii booleene. n acest context devine important trecerea de la
FCD i FCC la forme cu funcii Pierce sau Sheffer.Aceast trecere este cunoscut i sub
denumirea de implementare.
1.2.4.1 Implementarea FCD i FCC cu funcii Pierce i Sheffer
Prin analogie cu definirea funciilor elementare Pierce i Sheffer pentru dou argumente,
se vor defini aceste funcii pentru n argumente folosind tabelul de adevr:
Tab.1.9 Generalizarea funciilor elementare Pierce i Sheffer.

x1

x2

x3

xn1

xn

Pierce

Sheffer

Conform acestui tabel, rezult:


funcia Pierce de n argumente: Pn = x1 x2 xn = x1 + x2 + + xn ;
funcia Sheffer de n argumente: S n = x1 x2 xn = x1 x2 xn .
Pentru n = 2 din tabelul de adevr se obin funciile Pierce i Sheffer de dou
argumente, iar pentru n = 1 ambele funcii se transform n funcia negaie: P1 = S1 = x .
Exprimarea prin funcii Pierce a unei funcii booleene se obine considernd FCC a
acesteia i negnd de dou ori termenii disjunctivi:
f FCC ( x1 , x2 ,, xn ) = ( x1a1 + x2a2 + + xnan ) = ( x1a1 + x2a2 + + xnan ) .
0

23

(1.59)

FUNCII BOOLEENE

Aplicnd relaiile De Morgan i innd cont de definirea funciei Pierce de n argumente,


se obine:
f ( x1 , x2 ,, xn ) = x1a1 x2a2 xnan = ( x1a1 x2a2 xnan ) ,
0

(1.60)

unde prin s-a notat faptul c se consider numai n-uplele pe care funcia le aplic n
0

zero.
Concluzie. Pentru implementarea unei funcii booleene cu funcii Pierce se pleac
de la FCC i se nlocuiesc operaiile + i cu operaia .
Avnd n vedere cele artate mai sus se poate stabili algoritmul implementrii
oricrei funcii booleene cu funcii NICI plecnd de la tabelul de adevr sau de la diagrama Karnaugh.
Tab.1.10 Tabelul de adevr al funciei
Algoritmul 1.3. Implementarea unei funcii
booleene f din exemplu.
booleene de n argumente cu funcii NICI plecnd
de la tabelul de adevr se obine astfel:
x1 x2 x3
f ( x1 , x 2 , x3 )
1. Se consider n-uplele pe care funcia le
0
0
0
0
aplic n 0.
2. Fiecrui n-uplu considerat i corespunde un
0
0
1
1
termen implementat cu funcii NICI. n aceti
0
1
0
1
termeni fiecare argument intr ca atare sau negat
dup cum n combinaia respectiv are valoarea 0
0
1
1
0
sau respectiv 1.
1
0
0
1
3. Toi termenii obinui la pasul 2 se reunesc
prin simbolul funciei NICI.
1
0
1
0
4. Excepie de la punctul 3 face situaia cnd
funcia are un singur n-uplu aplicat n 0. n acest
1
1
0
1
caz termenul repectiv se neag. Explicaia rezult
1
1
1
1
din faptul c x x = x .
Exemplu. S se implementeze cu funcii NICI funcia boolean dat prin tabelul de
adevr alturat.
Conform algoritmului 1.3, se obine imediat:

f ( x1 , x2 , x3 ) = ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ) .

(1.61)

Dac funcia ar aplica n 0 numai combinaia (1,0,1) ar rezulta:


f ( x1 , x2 , x3 ) = x1 x2 x3 .

(1.62)

Exprimarea prin funcii Sheffer a unei funcii booleene se obine considernd FCD
i negnd de dou ori termenii conjunctivi:
f FCD ( x1 , x2 ,, xn ) = ( x1a1 x2a2 xnan ) = ( x1a1 x2a2 xnan ) .
1

(1.63)

25

BAZELE TEORETICE ALE CIRCUITELOR LOGICE

Aplicnd relaiile De Morgan i innd cont de relaia de definiie a funciei Sheffer


de n argumente rezult:
f ( x1 , x2 ,, xn ) = ( x1a1 x2a2 xnan ) = ( x1a1 x2a2 xnan ) .
1

(1.64)

unde, prin s-a notat faptul c se consider numai n-uplele aplicate de funcie n 1.
1

Concluzie. Pentru implementarea cu funcii Sheffer a unei funcii booleene se pleac de la FCD n care se nlocuiesc simbolurile + i cu simbolul .
Avnd n vedere (1.64) i algoritmul 1.2 se poate stabili i n acest caz un algoritm
pentru implementarea cu funcii NUMAI a unei funcii booleene plecnd de la tabelul de
adevr sau diagram Karnaugh.
Algoritmul 1.4. Implementarea unei funcii booleene de n argumente cu funcii
NUMAI plecnd de la tabelul de adevr se obine astfel:
1. Se consider toate n-uplele pe care funcia le aplic n 1.
2. Fiecrui n-uplu i corespunde un termen implementat cu funcii NUMAI, n care
fiecare variabil se ia ca atare sau negat dup cum n combinaia considerat are valoarea 1 sau respectiv 0.
3. Termenii obinui la pasul 2 se reunesc prin simbolul funciei NUMAI.
4. Excepie de la punctul 3 face cazul cnd funcia aplic n 1 numai un n-uplu; termenul implementat cu funcii NUMAI se neag deoarece x x = x .
Exemplu. S se implementeze cu funcii NUMAI funcia de la exemplul precedent.
Considernd combinaiile valorilor argumentelor pe care funcia le aplic n 1 i
innd cont de algoritmul 1.4, rezult:
f ( x1 , x2 , x3 ) = ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 )
( x1 x2 x3 ) ( x1 x2 x3 ).

(1.65)

Dac ns funcia ar aplica n 1 numai combinaia (0,1,0) atunci:


f ( x1 , x2 , x3 ) = x1 x2 x3 .

26

(1.66)

2
CIRCUITE LOGICE
COMBINAIONALE

2.1 NOIUNI INTRODUCTIVE


Un circuit logic combinaional (CLC) este un circuit de comutare care se caracterizeaz
prin aceea c starea ieirilor sale la un moment dat depinde numai de starea intrrilor sale
la momentul considerat. Legtura ntre starea intrrilor i starea ieirilor circuitului este
dat de funciile de transfer ale acestuia, denumite n acest caz funcii de comutare.
Studiul CLC-urilor se face, aa cum s-a mai precizat (v. 1.2.3), folosind un model
al acestora, schema logic sau reeaua de comutare, n care se face abstracie de caracteristicile constructive ale elementelor care compun circuitul, considerndu-se doar proprietile lor funcionale. Din acest motiv, reelele de comutare au un caracter general,
permind studiul unor clase mari de circuite de comutare.
Un CLC cu n intrri i m ieiri,
reprezentat schematic prin schemaz1
x1
REEA DE
x2
-bloc din figura 2.1, se definete n
z2
COMUTARE
felul urmtor:
COMBINA
IONAL
Definiie. Un circuit de comuzm
x
n
tare avnd intrrile x1 , x2 ,K , xn i ieFig.2.1 Modelul general al unui CLC.
irile z1 , z 2 ,K , z m se numete circuit
logic combinaional, iar modelul su
grafic reea de comutare combinaional dac ieirile sale pot fi exprimate ca m funcii
de comutare de variabilele de intrare x1 , x2 ,K , xn :
z1 = f1 ( x1 , x2 ,, xn ) ,
z 2 = f 2 ( x1 , x2 ,, xn ) ,

(2.1)

z m = f m ( x1 , x2 ,, xn ) ,

27

CIRCUITE LOGICE COMBINAIONALE

unde, funciile f1 , f 2 ,K , f m sunt denumite i funcii proprii ale circuitului.


Dependena de timp nu se marcheaz explicit n relaiile (2.1), ntruct se subnelege c este vorba de variabile considerate la acelai moment de timp.
CLC-ul constituie un caz particular de automat finit [20,28], care poate fi reprezentat formal prin tripletul:
A = A (X , Z, f ) ,

(2.2)

compus din dou mulimi nevide X mulimea semnalelor de intrare i Z mulimea


semnalelor de ieire, ale automatului A i din funcia f definit pe aceste mulimi:

f :X Z.

(2.3)

Independena fa de timp a relaiilor (2.1) (2.3) presupune, aa cum s-a mai


precizat, c la modificarea simultan a variabilelor de intrare ale CLC-ului are loc
modificarea instantanee i simultan a variabilelor de ieire. Aceast ipotez nu este
valabil n cazul CLC-urilor reale datorit ntrzierilor care au loc la propagarea variaiei
vectorului de intrare nspre ieiri. Pe durata procesului tranzitoriu de stabilire a variabilelor de ieire, vectorul ieirilor poate lua valori intermediare diferite de cele finale,
determinate de relaiile (2.1). Ordinea n care se stabilesc valorile finale ale variabilelor
de ieire depinde de diferenele dintre timpii de propagare corespunztori circuitelor
logice elementare utilizate pentru implementarea CLC-urilor. Acest fenomen este denumit hazard combinaional, iar influena lui asupra funcionrii sistemului numeric n care
se ncadreaz CLC-ul trebuie avut n vedere la proiectarea acestuia.
Modalitatea adoptat pentru realizarea fizic a CLC-ului depinde de complexitatea
circuitului, de numrul variabilelor de intrare i ieire, precum i de considerente de
ordin economic. Astfel, implementarea CLC-ului se poate face utiliznd circuite integrate
pe scar mic, medie sau larg. n paragrafele urmtoare se vor prezenta aceste posibiliti de realizare fizic, precum i cteva circuite combinaionale tipice, integrate pe scar medie sau larg.

2.2 ANALIZA CIRCUITELOR LOGICE COMBINAIONALE


n cadrul problemelor de analiz se cunoate structura circuitului i se cere s se stabileasc valorile posibile la ieiri pentru toate combinaiile posibile ale valorilor semnalelor de la intrri. Problemele de analiz se soluioneaz cutnd expresiile funciilor
booleene corespunztoare semnalelor de ieire, ca apoi s se poat stabili valorile lor
pentru diferitele combinaii ale valorilor argumentelor. n general, funciile proprii care se
stabilesc plecnd de la configuraia circuitului se obin sub form normal1. Pentru a
putea stabili toate valorile acestor funcii pentru toate combinaiile valorilor argumentelor
este necesar evidenierea termenilor canonici. Rezult c din punct de vedere matematic
problemele de analiz conduc la necesitatea dezvoltrii funciilor booleene sub forme canonice, pentru a le pune n eviden constituenii. Din cele expuse mai sus se pot formula
etapele care trebuie parcurse n rezolvarea problemelor de analiz:
1

28

Forma normal va fi definit n 2.3.1.

ANALIZA CIRCUITELOR LOGICE COMBINAIONALE

1. Cunoscnd schema logic a circuitului se determin din aproape n aproape


funciile corespunztoare ieirilor.
2. Se dezvolt funciile proprii ale circuitului sub form canonic.
3. Folosind tabelul de adevr, sau diagrama Karnaugh, se stabilesc valorile funciilor pentru toate combinaiile posibile ale argumentelor.
4. O etap opional, dar de multe ori interesant, din punct de vedere practic, este
de a se stabili expresiile minimale ale formelor canonice ale funciilor n vederea unor
posibile simplificri. Aceast etap vizeaz posibilitatea realizrii unui circuit echivalent
cu primul, ns mai economic. Dar, n acest caz este necesar s se cunoasc dac nu
exist i alte criterii de realizare mai puternice dect cel economic (fiabilitate, funcionare
fr hazard).
2.2.1 Analiza schemelor logice combinaionale realizate cu elemente logice I,
SAU, NU

Reeaua de comutare combinaional sau schema logic combinaional reprezint, aa


cum s-a mai precizat, modelul grafic al CLC-ului realizat cu operatori logici. n cazul general, o reea de comutare cu elemente logice are n intrri, x1 , x2 ,K , xn i m ieiri,
z1 , z 2 ,K, z m . Intrrile x1 , x2 ,K , xn se aplic unor elemente logice ale cror ieiri pot fi
ieiri ale reelei sau intrri pentru alte elemente logice ale acesteia. n figura 2.2 se prezint o reea de comutare cu elemente logice, cu 10 intrri i 3 ieiri.
x1
x2
x3

z1

x4
x5
x6

z2

x7
x8
x9
x10

z3
Fig.2.2 Reea de comutare cu elemente logice I, SAU, NU.

Fiecare element logic din reea corespunde unei pori logice din circuitul de comutare modelat. n schemele logice nu se admite legarea ieirilor elementelor logice dect
prin intermediul altor elemente logice. Atunci cnd circuitul de comutare modelat conine
pori logice care au proprietatea de realizare a funciilor logice cablate, se reprezint simbolic n reea elementul logic prin care sunt legate din punct de vedere funcional ieirile
porilor respective.
Semnalele aplicate la intrrile unui CLC cu pori parcurg, n general, mai multe
pori pn se obin semnalele de ieire. Acest lucru se reflect n reea prin numrul
29

CIRCUITE LOGICE COMBINAIONALE

elementelor logice interpuse ntre intrrile i ieirile reelei. Maximumul numrului de


elemente logice aflate ntre intrrile i ieirile unei reele logice d numrul de nivele
logice al reelei. Numerotarea acestora se face, n mod convenional, de la ieire spre
intrare (v. fig. 2.3,a). n reelele de comutare combinaionale sunt admise legturi inverse,
adic legarea ieirii unui element logic la intrrile elementelor logice precedente acestuia
(v. fig. 2.3,b), cu condiia respectrii definiiei CLC-ului. Trebuie menionat ns c orice
reea de elemente logice fr legturi inverse este combinaional, n schimb numai
anumite reele cu legturi inverse satisfac aceast condiie. Reelele cu elemente logice
fr legtur invers se mai numesc grafuri booleene.
x1
x2

x1
x3

4
b

x3

x5

c
5

x4
x6

2
(a)

x2

a
1 nivelul
(b)

Fig.2.3 Reele de comutare fr legtur invers (a) i cu legtur invers (b).

Existena unei legturi inverse ntr-o reea de comutare cu elemente logice se poate
determina folosind urmtoarea regul de numerotare a elementelor [22]:
Regul.
1. Elementele reelei ale cror intrri fac toate parte din mulimea intrrilor reelei
X = {x1 , x2 ,K , xn } , se numeroteaz, ntr-o ordine arbitrar, cu numerele 1 pn la k,
unde k este numrul elementelor ce ndeplinesc aceast condiie.
2. Elementele reelei ale cror intrri sunt fie intrri din mulimea X, fie ieiri ale
elementelor numerotate, la punctul 1, respectiv 2, se numeroteaz n continuare cu
numerele k + 1 pn la m, unde m k este numrul elementelor ce ndeplinesc aceast
condiie.
3. Dac procednd n acest fel s-au putut numerota toate elementele reelei, adic m
este numrul de elemente logice din reea, rezult c reeaua nu are legturi inverse. n
caz contrar n reea exist cel puin o legtur invers.
Prin procedura de mai sus se face de fapt o ordonare parial a elementelor logice
din reea. Aceast ordonare nu este posibil dect atunci cnd un anumit element nu mai
poate primi numr de ordine, deoarece unele dintre intrrile sale provin de la elemente
nenumerotate care succed elementul dat , ceea ce nseamn c exist o legtur invers.
Aplicnd regula de mai sus pentru reeaua din figura 2.3,b se constat c nu este
posibil o ordonare parial a tuturor elementelor reelei, prin urmare reeaua are o
legtur invers.
Pentru reelele la care se poate face o ordonare parial a elementelor, deci care nu
au legturi inverse, se poate scrie expresia ieirii fiecrui element logic, n ordinea
numerotrii acestora, ca o funcie de comutare de variabilele de intrare ale reelei, de
30

ANALIZA CIRCUITELOR LOGICE COMBINAIONALE

unde rezult c i n expresia ieirii intr numai variabilele de intrare ale reelei. Funcia
de comutare a unei asemenea reele depinde deci numai de variabilele de intrare, prin urmare reeaua este combinaional. Pentru reeaua logic din figura 2.3,a, se obine:
a = x1 + x2 ,

(2.4 a)

b = x 2 + x3 ,

(2.4 b)

d = x 4 x5 x 6 ,

(2.4 c)

c = a b = ( x1 + x2 )( x2 + x3 ) ,

(2.4 d)

z = c + d = ( x1 + x2 )( x2 + x3 ) + x4 x5 x6 .

(2.4 e)

Observaie. Pentru ca expunerea s nu devin dificil de urmrit nu se vor exemplifica toate punctele algoritmului .
Din relaia (2.4 e) rezult c z este o funcie numai de variabilele de intrare ale
reelei, deci reeaua din figura 2.3,a este o reea combinaional.
Pentru reelele care au legturi inverse expresia ieirii se poate scrie numai dac se
introduc variabile de intrare secundare datorate legturilor inverse. Pentru ca o asemenea
reea s fie combinaional trebuie ca funcia de comutare realizat de reea s nu depind
dect de variabilele de intrare ale reelei adic variabilele de intrare secundare s fie
neeseniale. Faptul c variabilele secundare sunt neeseniale se poate vedea numai n
tabelul de adevr al funciei considerate. Din acest motiv, pentru a se dovedi c o reea de
comutare cu elemente logice i legturi inverse este combinaional se ntocmete un tabel de adevr n care se dau toate valorile posibile, att pentru variabilele de intrare principale, ct i pentru cele secundare (de exemplu, variabila a din figura 2.3,b). Dac din
acest tabel rezult c valoarea funciei de comutare realizat de reea nu depinde de
valorile variabilelor secundare reeaua este combinaional. Din cele prezentate rezult c
oricrei reele de comutare combinaionale cu legturi inverse i corespunde cel puin o
reea de comutare combinaional fr legtur invers.
Avnd n vedere faptul c
x1
a
reelele de comutare cu elemente logice, fr legtur invers
x2
sunt reprezentative pentru reelele combinaionale cu elemente
z
logice, n cele ce urmeaz se vor
trata numai acestea.
Reelele de comutare comx3
x4
binaionale cu elemente logice
c
x5
b
cu o singur ieire, la care fiecare dintre intrrile reelei se aFig.2.4 Reea combinaional sub form de arbore boolean.
plic la un singur element logic,
iar ieirea unui element logic poate fi aplicat ca intrare la un singur element logic se
numete arbore boolean. Arborele boolean este un caz particular al grafului boolean. Un
exemplu de arbore boolean este dat n figura 2.4.
31

CIRCUITE LOGICE COMBINAIONALE

2.2.2 Analiza schemelor logice combinaionale realizate cu elemente logice INU i SAU-NU

Pentru a se putea scrie mai uor expresia ieirii unei reele de comutare realizate cu
elemente logice I-NU i SAU-NU, trebuie observat c o variabil de intrarea apare
complementat n expresia ieirii unei reele dac a parcurs un numr impar de elemente
de inversare (negare), respectiv necomplementat dac a parcurs un numr par de asemenea elemente. Numerotnd nivelele de inversare de la ieire spre intrare i innd cont de
teoremele lui De Morgan i de observaia de mai sus rezult urmtoarea regul pentru
exprimarea operaiei realizate de un element logic I-NU, respectiv SAU-NU aflat ntrun anumit nivel [22]:
Regul. Un element logic I-NU (SAU-NU) realizeaz operaia SAU (I) asupra
variabilelor de intrare complementate dac se afl ntr-un nivel de inversare impar, respectiv operaia I (SAU), asupra variabilelor de intrare necomplementate dac se afl
ntr-un nivel de inversare par.
Pe baza acestei reguli se poate formula urmtorul algoritm de analiz a unei reele
de comutare realizate cu elemente logice I-NU i SAU-NU:
Algoritmul 2.1.
1. Se consider elementul logic de la care se obine ieirea relaiei ca fiind n primul
nivel de inversare, elementele precedente n al doilea .a.m.d.
2. Se consider c toate elementele logice I-NU din nivelele impare realizeaz
operaia logic SAU asupra intrrilor.
3. Se consider c toate elementele logice I-NU din nivelele pare realizeaz
operaia logic I asupra intrrilor.
4. Se consider c toate elementele logice SAU-NU din nivelele impare realizeaz
operaia logic I asupra intrrilor.
5. Se consider c toate elementele logice SAU-NU din nivelele pare realizeaz
operaia logic SAU asupra intrrilor.
6. Toate variabilele de intrare care se aplic elementelor logice din nivelele impare
se iau complementate.
7. Toate variabilele de intrare care se aplic elementelor logice din nivelele pare se
iau necomplementate.
8. Aplicnd regulile 17 pentru toate elementele logice din reea, respectiv pentru
toate variabilele de intrare se obine expresia boolean a ieirii reelei.
Pentru reelele cu mai multe ieiri se aplic algoritmul 2.1 pentru fiecare ieire. n
acest caz, un anumit element logic poate fi ntr-un nivel par, raportat la una dintre ieiri i
ntr-un nivel impar, raportat la o alt ieire.
Exemplu. Se consider reeaua de comutare din figura 2.5. Folosindu-se algoritmul
2.1 s se fac analiza acestei reele.
Aplicnd algoritmul 2.1 pentru obinerea expresiei ieirii z1 a reelei din figura 2.5,
rezult:
1. Poarta 5 (I-NU) este n nivel impar (1); se consider c realizeaz operaia SAU.
2. Poarta 4 (I-NU) este n nivel par (2); se consider c realizeaz operaia I, iar
variabila de intrare x6 apare n expresia ieirii z1 sub form necomplementat.
3. Poarta 3 (SAU-NU) este n nivel par (2); se consider c realizeaz operaia SAU,
iar variabila de intrare x3 apare n expresia ieirii z1 sub form necomplementat.
32

ANALIZA CIRCUITELOR LOGICE COMBINAIONALE

x1
x2
x4
x5

x3
1
2

a
x6

Nivelul logic:
Funcia z1
3
Funcia z2
4

z1

c
4

d
2
3

x7

z2

1
2

Fig.2.5 Analiza unei reele realizate cu elemente I-NU i SAU-NU.

4. Poarta 2 (SAU-NU) este n nivel impar (3); se consider c realizeaz operaia I,


iar variabilele de intrare x4 i x5 apar n expresia ieirii z1 sub form complementat.
5. Poarta 1 (I-NU) este n nivel impar (3); se consider c realizeaz operaia SAU,
iar variabilele de intrare x1 i x2 apar n expresia ieirii z1 sub form complementat.
Prin urmare, expresia logic a ieirii z1 este:
z1 = [( x1 + x2 ) + x3 ] + [( x4 x5 ) x6 ] = x1 + x2 + x3 + x4 x5 x6 .

(2.5)

Aplicnd algoritmul 2.1 pentru obinerea expresiei ieirii z 2 a reelei din figura 2.5,
rezult:
1. Poarta 6 (SAU-NU) este n nivel impar (1); se consider c realizeaz operaia I,
iar variabila de intrare x7 apare n expresia ieirii z 2 sub form complementat.
2. Poarta 5 (I-NU) este n nivel par (2); se consider c realizeaz operaia I.
3. Poarta 4 (I-NU) este n nivel impar (3); se consider c realizeaz operaia SAU,
iar variabila de intrare x6 apare n expresia ieirii z 2 sub form complementat.
4. Poarta 3 (SAU-NU) este n nivel impar (3); se consider c realizeaz operaia I,
iar variabila de intrare x3 apare n expresia ieirii z 2 sub form complementat.
5. Poarta 2 (SAU-NU) este n nivel par (4); se consider c realizeaz operaia SAU,
iar variabilele de intrare x4 i x5 apar n expresia ieirii z 2 sub form necomplementat.
6. Poarta 1 (I-NU) este n nivel par (4); se consider c realizeaz operaia I, iar
variabilele de intrare x1 i x2 apar n expresia ieirii z 2 sub form necomplementat.
Prin urmare:
z 2 = [( x1 x2 ) x3 ] [( x4 + x5 ) + x6 ] x7 = x1 x2 x3 x7 ( x4 + x5 + x6 ) .

(2.6)

Pentru a se pune n eviden avantajul utilizrii algoritmului 2.1, n analiza reelelor


de comutare realizate cu elemente logice I-NU i SAU-NU, n raport cu metoda
clasic (prin care se scriu, pas cu pas, operaiile logice efectuate de fiecare poart
logic) se vor obine, n continuare, expresiile logice ale ieirilor z1 i z 2 prin cea de a
doua metod menionat:
z1 = b d = b + d ,

(2.7)
33

CIRCUITE LOGICE COMBINAIONALE

b = a + x3 , b = a + x3 ,

(2.8 a,b)

a = x1 x2 = x1 + x2 ,

(2.9)

d = c x6 , d = c x 6 ,

(2.10 a,b)

c = x 4 + x 5 = x 4 x5 ,

(2.11)

z1 = x1 + x2 + x3 + x4 x5 x6 ,

(2.12)

echivalent cu expresia (2.5), respectiv:


z 2 = z1 + x7 = z1 x7 = x1 x2 x3 x7 ( x4 + x5 + x6 ) ,

(2.13)

echivalent cu expresia (2.6).


O reea care conine pe lng elementele logice I-NU i SAU-NU i elemente
logice I i SAU, poate fi analizat folosind algoritmul 2.1, dac se transform n prealabil ntr-o reea avnd numai elemente I-NU, respectiv SAU-NU. Aceast transformare se poate face uor aplicnd urmtoarea regul:
Regul. O reea cu elemente logice I, SAU, I-NU i SAU-NU se transform ntro reea echivalent avnd numai elemente I-NU i SAU-NU, nlocuind fiecare element
I printr-un element I-NU urmat de un inversor i fiecare element SAU cu un element
SAU-NU urmat de un inversor. Elementele inversoare, avnd o singur intrare, pot fi
considerate fie elemente SAU-NU fie elemente I-NU, deci nu vor modifica expresia.
x1
x2

x1
x2

x3
x4

x3
x4
(a)

(b)

Fig.2.6 Transformarea unei reele I/SAU-NU ntr-o reea I-NU/SAU-NU.

Exemplu. Se consider reeaua I/SAU-NU din figura 2.6,a. Folosindu-se regula de


mai sus aceast reea se transform n reeaua echivalent din figura 2.6,b.
Pentru reeaua din figura 2.6,b se obine, aplicnd algoritmul 2.1, expresia:
z = ( x1 + x2 )( x3 + x4 ) .

(2.14)

Expresia (2.14) este echivalent cu expresia (2.15) obinut prin analiza reelei 2.6,a:
z = x1 x2 + x3 x4 .

34

(2.15)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

2.3 SINTEZA CIRCUITELOR LOGICE COMBINAIONALE


Problemele de sintez ale CLC-urilor se definesc n modul urmtor: cunoscnd semnalele
de ieire corespunztoare diferitelor combinaii ale semnalelor de intrare se cere s se
stabileasc structura circuitului sau, cu alte cuvinte, problema sintezei unui CLC const
n gsirea acelei reele de comutare care s realizeze funcia (funciile) de comutare dat
(date). Deci, sinteza CLC-urilor are ca finalitate obinerea efectiv a CLC-urilor cu
elemente logice care satisfac condiiile unui sistem funcional complet de baz (v.1.2.4).
n general, exist mai multe reele de comutare care s realizeze aceeai funcie i
anume toate reelele ale cror expresii asociate sunt echivalente. Prin urmare, problema
sintezei are mai multe soluii. Pentru practic intereseaz acea relaie care corespunde
circuitului realizabil cu cost ct mai mic, pentru tipul de elemente logice dat.
Din cele precizate mai sus se poate defini algoritmul sintezei CLC-ului i care
presupune parcurgerea urmtoarelor etape:
1. Enunul problemei care const n descrierea foarte precis a funcionrii instalaiei ce urmeaz a fi proiectat i care trebuie s reflecte, n mod complet, corespondena intrare-ieire (text, desene, diagrame de timp).
2. Reprezentarea formal a acestei descrieri, de obicei, prin tabel de adevr sau diagrame Karnaugh.
3. Reprezentarea printr-o funcie sau un sistem de funcii a tuturor condiiilor de
comand pentru toate elementele de execuie utilizate. Minimizarea, dac este necesar, a
acestor funcii.
4. Realizarea efectiv a schemei logice cu elemente logice ale unui sistem funcional complet de baz.
5. Analiza schemei logice obinute, pentru a se vedea dac corespunde condiiilor
impuse iniial.
6. Completarea schemei logice cu elemente auxiliare de tipul: de amplificare, de
formare a impulsurilor, de eliminare a hazardului.
2.3.1 Minimizarea funciilor booleene

n acest paragraf se vor prezenta principalele metode de obinere a celei mai simple
forme (expresii booleene) de exprimare a funciilor booleene, denumit form minim.
Scopul miminizrii, n practica proiectrii circuitelor logice, const n obinerea
unei expresii care va costa mai puin i/sau va opera mai rapid dect prin implementarea
expresiei originale. Minimizarea const, n principal, n transformarea formelor canonice
i a formelor normale (parial simplificate) ale funciilor booleene n forme minime ale
acestora. Procesul de minimizare poate fi extrapolat de la simplificarea fiecrei funcii
booleene, la minimizarea corelat a unui ansamblu de funcii booleene.
n capitolul precedent s-a considerat problema reprezentrii funciilor booleene prin
sisteme complete avnd un numr minim de funcii elementare. Acest lucru vizeaz
posibilitatea folosirii unui numr ct mai redus de tipuri de circuite logice pentru
materializarea oricrei funcii booleene. n continuare se va prezenta i un alt aspect al
problemei i anume cel care privete utilizarea unui numr ct mai redus de circuite
standard. Din punct de vedere teoretic aceast problem se reflect n simplitatea
funciilor booleene. n acest sens, trebuie menionat c formele canonice ale funciilor booleene sunt n general neeconomice.
35

CIRCUITE LOGICE COMBINAIONALE

Exemplu. Se d urmtoarea funcie sub FCD:


f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 .
Asociind convenabil termenii i aplicnd apoi proprietatea de distributivitate, se obine:
f ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 ( x3 + x3 ) + x1 x2 ( x3 + x3 ) =
= x1 x2 x3 + x1 ( x2 + x2 ) = x1 x2 x3 + x1 .

(2.16)

Aplicnd din nou proprietatea de distributivitate, rezult:


f ( x1 , x2 , x3 ) = ( x1 + x1 )( x1 + x2 x3 ) = x1 + x2 x3 .

(2.17)

Cele dou forme mai simple obinute din forma canonic sunt evident mai economice.
Dintre ultimele dou forme, evident ultima este cea mai simpl, avnd numrul minim de
argumente (variabile). Din cele prezentate mai sus rezult faptul c obinerea celei mai
simple forme a unei funcii booleene prin aplicarea proprietilor algebrei Boole depinde
de experiena operatorului. Acest fapt a condus la cutarea unor metode sistematice pentru obinerea expresiilor minimale pentru reprezentarea funciilor booleene.
Problema simplificrii funciilor booleene conduce la problema alegerii sistemului
complet i la problema reprezentrii ct mai economice n acest sistem. Pentru precizarea
problemei minimizrii funciilor booleene se consider FCD i se definesc o serie de
noiuni [10,20,23].
Definiie. Conjuncia x1a1 x2a2 K xkak (k < n) , n care fiecare variabil se ntlnete
numai o singur dat, se numete termen normal conjunctiv.
Definiie. Numrul literelor (variabilelor) distincte (negate sau nenegate) ale unui
termen normal conjunctiv se numete rangul termenului normal.
Definiie. Disjuncia termenilor normal conjunctivi se numete form normal disjunctiv (FND).
Din definiiile date rezult c FCD a unei funcii de n argumente este forma la care
toi termenii sunt de rang n. Deci, FCD a unei funcii booleene este forma normal cea
mai complex.
Definiie. Forma normal disjunctiv care conine cel mai mic numr de litere xiai n
comparaie cu toate celelalte FND ale unei funcii date se numete form minim disjunctiv (FMD).
n mod analog se pot face definiri similare dac se pleac de la FCC a unei funcii
booleene. n continuare se va trata problema minimizrii funciilor booleene plecnd de
la FCD, rezultatele putndu-se extinde i pentru FCC.
Se va prezenta n continuare principiul unor metode sistematice de obinere a expresiilor minime pentru funciile booleene i care utilizeaz noiunea de implicant prim. Se
vor defini, mai nti, noiunile de implicaie i implicant.
Definiie. Se spune c o funcie f1 implic o alt funcie f 2 dac pentru orice combinaie de valori ale variabilelor pentru care funcia f1 ia valoarea 1, funcia f 2 ia de asemenea valoarea 1, sau cu alte cuvinte, dac nu exist nici o combinaie de valori ale
variabilelor care genereaz cele dou funcii pentru care, n urma evalurii, f1 s
36

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

primeasc valoarea logic 1 iar f 2 valoarea logic 0. De exemplu, funcia f1 = x1 x2 x3


implic funcia f 2 = x1 x2 x3 + x1 x2 x3 .
Definiie. Se numesc implicani ai unei funcii booleene de n argumente, termenii
conjunctivi de forma k = x1a1 x2a2 K xkak ( k n ) care implic funcia respectiv.
Definiie. Se numesc implicani primi (IP) ai unei funcii booleene de n argumente,
termenii conjunctivi de forma k = x1a1 x2a2 K xkak ( k n ) care implic funcia respectiv,
fr a se mai putea elimina vreo variabil. Din definiie rezult c implicanii primi sunt
termeni de rang minim. De exemplu, dac pentru o funcie boolean de patru argumente
f ( x1 , x2 , x3 , x4 ) au loc relaiile de implicaie:

x1 x2 x3 x4 f ( x1 , x2 , x3 , x4 ) ,

(2.18)

x2 x3 x 4 f ( x1 , x2 , x3 , x 4 ) ,

(2.19)

x2 x3 f ( x1 , x2 , x3 , x4 ) ,

(2.20)

atunci x2 x3 este un implicant prim al funciei.


Implicanii primi ai unei funcii booleene se obin plecnd de la FCD i aplicnd
sistematic la cte doi termeni adiaceni identitatea evident:
ab + ab = a .

(2.21)

Aplicarea identitii (2.21) necesit combinarea a cte doi termeni canonici adiaceni,
operaie denumit alipirea parial sau compunere a vecinilor.
Exemplu. S se stabileasc implicanii primi pentru funcia:

f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 .
Folosind procedeul mai sus menionat i aplicnd (2.21), rezult:
x1 x2 x3 + x1 x2 x3 = x2 x3 , x1 x2 x3 + x1 x2 x3 = x1 x2 .

Termenul x1 x2 x3 nu se poate alipi. Astfel, implicanii primi ai funciei considerate sunt:


x2 x3 , x1 x2 , x1 x2 x3 .
Implicanii primi ai unei funcii booleene se bucur de urmtoarele proprieti:
cnd funcia ia valoarea 0 toi implicanii primi au valoarea 0;
cnd funcia ia valoarea 1 cel puin unul dintre implicanii primi are valoarea 1; aceast proprietate poate fi enunat i n felul urmtor: dac unul dintre implicanii primi
ia valoarea 1 i funcia ia valoarea 1.
Folosind funcia din exemplul precedent se vor verifica proprietile enumerate. n
tabelul 2.1 sunt trecute valorile funciei i ale implicanilor si primi pentru toate
combinaiile posibile ale valorilor argumentelor. Se observ c atunci cnd f = 0 toi
implicanii primi sunt 0 iar cnd f = 1 cel puin unul dintre implicanii primi are valoarea
1. De asemenea, cnd implicanii primi sunt 1 i funcia are valoarea 1.
37

CIRCUITE LOGICE COMBINAIONALE

Este posibil ca n urma alipirilor pariale i aplicrii relaiei (2.21) s se mai poat
aplica implicanilor rezultai i proprietatea de absorbie:
a + ab = a , respectiv duala sa a (a + b) = a .

(2.22)

Tab.2.1 Verificarea proprietilor implicanilor primi.

x1

x2

x3

x 2 x3

x1 x2

x1 x2 x3

f ( x1 , x 2 , x3 )

n literatura de specialitate sunt prezentate mai multe metode de minimizare a


funciilor booleene, fiecare dintre acestea prezentnd anumite avantaje. Metodele de minimizare pot fi grupate n:
metode grafice de minimizare prin matrice de combinaii sau diagrame;
metode algebrice de minimizare.
n cele ce urmeaz sunt alese i prezentate numai cteva dintre acestea, cele mai reprezentative.

2.3.1.1 Minimizarea funciilor booleene pe baza axiomelor i teoremelor algebrei


booleene
Folosind axiomele i teoremele algebrei booleene, o funcie boolean dat sub FCD sau
sub FCC poate fi scris, n cazul general, sub o alt form cu un numr mai mic de
termeni, respectiv factori elementari creia i corespunde o reea cu cost mai redus.
Aceast metod de minimizare a funciei booleene necesit, din partea proiectantului,
mult ndemnare, ingeniozitate i experien, motiv pentru care nu poate fi aplicat cu
succes dect dup o practic ndelungat n proiectarea circuitelor de comutare. Unul
dintre principalele dezavantaje ale metodei l constituie faptul c obinndu-se prin
calcule o anumit form a funciei nu se poate stabili cu uurin dac aceasta este forma
minim sau se mai poate simplifica.

2.3.1.2 Minimizarea funciilor booleene prin metoda Quine-McCluskey


Metoda Quine-McCluskey este o metod algebric de minimizare a funciilor booleene
folosit n cazul funciilor cu numr mare de variabile, pentru care metodele grafice de
minimizare (de exemplu, metoda diagramelor Karnaugh) devin greu de utilizat. Metoda
se bazeaz pe o teorem datorat lui W. V. Quine, care are o mare importan pentru
38

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

abordarea sistematic a minimizrii funciilor booleene i care se enun n felul urmtor:


Teorema lui Quine. Dac n forma canonic disjunctiv a unei funcii booleene se
fac toate operaiile de alipire parial i apoi toate operaiile de absorie, se obine disjuncia implicanilor primi.
Fie un sistem de implicani primi k ai unei funcii de n argumente. Conform teoremei are loc relaia:
f ( x1 , x2 ,, xn ) = k .

(2.23)

Relaia (2.23) trebuie s fie adevrat att pentru f = 0 ct i pentru f = 1 . Atunci cnd
f = 0 , aa cum s-a artat mai sus, toi implicanii primi ai funciei sunt 0, deci i
k = 0 . Cnd f = 1 , va exista cel puin un implicant prim j = 1, astfel c ntreaga
disjuncie din partea dreapt a relaiei (2.23) va avea valoarea 1.
Relaia (2.23) este o form normal disjunctiv a funciei i se numete form
disjunctiv prescurtat (FDP). Aceast form nu este minim deoarece, n general, exist
implicani primi care implic suplimentar funcia. Dup eliminarea implicanilor primi
redundani, rmn numai implicanii primi strict necesari care sunt numii implicanii
primi eseniali (IPE) ai funciei. Disjuncia implicanilor primi eseniali conduce la forma
minim disjunctiv. Din cele prezentate rezult c minimizarea unei funcii booleene date
sub FCD comport dou etape:
1. determinarea FDP prin cutarea implicanilor primi;
2. cutarea reuniunii minimale care conine cel mai mic numr de implicani primi.
Pentru stabilirea reuniunii minimale se construiete tabelul implicanilor primi, n
care fiecare linie corespunde unui implicant prim, iar fiecare coloan unui termen canonic
conjunctiv. Corespondenele ntre termenii canonici i implicanii primi se marcheaz la
intersecia liniilor cu coloanele respective. Se rein numai acei implicani primi necesari
s acopere toate coloanele; acetia sunt implicanii primi eseniali.
n metoda conceput de Quine exist un neajuns determinat de necesitatea
comparrii (alipirii) complete a perechilor de termeni n prima etap. Cu creterea
numrului termenilor canonici care definesc FCD a funciei considerate crete numrul
acestor comparri. Aceast cretere este caracterizat de o funcie factorial. Din acest
motiv, la un numr suficient de mare de mintermi folosirea metodei Quine devine
greoaie. McCluskey a mbuntit prima etap a metodei lui Quine prin transcrierea
binar a termenilor canonici. n acest mod se poate face o sistematizare a comparrii
mintermilor, grupndu-i dup numrul de bii 1. Astfel, n grupa i intr toate numerele
corespunztoare mintermilor care au n transcriere binar i bii 1. Compararea perechilor
se poate face numai ntre grupe vecine, deoarece numai aceste grupe difer ntre ele cu un
singur bit 1. La reprezentarea termenilor normali rezultai prin eliminarea variabilelor, n
locul acestor variabile se trece o linie orizontal.
Completat n modul menionat de ctre McCluskey, metoda de minimizare descris este cunoscut ca metoda Quine-McCluskey [10,20,22,23,...].
Revenind la prima etap, pentru determinarea implicanilor primi ai funciei se
aplic urmtoarea procedur [22]:
Algoritmul 2.2.
1. Se pornete de la FCD a funciei n care termenii canonici sunt dai sub forma
39

CIRCUITE LOGICE COMBINAIONALE

unui produs de variabile fie prin notaia simbolic. Fiecare termen canonic este reprezentat apoi sub form de numr binar, prin n-uplul de zerouri i uniti corespondente termenului respectiv.
2. Termenii canonici astfel scrii se mpart n grupe, n funcie de ponderea acestora, adic de numrul unitilor cuprinse n n-uplul respectiv.
3. Grupele de termeni canonici sunt aranjate pe o coloan, n ordinea cresctoare a
ponderilor. (Acest lucru este util deoarece doi termeni canonici se pot asocia formnd un
subcub 1dimensional2 numai dac fac parte din grupe ale cror ponderi difer cu o
unitate).
4. Se compar fiecare termen canonic al unei grupe cu toi termenii canonici ai
grupei de pondere mai mare cu o unitate. Dac numerele binare respective sunt adiacente,
cei doi termeni canonici se pot asocia formnd un subcub 1dimensional, notat printr-un
numr binar care are pe poziia prin care cei doi termeni componeni difer, o linie
orizontal, ceea ce semnific faptul c variabila corespondent acelei poziii lipsete (este
o variabil redundant); cei doi termeni canonici care au format subcubul 1dimensional
se bifeaz, iar termenul normal care reprezint subcubul rezultat se nscrie pe o nou
coloan. Toi termenii normali (subcuburile 1dimensionale) rezultai n urma comparrii
a dou grupe din coloana termenilor canonici formeaz o grup n coloana subcuburilor
1dimensionale. Prin urmare, coloana subcuburilor 1dimensionale va conine, n cazul
general, cu o grup mai puin dect coloana termenilor canonici (a subcuburilor 0dimensionale).
5. Se compar, n continuare, fiecare termen al unei grupe din coloana subcuburilor
rdimensionale (se consider, pentru nceput, r = 1 ) cu toi termenii grupei cu pondere
mai mare cu o unitate. Pentru ca doi asemenea termeni s se poat asocia formnd un
subcub ( r + 1) dimensional trebuie ca n ambii termeni simbolurile s fie pe aceleai
poziii. Doi termeni care ndeplinesc aceast condiie i sunt adiaceni se asociaz formnd un subcub ( r + 1) dimensional care se noteaz cu un numr binar n care apare nc
o linie orizontal pe poziia prin care cei doi termeni difer. Termenii care particip la
formarea acestui subcub se bifeaz, iar subcubul ( r + 1) dimensional se nscrie pe o nou
coloan, coloana subcuburilor (r + 1) dimensionale, care, n cazul general, are cu o grup
mai puin dect coloana subcuburilor rdimensionale. Dac se obine de mai multe ori un
anumit termen, acesta se consider doar o singur dat.
6. Se mrete r cu o unitate i se repet punctul 5, pn cnd subcuburile ultimei
coloane nu se mai pot asocia n scopul formrii unui subcub de dimensiune superioar. n
acest moment prima etap a algoritmului Quine-McCluskey este ncheiat. Termenii rmai nebifai n coloanele rezultate formeaz grupul implicanilor primi ai funciei considerate.
Exemplu. n tabelul 2.2 se d un exemplu de aplicare a algoritmului prezentat mai
sus pentru minimizarea funciei de cinci variabile dat sub FCD:
f FCD ( x1 , x 2 , x3 , x4 , x5 ) = Pi ,

(2.24)

ik

unde, k = {0,3,4,7,8,10,11,12,14,15,18,19,23,26,28,29,30} .
n tabelul 2.2 s-au scris alturi de fiecare subcub i indicii termenilor canonici sau ai
2

40

Pentru definirea noiunii de subcub vezi metoda diagramelor Karnaugh.

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE


Tab.2.2 Determinarea implicanilor primi pentru funcia f din exemplu.

Subcuburi
0dimensionale
Grupa Indici x1 x 2 x3 x 4 x5
0

0 0 0 0 0 9

0 0 1 0 0 9

0 1 0 0 0 9

Subcuburi
1dimensionale

Subcuburi
2dimensionale

Grupa Indici x1 x 2 x3 x 4 x5
0,4

0 9

0,8

0 9

4,12 0

0 9

0 0 0 1 1 9

8,10 0

0 9

10

0 1 0 1 0 9

8,12 0

0 9

12

0 1 1 0 0 9

3,7

18

1 0 0 1 0 9

3,11 0

0 0 1 1 1 9

3,19

11

0 1 0 1 1 9

10,11 0

14

0 1 1 1 0 9

19

Grupa

Indici

x1 x 2 x3 x 4 x5

0,4,8,12

0 0 0

0,8,4,12

0 0 0

8,10,12,14 0 1 0
8,12,10,14 0 1 0
3,7,11,15

0 1 1

1 9

3,7,19,23

0 1 1

1 9

3,11,7,15

0 1 1

1 9

3,19,7,23

0 1 1

10,11,14,15 0 1 1

10,14 0

0 9

10,14,26,30 1 1 0

1 0 0 1 1 9

10,26

0 9

10,26,14,30 1 1 0

26

1 1 0 1 0 9

12,14 0

0 9

12,14,28,30 1 1 0

28

1 1 1 0 0 9

12,28

0 9

12,28,14,30 1 1 0

15

0 1 1 1 1 9

18,19 1

23

1 0 1 1 1 9

18,26 1

29

1 1 1 0 1 9

7,15 0

1 9

30

1 1 1 1 0 9

7,23

1 9

11,15 0

1 9

14,15 0

14,30

0 9

19,23 1

1 9

26,30 1

0 9

28,29 1

28,30 1

0 9

subcuburilor 0dimensionale care sunt incluse n subcubul respectiv. Urmrind aceti


indici se observ c n coloana subcuburilor 0dimensionale doi termeni canonici se pot
asocia dac diferena ntre indicele termenului din grupa cu ponderea i i indicele
termenului din grupa cu ponderea i 1 este un numr ntreg, pozitiv i egal cu o putere a
lui 2. Puterea lui 2 indic poziia din numrul binar pe care apare simbolul . De
41

CIRCUITE LOGICE COMBINAIONALE

exemplu, termenul cu indicele 4 din grupa 1 i termenul cu indicele 12 din grupa 2


respect aceast condiie i anume 12 4 = 8 . Subcubul 1dimensional rezultat prin asocierea acestor termeni conine partea comun a termenilor inclui, iar pe poziia de rang
2 3 = 8 apare simbolul . n cazul coloanelor subcuburilor de dimensiune mai mare
dect zero, pentru ca dou subcuburi fcnd parte din grupe a cror pondere difer cu o
unitate s se poat asocia, trebuie ca diferena ntre indicii termenilor canonici inclui n
subcubul din grupa superioar i indicii termenilor canonici corespondeni ai subcubului
din grupa inferioar s fie o aceeai putere a lui 2. De exemplu, al treilea subcub 1
dimensional din grupa a 3-a i primul din grupa a 2-a respect aceast condiie (11 3 = 8
i 15 7 = 8) . innd cont de aceaste observaii se poate uura munca depus pentru
gsirea implicanilor primi.
Ca rezultat al aplicrii regulilor de gsire a implicanilor primi ai funciei (2.24), din
tabelul 2.2 rezult urmtoarea expresie:
f ( x1 ,, x5 ) = x1 x2 x3 x4 + x1 x3 x4 x5 + x1 x2 x3 x4 + x1 x4 x5 + x1 x2 x5
+ x1 x4 x5 + x2 x4 x5 + x1 x2 x4 + x2 x4 x5 + x2 x3 x5 .

(2.25)

Aceast expresie se obine nlocuind n termenii rmai nebifai n tabel zerourile cu


variabila corespunztoare poziiei respective negat, unitile cu variabila corespunztoare poziiei respective nenegat i omind variabilele corespunztoare poziiilor pe
care apare simbolul .
Pentru a gsi forma minim disjunctiv a unei funcii trebuie alei numai acei
implicani primi care includ toi termenii canonici ai funciei i conduc la o form a
funciei realizat cu cost minim. Pentru gsirea acoperirii cu cost minim trebuie cutate
toate acoperirile posibile pentru funcia dat din care se alege acoperirea care ndeplinete
condiia de cost minim fa de un anumit criteriu de cost [22]. Costul C R se definete ca
fiind suma costurilor implicanilor primi din acoperirea considerat. Costul unui implicant prim al unei funcii de n variabile, din care lipsesc r variabile, adic a unui subcub r
dimensional este n r , deoarece fiecare variabil prezent necesit un contact. Atunci
costul C R al unei acoperiri este dat de relaia:
CR =

n 1

g r (n r ) ,

(2.26)

r =0

unde, g r este numrul subcuburilor rdimensionale din acoperirea considerat, iar nsumarea se face pentru toate subcuburile de dimensiune 0 r n . Costul C R al unei acoperiri este minim cnd suma costurilor implicanilor primi este minim.
n cazul circuitelor de comutare cu pori, costul circuitelor este n general cu att
mai mic cu ct numrul de pori este mai mic, iar porile respective au numr ct mai mic
de intrri, ceea ce nseamn costul C R minim. Din acest motiv, atunci cnd funcia se realizeaz cu pori, se alege acoperirea a crei cost C P , definit de relaia:
CP = CR + p =

42

n 1

n 1

n 1

r =0

r =0

r =0

g r (n r ) + g r = g r (n r + 1) ,

(2.27)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

este minim. n relaia (2.27), p este numrul implicanilor primi ai acoperirii, iar restul
notaiilor au aceeai semnificaie ca n relaia (2.26).
De obicei, acoperirea minimal, adic acoperirea cu numr minim de elemente, satisface att condiia de C R minim ct i condiia de C P minim. Algoritmul de obinere a
acoperirii cu cost minim, plecnd de la mulimea implicanilor primi, obinui n etapa anterioar, este urmtorul [22]:
Algoritmul 2.3.
1. Se construiete un tabel al implicanilor primi, avnd drept cap de linie implicanii primi ai funciei i cap de coloan termenii canonici ai funciei. La intersecia unei linii
cu o coloan se plaseaz un semn, de exemplu un asterisc, dac implicantul prim de pe linia respectiv include termenul canonic de pe coloana respectiv (v. tab. 2.3).
Tab.2.3 Tabelul implicanilor primi pentru funcia f din exemplu.

x1
1
1
1
0
0
0

Implicani
primi
x 2 x3 x 4
0 0 1
0 1
1 1 0
0
1
1
0 1
1 1
1 1
1 1

Indici
x5

0
0
1
1

0
0

(18,19)
(18,26)
(28,29)
(0,4,8,12)
(8,10,12,14)
(3,7,11,15)
(3,7,19,23)
(10,11,14,15)
(10,14,26,30)
(12,14,28,30)

Termeni canonici

Obs

0 4 8 3 10 12 18 7 11 14 19 26 28 15 23 29 30
*
*
*
*
*
*
IPE
* * *
*
IPE
*
* *
*
*
* *
*
*
*
*
*
IPE
*
* *
*
*
*
*
*
*
*
*
*

2. Se inspecteaz tabelul construit la punctul 1. Dac pe o anumit coloan exist un


singur semn, ceea ce nseamn c termenul canonic de pe acea coloan este inclus ntr-un
singur implicant prim, atunci implicantul prim de pe linia nsemnat devine implicant
prim esenial i intr obligatoriu n forma minim a funciei. Se construiete un nou tabel,
al implicanilor primi neeseniali, care rezult eliminnd din tabelul implicanilor primi
liniile cu implicanii primi eseniali i coloanele cu termenii canonici inclui n acetia.
Pentru a gsi mai uor aceste coloane se ncercuiesc toate semnele de pe linia unui
implicant prim esenial i se elimin apoi toate coloanele care au semne ncercuite. De
asemenea, se elimin liniile pe care nu au mai rmas semne i coloanele care au semne pe
aceleai rnduri ca i o alt coloan din tabelul implicanilor primi neeseniali, adic dac
mai muli termeni canonici sunt inclui n exact aceiai implicani primi neeseniali se reine un singur reprezentat al acestora (de exemplu termenii canonici 11 i 15), deoarece
orice implicant care l include pe acesta va include automat i pe cei omii (v. tab. 2.4).
3. Se inspecteaz tabelul implicanilor primi neeseniali n scopul gsirii unei
acoperiri cu cost C P minim, pentru toi termenii canonici rmai n acest tabel. n unele
cazuri se pot gsi mai multe acoperiri care satisfac aceast condiie, fiecare avnd acelai
cost. n astfel de situaii funcia are mai multe forme minime disjunctive.
4. Fcnd suma boolean a implicanilor primi eseniali gsii la punctul 2 i a celor

43

CIRCUITE LOGICE COMBINAIONALE

neeseniali fcnd parte din acoperirea obinut la punctul 3, se obine FMD a funciei
date.
Tab.2.4 Tabelul implicanilor primi neeseniali pentru funcia f din exemplu.

Nr.
1
2
3
4
5
6
7

Implicani
primi
x1 x2 x3 x4 x5
1
1
0
0
0

1
1
1

0
0

1
1

1
1
1

0
0
1

0
0

Indici

Termeni canonici

10 18 11 14 26 30
(18,19)
*
(18,26)
*
*
(8,10,12,14) *
*
(3,7,11,15)
*
(10,11,14,15) *
* *
(10,14,26,30) *
* * *
(12,14,28,30)
*
*

Obs.

A
A
A

Pentru exemplul considerat anterior, funcia dat prin expresia (2.24), se obine tabelul implicanilor primi prezentat n tabelul 2.3.
Inspectnd acest tabel se obin implicanii primi eseniali x1 x 2 x3 x4 , x1 x4 x5 i
x2 x4 x5 (de pe rndurile marcate cu IPE). Dup eliminarea termenilor canonici acoperii
de aceti implicani primi se obine tabelul implicanilor neeseniali (v. tab. 2.4).
Din tabelul 2.4 rezult c, lund implicanii x1 x3 x4 x5 , x1 x2 x4 , i x2 x4 x5 , de pe
rndurile marcate cu A, se obine acoperirea minimal creia i corespunde FMD a
funciei, dat de relaia:
f FMD ( x1 , x2 , x3 , x4 , x5 ) = x1 x2 x3 x4 + x1 x4 x5 + x2 x4 x5 + x1 x3 x4 x5 + x1 x2 x4 +
+ x 2 x 4 x5 .

(2.28)

Analiznd tabelul 2.4 rezult c mai exist i alte acoperiri minimale pentru aceast
funcie. Pentru gsirea acestora se procedeaz n felul urmtor [22]:
Algoritmul 2.4.
1. Se mparte mulimea implicanilor primi neeseniali n submulimi M i , astfel
nct elementele unei submulimi s conin toi implicanii primi neeseniali care includ
termenul canonic cu indicele i. Notnd implicanii primi neeseniali din tabelul 2.4 cu numrul lor de ordine, rezult submulimile:
M 10 = {3,5,6} ; M 18 = {1,2} ; M 11 = {4,5} ; M 14 = {3,5,6,7} ;
M 26 = {2,6} ; M 30 = {6,7} .

(2.29)

2. Se alctuiete, cu elementele submulimii M i , expresia formal (2.30), n care


suma se interpreteaz ca operaia logic SAU iar produsul ca operaia logic I:
E = (3 + 5 + 6)(1 + 2)(4 + 5)(3 + 5 + 6 + 7)(2 + 6)(6 + 7) .

(2.30)

3. Efectund calculele n expresia (2.30), innd cont de faptul c i + i = i i

44

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

i (i + j ) = i , unde i i j sunt elemente ale submulimilor M i , se obine o nou form a


expresiei E, o sum de produse. Fiecare dintre aceste produse de implicani primi reprezint una dintre acoperirile mulimii termenilor canonici din tabelul implicanilor primi
neeseniali.
innd cont de cele de mai sus, expresia (2.30) devine:
E = (3 + 5 + 6)(1 + 2)(4 + 5)(2 + 6)(6 + 7) = (6 + 7)(3 + 5)(2 + 1 6)(4 + 5) =
= (6 + 7 3 + 7 5)(2 4 + 2 5 + 1 6 4 + 1 6 5) = 6 2 4 + 6 2 5 + 1 6 4 +
+ 1 6 5 + 7 3 2 4 + 7 3 2 5 + 7 3 1 6 4 + 7 3 1 6 5 + 7 5 2 4 +

(2.31)

+ 7 5 2 + 7 5 1 6 4 + 7 5 1 6.

4. Se ia forma minimal a expresiei (2.31) n care intr numai produsele cu cost minim. Termenii acestei expresii reprezint acoperirile cu cost minim. Pentru expresia
(2.30) forma minimal, considernd costul C R , este:
E min = 6 2 4 + 6 2 5 + 1 6 4 + 1 6 5 + 7 5 2 .

(2.32)

Expresia (2.32) conine cele cinci acoperiri cu cost C R minim ale tabelului 2.4.
Costul fiecrei acoperiri este 10. Deoarece fiecare dintre cele cinci acoperiri are acelai
numr de elemente, ele au i acelai cost C P .
Aa cum s-a precizat mai sus minimizarea funciilor booleene prin metoda QuineMcCluskey necesit considerarea funciilor sub FCD. Problema poate fi tratat i pentru
funciile booleene date sub FCC, n care caz operaiile de alipire parial a termenilor disjunctivi sunt urmate de aplicarea sistematic a formelor duale pentru relaiile (2.21) i
(2.22):
( a + b)(a + b ) = a i respectiv a (a + b) = a .

(2.33)

Etapa a doua, de cutare a interseciei minimale, se realizeaz similar ca i pentru


FCD, obinndu-se n final forma minim conjunctiv (FMC).
O alt modalitate de obinere a FMC pentru o funcie boolean dat prin FCC
const n considerarea funciei negate:

f ( x1 , x2 ,, xn ) = ( x1a1 + x2 a2 + + x n an ) = ( x1a1 x2 a2 xn an ) ,
0

(2.34)

care se poate trata ca i FCD. Se obine astfel forma minim disjunctiv a funciei negate.
Negnd expresia obinut se revine la forma conjunctiv, corespunznd formei minime
conjunctive.
Metoda Quine-McCluskey ncepe s devin greu de manipulat pentru un numr
mare de variabile (n 6) ns prezint avantajul realizrii unor algoritmi pentru calcul
numeric. De asemenea, principiul metodei expuse poate fi transpus pe diagrame numite
Karnaugh, cptnd un caracter intuitiv i uurin n aplicarea pentru funcii avnd 67
variabile.
45

CIRCUITE LOGICE COMBINAIONALE

2.3.1.3 Minimizarea funciilor booleene prin metoda diagramelor Karnaugh


Folosirea unei forme speciale a diagramelor Venn, n scopul simplificrii cu ajutorul
acestora a funciilor booleene a fost sugerat pentru prima dat de ctre E.W. Veitch. La
scurt timp M. Karnaugh propune, de asemenea, o form modificat a diagramelor Venn,
n acelai scop. Astfel, au rezultat diagramele denumite diagrame Karnaugh.
Spre deosebire de metoda Quine-McCluskey, metoda diagramelor Karnaugh este o
metod global, n sensul c ambele etape din metoda Quine-McCluskey se efectueaz
simultan. Ca i n cazul metodei Quine-McCluskey, metoda diagramelor Karnaugh pornete de la una dintre formele canonice (FCD sau FCC) ale funciei booleene. Pentru
nceput, n prezentarea metodei, se va folosi FCD. Diagramele Karnaugh sunt folosite n
mod curent pentru reprezentarea funciilor booleene cu un numr relativ mic de variabile
[10,22,...]. Aceste diagrame sunt utile pentru minimizarea funciilor booleene deoarece
permit evidenierea, cu uurin, a unor identiti de forma (legile absorbiei):
a + ab = a , ab + ab = a , a + a b = a + b .

(2.35)

n general, o diagram Karnaugh pentru o funcie boolean de n variabile se reprezint sub forma unui ptrat sau dreptunghi, mprit n 2 n compartimente (cmpuri
sau locaii), fiecare compartiment fiind rezervat unui termen canonic al funciei, respectiv
unuia dintre cele 2 n n-uple ale funciei sau vrfuri ale hipercubului ndimensional din reprezentarea pe hipercub a funciei (v. Anexa A). n figura 2.7 sunt reprezentate diagramele Karnaugh pentru funcii de dou variabile (v. fig. 2.7,a), trei variabile (v. fig.
2.7,b) i patru variabile (v. fig. 2.7,c). O diagram Karnaugh este astfel organizat nct
dou compartimente vecine, pe o linie sau pe o coloan, corespund la doi termeni
canonici care difer numai printr-o singur variabil, care apare ntr-unul dintre ei negat,
x1 ( 21 )
x1x2 x1 x2
x2
xx xx
( 20 ) 1 2 1 2

(a)
2
x1 (2 )

x1 x2 x3 x1x2 x3 x1 x2 x3 x1 x2 x3
x3
x1 x2 x3 x1x2 x3 x1 x2 x3 x1x2 x3
( 20 )
x2 ( 21 )
(b)

x1 ( 23 )
x1 x2 x3 x4 x1x2 x3 x4 x1x2 x3 x4 x1x2 x3 x4
x1x2 x3 x4 x1 x2 x3 x4 x1x2 x3 x4 x1x2 x3 x4

x4
0
x1x2 x3 x4 x1x2 x3 x4 x1x2 x3 x4 x1x2 x3 x4 ( 2 )

x3
( 21 ) x x x x x x x x x x x x x x x x
1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
x2 (2 2 )
(c)

Fig.2.7 Diagrame Karnaugh pentru funcii de dou variabile (a),


trei variabile (b) i patru variabile (c).

iar n cellalt adevrat (deci au proprietatea de adiacen), respectiv la dou n-uple adiacente. Se consider vecine i deci au aceeai proprietate i compartimentele aflate la
capetele opuse ale unei linii, respectiv coloane. Diagrama se noteaz (codific) fie indicnd domeniul fiecrei variabile (v. fig. 2.8,a), fie indicnd pe linie i coloan n-uple de
zerouri i uniti corespondente unui compartiment din diagram i ordinea variabilelor
(v. fig. 2.8,b). De fapt, n acest ultim caz se folosete pentru codificarea diagramei, aa
46

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

cum s-a mai precizat (v. 1.2.3), codul Gray (binar reflectat) care are proprietatea de adiacen. Pentru a se putea reprezenta uor funciile booleene date n mod convenional
(simbolic) prin indicii zecimali ai termenilor canonici, se poate nota fiecare compartiment
prin indicele termenului canonic corespunztor, innd cont de o anumit ordine a variabilelor (v. fig. 2.8,a,b).
x1
x1 ( 21 )
x2
0
1
x2
( 20 )

00

01

11

10

x1 ( 22 )
x3
( 20 )

x3

x1x2
x3 x4
00

01

11

10

x2 ( 21 )
x1 (23 )

x3
( 21 )

x1x2

12

13

15

11

14

10

x4
( 20 )

00

12

01

13

11

15

11

10

14

10

x2 ( 22 )
(a)

(b)

Fig.2.8 Modaliti de codificare a diagramelor Karnaugh.

O funcie boolean, dat sub FCD, poate fi reprezentat pe o diagram Karnaugh


marcnd, de exemplu cu 1, compartimentele corespunztoare termenilor canonici ai funciei i cu 0 celelalte compartimente. Acest mod de reprezentare a funciilor booleene este
avantajos pentru minimizare deoarece doi termeni canonici care difer numai prin aceea
c ntr-unul dintre acetia una dintre variabile apare negat, iar n cellalt adevrat, de
exemplu x1 x2 x3 x4 i x1 x2 x3 x4 , apar pe diagram n compartimente vecine, deci se recunoate uor c sunt adiaceni. n conformitate cu relaia (2.36) aceti doi termeni se pot
nlocui cu un termen normal n care variabila, prin care cei doi termeni canonici difer,
lipsete (este o variabil redundant):
x1 x2 x3 x4 + x1 x2 x3 x4 = x1 x2 x3 ( x4 + x4 ) = x1 x2 x3 .

(2.36)

n reprezentarea pe hipercub a unei funcii booleene, doi termeni canonici care ndeplinesc condiia de mai sus corespund la dou noduri adiacente, deci definesc o latur a
47

CIRCUITE LOGICE COMBINAIONALE

hipercubului ndimensional (v. Anexa A). Din acest motiv se spune c dou compartimente vecine sau adiacente pe diagrama Karnaugh reprezint un subcub 1dimensional
(v. fig. 2.9,a). Un grup de patru compartimente, dintre care fiecare este vecin cu alte dou
compartimente din acelai grup, formeaz un subcub 2dimensional (v. fig. 2.9,b). n
acest caz cei patru termeni canonici corespunztori acestor compartimente au o parte comun format din dou variabile. n baza relaiei (2.37) aceti patru termeni pot fi nlocuii cu partea lor comun:
x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 = x1 x3 x4 + x1 x3 x4 = x3 x4 .

(2.37)

n cazul general, termenii canonici care formeaz un subcub 2dimensional se pot nlocui
cu un termen normal avnd cu dou variabile mai puin dect termenii canonici. Pe o diagram de patru variabile se pot forma i subcuburi 3dimensionale care cuprind 8 compartimente astfel grupate nct fiecare dintre ele este vecin cu alte trei din acelai grup (v.
fig. 2.9,c).
x3 x4

x1x2

00

01

11

10

00

01
11
10

x1x2
x3 x4
00

1
1

01

11

10

00

00

01

01

01

11

11

10

10

10

(b)

x1 x2

x1 x2

00

00

01

11

10

x3 x4

00

01

11

10

00

01

01

11

11

10

10

11

(a)
x3 x4

x1x2
x3 x4
00

(c)
Fig.2.9 Reprezentarea pe diagrame Karnaugh a subcuburilor 0dimensionale (a),
1dimensionale (a), 2dimensionale (b) i 3dimensionale (c).

Termenii canonici reprezentai de compartimentele din diagrama de patru variabile


care formeaz un subcub 3dimensional au o parte comun format dintr-o singur variabil. Prin urmare, pot fi nlocuii cu un termen normal care are o singur variabil, cum
se vede n exemplul de mai jos:
48

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x 2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 + x1 x2 x3 x4 +
+ x1 x2 x3 x4 + x1 x2 x3 x4 = x2 .

(2.38)

Pe o diagram care reprezint o anumit funcie boolean se pot forma n modul


artat mai sus subcuburi de diverse dimensiuni. n cazul general al unei funcii booleene
de n variabile, dac o parte dintre termenii canonici ai funciei formeaz un subcub k
dimensional, acetia se pot nlocui cu un singur termen normal avnd nk variabile. Un
subcub care nu este inclus ntr-un subcub de dimensiune mai mare se numete implicant
prim al funciei date. Formnd suma boolean a tuturor implicanilor primi ai unei funcii
date, se obine o form disjunctiv a acesteia, care, n cazul general, este mult mai simpl
dect FCD a aceleiai funcii. Pentru a gsi implicanii primi ai unei funcii reprezentat
pe diagrama Karnaugh, compartimentele marcate cu 1 trebuie astfel grupate nct s se
obin subcuburi cu dimensiunea cea mai mare posibil. Astfel, pe o diagram de patru
variabile se va cuta s se formeze n primul rnd subcuburi 3dimensionale, apoi n
ordine, subcuburi 2dimensionale i 1dimensionale. O parte (dar nu toate) dintre compartimentele notate cu 1 ale unui subcub poate face parte din mai multe subcuburi de diverse dimensiuni.
Exemplu. Se d funcia boolean de patru variabile (v. fig. 2.10):
f FCD ( x1 , x2 , x3 , x4 ) = P1 + P5 + P6 + P7 + P8 + P9 + P12 + P13 .

(2.39)

Procednd n modul artat mai sus se obin implicanii primi ai acestei funcii i anume subcuburile 2dimensionale x1 x3 i x3 x4 i subcuburile 1dimensionale x1 x2 x4 i
x1 x2 x3 .
Pentru mai mult claritate, comx1x2
partimentele care reprezint un implix3 x4
00 01 11 10
x1x3
cant prim sunt nscrise ntr-un contur,
00 0
0
1* 1*
iar n dreptul conturului se scrie terx3 x4
menul normal corespondent implican01 1* 1
1
1
tului prim ncadrat (cu asterisc s-au
marcat compartimentele care nu mai
x1 x2 x4 11 0
0
1
0
sunt incluse n alte subcuburi). Folox1 x2 x3
sind pentru descrierea funciei impli10 0
0
1* 0
canii primi n locul termenilor canonici se obine forma normal disjuncFig.2.10 Determinarea implicanilor primi pe
diagrama Karnaugh.
tiv a funciei dat de relaia (2.40):
f ( x1 , x2 , x3 , x4 ) = x1 x3 + x3 x4 + x1 x2 x4 + x1 x2 x3 .

(2.40)

Nu toi implicanii primi ai unei funcii sunt ns necesari pentru definirea acesteia.
Unii dintre implicanii primi pot fi termeni redundani la care se poate renuna, obinndu-se astfel o form mai simpl a funciei. Prin urmare, se pune problema alegerii
unui numr minim de implicani primi din mulimea implicanilor primi ai unei funcii
booleene care s includ ns toi termenii canonici ai funciei. Problema alegerii acestui
set de implicani este o problem de acoperire cu cost minim. Expresia unei funcii booleene n care intr un numr minim dintre implicanii si primi se numete, aa cum s-a
49

CIRCUITE LOGICE COMBINAIONALE

mai precizat, forma minim disjunctiv (FMD) a funciei. Dac un termen canonic al
funciei este inclus ntr-un singur implicant prim, din mulimea de implicani primi ai
funciei, acela devine implicant prim esenial i trebuie s apar n mod obligatoriu n
FMD a funciei. Pentru gsirea FMD trebuie deci determinai n primul rnd implicanii
primi eseniali. Pentru aceasta se marcheaz pe diagram ntr-un mod special, de exemplu
cu asterisc, acele celule notate cu 1 care sunt incluse ntr-un singur implicant prim (v. fig.
2.10). Implicanii primi care conin compartimente marcate cu asterisc devin eseniali.
Compartimentele marcate cu 1, rmase neacoperite de ctre implicanii primi eseniali, se
caut s se acopere folosind un numr ct mai mic din implicanii funciei care au mai
rmas. n cazul exemplului din figura 2.10, toate compartimentele marcate cu 1, adic toi
termenii canonici ai funciei, sunt acoperii de implicanii primi eseniali x1 x3 , x3 x4 i
x1 x2 x3 . Implicantul x1 x2 x4 reprezint un termen redundant deoarece ambii termeni
canonici pe care i include sunt cuprini n implicantul prim esenial x3 x4 , respectiv
x1 x2 x3 . Din cele prezentate mai sus rezult c FMD a funciei, dat de relaia (2.39), este:
f FMD ( x1 , x2 , x3 , x4 ) = x1 x3 + x3 x4 + x1 x2 x3 .
x1x3 x4

x1 x2

x3 x4
x1x2 x4

x2 x3

00

01

11

10

00

0*

01

11

0*

0*

10

0*

x1x3
Fig.2.11 Obinerea FMC.

(2.41)

O funcie boolean are i o form minim


conjunctiv (FMC). Pentru a vedea care dintre
aceste dou forme minime, disjunctiv sau conjunctiv, conduce la o reea cu cost mai mic trebuie gsite ambele. O metod simpl de determinare a FMC este aceea a cutrii FMD pentru
negata funciei date i negarea acesteia. Pentru
exemplificare se ia tot funcia dat prin diagrama
Karnaugh din figura 2.10. Negata acestei funcii
se obine lundu-se n considerare compartimentele marcate cu zero. Aplicnd aceast metod de minimizare pentru funcia f ( x1 , x2 , x3 , x4 )
(v. fig. 2.11), unde f ( x1 , x2 , x3 , x4 ) este dat de
relaia (2.39), se obine pentru aceasta forma
(2.42) (termenul x1 x2 x4 este redundant):

f FMD ( x1 , x2 , x3 , x4 ) = x2 x3 + x1 x3 + x1 x3 x 4 ,

(2.42)

de unde rezult prin negare:


f FMD ( x1 , x2 , x3 , x4 ) = f FMC ( x1 , x2 , x3 , x4 ) = ( x2 + x3 )( x1 + x3 )( x1 + x3 + x4 ) . (2.43)
Diagramele pentru mai mult de patru variabile se construiesc din diagrame de patru
variabile, considerate diagrame elementare (v. fig. 2.12). Se pot construi ns diagrame
Karnaugh pentru un numr mai mare de variabile i considernd ca diagrame elementare,
diagramele de trei variabile. n cazul diagramelor pentru mai mult de patru variabile se
consider vecine, dou compartimente i atunci cnd ocup aceeai poziie n dou diagrame elementare vecine, adic n dou diagrame elementare alturate sau aflate la extre50

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

miti pe o aceeai linie sau coloan.


Diagramele Karnaugh pentru mai multe variabile se pot construi i sub forma unei
singure diagrame elementare dac se folosesc pentru notarea liniilor i coloanelor coduri
binare reflectate (v. fig. 2.12,b). n acest fel se asigur ca oricare dou compartimente alturate sau aflate la extremitile unei linii sau coloane s fie adiacente.
Avnd n vedere relaiile (2.33) i algoritmul de trecere de la reprezentarea tabelar
a funciei booleene la reprezentarea algebric (v. algoritmul 1.2), se poate transpune n
diagrama Karnaugh i minimizarea funciilor date prin FCC. n acest caz se reunesc n
diagrama Karnaugh compartimentele notate cu 0 care sunt adiacente, eliminndu-se variabilele redundante. Implicanii primi eseniali se obin sub forma termenilor disjunctivi
minimali. n final, se obine FMC realizat cu termenii minimali disjunctivi corespunztori reuniunilor compartimentelor adiacente notate cu zero.
Exemplu. S se minimizeze, prin metoda diagramelor Karnaugh funcia f dat prin
FCC:
f FCC ( x1 , x2 , x3 , x4 ) = ( x1 + x2 + x3 + x4 )( x1 + x2 + x3 + x4 )( x1 + x2 + x3 + x4 )
( x1 + x2 + x3 + x4 )( x1 + x2 + x3 + x4 )( x1 + x2 + x3 + x4 )
( x1 + x2 + x3 + x4 )( x1 + x2 + x3 + x4 )( x1 + x2 + x3 + x4 )

(2.44)

( x1 + x2 + x3 + x4 ).

n figura 2.13,a este reprezentat diagrama Karnaugh pentru funcia considerat. Reunind
compartimentele adiacente notate cu zero se obine urmtoarea expresie minim conjunctiv:
f FMC ( x1 , x2 , x3 , x4 ) = ( x1 + x3 + x4 )( x1 + x2 + x3 )( x2 + x4 )( x3 + x4 ) .
x1x2
x1 x2
x
x
x3 x4
00 01 11 10
3 4
00 01 11 10
00

00

01

01

11

11

10

10

(a)

(2.45)

(b)

Fig.2.13 Reprezentri ale funciei f din exemplu n diagrame Karnaugh.

Forma minim conjunctiv se poate obine i dac se consider negata FCC a


funciei. Evident FCC negat corespunde diagramei Karnaugh complementate (0 se nlocuiete cu 1 i invers). Aplicnd diagramei complementate metodologia corespunztoare
FCD, se obine expresia minim pentru funcia negat. n figura 2.13,b este prezentat
diagrama Karnaugh complementat pentru funcia din exemplul dat. Pentru acest caz rezult:
f FMD ( x1 , x2 , x3 , x4 ) = x1 x3 x4 + x1 x2 x3 + x2 x4 + x3 x 4 .

(2.46)
51

CIRCUITE LOGICE COMBINAIONALE


x1 (24 )
x3 (22 )

x3 (22 )

x5
( 20 )

x4
( 21 )
x2 (23 )

(a)

x1 x2 x3
x4 x5

000 001 011 010 110 111 101 100

00

12

24

28

20

16

01

13

25

29

21

17

11

15

11

27

31

23

19

10

14

10

26

30

22

18

x1 ( 25 )
x3 (23 )

x3 (23 )

x6
( 20 )
x5
(21 )
x4
( 22 )

x6
( 20 )

x2 (24 )

(b)

x1 x2 x3
x4 x5 x6

000 001 011 010 110 111 101 100

000

24

16

48

56

40

32

001

25

17

49

57

41

33

011

11

27

19

51

59

43

35

010

10

26

18

50

58

42

34

110

14

30

22

54

62

46

38

111

15

31

23

55

63

47

39

101

13

29

21

53

61

45

37

100

12

28

20

52

60

44

36

Fig.2.12 Diagrame Karnaugh pentru 5 variabile (a) i pentru 6 variabile (b).

52

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Negnd expresia obinut rezult:


f FMC ( x1 , x2 , x3 , x4 ) = ( x1 + x3 + x4 )( x1 + x2 + x3 )( x2 + x4 )( x3 + x4 ) .

(2.47)

Deoarece diagramele Karnaugh sunt cu att mai uor de utilizat cu ct numrul variabilelor care definesc compartimentele acestora este mai mic, n practic se folosete
adesea posibilitatea de reprezentare a unei funcii de n variabile pe diagrame de n1 sau
chiar mai puine variabile. Aceast tehnic denumit n continuare condensarea diagramelor (sau metoda diagramelor VID variabile incluse /nglobate n diagram), se bazeaz pe ideea reprezentrii ntr-un compartiment al diagramei a unor subcuburi 1dimensionale, 2dimensionale, .a.m.d. Deoarece nu toate funciile permit o astfel de reprezentare, fiind necesare uneori i subcuburi de dimensiuni mai mici, se precizeaz n interiorul compartimentului care dintre subcuburile incluse trebuie luate, folosind variabilele
neutilizate la notarea diagramei.
Exemplu. Se d funcia boolean de trei variabile:
f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x 2 x3 + x1 x2 x3 ,

(2.48)

reprezentat pe diagrama din figura 2.14,a i se urmrete reprezentarea ei pe diagrama


de dou variabile x1 i x2 , din figura 2.14,b (trebuie menionat c oricare dintre cele trei
variabile ale funciei poate fi inclus n diagram). Forma minim disjunctiv a funciei
este :
f FMD ( x1 , x2 , x3 ) = x1 x2 + x1 x3 + x1 x2 x3 .

Urmrind pe coloane, valorile funciei nscrise n diagrama din figura 2.14,a se constat:
pe coloana 1, x1 = x2 = 0 , funcia ia valoarea 1 pentru x3 = 0 i valoarea 0 pentru x3 = 1 ,
prin urmare, n diagrama de dou variabile se
poate scrie n compartimentul de pe prima coloan expresia x3 , care evaluat d valoarea 1
numai pentru x3 = 0 ;
pe coloana 2, x1 = 0 , x2 = 1 , funcia ia valoarea 0 independent de valoarea lui x3 , prin urmare se scrie 0 n diagrama de dou variabile;

(2.49)
x3

x1 x2
00

01

11

10

00

01

11

10

x3

x3

(a)

x1 x2

(b)

Fig.2.14 Condensarea unei diagrame Karnaugh


de trei variabile.

pe coloana 3, x1 = 1 , x2 = 1 , funcia ia valoarea 1 independent de valoarea lui x3 ,


prin urmare se scrie 1 n diagrama de dou variabile;
pe coloana 4, x1 = 1 , x2 = 0 , funcia ia valoarea 0 pentru x3 = 0 i valoarea 1
pentru x3 = 1 , prin urmare, n diagrama de dou variabile se scrie expresia x3 .
Funcia reprezentat pe o diagram condensat se poate scrie sub o form normal
disjunctiv exprimnd subcuburile corespunztoare compartimentelor marcate cu 1 prin
variabilele cu care se noteaz diagrama, iar la compartimentele cu variabile sau expresii
53

CIRCUITE LOGICE COMBINAIONALE

adugnd termenului corespunztor compartimentului condiia nscris n compartiment.


Astfel, funcia reprezentat pe diagrama din figura 2.14,b poate fi exprimat:
f ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 + x1 x2 x3 .

(2.50)

Se pot forma i pe diagrama condensat subcuburi de dimensiuni mai mari prin gruparea
compartimentelor vecine, dar folosind unele reguli suplimentare, deoarece n unele cazuri
sunt necesare numai pri ale unor subcuburi. De exemplu, n figura 2.14,b o parte a subcubului exprimat prin x1 x2 , mpreun cu subcubul exprimat prin x1 x2 x3 , ncadrate printrun contur, dau subcubul exprimat prin x1 x3 (partea comun a celor dou compartimente
i condiia).
Metoda de minimizare cu ajutorul diagramelor Karnaugh prezint dezavantajul c
nu poate fi aplicat dect pentru funcii cu un numr relativ mic de variabile (cel mult 7,
8). Pentru minimizarea funciilor booleene cu numr mai mare de variabile se recurge la
alte metode, algebrice sau tabelare.

2.3.1.4 Minimizarea funciilor booleene prin metoda consensurilor


Minimizarea funciilor booleene prin metoda Quine-McCluckey precum i prin metodele
globale (de exemplu, metoda diagramelor Karnaugh) rezultate din aceast metod impune cunoaterea funciilor sub una din formele canonice. Aceast necesitate este determinat de posibilitatea omiterii unor implicani primi dac se pleac de la o form normal a unei funcii booleene. Rezult c n cazul funciilor booleene date sub form normal, minimizarea lor este posibil dac, n prealabil, sunt aduse la una dintre formele canonice. Acest lucru este posibil prin operaii de dezvoltare a formelor normale n forme
canonice. nlturarea acestui neajuns se poate face baznd minimizarea nu pe compunerea vecinilor ca la metoda Quine-McCluskey, ci pe implicaia ab ax + bx , pe care
o vom denumi implicaia consensului, produsul ab fiind denumit consensul implicanilor
ax i bx . S remarcm faptul c implicaia consensului este o generalizare a relaiei
a ax + ax ; ntr-adevr, se poate verifica uor c pentru a = b , implicaia consensului
se reduce la relaia de echivalen a = ax + ax .
O metod bazat pe implicaia consensului a fost dat de Tison [20,23].
Evident, pentru ca implicaia ab ax + bx s nu fie banal este necesar ca produsul ab s fie nenul, adic a i b s conin variabile monoforme, nelegnd prin variabile
monoforme variabilele care apar sub o singur form, fie direct, fie negat, att n a ct
i n b, dac apar n amndou. innd seama de cele artate rezult c metoda lui Tison
este de fapt o generalizare a metodei Quine-McCluskey.
Noiunea de consens poate fi la rndul ei generalizat, trecnd de la consensul a doi
termeni la consensul a n termeni.
n

Definiie. Un termen a0 este consensul termenilor a1 , a 2 ,K , a n dac a0 ai i


i =1

dac a0
/ ' ai , unde
i =1

' ai
i =1

se obine din

ai

prin eliminarea, cel puin, a unui ter-

i =1

men oarecare.
Consecin. Consensul termenilor a1 , a 2 ,K , a n , dac exist, este diferit de zero.
54

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Convenim s facem notaia a0 = C{a1 , a 2 ,K, a n } .

Definiie. Expresia

ci se numete reziduul reuniunii


i =1

ai
i =1

n raport cu a0 . Ter-

menul ci este reziduul lui ai n raport cu a0 .


Fie Q = {Q1 , Q2 ,K , Qr } , Q {a1 , a 2 ,K, a n } mulimea termenilor ai care conin variabila x i P = {P1 , P2 ,K, Ps } , P {a1 , a 2 ,K , a n } , mulimea termenilor ai care conin
variabila x . Notm cu Qi restul din Qi dup ce s-a nlturat x i prin Pi restul din Pi
dup ce s-a nlturat x .
Definiie. Qi , i I r , se vor numi reziduurile n raport cu x, iar Pi , i I s , reziduurile n raport cu x .
Definiie. Consensurile astfel obinute vor fi denumite consensuri n raport cu x.
Uneori pentru a scoate n eviden acest lucru se va scrie Cx {Qi , Pj } .
Pentru determinarea expresiei unei funcii booleene care s conin toi implicanii
primi, numit i expresia caracteristic a funciei respective, se folosete urmtoarea
metod:
Algoritmul 2.5.
1. Se determin mai nti variabilele biforme i se aranjeaz ntr-o ordine arbitrar
x1 , x2 ,K x p .
2. Se stabilete tabelul reziduurilor n raport cu x1 i x1 (se iau n considerare termenii care conin efectiv pe x1 i x1 ).
3. Se face produsul, termen cu termen, al reziduurilor n raport cu x1 cu reziduurile
n raport cu x1 . Termenii diferii de zero astfel obinui constituie consensuri n raport cu
x1 . Se adaug aceste consensuri la termenii iniiali i dup ce se elimin termenii care se
absorb, rmne o nou mulime de implicani la care se aplic paii 2 i 3 n raport cu o
alt variabil din mulimea x1 , x2 ,K x p .
4. Procesul nceteaz dup aplicarea pailor 2 i 3 la toate variabilele biforme
x1 , x2 ,K x p .

Exemplu. S se determine expresia care conine toi implicanii primi ai funciei:


f = x1 x5 + x2 x6 + x3 x7 + x4 x5 x6 x7 .

(2.51)

1. Variabilele biforme sunt x5 , x6 i x7 .


2.1. Reziduul n raport cu x5 este x1 . Reziduul n raport cu x5 este x4 x6 x7 .
3.1. Consensul n raport cu x5 este x1 x4 x6 x7 . Noua expresie a lui f este:
f = x1 x5 + x2 x6 + x3 x7 + x4 x5 x6 x7 + x1 x4 x6 x7 .

(2.52)

2.2. Reziduul n raport cu x6 este x2 . Reziduurile n raport cu x6 sunt x4 x5 x7 ,


x1 x4 x7 .
3.2. Consensurile n raport cu x6 sunt x2 x4 x5 x7 , x1 x2 x4 x7 . Noua expresie a lui f
este:
55

CIRCUITE LOGICE COMBINAIONALE

f = x1 x5 + x2 x6 + x3 x7 + x4 x5 x6 x7 + x1 x4 x6 x7 + x1 x2 x4 x7 + x2 x4 x5 x7 .

(2.53)

2.3. Reziduurile n raport cu x7 sunt x4 x5 x6 , x1 x4 x6 , x1 x2 x4 , x2 x4 x5 . Reziduul n


raport cu x7 este x3 .
3.3. Consensurile n raport cu x7 sunt x3 x4 x5 x6 , x1 x3 x4 x6 , x1 x2 x3 x4 , x2 x3 x4 x5 .
Noua expresie a lui f este:
f = x1 x5 + x2 x6 + x3 x7 + x4 x5 x6 x7 + x1 x4 x6 x7 + x1 x2 x4 x7 + x2 x4 x5 x7 +

(2.54)

+ x3 x4 x5 x6 + x1 x3 x4 x6 + x1 x2 x3 x4 + x2 x3 x4 x5 ,

care este expresia caracteristic a funciei respective.


Pentru obinerea expresiilor minimale nu se mai poate aplica algoritmul prezentat la
metoda Quine-McCluskey, deoarece funcia nu este scris sub forma normal disjunctiv,
ca reuniune a tuturor constituenilor unitii pe care-i cuprinde. Pentru eliminarea acestui
inconvenient se va prezenta o metod bazat pe teoria consensurilor. nainte de aceasta se
vor prezenta relaiile i implicaiile de minimalitate.
Definiie. Fie P = {P1 , P2 ,K, Pr } mulimea implicanilor primi ai funciei f i Q =
s

i =1

i =1

= {Q1 , Q2 ,K , Qs } o submulime a lui P cu proprietatea c f = Qi , f


/ ' Qi , unde
s

' Qi

se obine din

i =1

Qi
i =1

prin eliminarea cel puin a unui Qi . Vom numi aceste relaii

relaiile de minimalitate.
Definiie. O mulime Q, ale crei elemente ndeplinesc relaiile de minimalitate, se
spune c are proprietatea de minimalitate.
Prin minimizarea funciei f se nelege determinarea expresiilor care ndeplinesc relaiile de minimalitate.
Lem. Relaiile de minimalitate sunt echivalente cu urmtoarele implicaii:
s

i =1

i =1

Pj Qi , () j I r , () j I r , Pj
/ ' Qi .

(2.55)

Definiie. Implicaiile din lem vor fi denumite implicaii de minimalitate.


Algoritmul de realizare minimal este urmtorul:
Algoritmul 2.6.
1. Se aduce funcia f la forma caracteristic f c , de reuniune a tuturor implicanilor
si primi. Fie P mulimea implicanilor primi ai funciei f.
2. Se aplic algoritmul de determinare a consensurilor la funcia caracteristic sub
urmtoarea form, puin modificat:
Fie P1 , P2 ,K Pn termenii expresiei caracteristice f c .
2.1. Se determin variabilele biforme. Fie acestea x1 , x2 ,K x p . Se face x = x1 .
2.2. Se determin consensurile n raport cu x. Printre aceste consensuri se vor gsi
termeni din f c sau consensuri noi. Fiecare consens n raport cu x, astfel determinat, se
marcheaz cu indicii termenilor din f c .
56

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Dac, de exemplu, Pk = C( Pi , Pj ) , atunci marcajul lui Pk va fi perechea (i, j ) . n


general, dac Pk = C( Pi1 , Pi2 ,K , Pik ) , atunci marcajul va fi (i1 , i2 ,K, ik ) . La fel se procedeaz cu consensurile noi.
innd seama c f c conine toi implicanii primi ai funciei f, consensurile noi vor
fi implicani ai termenilor din f c , dar nu vor fi nlturai, ntruct folosesc la marcarea
consensurilor la paii urmtori.
2.3. Se adaug consensurile noi la termenii din f c .
2.4. Dac x = x p , se trece la pasul 3, astfel, se face x = xi +1 i se trece la pasul 2.2.
3. Se asociaz termenilor funciei f c variabile booleene. Fie yi variabila asociat
termenului Pi , i = 1,2,K, n . Marcajului (i1 , i2 ,K , ik ) i se asociaz produsul S i =
= yi1 yi2 K yik .
ni

4. Se construiesc expresiile Ei = yi + S i j , unde S i j corespunde marcajului j asoj =1

ciat implicantului prim Pi , n ipoteza c exist mai multe marcaje iar ni este numrul
acestor marcaje.
5. Notm prin Ei(1) , i = 1,2,K, n , expresia obinut n pasul 4.
6. Se construiesc expresiile Ei( 2) , i = 1,2,K, n , din Ei(1) , prin substituire, dup urmtoarea regul. Dac n Ei(1) apare y k , atunci n Ei(1) se nlocuiete y k prin E k(1) , pentru
orice k pentru care y k Ei(1) . Expresia lui Ei(1) obinut dup aceste substituii se va nota
prin Ei( 2) . La fel se procedeaz cu toate expresiile Ei(1) , i = 1,2,K, n .

7. n general, se obin expresiile Ei( k +1) din Ei( k ) la fel cum s-au obinut expresiile

Ei( 2) din Ei(1) . Procesul nceteaz atunci cnd Ei( k ) = Ei( k +1) pentru orice i.
n

8. Se construiete expresia E = Ei i se aduce la forma caracteristic. Implicanii


i =1

de lungime ai lui E corespund expresiilor minimale astfel: dac y1 y 2 K y p este un implip

cant prim de lungime minim a lui E, atunci expresia f1 = Pi este expresia minim a
i =1

lui f, unde Pi corespunde variabilelor yi , i = 1,2,K , p . n general, pot exista mai multe
expresii minime i un numr oarecare de expresii reduse.
Exemplu.
f c = x1 x3 + x2 x3 + x3 x4 + x1 x4 + x2 x4 + x3 x4 + x1 x2 x3 + x1 x2 x4 .

(2.56)

Se fac notaiile P1 = x1 x3 , P2 = x2 x3 , P3 = x3 x4 , P4 = x1 x4 , P5 = x2 x4 , P6 = x3 x4 ,
P7 = x1 x2 x3 , P8 = x1 x2 x4 . Variabilele biforme sunt x1 , x2 , x3 , x4 .
1. Consensurile n raport cu x1 sunt date de produsul:
( x3 + x4 )( x2 x3 + x2 x4 ) = x2 x3 x4 + x2 x3 x4 .

(2.57)
57

CIRCUITE LOGICE COMBINAIONALE

Se adaug consensurile P9 = x2 x3 x4 i P10 = x2 x3 x4 , cu marcajele (1,8) i respectiv


(4,7).
2. Consensurile n raport cu x2 sunt date de produsul:
( x3 + x4 )( x1 x3 + x1 x4 + x3 x4 + x3 x4 ) = x3 x4 + x3 x4 .

(2.58)

Consensurile P3 = x3 x4 i P6 = x3 x4 se marcheaz prin (2,9) (1,2,8) i respectiv


(5,10) (4,5,7) .
3. Consensurile n raport cu x3 sunt date de produsul:
( x1 + x2 + x 4 )( x4 + x1 x2 ) = x1 x4 + x2 x4 + x1 x2 x4 .

(2.59)

Consensurile P4 = x1 x4 , P5 = x2 x4 i P8 = x1 x2 x4 , primesc marcajele (1,6), (2,6) i


respectiv (3,7).
4. Consensurile n raport cu x4 sunt date de produsul:
( x1 + x2 + x3 )( x3 + x1 x2 ) = x1 x3 + x2 x3 + x1 x2 x3 .

(2.60)

Consensurile P1 = x1 x3 , P2 = x2 x3 i P7 = x1 x2 x3 , primesc marcajele (3,4), (3,5) i


respectiv (6,8).
Expresiile Ei asociate implicanilor primi Pi , i = 1,2,K ,8 sunt:
E1 = y1 + y3 y 4 , E 2 = y 2 + y3 y5 , E3 = y3 + y1 y 2 y8 , E 4 = y 4 + y1 y 6 ,

(2.61)

E 5 = y 5 + y 2 y 6 , E 6 = y 6 + y 4 y 5 y 7 , E 7 = y 7 + y 6 y 8 , E8 = y 8 + y 3 y 7 .

(2.62)

ntruct nu se pot face substituiri, se scrie E:


8

E = Ei = ( y1 + y3 y 4 )( y 2 + y3 y5 )( y3 + y1 y 2 y8 )( y 4 + y1 y 6 )
i =1

( y5 + y 2 y 6 )( y 6 + y 4 y5 y 7 )( y 7 + y 6 y8 )( y8 + y3 y 7 ) =

(2.63)

= y1 y 2 y 6 y8 + y3 y 4 y5 y 7 + y1 y3 y5 y 6 y 7 + y1 y3 y5 y 6 y8 + y1 y 2 y 4 y5 y 7 y8 .

Exist deci dou expresii minimale:


f1 = x1 x3 + x2 x3 + x3 x4 + x1 x2 x4 ,

(2.64)

f 2 = x3 x4 + x1 x4 + x2 x4 + x1 x2 x3

(2.65)

i alte trei expresii reduse:

58

f 3 = x1 x3 + x3 x4 + x2 x4 + x3 x4 + x1 x2 x3 ,

(2.66)

f 4 = x1 x3 + x3 x4 + x2 x4 + x3 x4 + x1 x2 x4 ,

(2.67)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

f 5 = x1 x3 + x2 x3 + x1 x4 + x2 x4 + x1 x2 x3 + x1 x2 x4 .

(2.68)

Exemplu.
f c = x1 x5 + x2 x6 + x3 x7 + x 4 x5 x6 x7 + x1 x4 x6 x7 + x2 x4 x5 x7 + x1 x2 x4 x7 +
+ x3 x4 x5 x6 + x1 x3 x4 x6 + x2 x3 x4 x5 + x1 x2 x3 x4 .

(2.69)

Se fac notaiile P1 = x1 x5 , P2 = x2 x6 , P3 = x3 x7 , P4 = x4 x5 x6 x7 , P5 = x1 x4 x6 x7 ,
P6 = x2 x4 x5 x7 , P7 = x1 x2 x4 x7 , P8 = x3 x4 x5 x6 , P9 = x1 x3 x4 x6 , P10 = x2 x3 x4 x5 , P11 =
= x1 x2 x3 x4 .
Variabilele biforme sunt x5 , x6 , x7 .
Consensurile n raport cu x5 sunt date de produsul:
x1 ( x4 x6 x7 + x2 x4 x7 + x3 x4 x6 + x2 x3 x4 ) =
= x1 x4 x6 x7 + x1 x 2 x4 x7 + x1 x3 x4 x6 + x1 x2 x3 x4 .

(2.70)

Consensurile P5 , P7 , P9 i P11 se marcheaz prin (1,4), (1,6), (1,8) i respectiv


(1,10).
Consensurile n raport cu x6 sunt date de produsul:
x2 ( x4 x5 x7 + x1 x4 x7 + x3 x4 x5 + x1 x3 x4 ) =
= x2 x4 x5 x7 + x1 x2 x4 x7 + x2 x3 x4 x5 + x1 x2 x3 x4 .

(2.71)

Consensurile P6 , P7 , P10 i P11 se marcheaz prin (2,4), (2,5), (2,8) i respectiv


(2,9).
Consensurile n raport cu x7 sunt date de produsul:
x3 ( x4 x5 x6 + x1 x4 x6 + x2 x4 x5 + x1 x2 x4 ) =
= x3 x4 x5 x6 + x1 x3 x4 x6 + x2 x3 x4 x5 + x1 x2 x3 x4 .

(2.72)

Consensurile P8 , P9 , P10 i P11 se marcheaz prin (3,4), (3,5), (3,6) i respectiv


(3,7).
Consensurile P1 , P2 , P3 i P4 rmn nemarcate.
Expresiile Ei aplicate implicanilor primi sunt:
E1 = y1 , E 2 = y 2 , E3 = y3 , E 4 = y 4 , E5 = y5 + y1 y 4 , E6 = y 6 + y 2 y 4 ,

(2.73)

E7 = y 7 + y1 y 6 + y 2 y5 , E8 = y8 + y3 y 4 , E9 = y9 + y1 y8 + y3 y5 ,

(2.74)

E10 = y10 + y 2 y8 + y3 y 6 , E11 = y11 + y1 y10 + y 2 y9 + y3 y 7 .

(2.75)

Dup substituii, expresiile Ei , i = 1,K,11 , devin:


59

CIRCUITE LOGICE COMBINAIONALE

E1 = y1 , E 2 = y 2 , E3 = y3 , E 4 = y 4 , E5 = y5 + y1 y 4 ,
E6 = y 6 + y 2 y 4 , E7 = y 7 + y1 y 6 + y 2 y5 + y1 y 2 y 4 , E8 = y8 + y3 y 4 ,

(2.76)

E9 = y9 + y1 y8 + y3 y5 + y1 y3 y 4 , E10 = y10 + y 2 y8 + y3 y 6 + y 2 y3 y 4 ,
E11 = y11 + y1 y10 + y 2 y9 + y3 y 7 + y1 y 2 y8 + y1 y3 y 6 + y 2 y3 y 6 + y 2 y3 y5 + y1 y 2 y3 y 4 .

Se verific imediat c:
11

E = Ei = y1 y 2 y3 y 4

(2.77)

i =1

i deci exist o singur expresie minim:


f1 = x1 x5 + x2 x6 + x3 x7 + x4 x5 x6 x7 .

(2.78)

2.3.1.5 Minimizarea funciilor booleene incomplet definite

Minimizarea funciilor booleene incomplet definite are mare importan deoarece cea mai
mare parte a comenzilor discrete conin situaii de nedefinire. Luarea n considerare a
strilor de nedefinire (nedeterminare), prin atribuirea de valori 0 sau 1 funciei, conduce
n general la forme minime mai economice dect n cazul neconsiderrii lor. Folosirea diferit a strilor indiferente la obinerea formelor minime disjunctiv i conjunctiv conduce la rezultate diferite. Din acest motiv, n cazul funciilor incomplet definite este bine s
se minimizeze n ambele forme i s se pstreze forma cea mai avantajoas. Sinteza optim a unei reele de comutare a crei comportare este dat printr-o funcie boolean parial
sau incomplet definit se face considernd c reeaua trebuie s realizeze acea funcie, din
clasa funciilor booleene corespondente funciei incomplet definite, care are cea mai
simpl FMD sau FMC.
Minimizarea funciilor booleene incomplet definite se poate face cu ajutorul oricreia dintre metodele de minimizare prezentate anterior dar aplicate cu o serie de modificri. Astfel, pentru a se obine FMD a acestei funcii, n cazul folosirii metodei de minimizare cu ajutorul diagramelor Karnaugh, se procedeaz n felul urmtor:
Regul.
1. Se reprezint funcia boolean dat n diagram, notnd cu 1 poziiile corespunztoare n-uplelor pentru care valoarea funciei este 1, cu 0 poziiile corespunztoare nuplelor pentru care valoarea funciei este 0 i cu d sau asterisc n-uplele pentru care valoarea funciei nu este precizat.
2. Se ncearc gruparea compartimentelor notate cu 1 i formarea de subcuburi de
dimensiuni ct mai mari, folosindu-se n acest scop, dac ajut la realizarea acestui obiectiv i compartimentele notate cu d (*), considerndu-le marcate cu 1.
3. Se procedeaz n continuare ca i la minimizarea funciei booleene complet definite cu observaia c reprezint implicani primi eseniali numai acele subcuburi care conin cel puin un compartiment notat cu 1 care nu mai este inclus ntr-un alt subcub (subcuburile care conin ns un compartiment notat cu d (*), care nu este coninut n alte sub60

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

cuburi nu reprezint un implicant prim esenial). n continuare se caut o acoperire minim a termenilor canonici neinclui n implicanii primi eseniali.
Exemplu. Se cere gsirea FMD care corespunde funciei booleene incomplet definite dat prin tabelul 2.5. Se urmrete un cost C P minim.
Tab.2.5 Tabelul de adevr al funciei booleene incomplet definite
din exemplu.

x1

x2

x3

x4

x1

x2

x3

x4

Aceast funcie este descris de relaiile (2.79) i (2.80):


f FCD ( x1 , x 2 , x3 , x4 ) = P0 + P1 + P2 + P5 + P8 + P11 + P15 ,

(2.79)

x1 x2 x3 x 4 = x1 x2 x3 x4 = x1 x2 x3 x4 = x1 x2 x3 x4 = x1 x2 x3 x4 = d ,

(2.80)

unde, relaia (2.79) reprezint forma canonic disjunctiv a prii definite din funcie, iar
relaia (2.80) precizeaz c o parte dintre combinaiile de valori ale variabilelor de intrare,
corespunztoare prii nedefinite din funcie, nu apar n funcionare, prin urmare pot fi
considerate combinaii indiferente.
Pentru minimizarea acestei funcii se ntocmete diagrama din figura 2.15,a. Din
aceast diagram rezult c termenul x2 x4 este implicant prim esenial. Celelalte uniti
din diagram neincluse n acest implicant pot fi acoperite considernd implicanii x1 x3
sau x1 x4 i x3 x4 sau x1 x3 . Funcia are deci patru FMD ce pot fi scrise prescurtat ca mai
jos:
x x x x
f FMD ( x1 , x2 , x3 , x4 ) = x2 x4 + 1 3 + 3 4 .
x1 x4 x1 x3

(2.81)

Pentru obinerea FMC a funciei date se consider zerourile din diagram mpreun
cu compartimentele notate cu d, n scopul obinerii FMD a negatei funciei, care apoi prin
negare d FMC a funciei. Obinerea FMD a negatei funciei (2.79), (2.80) se face pe diagrama din figura 2.15,b. Din figura 2.15,b rezult forma minim a negatei funciei, dat
de relaia:
61

CIRCUITE LOGICE COMBINAIONALE

f FMD ( x1 , x2 , x3 , x4 ) = x2 x4 + x1 x3 x4 ,

(2.82)

de unde rezult:
f FMC ( x1 , x2 , x3 , x4 ) = ( x2 + x4 )( x1 + x3 + x4 ) .
x2 x4

x1 x2

x3 x4
x1 x3
x1 x4

00

01

11

10

00

01

11

10

x3 x4

x3 x4

x1x2

(2.83)

00

01

11

10

00

01

11

10

x1x3

(a)

x1x2 x3

x1 x3 x4

x2 x4

(b)

Fig.2.15 Minimizarea funciei booleene incomplet definite din exemplu.

Prin urmare, cea mai avantajoas form minim a funciei este forma minim conjunctiv.
i n cazul n care minimizarea funciilor incomplet definite se face folosind metoda
Quine-McCluskey, apar fa de cazul aplicrii acestei metode funciilor complet definite,
o serie de mici modificri care vor fi ilustrate prin exemplul tratat mai jos.
Exemplu. Se cere s se gseasc FMD a funciei booleene incomplet definite,
f ( x1 , x2 , x3 , x4 , x5 ) dat prin relaiile (2.84), (2.85), respectiv prin tabelul 2.6, folosind
metoda Quine-McCluskey.
Aa cum s-a mai precizat, funcia este descris de urmtoarele relaii:
f FCD ( x1 , x2 , x3 , x4 , x5 ) = P3 + P4 + P5 + P9 + P11 + P20 + P21 + P28 + P29 ,

(2.84)

P12 = P13 = P14 = P15 = P19 = P23 = P27 = P31 = * .

(2.85)

Se procedeaz la fel ca i n cazul funciilor complet definite, mprind echivalenii


binari ai termenilor canonici ai funciei n grupe, n raport de numrul de uniti pe care
acetia i conin (v. tab. 2.7). Termenii indifereni sunt introdui i ei n tabel n grupele
corespunztoare, pe acelai principiu, dar se marcheaz de la nceput cu un semn distinct,
de exemplu, cu un asterisc. Este necesar un marcaj special pentru a se putea distinge i
implicanii de clas superioar obinui numai din termeni indifereni. i acetia se
marcheaz, deja n momentul formrii, cu asterisc. Implicanii formai prin gruparea unor
termeni indifereni, cu termenii funciei aplicai n 1, se consider implicani obinuii.
Implicanii obinuii acoperii de ctre implicanii de clas superioar formai n urma
gruprii, se marcheaz prin bifare. Toi implicanii rmai nemarcai n urma ncheierii
procedurii de grupare sunt implicanii primi ai funciei. n tabelul 2.7 acetia au fost
62

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

notai simbolic cu literele a, b, c, d, e i f.


Tab.2.6 Tabelul de adevr al funciei booleene incomplet definite din exemplu.

x1

x2

x3

x4

x5

x1

x2

x3

x4

x5

16

17

18

19

20

21

22

23

24

25

10

26

11

27

12

28

13

29

14

30

15

31

ntocmind tabelul 2.8 se constat c implicanii primi a, b i c sunt eseniali i c ei


acoper toi termenii funciei aplicai n 1 (termenii canonici). Prin urmare, FMD a funciei este:
f FMD ( x1 , x 2 , x3 , x4 , x5 ) = x3 x 4 + x3 x4 x5 + x1 x2 x5 .

(2.86)

Tab.2.8 Tabelul acoperirilor pentru funcia f.

Implicani primi
Notaie
Indici
simbolic
4,5,12,13,20,21,28,29
a
3,11,19,27
b
9,11,13,15
c
11,15,27,31
d
21,23,29,31
e
f
13,15,29,31

Termeni canonici
3

11 20 21 28 29
*

*
*

*
*
*
*

*
*
63

CIRCUITE LOGICE COMBINAIONALE


Tab.2.7 Tabelul implicanilor primi pentru funcia f.

Subcuburi
0dimensionale
Grupa Indici x1 x 2 x3 x 4 x5
1
4
0 0 1 0 0
2
3
0 0 0 1 1
5
0 0 1 0 1
9
0 1 0 0 1
20 1 0 1 0 0
12* 0 1 1 0 0
3
11 0 1 0 1 1
21 1 0 1 0 1
28 1 1 1 0 0
13* 0 1 1 0 1
14* 0 1 1 1 0
19* 1 0 0 1 1
4
29 1 1 1 0 1
15* 0 1 1 1 1
23* 1 0 1 1 1
27* 1 1 0 1 1
5
31* 1 1 1 1 1

64

9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9

Subcuburi
1dimensionale
Grupa Indici x1 x 2 x3 x 4
1
4,5
0 0 1 0
4,20 0 1 0
4,12 0 1 0
2
3,11 0 0 1
3,19 0 0 1
5,21 0 1 0
5,13 0 1 0
9,11 0 1 0
9,13 0 1 0
20,21 1 0 1 0
20,28 1 1 0
12,28 1 1 0
12,13* 0 1 1 0
12,14* 0 1 1
3
11,15 0 1 1
11,27 1 0 1
21,29 1 1 0
21,23 1 0 1
28,29 1 1 1 0
13,29 1 1 0
13,15* 0 1 1
14,15* 0 1 1 1
19,23* 1 0 1
19,27* 1 0 1
4
29,31 1 1 1
15,31* 1 1 1
23,31* 1 1 1
27,31* 1 1 1

x5

0
0
1
1
1
1
1
1

0
0

0
1
1
1
1

1
1

1
1
1
1
1
1

Subcuburi
2dimensionale
x1 x 2 x3 x 4 x5
Indici

Grupa
9 1
4,5,20,21
9
4,5,12,13
9
4,20,12,28
9 2
3,11,19,27
9
5,21,13,29
9
9,11,13,15
9
20,21,28,29
9
12,28,13,29
9
12,13,14,15*
9 3 11,15,27,31
9
21,29,23,31
9
13,29,15,31
9
19,23,27,31*
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9

0
1

1
1
1

1
0

1
1
1
0
1

1
1
1

1
1
0

0
0
0
1
0

0
0

Subcuburi
3dimensionale
x1 x 2 x3 x 4 x5
Indici

Grupa
9 1
4,5,20,21,
9
12,28,13,29
9
(b)
9
(c)
9
9

0
1
1
1

1 (d)
1 (e)
1 (f)
1

(a)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

2.3.1.6 Minimizarea sistemelor de funcii booleene

Comportarea unui circuit de comutare combinaional cu n intrri i m ieiri este descris


de un sistem de m funcii booleene de n variabile. Pentru a se realiza un astfel de circuit
cu un numr minim de circuite de comutaie elementare de un anumit tip, care s fie la
rndul lor ct mai simple, nu este suficient s se minimizeze fiecare funcie n parte, ci
trebuie s se aduc ntreg sistemul de funcii la o form minim printr-o minimizare
corelat a funciilor acestuia.
Formele minime pentru un sistem de funcii booleene sunt acele expresii booleene
disjunctive sau conjunctive n care apare un numr minim de termeni respectiv factori
normali diferii, avnd un numr minim de variabile. Acestor forme le corespunde o reea
de comutare cu dou niveluri cu numr minim de elemente logice, prin urmare cu cost
minim. Pentru obinerea formelor minime ale unui sistem de funcii booleene dat, se
procedeaz, aa cum s-a mai precizat, la minimizarea corelat a funciilor acestuia, adic
la determinarea setului minim de implicani primi care acoper (includ) toi termenii
canonici ai tuturor funciilor sistemului [22,23].
Una dintre metodele de minimizare corelat a mai multor funcii booleene,
f1 , f 2 ,K , f n , se bazeaz pe determinarea implicanilor primi ai funciilor f1 , f 2 ,K , f n i
ai funciilor produs f1 f 2 , f1 f 3 ,K , f n1 f n , f1 f 2 f 3 , f1 f 2 f 4 ,K , f n2 f n1 f n ,K
K , f1 f 2 f 3. K f n . Avnd acest set de implicani primi, se calculeaz acoperirile posibile pentru fiecare dintre funcii iar apoi se alege cea mai avantajoas combinaie de acoperiri din punct de vedere al costului, care reprezint acoperirea minimal a sistemului.
Pentru obinerea acoperirii minimale dup aceast metod se parcurg urmtoarele
etape [22]:
Regul.
1. Se calculeaz funciile produs. De exemplu, se cere minimizarea sistemului de
funcii:
f1FCD ( x1 , x2 , x3 ) = (1,5,6,7) ,
f 2FCD ( x1 , x2 , x3 ) = (1,4,5,6) ,

(2.87)

f 3FCD ( x1 , x2 , x3 ) = (0,2,5,6,7) ,

unde, sub semnul sumei booleene s-au dat indicii zecimali ai termenilor canonici prezeni
n FCD a fiecrei funcii.
n prima etap se calculeaz funciile produs:
f1 f 2 = (1,5,6) ,

f1 f 3 = (5,6,7) ,

f 2 f 3 = (5,6) ,

f1 f 2 f 3 = (5,6) .

(2.88)

Funciile (2.88) conin termenii canonici comuni pentru cele dou, respectiv trei
funcii, fcndu-se produsul logic.
2. Se determin implicanii primi ai fiecreia dintre funciile (2.87) i (2.88).
65

CIRCUITE LOGICE COMBINAIONALE

n cazul exemplului considerat, pentru determinarea implicanilor primi ai acestor


funcii se folosesc diagramele Karnaugh, prezentate n figura 2.16. n acelai scop se pot
folosi i metodele Quine-McCluskey respectiv a consensurilor.
x3

x3

x3

x1x2

00

01

11

10

x3
f1

x1x2
00

01

11

10

x3

f3

x1x2
00

01

11

10

x3

f1 f 3

x1x2

00

01

11

10

00

01

11

10

00

01

11

10

f2

x1x2

f1 f 2

x1x2
f 2 f3
f1 f 2 f3

Fig.2.16 Minimizarea sistemelor de funcii booleene.

Din figura 2.16 se obin, pentru funciile considerate, implicanii primi din tabelul 2.9.
Tab.2.9 Tabelul implicanilor primi pentru sistemul de funcii din exemplu.

Funcia
f1

f2
f3

Implicani primi
Implicani primi
Funcia
Indicii Expresia Notaia
Indicii Expresia Notaia
x 2 x3
x1 x 2
6,7
1,5
f3
x1 x2
x1 x3
6,7
5,7
x1 x3
x 2 x3
1,5
5,7
e
f1 f 2
x 2 x3
6
1,5
x1 x2 x3
x1 x3
x1 x 2
4,6
6,7
i
d
f1 f 3
x1 x2
x1 x3
5,7
4,5
h
c
x1 x3
f 2 f3 =
0,2
6
g
b
x1 x2 x3
x 2 x3
= f1 f 2 f 3
2,6
5
f
a
x1 x2 x3

3. Se noteaz simbolic implicanii primi ai sistemului, pe coloana a patra a tabelului


2.9, ncepnd cu ultimul implicant prim al ultimei funcii produs. Implicanii primi care
apar de mai multe ori se noteaz o singur dat.
4. Se ntocmete un tabel al acoperirilor funciilor sistemului, n care se nscriu pe
linii toi implicanii primi gsii la punctul 2, iar pe coloane termenii canonici ai fiecreia
dintre funciile sistemului, luate n ordine.
Tabelul 2.10 reprezint tabelul acoperirilor sistemului de funcii (2.87).
66

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE


Tab.2.10 Tabelul acoperirilor sistemului de funcii din exemplu.

Implicani primi
Notaie Indici Funcii
5 f1 , f 2 , f 3
a
6 f1 , f 2 , f 3
b
f1 , f 3
5,7
c
f1 , f 3
6,7
d
f1 , f 2
1,5
e
f3
2,6
f
f3
0,2
g
f2
4,5
h
f2
4,6
i

Funcia f1
1 5 6 7
*
*
*
*
* *
* *

Termeni canonici
Funcia f 2
1 4 5 6 0
*
*

Funcia f 3
2 5 6
*
*
*
*

*
*

*
*
*
*

*
*

*
*

5. Se completeaz tabelul acoperirilor marcnd, de exemplu cu asterisc, n dreptul


termenilor canonici ai uneia dintre funcii, pe cei inclui n implicantul prim de pe o
anumit linie. Trebuie menionat c acest lucru este posibil numai dac implicantul prim
respectiv este implicant prim al funciei considerate sau al unei funcii produs al acesteia.
Pentru a respecta aceast condiie s-a prevzut n tabelul 2.10 o coloan n care se specific funciile n acoperirile crora poate intra fiecare implicant prim.
6. Pe baza tabelului 2.10 se determin acoperirile fiecrei funcii, conform celor
artate la punctul 2.3.1.2. Pentru exemplul considerat, acoperirea funciei f1 , notat cu
A( f1 ) , este:
A( f1 ) = ed + ecb = A1 + A2 .

(2.89)

De asemenea:
A( f 2 ) = ei + ehb = B1 + B2 ,

(2.90)

A( f 3 ) = gcb + gcd + gcf + gad = C1 + C 2 + C3 + C 4 .

(2.91)

iar

Prin urmare, pentru funcia f1 s-au gsit dou acoperiri, pentru f 2 de asemenea dou acoperiri, iar pentru f 3 patru acoperiri. Pentru a se forma o acoperire a sistemului se ia
cte una dintre acoperirile fiecrei funcii. Pentru a se gsi acoperirea minimal a sistemului se continu cu punctul urmtor.
7. Se scriu toate acoperirile posibile ale sistemului de funcii i se alege dintre
acestea acoperirea cu numr minim de elemente. Numrul acoperirilor posibile este dat
de produsul numerelor acoperirilor fiecreia dintre funcii. Pentru exemplul considerat
exist 2 2 4 = 16 acoperiri (enumerate n tabelul 2.11). Numrul elementelor unei
acoperiri a sistemului este egal cu numrul implicanilor primi distinci care intr n
67

CIRCUITE LOGICE COMBINAIONALE

acoperirile tuturor funciilor din sistem.


Din tabelul 2.11 rezult c sistemul de funcii considerat are patru acoperiri minimale cu cte cinci elemente, dintre care, din punctul de vedere al costului C R , cea mai
avantajoas este acoperirea A1 B1C 2 .
Tab.2.11 Lista tuturor acoperirilor posibile pentru sistemul de
funcii din exemplu.

Nr.
Elementele Nr.
Acoperirea
crt.
acoperirii elem.
A1 B1C1
1
6
edigcb
A1 B1C 2
2
5
edigc
A1 B1C3
3
6
edigcf
A1 B1C 4
4
5
ediga
A1 B2 C1
5
6
edhbgc
A1 B2 C 2
6
6
edhbgc
A1 B2 C3
7
7
edhbgcf
A1 B2 C 4
8
6
edhbga
A
B
C
9
5
ecbig
2 1 1
A2 B1C 2
10
6
ecbigd
A2 B1C3
11
6
ecbigf
A2 B1C 4
12
7
ecbigad
A
B
C
13
5
ecbhg
2 2 1
A2 B2 C 2
14
6
ecbhgd
A2 B2 C3
15
6
ecbhgf
A2 B2 C 4
16
7
ecbhgad

Costul
CR
13
10
12
11
13
13
15
14
11
13
13
16
11
13
13
16

8. Pe baza acoperirii cu cost minim gsit la punctul 7, se scriu expresiile minime


ale sistemului de funcii.
Pentru exemplul tratat, corespunztor acoperirii A1 B1C 2 , se obin expresiile:
f1FMD ( x1 , x2 , x3 ) = x2 x3 + x1 x2 ,
f 2FMD ( x1 , x2 , x3 ) = x2 x3 + x1 x3 ,

(2.92)

f 3FMD ( x1 , x2 , x3 ) = x1 x3 + x1 x3 + x1 x2 .

Procedura de minimizare a sistemului de funcii incomplet definite difer de metoda


prezentat pentru sistemele de funcii complet definite, n ceea ce privete modalitatea de
stabilire a setului de implicani primi pentru funciile sistemului. n acest caz, datorit valorilor indiferente ale funciilor, apar implicani primi care pot, sau nu, s implice o anumit funcie, dup cum se ia n considerare valoarea 0 sau 1 a acesteia, pentru termenii/combinaiile indifereni/indiferente. n [23] se prezint o metod de minimizare a
68

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

acestor sisteme de funcii, n care, pentru determinarea implicanilor primi ai sistemului


de funcii, s-a folosit metoda consensurilor (v. 2.3.1.4) [20].
2.3.2 Implementarea funciilor booleene

Circuitele logice constituie modelul fizic al funciilor logice bivalente. Orice element fizic, organ sau sistem care n funcionarea sa poate avea dou stri stabile, distincte sub
aciunea unei comenzi exterioare este capabil, n principiu, s materializeze variabile sau
funcii booleene. n funcionarea lor, elementele capabile de o funcionare binar pot implica intervenia unor fenomene de naturi diferite: mecanice, electrice, magnetice, electronice, pneumatice, hidraulice, etc.
Elementele fizice care stau la baza realizrii circuitelor logice se pot mpri n dou
categorii:
elemente dinamice sau cu piese n micare;
elemente statice sau fr piese n micare.
Prima categorie este definit n special de contactele releelor electromegnetice, dar
se mai pot aminti i alte elemente cum ar fi elementele pneumatice respectiv hidraulice
cu piese n micare. Dac strii unui contact (nchis sau deschis) sau obturrii sau nu a
unui orificiu prin care circul un fluid li se asociaz valorile binare 0 sau 1, funcionarea
lor permite materializarea variabilelor i funciilor booleene. Deoarece prin funcionarea
elementelor dinamice se conecteaz sau se deconecteaz un circuit, electric sau fluidic, se
spune c aceste elemente realizeaz o logic de conexiuni.
Elementele din a doua categorie, datorit avantajelor pe care le prezint n raport cu
primele au cptat o utilizare foarte mare n domeniul circuitelor logice. Din aceast clas
fac parte: dispozitivele electronice de comutaie static, elementele pneumatice respectiv
hidraulice fr piese n micare, elementele optoelectronice, etc. Elementelor din aceast
categorie, care n funcionare se bazeaz pe fenomene electrice, li se asociaz cifrele
binare 0 i 1 fie nivelelor de tensiune, fie semnalelor sub form de impulsuri. n cazul
nivelelor de tensiune se atribuie convenional valoarea 0 unui nivel de tensiune n jurul
valorii de zero voli iar valoarea 1 altui nivel n valoare absolut distinct fa de primul.
n cazul semnalelor sub form de impulsuri, absenei impulsului i se atribuie cifra 0, iar
prezenei acestuia cifra 1. Elementelor statice care au ca agent de lucru un fluid li se
asociaz valorile 0 i 1 nivelelor de presiune cobort sau nul i respectiv unor nivele de
presiune distincte de primele. Se spune c elementele statice cu aciune discret funcioneaz cu o logic de nivele.
2.3.2.1 Implementarea funciilor booleene cu relee electromagnetice

Circuitele logice realizate cu relee electromagnetice au fost primele tipuri i mult timp au
fost singurele. Referitor la aceste circuite s-a dezvoltat i o teorie matematic puternic la
care cercettorii romni i-au adus o important contribuie3.
Dei prezint multe dezavantaje n raport cu elementele statice (piese n micare,
durat redus de funcionare, vitez mic de comutare, gabarite mari, ntreinere periodic) aceste elemente se utilizeaz nc suficient de mult datorit unei serii de avantaje
3

Moisil, Gr.C., Teoria algebric a schemelor cu contacte i relee, Ed. Tehnic, Bucureti, 1965.
Moisil, Gr.C., Funcionarea real a schemelor cu contacte i relee, Ed. Academiei, Bucureti, 1965.
Livovschi, L., Circuite cu contacte i relee, Ed. Academiei, Bucureti, 1968.

69

CIRCUITE LOGICE COMBINAIONALE

(numr mare de contacte acionate simultan, robustee la suprasarcini), ndeosebi n realizarea comenzilor de complexitate mic i medie.
Releul electromagnetic materializeaz o variabil de stare sau de ieire a unui automat. Acionarea sa se face prin punerea sub tensiune a nfurrii de comand prin intermediul unui dipol care realizeaz funcia logic de comand a releului i n care intervin elementele de comand corespunztoare variabilelor de intrare: butoane, limitatoare,
etc. i variabile de stare sau ieire materializate prin contacte ale releelor respective.
Cea mai utilizat convenie de ataare a valorilor binare 0 i 1 celor dou stri distincte ale unor contacte de releu este urmtoarea: cnd nfurarea releului este alimentat
contactelor nchise li se atribuie valoarea 1 iar celor deschise valoarea 0; deci n stare de
repaus contactelor normal nchise (n..) valoarea 0 iar contactelor normal deschise (n.d.)
valoarea 1.
n cazul n care implementarea se face cu elemente cu piese n micare (de tip releu
electromagnetic, releu hidraulic, releu pneumatic), se transpun direct prin legturi serie i
paralel funciile I, respectiv SAU, negarea realizndu-se utiliznd contacte (ci) normal
nchise. n figura 2.17 se prezint materializarea sistemului funcional complet de baz
NU, I, SAU. n mod curent nfurrii releului i se ataeaz o liter mare iar contactelor
sale minusculele corespunztoare, adugndu-se eventual o cifr care semnific ordinea
contactelor aceluiai releu.
+
E1
1a
DA E1 = a
+

E2

2a

3a

1b

4a

NU

E2 = a

E3 = a b

E3

E4

(a)

SAU E4 = a + b
2b
(b)
Fig.2.17 Materializarea funciilor logice elementare cu relee electromagnetice4.

Evident, folosind circuitele prezentate se poate materializa orice funcie logic, deci
orice circuit logic n care nu intervine timpul (combinaional). Folosirea releelor temporizate sau polarizate permite introducerea timpului n prelucrarea logic, obinnd astfel
posibilitatea realizrii cu contacte i a circuitelor secveniale.
Implementarea funciilor booleene cu reele electromagnetice pornete de la una
dintre cele dou forme minime (FMD respectiv FMC) ale acestora.
4

70

STAS 11381/21-89 SEMNE CONVENIONALE PENTRU CONTACTE I APARATE AUXILIARE DE


COMAND. SCHEME ELECTRICE.
STAS 11381/23-89 SEMNE CONVENIONALE PENTRU CONTACTE I APARATE AUXILIARE DE
COMAND. RELEE ELECTRICE.

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Exemplu. S se implementeze cu relee urmtorul sistem de funcii booleene:


f1FMD ( x1 , x 2 , x3 , x4 ) =
= x1 x2 + x3 x4 ,
f 2FMC ( x1 , x2 , x3 , x4 )

(2.93)

1 x1

1x 2

1x 3

1 x4

2 x1

2 x2

2 x4

= x1 ( x2 + x4 ).

Soluia este prezentat n figura 2.18.


Simplitatea deosebit n realizarea circuitelor logice cu contacte este ns marcat de un
mare neajuns i anume c nu sunt unidirecionale, fapt ce poate conduce la realizarea unor
legturi false, fiind necesare precauii pentru
evitarea acestora.

f1

f2

X1

X4

Fig.2.18 Realizarea cu relee a sistemului de


funcii din exemplu.

2.3.2.2 Implementarea funciilor booleene cu circuite integrate

Posibilitatea dispozitivelor semiconductoare de a funciona n regim de comutaie, cu


dou stri distincte i stabile, le confer acestora proprietatea de element cu aciune discret apt de a materializa funcii logice. Circuitele logice electronice se bazeaz tocmai pe
funcionarea n regim de comutaie a dispozitivelor semiconductoare.
Pentru realizarea cu circuite logice electronice a funciilor booleene este necesar,
aa cum s-a mai menionat, atribuirea valorilor unei mrimi fizice electrice (tensiune sau
curent) mulimii de dou elemente {0,1}, care reprezint valorile variabilelor booleene.
Cele dou valori 0 i 1 sunt puse n coresponden cu dou domenii disjuncte ale mrimii
fizice alese (v. fig. 2.19).
Nivele de
tensiune
Domeniul de valori
S1
Zon
interzis
Domeniul de valori
S2

Nivel H
S1 S2 =
Nivel L

Fig.2.19 Reprezentarea variabilelor booleene prin tensiuni.

Stabilirea unor valori precise pentru cele dou nivele logice nu este convenabil
ntruct circuitul care trebuie s realizeze acest lucru devine mai complicat. Este absolut
necesar condiia disjunciei celor dou domenii de valori ( S1 I S 2 = ) ntruct
71

CIRCUITE LOGICE COMBINAIONALE

elementele comune ar crea confuzii de interpretare n domeniul valorilor funciilor booleene.


Reprezentarea valorilor funciilor booleene prin nivele de tensiune este mai rspndit i n cele ce urmeaz ne vom referi la aceast reprezentare. Nivelele de tensiune
din cele dou domenii de valori S1 i S 2 respect relaia:
pentru v1 S1 i v2 S 2 , exist v1 > v2 .

(2.94)

Datorit acestui fapt tensiunile din intervalul S1 se mai numesc nivele H (High) iar
cele din intervalul S 2 se numesc nivele L (Low). Deoarece ntre mulimea valorilor funciilor booleene {0,1} i mulimea domeniilor de tensiune {S1 , S 2 } se pot stabili corespondenele din figura 2.20, este necesar stabilirea unei convenii de asociere pentru a
defini funcia logic realizat de un anumit circuit.
Situaia n care valorile maxime de tensiune
S1
S1
1
1
corespund la 1 logic iar cele minime la 0 logic definete ceea ce se numete logic pozitiv (v. fig.
2.20,a),
iar situaia n care valorile maxime de tenS2
S2
0
0
siune corespund la 0 logic iar cele minime la 1 lo(a)
(b)
gic definete logica negativ (v. fig. 2.20,b).
Fig.2.20 Nivele logice i tensiuni: (a) logic
n practic se ntlnesc ambele tipuri de copozitiv, (b) logic negativ.
respondene. n plus, este posibil folosirea ambelor reprezentri logice, pozitiv i negativ, ntr-un singur sistem logic (folosind n continuare numai dou tensiuni). Folosirea ambelor reprezentri n acelai sistem este cunoscut ca reprezentarea logic mixt. n acest caz este necesar o notaie special pentru a
numi semnalele logice. Trebuie observat s schimbarea conveniei este echivalent cu o
negare a variabilei booleene.
Stabilirea nivelelor de tensiune corespunztoare domeniilor S1 i S 2 depinde de
modul de realizare al circuitului, de felul tranzistoarelor folosite, de tehnologia utilizat
n cazul circuitelor integrate, de tensiunile de alimentare ntrebuinate. De exemplu,
pentru familia de circuite logice integrate TTL, 1 logic este reprezentat de o tensiune nominal de 3,4V, dei ea poate lua valori ntre 2,4V i 5V. Adesea se asociaz +5V lui 1
logic. Tensiunea de alimentare a circuitelor TTL este tot de +5V. Un 0 logic este reprezentat de 0,2V nominal, dar poate fi generat cu valori ntre 0V i 0,4V. n general, se asociaz 0V lui 0 logic. Pot fi mici variaii ntre nivelul de tensiune nominal declarat la
diverse circuite pentru 0 logic i 1 logic. Tensiuni cobornd pn la 2V vor fi recunoscute
ca 1 logic, iar tensiuni urcnd pn la 0,8V vor fi recunoscute ca 0 logic, permind n
sistem un zgomot electric strin5. Suprapunerea parial dintre gamele de tensiune recunoscute i gamele de tensiune generate este prezentat n figura 2.21.
Evoluia circuitelor logice a dus n timp la dezvoltarea unor familii de circuite n
care se ncearc realizarea unui compromis optim ntre diversele performane i cost.
Dup modul de realizare, circuitele logice electronice se pot mpri n dou mari
categorii: circuite logice realizate din elemente discrete i circuite logice integrate.
Dezvoltarea exploziv a tehnologiilor de integrare a dispozitivelor semiconductoare a
5

72

Marginea (marja) de zgomot este nivelul de tensiune prezent ca i zgomot electric care poate fi tolerat n
sistem. n TTL, marjele de zgomot, att la nivel logic 0 ct i la nivel logic 1, sunt de +0,4V.

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

fcut ca circuitele din cea de a doua categorie s se impun net, datorit avantajelor lor
incontestabile, motiv pentru care n lucrare nu vor fi tratate dect problemele legate de
implementarea funciilor booleene cu astfel de circuite.
5

+5,0 V

+5,0 V

4
3
Tensiune
[V]
2
1

Domeniu pentru
1 logic
+2,4 V
Margini (marje)
de zgomot

+2,0 V

+0,8 V Domeniu pentru


b
+0,4 V
0 logic
0
Tensiuni de ieire Tensiuni de intrare
generate
recunoscute
Fig.2.21 Tensiuni TTL.

Circuitele logice integrate sunt realizate, n general, n tehnologia TTL (Transistor


Transistor Logic), respectiv realizate n tehnologia CMOS (Complementary Metal Oxide
Semiconductor).
Metodele matematice prezentate anterior sunt necesare dar insuficiente pentru proiectarea cu circuite integrate. Unul din scopurile importante ale acesteia este obinerea
unor scheme cu numr minim de circuite integrate i cu un cost ct mai sczut.
Abordnd din acest punct de vedere problema implementrii se impune cu necesitate parcurgerea a dou etape:
cunoaterea tipurilor de circuite integrate combinaionale;
stpnirea metodelor specifice de proiectare cu aceste circuite i a criteriilor de
alegere a acelora care conduc la o schema minim.
Exist mai multe metode de implementare a CLC-urilor, difereniate dup nivelul
de complexitate al circuitelor integrate utilizate.
2.3.2.2.1 Implementarea cu circuite integrate SSI

Circuitele integrate pe scar mic, SSI (Small Scale Integration), conin pn la 100 de
tranzistoare/cip (sau, pn la 12 pori/capsul). Din aceast categorie de circuite integrate
fac parte diferite tipuri de pori logice: I (AND), SAU (OR), INVERSOR (INVERTER),
I-NU (NAND), SAU-NU (NOR), SAU-EXCLUSIV (XOR), I-SAU-NU (AOI), etc.
Prima familie de pori integrate care a reprezentat un succes tehnologic, a fost cea
numit TTL, aprut n anii 60 i folosit nc pentru sistemele digitale de complexitate
redus i medie i pentru interfaarea cu circuitele cu un grad mai mare de integrare. n
multe cazuri, tehnologia iniial TTL a fost nlocuit de tehnologia CMOS, dar funcionalitatea circuitelor a rmas aceeai.
Porile logice integrate pot exista ntr-un circuit integrat fie ca elemente de-sinestttoare (prezentnd deci intrri i ieiri proprii), fie n calitate de elemente componente
ntr-o structur de circuit logic mai complex.
Pentru implementarea funciilor logice cu circuite integrate SSI este necesar minimizarea matematic a acestora.
73

CIRCUITE LOGICE COMBINAIONALE

Operaia de convertire a expresiilor funciilor logice exprimate sub form minim n


scheme logice echivalente cu pori logice, reprezint o problem de optimizare, a crei
rezolvare depinde de experiena proiectantului n contextul unor restricii impuse privind:
tipurile de pori disponibile; natura semnalelor disponibile; tipul de poart care asigur
utilizarea numrului minim de capsule; numrul intrrilor fiecrei pori; numrul de pori
ntr-o capsul; numrul de nivele logice; ntrzierile impuse n propagare i preul circuitelor utilizate [2,15,22,23,26,27,29,30,33].
Exemplu. S se implementeze un circuit de anticoinciden cu trei intrri (circuit
care d 1 logic la ieire cnd cele trei variabile de intrare nu sunt identice, toate 0 sau
toate 1), n urmtoarele variante:
a) cu pori I (AND), SAU(OR) i INVERSOARE;
b) cu pori I-NU (NAND);
c) cu pori SAU-NU (NOR);
d) cu pori SAU-EXCLUSIV (XOR) i I-NU (NAND);
e) cu pori I-SAU-NU (AOI) i I-NU (NAND);
f) cu pori I-SAU-NU (AOI) i INVERSOARE.
Care este relaia ntre minimizarea matematic a funciei i minimizarea implementrii?
Prin implementarea unei funcii sau a unui sistem de funcii booleene se nelege
realizarea acestora cu circuite integrate, adic, proiectarea i desenarea schemei cu simbolurile logice asociate circuitelor i calcularea numrului de circuite integrate necesare.
n tabelul 2.12 este reprezentat tabelul de adevr, iar n figura 2.22 diagrama
Karnaugh pentru funcia logic tratat n exemplu.
x1x2
Tab.2.12 Tabelul de adevr pentru funcia din exemplu.
x3
00 01 11 10
x1 x2 x3 f
x1 x2 x3 f
0 0
1
1
1
0 0 0 0 0 4 1 0 0 1
1 0 0 1 1 5 1 0 1 1
1 1
1
0
1
2 0 1 0 1 6 1 1 0 1
3 0 1 1 1 7 1 1 1 0
Fig.2.22 Diagrama Karnaugh pentru
funcia din exemplu.

Forma minim disjunctiv a funciei este urmtoarea:


f FMD ( x1 , x2 , x3 ) = x1 x2 + x1 x2 + x2 x3 + x2 x3 .

(2.95)

a) Implementarea cu pori I, SAU i INVERSOARE este prezentat n figura


2.23,a. Se deseneaz circuitele prin simboluri logice i n dreptul fiecruia se noteaz
numrul asociat din cadrul seriei de circuite integrate digitale utilizate (n lucrare se vor
folosi circuite integrate digitale din seria 74xxx, produse ale firmei Texas Instruments,
[34], v. Anexa D; excepie fac o parte dintre circuitele integrate utilizate n 2.3.2.2.3).
Fracia dinaintea numrului indic ct reprezint poarta respectiv din cadrul circuitului
integrat. Se utilizeaz 17404, 17408 i 17432 deci, n total 3 circuite integrate din
care rmn ns disponibile 3 INVERSOARE i 1 poart SAU. Se observ c acest tip de
implementare este dezavantajos: se utilizeaz trei tipuri de circuite integrate i, n plus nu
se poate aplica eficient la funcii logice cu mai muli termeni, deoarece nu exist circuite
integrate care s conin pori SAU cu mai mult de 2 intrri.
74

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

b) Implementarea cu pori I-NU prezint fa de prima variant de implementare


avantajul c, folosind doar dou tipuri de circuite integrate, atinge un grad destul de bun
de utilizare a acestora.
Pentru ca implementarea cu pori I-NU s devin evident, se transform expresia
funciei f cu ajutorul teoremelor lui De Morgan:
f FMD ( x1 , x2 , x3 ) = x1 x2 + x1 x2 + x2 x3 + x2 x3 = x1 x2 x1 x2 x2 x3 x2 x3 .

(2.96)

Schema este prezentat n figura 2.23,b. Se utilizeaz 27400 i 17420 din care
rmn disponibile 1 poart I-NU cu 2 intrri i 1 poart I-NU cu 4 intrri.
La porile logice I-NU o intrare nefolosit trebuie s fie legat, fie mpreun cu o
alt intrare folosit, fie la un potenial corespunztor constantei logice 1.
c) Implementarea cu pori logice SAU-NU asigur, de asemenea, datorit uniformitii, un grad mai bun de utilizare al circuitelor integrate n raport cu prima variant de
implementare. n schimb, fa de varianta a doua de implementare apare un nivel logic
suplimentar. i n acest caz este necesar transformarea expresiei funciei f, cu ajutorul
teoremelor lui De Morgan, pentru nlocuirea funciei I:
f FMD ( x1 , x2 , x3 ) = x1 x2 x1 x2 x2 x3 x2 x3 = ( x1 + x2 )( x1 + x2 )( x2 + x3 )( x2 + x3 ) =
= ( x1 + x2 ) + ( x1 + x2 ) + ( x 2 + x3 ) + ( x2 + x3 ).

(2.97)

Implementarea este aceea din figura 2.23,c; se utilizeaz trei circuite integrate,
27402 i 174260, rmnnd liber o poart SAU-NU cu 5 intrri.
La porile logice SAU-NU o intrare nefolosit trebuie s fie legat, fie mpreun cu
alt intrare folosit, fie la un potenial corespunztor constantei logice 0.
d) Se observ c expresia funciei f se poate scrie i sub forma:
f FMD ( x1 , x2 , x3 ) = x1 x2 + x1 x2 + x2 x3 + x2 x3 = ( x1 x2 ) + ( x2 x3 ) =
= ( x1 x2 ) ( x2 x3 ).

(2.98)

Deci implementarea (v. fig. 2.23,d) se face doar cu dou circuite integrate: 17486
i 17400, din care rmn neutilizate 2 pori SAU-EXCLUSIV i 1 poart I-NU cu dou
intrri. Este cea mai avantajoas soluie de implementare de pn n acest moment, doar
c o astfel de implementare nu se poate face dect n cazul n care n expresia funciei de
implementat se pune n eviden funcia SAU-EXCLUSIV.
e) Varianta de implementare cu pori I-SAU-NU i I-NU este prezentat n figura
2.23,e. Pentru a se pune n eviden operaia I-SAU-NU expresia funciei f poate fi
transformat n felul urmtor:
f FMD ( x1 , x2 , x3 ) = x1 x2 + x1 x2 + x2 x3 + x2 x3 = ( x1 x2 + x1 x2 ) ( x2 x3 + x2 x3 ) .

(2.99)

Sunt necesare, pentru implementare, dou circuite integrate: 17400 i 17451, utilizate
n totalitate. Din punct de vedere al numrului de circuite integrate folosite i al gradului
de utilizare al acestora este cea mai avantajoas soluie de implementare pentru funcia f.
75

CIRCUITE LOGICE COMBINAIONALE

x1

x3

x2

x1

6 7404

x3

x2

x1 x2 1 4 7432
x1 x2 + x1 x2
x1 x2
x2 x3

x2 x3

f
1

4 7432
x2 x3 + x2 x3

1 7404( 3)

4 7408

1 7408( )
1 7432( 1)

(a)
x1

x3
x2
1 1 1
1

4 7400

x1 x2
x1

x2

x3

x1 x2

f
1

x2 x3
1

4 7400

(b)

x1

2 7400( 1)
1 7420( 1)

x3

x2

x1

x2 x3

x2

4 7402

x3

x1 + x2
x1 + x2

x2 + x3
x2 + x3
(c)

76

2 7420

2 74260

f
1

4 7402

2 7402( )
1 74260( 1)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE


1

4 7486

x1 x2

x1
x2

4 7400

4 7400

x2 x3

x3

1 7486( 2)

1 7400( 1)

x2 x3

(d)
x1

x1 x2

x3
x2
1 1 1
1

x1

x2

7400

x3

x1 x2
x1x2

x1 x2 + x1 x2
1

2 7451

7400

x2 x3
x2 x3

2 7451

x2 x3 + x2 x3
1 7400( )
1 7451( )

(e)

x3
1

x1x2

x1 x2 + x1 x2
f
1

7451

x3

x2

x1

x2 x3

6 7404
1

(f )

6 7404

x2 x3

x2 x3 + x2 x3
1

x1

x1x2

1
1

6 7404

x2

7451

1 7404( )
2 7451( 1)

Fig.2.23 Implementarea funciei f din exemplu cu diferite tipuri de pori logice.

77

CIRCUITE LOGICE COMBINAIONALE

f) Cea de a doua variant de implementare care utilizeaz pori I-SAU-NU, mpreun, de aceast dat, cu INVERSOARE (v. fig. 2.23,f) folosete trei circuite integrate:
27451, 17404, rmnnd neutilizat o poart I-SAU-NU 22.
Se demonstreaz, analiznd exemplul de mai sus, c prin realizarea unei funcii
booleene, dat sub form minim, cu diverse tipuri de pori logice, se obine un numr
variabil de circuite integrate, sau, cu alte cuvinte, c dei funcia f este dat sub form
minimizat matematic, nu toate implementrile conduc la un numr minim de circuite integrate. nseamn c, ulterior minimizrii matematice este necesar alegerea acelui tip de
poart logic care conduce la schema logic cea mai redus ca dimensiuni. Aceast etap
de proiectare nu mai este formalizat matematic i pentru parcurgerea ei, ct mai rapid,
este necesar formarea unor deprinderi, a unei experiene. Pentru minimizarea implementrii unei funcii logice trebuie s se aib n vedere urmtoarele aspecte:
s se utilizeze circuite integrate ct mai puin dispersate ca tipuri;
s se aleag tipul de circuit integrat cel mai potrivit pentru implementare, n raport
cu forma funciei de implementat.
n cazul CLC-urilor definite de un ansamblu (sistem) de funcii logice, implementarea cu pori logice minim se obine lund n considerare ansamblul funciilor i nu
implementnd fiecare funcie independent i punnd n eviden, n expresiile funciilor a
ct mai multor termeni comuni, chiar dac n acest fel implementarea nu mai pornete de
la formele minimizate matematic.
Exemplu. S se implementeze cu pori I-NU circuitul logic combinaional definit
de urmtoarele funcii:
f1F CD ( x1 , x2 , x3 , x4 ) = P0 + P1 + P2 + P3 + P10 + P11 + P14 + P15 ,

f 2FCD ( x1 , x2 , x3 , x4 ) = P0 + P1 + P5 ,

(2.100)

f 3FCD ( x1 , x2 , x3 , x4 ) = P1 + P2 + P3 + P5 ,

a) minimiznd fiecare funcie independent;


b) minimiznd ansamblul funciilor.
a) Diagramele Karnaugh pentru funciile f1 , f 2 i f 3 sunt prezentate n figura 2.24.
x1 x2
x1 x2
x1 x2
x3 x4
00 01 11 10
00 01 11 10 x3 x4
00 01 11 10 x3 x4
00

00

00

01

01

01

11

11

11

10

10

10

f1

f2
Fig.2.24 Diagramele Karnaugh pentru funciile f1 , f 2 i f 3 .

78

f3

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Din diagrama de minimizare pentru funcia f1 (v. fig. 2.24) rezult:


f1FMD ( x1 , x2 , x3 , x4 ) = x1 x2 + x1 x3 = x1 x2 x1 x3 ,

(2.101)

care se implementeaz cu 3 pori I-NU cu 2 intrri i 2 INVERSOARE (se vor folosi ca


INVERSOARE porile I-NU rmase disponibile n circuitele integrate utilizate).
Forma minim disjunctiv pentru funcia f 2 este urmtoarea:
f 2FMD ( x1 , x2 , x3 , x4 ) = x1 x2 x3 + x1 x3 x4 = x1 x2 x3 x1 x3 x4

(2.102)

i sunt necesare, pentru implementare, 2 pori I-NU cu 3 intrri, 1 poart I-NU cu 2 intrri i nc un INVERSOR, pentru x3 (variabilele x1 i x2 au fost deja negate pentru obinerea funciei f1 ). De asemenea f 3 minimizat, este:
f 3FMD ( x1 , x2 , x3 , x4 ) = x1 x2 x3 + x1 x3 x4 = x1 x2 x3 x1 x3 x4

(2.103)

i se implementeaz cu 2 pori I-NU cu 3 intrri i o poart I-NU cu 2 intrri.


Deci, n total sunt necesare 4 circuite integrate (v. fig. 2.25), 2 7400 i 2 7410 i
rmn disponibile 3 pori I-NU cu 2 intrri (s-au folosit ca INVERSORE) i 2 pori INU cu 3 intrri.
x1
x2
x4
x3
1

x1

x2

x3

4 7400
1

4 7400

f1
1

3 7410

f2

f3
2 7400()
2 7410(2)
Fig.2.25 Implementarea individual a funciilor ansamblului.

79

CIRCUITE LOGICE COMBINAIONALE

b) Pentru minimizarea ansamblului funciilor s-a folosit metoda prezentat mai sus,
n 2.3.1.6.
Se calculeaz mai nti funciile produs:
f1 = (0,1,2,3,10,11,14,15) , f1 f 2 = (0,1) ,
f 2 = (0,1,5) ,

f1 f 3 = (1,2,3) , f1 f 2 f 3 = (1) .

f 3 = (1,2,3,5) ,

f 2 f 3 = (1,5) ,

(2.104)

Se determin n continuare implicanii primi ai fiecreia dintre funciile (2.104), folosindu-se n acest scop diagramele Karnaugh (v. fig. 2.26).
x1 x2
x1 x2
x1 x2
x
x
x
x
x3 x4
00 01 11 10
3 4
00 01 11 10
00 01 11 10
3 4
00

00

00

01

01

01

11

11

11

10

10

10

f1
x1x2

x3 x4

00

01

11

10

00

01

11

10

x3 x4

x1 x2

x1x2

01

11

10

00

01

11

10

01

11

10

00

01

11

10

x3 x4

x3 x4

00

00

f1 f 3

f1 f 2

f2 f3

x1x2
00

01

11

10

00

01

11

10

f1 f 2 f 3

80

f3

f2

Fig.2.26 Minimizarea sistemului de funcii


booleene.

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Din figura 2.26 se obin, pentru funciile considerate, implicanii primi din tabelul
2.13. Se ntocmete, de asemenea, un tabel al acoperirilor funciilor sistemului din exemplul analizat (v. tab. 2.14).
Tab.2.13 Tabelul implicanilor primi pentru sistemul de funcii.

Funcia
f1

f2
f3

Implicani primi
Implicani primi
Funcia
Indicii
Expresia Notaia
Indicii Expresia Notaia
x1 x2
f3
x1 x3 x4
1,5
0,1,2,3
h
x 2 x3
f1 f 2
x1 x2 x3
2,3,10,11
0,1
g
e
x1 x3
x1 x2 x4
10,11,14,15
1,3
f
d
f1 f 3
x1 x2 x3
x1 x2 x3
2,3
0,1
c
x1 x3 x4
f 2 f3
x1 x3 x4
1,5
1,5
b
x1 x2 x4
f1 f 2 f 3
x1 x2 x3 x4
1,3
1
a
x1 x2 x3
2,3
-

Tab.2.14 Tabelul acoperirilor sistemului de funcii.

Implicani primi
Notaie Indici
Funcii 0 1
f1 , f 2 , f 3
1
*
a
1,5
f 2 , f3
b
2,3
f1 , f 3
c
f1 , f 3
1,3
*
d
f1 , f 2
0,1
* *
e
10,11,14,15
f1
f
2,3,10,11
f1
g
f1
0,1,2,3
* *
h

*
*

Termeni canonici
f1
f2
3 10 11 14 15 0 1 5
*
* *
*
*
* *
* * * *
* * *
*

f3

1
*
*

5
*

*
*

*
*

n acest mod se obin urmtoarele forme minime pentru funciile sistemului:


A( f1 ) = f + h = x1 x3 + x1 x2 = x1 x3 + x1 x2 x3 + x1 x2 x3 =
= x1 x3 x1 x2 x3 x1 x2 x3 ,

(2.105)

A( f 2 ) = b + e = x1 x3 x4 + x1 x2 x3 = x1 x3 x4 x1 x2 x3 ,

(2.106)

A( f 3 ) = b + c = x1 x3 x4 + x1 x2 x3 = x1 x3 x4 x1 x2 x3 .

(2.107)

Se observ c dac funcia f1 nu se minimizeaz complet, implicantul prim x1 x2 poate fi


considerat ca fiind format din termenii normali x1 x2 x3 i x1 x2 x3 , care se regsesc i n
funciile f 2 , respectiv f 3 . Astfel, implementarea ansamblului de funcii, n care termenii

81

CIRCUITE LOGICE COMBINAIONALE

comuni se obin cu ajutorul unei singure pori logice, se poate face numai cu 3 circuite
integrate (1 7400, 2 7410) , deci mai economic dect n cazul n care f1 este dat n
form minim (v. fig. 2.27).
Dou sau mai multe pori logice (de exemplu, pori I-NU) n structur obinuit nu
pot avea ieirile cuplate n paralel. Pentru a se cupla, totui, n paralel mai multe pori se
utilizeaz circuite integrate de tipul cu colector n gol/deschis, OC (Open Collector) (v.
Anexa B). Poarta cu colector deschis este, de asemenea, folosit pentru cuplarea bi
(multi) direcional a unor circuite logice (registre, memorii, etc.).
O alternativ favorabil la cuplarea mai multor pori logice n paralel pentru transmiterea, de exemplu a informaiei pe o magistral comun de date (BUS), o reprezint
subfamilia de circuite integrate digitale cu trei stri logice, TSL (Three State Logic) (v.
Anexa B). Aceasta este util nu numai pentru cuplarea ieirilor porilor logice dar i a altor circuite integrate digitale (de ex., pentru extinderea capacitii memoriilor ROM, etc.).
x4
x1
x2
x3

x1

x2

x3

3 7410

4 7400

1 7400( )
2 7410()
x1 x2 x3
1

3 7410

x1 x2 x3

f1

x1 x3

f2

x1 x3 x4

f3
1

4 7400

Fig.2.27 Implementarea ansamblului de funcii.

Observaie. Intrrile nefolosite ale circuitelor integrate digitale NU SE LAS N


GOL!! Ignorarea acestei reguli poate produce, n exploatarea echipamentului digital, surprize dintre cele mai neplcute. Astfel, intrrile lsate n gol adaug capaciti parazite a
cror ncrcare produce ntrzieri la intrare i prin urmare o cretere a timpilor de propagare i capteaz semnale parazite.
Exist dou categorii de intrri:
intrri care nu pot fi dect la un anumit nivel logic; intrrile nefolosite ale porilor
I sau I-NU trebuie legate la 1 logic, n timp ce intrrile nefolosite ale porilor SAU sau
SAU-NU se leag la 0 logic, etc.;
intrri care pot fi legate fie la 0, fie la 1 logic, fr ca prin aceasta s fie afectat
funcionarea circuitului (de exemplu, intrrile porilor nefolosite dintr-un cip; intrrile de
date ale numrtoarelor presetabile, evident, dac nu sunt folosite; intrrile multiplexoarelor nefolosite dintr-un cip, etc.). n acest caz criteriul este minimizarea puterii absorbite de ctre un cip de la sursa de alimentare.
Intrrile neutilizate mai pot fi, de asemenea, legate la:

82

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

intrrile utilizate care ndeplinesc aceeai funcie; este o soluie mai comod, dar
prezint dezavantajul c se ncarc suplimentar circuitul care comand intrrile respective;
ieiri de circuite care au, n permanen, acelai nivel logic; n acest caz trebuie
verificat c nu se depete capacitatea de comand a respectivelor ieiri.
O alt problem care trebuie avut n vedere n cazul implementrii cu pori logice
este aceea c numrul intrrilor este, n general, limitat. De exemplu, exist pori I-NU
cu 1 (inversorul), 2, 3, 4 i 8 intrri. Numrul intrrilor pentru porile I, SAU-NU, etc.
este i mai mic. Apare prin urmare, necesitatea practic a mririi numrului de intrri.
Exist mai multe posibiliti pentru realizarea acestui lucru:
se cupleaz ieirile a dou sau mai multe pori cu un numr de intrri la intrarea
altei pori;
se realizeaz funcia logic I-cablat cu ajutorul porilor cu colectorul n gol (open
collector, v. Anexa B);
se folosete un circuit special de expandare care atac bornele de expandare prevzute la unele circuite, atacul fcndu-se la nivelul SAU.
2.3.2.2.2 Implementarea cu circuite integrate MSI
Implementarea cu circuite integrate pe scar medie, MSI (Medium Scale Integration), care
conin pn la 1000 de tranzistoare/cip (sau, avnd ntre 12 i 100 de pori/capsul),
utilizeaz circuite universale ca: decodificatorul respectiv demultiplexorul i multiplexorul care genereaz, n interior, toi termenii canonici de 2, 3, respectiv 4 variabile.
Decodificatorul i demultiplexorul (se vor trata mpreun pentru c se aseamn din
punct de vedere constructiv i funcional) realizeaz, aa cum s-a precizat mai sus, doar
nivelul logic I. Aceste circuite transmit termenii canonici pe care i genereaz, n exterior, unde sunt adunai n pori logice (nivelul logic SAU) corespunztor cu funciile logice ce trebuie implementate. Multiplexorul realizeaz constructiv ambele nivele logice
sau cu alte cuvinte, adun, n interior, termenii canonici pe care i genereaz. Din acest
motiv aceste circuite trebuiesc prevzute cu intrri de validare care s permit transmiterea, spre exterior, doar a acelor termeni canonici ce intervin n expresia funciei de
implementat.
n aceste cazuri, deoarece se pornete direct de la termeni canonici, minimizarea
matematic a funciilor logice nu mai este necesar. Exist ns metode specifice de
reducere a schemelor logice, la MSI minimizarea implementrii presupunnd, pe lng
obinerea unui numr minim de circuite integrate i utilizarea unor circuite integrate cu
un grad mai sczut de complexitate.

Circuite multiplexoare
Multiplexorul (MUX-ul) este unul dintre cele mai importante circuite MSI. Este denumit
uneori i selector deoarece este utilizat i ca un comutator de selectare a anumitor ci
[2,15,22,23,2630,33].
Multiplexorul/selectorul este un circuit logic combinaional care are, n cazul general, 2 n intrri de date, I 0 , I1 ,K , I 2n 1 , n intrri de selecie (adres), S 0 , S1 ,K , S n1 i o
ieire Z (v. fig. 2.28,a). Starea ieirii circuitului la un moment dat este aceeai cu starea
intrrii I k , unde indicele k este echivalentul zecimal al numrului binar reprezentat de

83

CIRCUITE LOGICE COMBINAIONALE

strile 0 i 1 ale intrrilor de selecie:


k = ( S n1S n2 K S1S 0 ) .

(2.108)

Ieirea selecteaz deci intrarea indicat de variabilele de adres.

I0
I1
MUX
2n :1

I 2n 1

D0
D1
D2
Y
D3
MUX
D4 3 :1
2
D5
W
D6
D7

CB

00

01

11

10

0 D0

D2

D6

D4

1 D1

D3

D7

D5

GA B C
S0 S1
(a)

Sn1

(c)

(b)
n

Fig.2.28 Circuit multiplexor: (a) simbolul de reprezentare al unui MUX 2 : 1 ; (b), (c)
simbolul de reprezentare6 i diagrama Karnaugh pentru un MUX 23 : 1 .

Pentru ca la ieire s apar ntotdeauna numai intrarea selectat trebuie ca selecia s


se fac dup stabilizarea intrrilor de adres. Din acest motiv, multiplexoarele sunt prevzute cu o intrare suplimentar, intrarea de autorizare/validare sau strobare7, G , care condiioneaz selecia fiecrei intrri. Ea are de fapt rolul de a comanda inhibarea respectiv
dezinhibarea funcionrii circuitului. Aceast intrare suplimentar poate fi folosit i la
extinderea numrului de intrri, prin legarea mai multor circuite de multiplexare. Intrarea
s-a notat cu G deoarece semnalul de autorizare permite selectarea numai atunci cnd are
valoarea logic 0.
Se consider, n continuare, un multiplexor de 8 ci (MUX 2 3 : 1 ) cu opt intrri de
date, D0 , D1 ,K, D7 , trei intrri de selecie, A, B i C, o intrare de strobare, G , activ pe 0
logic i dou ieiri complementare, Y i W (v. fig. 2.28,b). Comportarea sa este descris
n tabelul 2.15. Pe baza tabelului 2.15 se poate ntocmi diagrama Karnaugh din figura
2.28,c, n care n locul valorilor logice 0 i 1 s-au nscris variabilele corespunztoare
intrrilor de date care pot avea fie valoare 0, fie valoarea 1. n acest caz, la scrierea expresiei funciei, termenii corespunztori unui anumit compartiment din diagram se scriu
adugnd variabilelor care definesc compartimentul respectiv i variabila nscris n interiorul su. Valoarea acestei variabile condiioneaz valoarea funciei. Avnd n vedere
condiiile introduse n diagrama Karnaugh din figura 2.28,c, expresia ieirii Y, este:
Y = G (C B AD0 + C B AD1 + C B AD2 + C BAD3 + C B AD4 +
+ C B AD5 + CB AD6 + CBAD7 ).
6

(2.109)

Exist simboluri grafice standard i pentru dispozitivele logice MSI i LSI (v. 1.2.3.4), dar aceste simboluri nefiind universal acceptate pentru schemele logice, nu se vor folosi n aceast lucrare.
7
De la denumirea n limba englez to strobe a selecta.

84

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE


Tab.2.15 Tabelul de adevr pentru un MUX 23 : 1 ((a) forma detaliat, respectiv (b) forma compact).

Intrri
C
*
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Selecie
B
*
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
*
0
0
0
0
1
1
1
1

A
*
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

Strob
D0
G
1
*
0
0
0
1
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*
0
*

Intrri
Selecie
B
A
*
*
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1

Ieiri

D1

D2

Date
D3
D4

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

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

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

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

Ieiri
Strob
G
1
0
0
0
0
0
0
0
0

0
D0
D1
D2
D3
D4
D5
D6
D7

1
D0
D1
D2
D3
D4
D5
D6
D7

D5

D6

D7

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

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

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

0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
(a)

Observaie:
Utilizarea simbolului * indic faptul
c intrarea este nesemnificativ.

(b)

Posibilitatea utilizrii multiplexorului pentru implementarea funciilor logice rezult


din ecuaia (2.109), care definete funcionarea acestuia. Se observ c, n aceast relaie
apar toi termenii canonici care se pot forma cu variabilele de selecie, nmulii fiecare cu
cte o variabil corespunztoare unei intrri de date.
Pe baza expresiei (2.109) se poate obine schema logic a multiplexorului, prezentat n figura 2.29.
Principalele tipuri de multiplexoare utilizate, n mod curent, sunt: MUX-urile 16:1,
8:1, 2(4:1), 4(2:1).

85

CIRCUITE LOGICE COMBINAIONALE

B A D7 D6 D5 D4 D3 D2 D1 D0 G

Fig.2.29 Schema logic a unui MUX 23 : 1 .

Implementarea funciilor booleene cu multiplexoare


Posibilitatea de utilizare a multiplexorului MUX 2 n : 1 ca CLC de n variabile, se explic
prin faptul c, aa cum s-a mai precizat, n structura sa se obin toi termenii canonici de n
variabile (nivelul logic I), ct i suma logic complet ntre aceti termeni (nivelul logic
SAU). Deci, cu o astfel de structur, se poate implementa orice funcie boolean de n variabile, dat sub FCD [2,15,22,23,2630,33].
Spre deosebire de metodele clasice de implementare cu pori logice, la care se face,
n prealabil, o minimizare, n cazul implementrii cu multiplexoare se pornete deci de la
FCD a funciei de implementat.
n continuare se vor prezenta, parcurgndu-se o serie de exemple, particularitile
implementrii funciilor booleene cu multiplexoare, utilizndu-se n acest scop urmtoarele multiplexoare integrate [34]:
74150, MUX 2 4 : 1 , cu o intrare de validare/strobare ( G ) i o ieire ( W ), ambele
active pe 0 logic;
74151, MUX 2 3 : 1 , cu o intrare de validare/strobare activ pe 0 logic ( G ) i dou
ieiri complementare (Y i W );
74153, 2MUX 2 2 : 1 , cu cte o intrare de validare/strobare activ pe 0 logic
(1 G , 2 G ) i cu cte o ieire necomplementat (1Y, 2Y );
74352, 2MUX 2 2 : 1 , cu cte o intrare de validare/strobare activ pe 0 logic
(1 G , 2 G ) i cu cte o ieire complementat (1 Y , 2 Y ).
Exemplu. S se implementeze cu MUX funcia urmtoare:

f FMD ( x1 , x2 , x3 ) = x1 x3 + x1 x2 + x1 x2 x3 .
Funcia trebuie adus, mai nti, la FCD, prin introducerea variabilelor absente:

86

(2.110)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

f FCD ( x1 , x2 , x3 ) = x1 ( x2 + x2 ) x3 + x1 x2 ( x3 + x3 ) + x1 x2 x3 =
= x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 = termen redundant + x1 x 2 x3 = (2.111)
= x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 ,

respectiv:
f FCD ( x1 , x 2 , x3 ) = P0 + P2 + P3 + P5 .

(2.112)

Funcia ce urmeaz a fi implementat avnd n = 3 variabile, se va folosi multiplexorul MUX 2 3 : 1 , de 3 bii sau 8 ci: 74151 (v. fig. 2.30,a). Pentru a se genera termenii
canonici, variabilele funciei se aplic pe intrrile de selecie n raport cu ponderile acestora (v. ec. (2.109)). n continuare, pentru a se selecta doar acei termeni canonici care intervin n expresia funciei, se utilizeaz (legndu-se la un potenial corespunztor constantei logice 1) doar intrrile de date corespunztoare (n exemplul tratat: D0 , D2 , D3 ,
D5 ), celelalte intrri de date, neutilizate, fiind legate la un potenial corespunztor constantei logice 0:
f FCD ( x1 , x 2 , x3 ) = P0 D0 ( =1) + P1 D1( = 0) + P2 D2 ( =1) + P3 D3 ( =1) +
+ P4 D4 ( = 0) + P5 D5 ( =1) + P6 D6 ( = 0) + P7 D7 ( = 0) =

(2.113)

= P0 + P2 + P3 + P5 .

n acest mod la ieirea Y se obine expresia funciei f. Intrarea G se conecteaz la 0 logic


pentru a permite funcionarea circuitului.
n cazul n care se dorete obinerea expresiei funciei f de la ieirea W (complementat) sau atunci cnd un multiplexor dispune doar de o astfel de ieire se poate
proceda n felul urmtor:
se poate utiliza metoda de mai sus, dar pentru a nu se obine, la ieire funcia negat, f , se va aduga o poart logic inversoare, aa cum este prezentat n figura 2.30,b
(soluia nu este nici elegant i nici economic);
se activeaz (1 logic), de aceast dat, intrrile de date corespunztoare termenilor canonici care nu intervin n expresia funciei, lundu-se de fapt n considerare negata acesteia; pentru obinerea funciei adevrate este nevoie de nc o negare, care se realizeaz prin utilizarea ieirii complementate (v. fig. 2.30,c):
f FCD ( x1 , x2 , x3 ) = f

FCD

( x1 , x2 , x3 ) = P1 + P4 + P6 + P7 =

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

(2.114)

= x1 x3 + x1 x2 + x1 x2 x3 + x1 x2 x3 =
= x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 = P0 + P2 + P3 + P5 .

Implementarea unui CLC descris de un ansamblu de funcii logice, cu multiplexoare


este costisitoare deoarece necesit cte un circuit integrat MSI pentru fiecare funcie.

87

CIRCUITE LOGICE COMBINAIONALE

1
x1
x2
x3

D0 D1 D2 D3 D4 D5 D6 D7
C
74151
G
B
A
Y
W
f

x1
x2
x3

(a)

D0 D1 D2 D3 D4 D5 D6 D7
C
74151
G
B
A
Y
W
(b)

6 7404

f
1
x1
x2
x3

D0 D1 D2 D3 D4 D5 D6 D7
C
G
74151
B
A
Y
W

(c)

f
Fig.2.30 Modaliti de implementare a funciei f cu MUX 23 : 1 , 74151: (a) utiliznd ieirea
necomplementat Y; (b), (c) utiliznd ieirea complementat W .

Exemplu. S se implementeze cu MUX-uri de 8 ci, CLC-ul descris de urmtorul


sistem de funcii:
f1FCD ( x1 , x2 , x3 ) = P0 + P1 + P4 + P6 + P7 ,

(2.115)

f 2FCD ( x1 , x2 , x3 ) = P0 + P2 + P3 + P5 .

Soluia este prezentat n figura 2.31.


O funcie logic de n variabile poate fi implementat i cu un MUX 2 n1 : 1 .
Aceast soluie de implementare este mai economic dect aceea n care se folosete un
MUX 2 n : 1 . n acest caz, metoda de implementare este urmtoarea: dintre cele n variabile ale funciei se separ n1, avnd ponderile cele mai mari, care vor constitui intrrile
de selecie ale MUX-ului, variabila rmas aplicndu-se pe intrrile de date, n acest
scop, ea trebuind s fie comparat cu valorile funciei.
1

1
x1
x2
x3

D0 D1 D2 D3 D4 D5 D6 D7
C
74151
G
B
A
Y
W
f1

x1
x2
x3

(a)

D0 D1 D2 D3 D4 D5 D6 D7
C
74151
G
B
A
Y
W
f2

Fig.2.31 Implementarea cu MUX-uri 2 3 : 1 a sistemului de funcii din exemplu.

88

(b)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE


Tab.2.16 Tabelul de adevr al funciei.
Exemplu. S se implementeze funcia
avnd expresia dat de ecuaia (2.112), cu
x1 x2 x3
f
un MUX 2 2 : 1 .
0
0
0
0
1
Pentru rezolvarea acestei probleme se
1
0
0
1
0
pornete de la tabelul de adevr al funciei
2
0
1
0
1
(v. tab. 2.16) n care se separ dou dintre
3
0
1
1
1
variabile, x1 i x2 , care vor reprezenta, aa
4
1
0
0
0
cum s-a precizat, intrrile de selecie ale
5
1
0
1
1
MUX-ului, n timp ce variabila x3 , se
6
1
1
0
0
compar cu valorile lui f, jucnd rolul unei
7
1
1
1
0
8
intrri de validare :
din primele dou linii ale tabelului: x1 x2 = 00 ; se observ c funcia f =1 , pentru
x3 = 0 , deci f = x3 i la intrarea de date C0 se va aplica x3 ;
din urmtoarele dou linii ale tabelului: x1 x2 = 01 ; se observ c f =1 indiferent
de valoarea lui x3 ; deci la intrarea C1 a MUX-ului se aplic 1;
pentru urmtoarele dou linii din tabel: x1 x2 = 10 ; funcia f are valoarea 1 pentru
x3 = 1 ( f = x3 ), deci la intrarea C 2 a MUX-ului se aplic x3 ;
ultimele dou linii ale tabelului au: x1 x2 = 11 ; funcia f este 0 indiferent de valoarea
lui x3 , deci la intrarea C3 a MUX-ului se aplic 0.
Pentru implementare se folosete circuitul integrat 74153 (v. fig. 2.32,a).
8

Fig.2.32 Implementarea cu MUX-uri 2 2 : 1 a funciei din exemplu.

Avndu-se n vedere expresia ieirii multiplexorului se poate verifica corectitudinea


raionamentului fcut:
f FCD ( x1 , x2 , x3 ) = Y = B AC 0 + B AC1 + B AC 2 + BAC3 =
= x1 x2 x3 + x1 x2 1 + x1 x2 x3 + x1 x2 0 =

(2.116)

= P0 + P2 + P3 + P5 .

Dac avem la dispoziie, pentru implementarea funciei, un MUX 2 2 : 1 care nu are


dect ieire complementat (v. fig. 2.32,b) se procedeaz n mod asemntor, cu observaia c, de aceast dat, se vor lua n considerare, din tabelul de adevr, zerourile funciei:
n primele dou linii ale tabelului: x1 x2 = 00 , iar funcia are valoarea 0 pentru
8

n cazul n care implementarea se face cu un multiplexor cu ieirea necomplementat, se vor lua n


considerare, din tabelul de adevr, valorile 1 ale funciei.

89

CIRCUITE LOGICE COMBINAIONALE

x3 = 1 ; deci f = x3 , semnal ce se aplic pe intrarea de date C0 ;


pentru urmtoarele dou linii: x1 x2 = 01 ; funcia f = 1 , indiferent de valoarea variabilei x3 , deci la intrarea C1 a MUX-ului se aplic 0;
urmtoarele dou linii ale tabelului au: x1 x2 = 10 ; funcia f se obine pentru x3 ,
rezult deci f = x3 , semnal aplicat intrrii de date C 2 ;
pentru ultimele dou linii: x1 x2 = 11 , iar funcia studiat are valoarea 0, indiferent
de valoarea variabilei x3 ; la borna C3 se va conecta semnalul logic 1.
La aceleai rezultate se poate ajunge i algebric, pornind de la FCD a funciei date,
respectiv a negatei acesteia i separnd, pe acelai principiu, una dintre variabile. Astfel:
f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 =
= ( x1 x2 ) x3 + ( x1 x2 ) x3 + ( x1 x2 ) x3 + ( x1 x2 ) x3 =
= P0 x3 + P1 1 + P2 x3 + P3 0

(2.117)

i
f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 =
= ( x1 x2 ) x3 + ( x1 x2 ) x3 + ( x1 x2 ) x3 + ( x1 x2 ) x3 =
= P0 x3 + P1 0 + P2 x3 + P3 1.

(2.118)

ntr-o serie de aplicaii sunt necesare multiplexoare avnd un numr mai mare de
intrri/ci dect modulele integrate standard existente (este cazul implementrii unor
funcii booleene avnd un numr mai mare de variabile). Dei numrul maxim de intrri a
multiplexoarelor integrate standard este de 16, se pot construi multiplexoare cu dimensiuni orict de mari interconectnd mai multe astfel de circuite n reele arborescente. Extinderea capacitii de multiplexare se poate realiza prin diverse tehnici, toate avnd la
baz conectarea n paralel sau n cascad a unui numr corespunztor de multiplexoare
standard.
Exemplu. S se realizeze o extindere a capacitii de multiplexare de la 8 la 16 ci.
Pentru obinerea unui multiplexor de 16 ci se vor utiliza dou multiplexoare de 8
ci (74151) conectate n paralel, pe intrrile de selectare i strobare i pori logice (v. fig.
2.33). Extinderea multiplexrii la 16 ci necesit o intrare suplimentar pentru selectare.
n acest scop se vor folosi intrrile G de la cele dou multiplexoare, la borna comun
aplicndu-se bitul cel mai semnificativ (al patrulea) al cuvntului de selectare. Cu schema
logic prezentat n figura 2.33, MUX-ul I este selectat cu un cuvnt de forma 0xxx (deci
de la 07), iar MUX-ul II cu un cuvnt 1xxx (de la 815).
Exemplu. S se realizeze funcia f de 5 variabile cu 2 etaje de multiplexoare:
f FCD ( x1 , x2 , x3 , x4 , x5 ) = P0 + P2 + P4 + P5 + P11 + P20 + P24 + P25 + P31 .

(2.119)

Soluia este evident dac se ntocmete tabelul de adevr al funciei (v. tab. 2.17).
Se separ variabilele funciei n dou grupe, x1 x2 respectiv x3 x4 x5 i se implementeaz la primul etaj, cu 4 MUX-uri de 4 ci, grupele x3 x4 x5 definite de fiecare
configuraie x1 x2 . Rezultatele multiplexrii de la primul etaj se adun apoi, cu ajutorul

90

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

altui MUX de 4 ci, n etajul al doilea. Pentru implementare se folosete circuitul integrat
74153 (2MUX 2 2 : 1 ).
1 7404
6
0 1 2 3 4 5 6 7
223
21
20
2

G
C
B
A

8 9 10 11 12 13 14 15

D0 D1D2 D3 D4 D5 D6 D7

G
C
B
A

74151 I
Y

D0 D1D2 D3 D4 D5 D6 D7
74151 II
Y

4 7432

Fig.2.33 Realizarea unui MUX 2 4 : 1 prin conectarea n paralel a dou MUX-uri 23 : 1 .


Tab.2.17 Tabelul de adevr al funciei f.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

x1 x2 x3 x4 x5
0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 1 1
0 0 1 0 0
0 0 1 0 1
0 0 1 1 0
0 0 1 1 1
0 1 0 0 0
0 1 0 0 1
0 1 0 1 0
0 1 0 1 1
0 1 1 0 0
0 1 1 0 1
0 1 1 1 0
0 1 1 1 1

f
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

x1 x2 x3 x4 x5
1 0 0 0 0
1 0 0 0 1
1 0 0 1 0
1 0 0 1 1
1 0 1 0 0
1 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
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
1 1 1 1 0
1 1 1 1 1

f
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1

1. Configuraia x1 x2 = 00 .
x3 x4 = 00

f = 1 pentru x5 = 0 ,

1C 01 = x5 ,

x3 x4 = 01

f = 1 pentru x5 = 0 ,

1C11 = x5 ,

x3 x4 = 10

f = 1 x5 ,

1C21 = 1 ,

f = 0 x5 ,
x3 x4 = 11
2. Configuraia x1 x2 = 01 .

1C31 = 0 .

x3 x4 = 00

f = 0 x5 ,

2C 02 = 0 ,

91

CIRCUITE LOGICE COMBINAIONALE

Fig.2.34 Implementarea cu MUX-uri 2 2 : 1 a funciei f.

92

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

x3 x4 = 01

f = 1 pentru x5 = 1 ,

2C12 = x5 ,

x3 x4 = 10

f = 0 x5 ,

2C 22 = 0 ,

f = 0 x5 ,
x3 x4 = 11
3. Configuraia x1 x2 = 10 .

2C32 = 0 .

x3 x4 = 00

f = 0 x5 ,

1C03 = 0 ,

x3 x4 = 01

f = 0 x5 ,

1C13 = 0 ,

x3 x4 = 10

f = 1 pentru x5 = 0 ,

1C 23 = x5 ,

x3 x4 = 11
f = 0 x5 ,
4. Configuraia x1 x2 = 11 .

1C33 = 0 .

x3 x4 = 00

f = 1 x5 ,

2C04 = 1 ,

x3 x4 = 01

f = 0 x5 ,

2C14 = 0 ,

x3 x4 = 10

f = 0 x5 ,

2C 24 = 0 ,

x3 x4 = 11

f = 1 pentru x5 = 1 ,

2C34 = x5 .

Schema logic obinut n urma implementrii funciei f este prezentat n figura 2.34.
Este evident c funcia se implementeaz mai economic cu un MUX de 16 ci (v.
fig. 2.35). S-a tratat acest exemplu doar pentru ilustrarea simplificat a metodei care este
aplicabil n cazul funciilor cu ase sau mai multe variabile.

Fig.2.35 Implementarea cu MUX 2 4 : 1 a funciei f.

Circuite decodificatoare
Decodificatoarele (DCD-urile) reprezint o clas de circuite logice combinaionale care,
n cazul general, au n intrri, X 0 , X 1 ,K, X n 1 , pe care se aplic cei n bii ai cuvntului de
cod i m ieiri ( m 2 n ) , Z 0 , Z1 ,K, Z m1 (v. fig. 2.36,a); pentru fiecare cuvnt de cod
aplicat la intrare se obine semnal logic doar pe una dintre ieiri sau, se poate spune c
decodificatorul servete la identificarea unui cod de intrare prin activarea unei singure linii de ieire, corespunztoare acestui cod [2,15,22,23,2630,33]. Decodificarea este necesar n numeroase aplicaii cum sunt: adresarea memoriilor, afiarea numeric, multiplexarea datelor, etc.
n cele ce urmeaz va fi examinat decodificatorul BCD 8421-ZECIMAL, cu n = 4
intrri i m = 10 ieiri, a crui schem-bloc este prezentat n figura 2.36,b.
Codul BCD (Binary Coded Decimal) 8421 este un cod binar zecimal ponderat care
utilizeaz numai primele 10 combinaii binare din cele 16, care se pot forma cu 4 bii n

93

CIRCUITE LOGICE COMBINAIONALE

sistemul de numeraie binar natural. Cele 6 combinaii de cod neutilizate (1010, 1011,
1100, 1101, 1110 i 1111) sunt combinaii indiferente (v. Anexa C).

Fig.2.36 Schemele-bloc pentru un DCD cu n intrri i m ieiri (a), respectiv


pentru un DCD BCD-ZECIMAL (b).

Comportarea acestui tip de decodificator este descris n tabelul 2.18.


Tab.2.18 Tabelul de adevr pentru un DCD BCD-ZECIMAL.

Intrri BCD
D C B A
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
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
DC

DC

2
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1

01

11

10

00

01

11

10

01

11

10

00

01

11

10

1
0

1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1

00

00

BA

0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Ieiri - zecimal
3 4 5 6
1 1 1 1
1 1 1 1
1 1 1 1
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

BA

7
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
DC

8
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1

00

01

11

10

00

01

11

10

BA

1 ...
Fig.2.37 Matricele de comand pentru DCD-ul BCD-ZECIMAL.

94

9
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1

... 9

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Se observ, din tabelul de adevr, c deoarece toate strile sunt decodificate explicit, datele false (combinaiile indiferente) fixate eventual pe intrrile decodificatorului
duc la stabilirea tuturor ieirilor n starea fals de 1 logic. Se spune c acest decodificator
rejecteaz datele false de la intrare. Pe baza tabelului de adevr se pot ntocmi diagramele
Karnaugh ale ieirilor (v. fig. 2.37), numite i matrice de comand. Pentru o decodificare
simpl, de obicei, nu este necesar s se completeze cte o matrice de comand pentru fiecare ieire; n acest caz se va ntocmi aa numita matrice de referin sau de decodificare, n locaiile creia sunt nscrise direct funciile de ieire (v. fig. 2.38).
DC
00
BA

01

11

10

Din aceste matrice rezult expresiile


booleene ale funciilor de ieire:

00

0 = DC B A , 5 = DC B A ,

01

1 = DC B A ,

11

3 = DC BA ,

10

4 = DC B A , 9 = DC B A ,

2 = DC B A , 7 = DCBA ,

(2.120)

8 = DC B A ,

care permit ntocmirea schemei logice a


decodificatorului, prezent n figura 2.39.

Fig.2.38 Matricea de referin pentru DCD-ul


BCD-ZECIMAL.

6 = DCB A ,

Fig.2.39 Schema logic a DCD-ului BCD-ZECIMAL.

Din ecuaiile (2.120) rezult c decodificatorul realizeaz pe fiecare ieire un termen canonic. Decodificatoarele complete, la care m = 2 n , genereaz la ieire toi termenii canonici care se pot forma cu cele n variabile de intrare, sau, cu alte cuvinte, fiecare
din cele 2 n ieiri realizeaz una dintre funciile elementare minterm de n variabile, de
aici rezultnd i posibilitatea utilizrii acestor circuite pentru implementarea funciilor logice.
Principalele tipuri de DCD-uri utilizate n mod curent sunt urmtoarele: DCD-ul
BCD-ZECIMAL (4 intrri, 10 ieiri), DCD-ul BCD Exces 3-ZECIMAL (4 intrri, 10
ieiri), DCD-ul BCD Cod Gray Exces 3-ZECIMAL (4 intrri, 10 ieiri); de asemenea,
deoarece aa cum se va vedea mai jos, constructiv i funcional, decodificatoarele i demultiplexoarele se aseamn, majoritatea circuitelor integrate conin DCD/DMUX-uri, de

95

CIRCUITE LOGICE COMBINAIONALE

diverse dimensiuni.
Este de menionat c denumirea de decodificator este utilizat impropriu i pentru
convertoarele de cod BCD-cod 7 segmente [27].

Circuite demultiplexoare
Circuitele demultiplexoare (DMUX-urile) realizeaz operaia invers multiplexrii i
anume distribuie un semnal (0 sau 1) de pe o cale, pe mai multe ci, n funcie de adresa
acelor ci, motiv pentru care se mai numesc i circuite distribuitoare [2,15,22,23,2630,
33].
Demultiplexorul este un circuit logic combinaional care are, n cazul general, o
intrare de date I, n intrri de selecie (adres), S 0 , S1 ,K , S n1 i 2 n ieiri, Z 0 , Z1 ,K, Z 2n 1
(v. fig. 2.40,a). Expresia ieirii Z j , pentru j = 0,1,K,2 n 1 , este dat de relaia:
0, pentru
Zj =
I , pentru

j k,
j = k,

(2.121)

unde k este echivalentul zecimal al numrului binar reprezentat de strile 0 i 1 ale


intrrilor de selectare:
k = ( S n1S n2 K S1S 0 ) .

(2.122)

Se va analiza n continuare un demultiplexor de 8 ci (DMUX 1 : 2 3 ), cu o intrare de


date/strobare, G , activ pe 0 logic, trei intrri de selecie A, B i C i opt ieiri, Y0 ,
Y1 ,K , Y7 , active pe 0 logic (v. fig. 2.40,b). Comportarea sa este descris n tabelul 2.19,
prezentat mai jos.
Plecnd de la tabelul de adevr se ntocmete matricea de referin din figura 2.40,c,
din care se pot scrie expresiile ieirilor circuitului:
Y0 = C B AG ,

Y4 = C B AG ,

Y1 = C B AG ,

Y5 = C B AG ,

Y2 = C B AG ,

Y6 = CB AG ,

Y3 = C BAG ,

Y7 = CBAG .

(2.123)

Din relaiile (2.123) se observ c la ieirea demultiplexorului se obin toi termenii


canonici care se pot forma cu variabilele de selectare nmulii cu variabila corespunztoare intrrii de date/strobare (realizeaz numai nivelul logic I).
Tabelele 2.18 i 2.19 precum i relaiile (2.120) i (2.123) pun n eviden similitudinea funcional a decodificatoarelor i demultiplexoarelor, ceea ce face ca, n anumite situaii, decodificatoarele s poat fi folosite ca demultiplexoare i invers.
n figura 2.41 se prezint schema logic a unui demultiplexor de 8 ci.
Principalele tipuri de DMUX-uri integrate utilizate n mod curent sunt: DCD/
/DMUX-urile 1:16, 1:8, 2(1:4).

96

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Z0

Z1

DMUX
1 : 2n

Z 2n 1

(a)
S0 S1

Sn1

CB
00
AG
00 1

Y0
Y1
Y2
DMUX Y
3
G
1 : 2 3 Y4
Y5
Y6
A B C Y7

01

11

10

01 Y0

Y2

Y6

Y4

11

Y1

Y3

Y7

Y5

10

(c)

(b)

Fig.2.40 Circuitul demultiplexor: (a) schema-bloc pentru un DMUX 1 : 2 n ; (b), (c)


schema-bloc i matricea de referin pentru un DMUX 1 : 2 3 .
Tab.2.19 Tabelul de adevr pentru un DMUX 1 : 2 3 .

Intrri
Ieiri
Selecie
Strob/date
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
C B A
G
* * *
1
1 1 1 1 1 1 1 1
0 0 0
0
0 1 1 1 1 1 1 1
0 0 1
0
1 0 1 1 1 1 1 1
0 1 0
0
1 1 0 1 1 1 1 1
0 1 1
0
1 1 1 0 1 1 1 1
1 0 0
0
1 1 1 1 0 1 1 1
1 0 1
0
1 1 1 1 1 0 1 1
1 1 0
0
1 1 1 1 1 1 0 1
1 1 1
0
1 1 1 1 1 1 1 0
Y0
Y1
Y2

Y3
Y4
A

Y5

Y6

Y7
Fig.2.41 Schema logic a DMUX-ului 1 : 2 3 .

97

CIRCUITE LOGICE COMBINAIONALE

Implementarea funciilor booleene cu decodificatoare i demultiplexoare


Orice funcie logic de n variabile, dat sub FCD, se poate implementa cu ajutorul unui
DCD cu n intrri sau a unui DMUX 1 : 2 n , dac la ieirea acestor circuite termenii
canonici (nivelul logic I), existeni n tabelul de adevr al funciei sunt introdui ntr-o
poart logic pentru realizarea nivelului logic SAU (acest nivel logic trebuie ataat din
exterior). Este evident c i n cazul acestui tip de implementare nu este necesar minimizarea matematic a funciilor logice [2,15,22,23,2630,33].
Problemele specifice legate de implementarea cu decodificatoare, respectiv demultiplexoare vor fi puse n eviden prin tratarea unor exemple. n acest scop se vor folosi
urmtoarele decodificatoare i demultiplexoare integrate [34]:
7442, DCD BCD-ZECIMAL, cu 4 intrri i 10 ieiri active pe 0 logic;
74154, DMUX 1 : 2 4 , cu 2 intrri de validare/strobare (G1 , G2 ) i 16 ieiri, toate
active pe 0 logic;
74138, DMUX 1 : 2 3 ; la acest circuit este disponibil o funcie combinaional suplimentar la intrarea de validare/date, folosind semnalele aplicate pe intrrile de validare
G1 (activ pe 1 logic), G2 A i G2 B (active pe 0 logic); cele 8 ieiri sunt active pe 0
logic;
74155, 2DMUX 1 : 2 2 , cu cte o intrare de validare/strobare activ pe 0 logic
(1G ,2G ) , cu dou intrri de date (1C, activ pe 1 logic i 2C activ pe 0 logic) i cu cte
patru ieiri active pe 0 logic;
74139, 2DMUX 1 : 2 2 , cu dou intrri de validare/strobare sau date, active pe 0
logic (1G ,2G ) i cu cte patru ieiri active pe 1 logic.
Exemplu. S se implementeze cu DCD, respectiv DMUX i pori logice funcia:

f FCD ( x1 , x2 , x3 ) = P0 + P2 + P5 + P6 .

(2.124)

Deoarece funcia are n = 3 variabile, este necesar un DCD cu n = 3 intrri, respectiv un DMUX 1 : 2 3 . Se va folosi, ntr-o prim variant, DCD-ul 7442, respectiv
DMUX-ul 1 : 2 3 74138, iar n varianta a doua circuitul integrat 74155 (2DMUX 1 : 2 2 ).
Trebuie avut n vedere c majoritatea decodificatoarelor i demultiplexoarelor integrate
realizeaz funciile minterm negate.
DCD-ul 7442 are, aa cum s-a precizat, 4 intrri i 10 ieiri active pe 0 logic; din
tabelul de adevr al decodificatorului (v. tab. 2.18) se observ c intrarea avnd ponderea
cea mai mare (D) este 0 pentru primele 8 ieiri.
Problema utilizrii DCD-ului 7442 poate fi pus i n urmtorii termeni: cum se
poate obine un DMUX de 8 ci folosindu-se un DCD 7442? n acest scop, dintre cele 4
intrri ale DCD-ului, C, B, A vor fi folosite ca intrri de selecie, iar cea de a patra (D), ca
intrare de strobare/date, n timp ce dintre cele 10 ieiri sunt necesare doar primele 8,
celelalte dou trebuind s fie neutralizate (v. fig. 2.42,a).
Pentru a se genera termenii canonici de trei variabile, variabilele funciei f trebuie
aplicate pe intrrile de date respectiv pe intrrile de selecie ale DCD/DMUX-ului (v. ec.
(2.120), (2.123)).
Selectarea doar a acelor termeni canonici care intervin n expresia funciei de imple98

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

mentat se poate face, ntr-o prim variant, cu o poart I-NU la intrrile creia trebuie
conectate ieirile DCD/DMUX-ului corespunztoare termenilor canonici menionai mai
sus (v. fig. 2.42,a):
f FCD ( x1 , x 2 , x3 ) = P0 P2 P5 P6 = P0 + P2 + P5 + P6 .
x1 x2 x3
D

C B
7442

x1 x2 x3

(2.125)
1

G1 G2 A G2B
74138
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
C B A

0 1 2 3 4 5 6 7 8 9

Neutilizate
1

2 7420

(a)

2 7421

(b)

Fig.2.42 Realizarea funciei f din exemplu: (a) cu DCD 7442 i pori I-NU;
(b) cu DMUX 1 : 2 3 74138 i pori I.

O soluie alternativ este folosirea unei pori I la intrrile creia se conecteaz ieirile
DCD/DMUX-ului corespunztoare termenilor canonici care nu intervin n expresia funciei considerate (se va lua deci n considerare negata funciei):
f FCD ( x1 , x2 , x3 ) = P1 + P3 + P4 + P7 ,

(2.126)

f FCD ( x1 , x2 , x3 ) = f FCD ( x1 , x2 , x3 ) = P1 + P3 + P4 + P7 =

(2.127)

= P1 P3 P4 P7 .

Aceast soluie de implementare este prezentat n figura 2.42,b.


Pentru cea de a doua variant de implementare se va utiliza, aa cum s-a menionat,
circuitul integrat 74155 care conine dou DMUX-uri 1 : 2 2 . Comportarea acestor circuite
este descris n tabelele 2.20,a,b. Prin cteva conexiuni simple, cele dou DMUX-uri
1 : 2 2 se pot transforma ntr-un DMUX 1 : 2 3 , cu care se va realiza implementarea funciei. Astfel, cele dou intrri de date 1C i 2C se vor conecta mpreun devenind cea de a
treia intrare de selectare (de ponderea cea mai mare) pentru DMUX-ul 1 : 2 3 , iar borna
comun obinut prin legarea mpreun a intrrilor de strobare 1G i 2G va reprezenta
noua intrare de strobare sau date (v. fig. 2.43).
Deoarece intrarea de date 1C este activ pe 1 logic iar 2C pe 0 logic i avnd n vedere c dintre cele opt combinaii binare care apar la intrare, primele patru au 0 pe poziia
bitului celui mai semnificativ, iar urmtoarele patru 1, ieirea 0 a DMUX-ului 1 : 2 3 va
coincide cu borna 2Y0 i nu cu 1Y0 , pentru c al doilea DMUX 1 : 2 2 va fi autorizat s
funcioneze mai nti.
99

CIRCUITE LOGICE COMBINAIONALE


Tab.2.20 Tabelele de adevr pentru 2DMUX-uri 1 : 2 2 .

Intrri
Selectare Strob Date
1Y0
1C
B
A 1G
*
*
1
*
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
*
*
1
0
1

Ieiri
1Y1 1Y2 1Y3
1
1
0
1
1
1

1
1
1
0
1
1

1
1
1
1
0
1

Intrri
Selectare Strob Date
2Y0
B
A
2G 2C
*
*
1
*
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
*
*
1
1
1

(a)

1
1
0
1
1
1

1
1
1
0
1
1

1
1
1
1
0
1

x1 x2 x3

1G 2G
1C 2C B A
74155
2Y0 2Y1 2Y2 2Y3 1Y0 1Y1 1Y2 1Y3
1

2Y1 2Y2 2Y3

(b)

x1 x2 x3

Ieiri

5
1

1C 2C B A
1G 2G
74155
2Y0 2Y1 2Y2 2Y3 1Y0 1Y1 1Y2 1Y3

5
1

2 7420

(a)

2 7421

(b)

Fig.2.43 Realizarea funciei f din exemplu: (a) cu pori I-NU; (b) cu pori I.

Realizarea nivelului logic SAU presupune utilizarea unei pori I-NU (v. fig. 2.43,
a) sau a unei pori I (v. fig. 2.43,b), procedura fiind identic cu aceea expus mai sus.
Pentru implementarea unui CLC definit de un sistem de funcii este necesat un singur DCD, respectiv DMUX i se adaug cte o poart logic pentru fiecare funcie din
sistem.
Exemplu. S se implementeze cu DMUX i pori logice CLC-ul descris de urmtorul sistem de funcii:
f1FMD ( x1 , x2 , x3 , x4 ) = x1 x3 x4 + x1 x2 x3 + x1 x2 x3 x4 ,
f 2FMD ( x1 , x2 , x3 , x4 ) = x1 x3 x4 + x1 x2 x3 + x1 x2 x4 + x1 x3 x4 ,

(2.128)

f 3FMD ( x1 , x2 , x3 , x4 ) = x1 x3 x4 + x1 x2 x3 + x1 x2 x3 x4 ,
f 4FMD ( x1 , x2 , x3 , x4 ) = x1 x4 + x2 x3 x4 .

Mai nti este necesar ca expresiile funciilor (2.128) s fie aduse la FCD:
f1FCD ( x1 , x2 , x3 , x4 ) = P0 + P4 + P5 + P9 ,
f 2FCD ( x1 , x2 , x3 , x4 ) = P1 + P3 + P7 + P8 + P10 + P11 + P12 ,

100

(2.129)

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

f 3FCD ( x1 , x2 , x3 , x4 ) = P0 + P3 + P4 + P5 ,

(2.129)

f 4FCD ( x1 , x2 , x3 , x4 ) = P7 + P9 + P11 + P13 + P15 .

Pentru implementare se folosete DMUX-ul 1 : 2 4 , 74154, schema logic fiind prezentat n figura 2.44.
x1 x2 x3 x4
D C B A

G1 G2
74154

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15
P4 P5
P0 P9
1

7430

2 7420

f1

P3 P4
P0 P5

P3 P8 P11 1
P1 P7 P10 P12

f2

P9 P13
P7 P11 P15

7430

2 7420

f3

f4

Fig.2.44 Implementarea cu DMUX 1 : 2 4 a sistemului de funcii din exemplu.

Pentru implementarea cu circuite integrate MSI a sistemelor logice combinaionale


cu mai multe ieiri se prefer soluia cu DCD/DMUX-uri i pori logice, n raport cu soluia de implementare cu MUX-uri, fiind mai economic.
O funcie logic avnd n variabile se poate realiza i cu un DCD respectiv DMUX
n 1
de 2
ci. Aceast metod de implementare este mai economic dect aceea n care se
folosete un DCD/DMUX de 2 n ci. Soluia acestei metode de implementare const n a
se separa, dintre cele n variabile ale funciei, de obicei, variabila avnd ponderea cea mai
mare. Cele n 1 variabile rmase se aplic pe intrrile DCD/DMUX-ului de 2 n1 ci, genernd termeni canonici de n 1 variabile. Pentru a se obine ns termenii canonici (de n
variabile) prezeni n expresia funciei de implementat, trebuie ca la termenii canonici de
n 1 variabile s li se adauge variabila selectat. Acest lucru nu se poate face dect n
exteriorul DCD/DMUX-ului, de obicei, prin utilizarea unei reele de pori logice.
Exemplu. S se realizeze cu un DMUX 1 : 2 n1 o funcie cu n variabile de intrare. Se
va considera exemplul concret al urmtoarei funcii de 3 variabile:
f FCD ( x1 , x 2 , x3 ) = P1 + P2 + P6 + P7 = x1 x 2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 .

(2.130)

Tabelul de adevr al funciei f este prezentat n tabelul 2.21.


Conform celor artate mai sus, funcia f avnd 3 variabile se poate implementa cu
un DCD/DMUX cu 2 3 = 8 ci (7442 sau 74155). Problema cere ns s se realizeze cu
101

CIRCUITE LOGICE COMBINAIONALE

un DCD/DMUX de 2 2 = 4 ci.
Tab.2.21 Tabelul de adevr al
funciei f.

0
1
2
3
4
5
6
7

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

f
0
1
1
0
0
0
1
1

Soluia const, cum s-a mai precizat, n a se


ine cont de cea de a treia variabil (fie aceasta x1 ),
nu la intrarea DCD/DMUX-ului, ci la intrarea porilor logice ce selecteaz termenii canonici din expresia funciei. Pentru implementare se vor utiliza
circuitele integrate 74139 (2DMUX 1 : 2 2 ) cu ieirile active n 1 logic (v. fig. 2.45,a), respectiv
74155 (2DMUX 1 : 2 2 ) cu ieirile active n 0 logic
(v. fig. 2.45,b) i pori logice I-NU.
Pentru a se demonstra corectitudinea schemelor logice obinute, se poate prelucra expresia funciei f, separnd variabilele x2 , x3 i aplicnd teoremele lui De Morgan, dup cum urmeaz:

f FCD ( x1 , x2 , x3 ) = x1 ( x2 x3 ) + x1 ( x2 x3 ) + x1 ( x2 x3 ) + x1 ( x2 x3 ) =
= x1 ( x2 x3 ) + x2 x3 + x1 ( x2 x3 ) =

(2.131)

= x1 P1 + P2 + x1 P3 = x1 P1 P2 x1 P3,

pentru cazul n care DCD/DMUX-ul pune la dispoziie ieiri active pe 1 logic, respectiv:
f ( x1 , x2 , x3 ) = x1 P1 P2 x1 P3 = ( x1 + P1) P2 ( x1 + P3 ) =
= ( x1 x1( =0) + x1 P3 + x1 P1 + P1P3

= termen redundant

= ( x1 P1 + x1 P3 ) P2 = x1 P1P2 + x1 P2 P3 =

) P2 =

(2.132)

= x1 P1P2 x1 P2 P3,

pentru cazul n care ieirile sunt active n 0 logic.


n aplicaii apare frecvent necesitatea extinderii capacitii DCD/DMUX-urilor standard. Utiliznd structuri standard conectate n paralel sau n cascad se poate mrii numrul liniilor de ieire.
Exemplu. S se realizeze un DCD cu 16 ci utilizndu-se dou DMUX-uri de 8 ci.
Schema logic care permite extinderea decodificrii la 16 ci, prin utilizarea a dou
DMUX-uri de 8 ci, este prezentat n figura 2.46. Soluia este evident dac se are n
vedere tabelul de adevr al unui DCD de 16 ci (v. tab. 2.22). Astfel, se observ c pentru
primele 8 combinaii ale valorilor variabilelor de intrare (pentru care bitul cel mai semnificativ D = 0 ), DCD-ul cu 16 ci poate fi obinut cu un DMUX de 8 ci funcionnd normal i cu un DMUX de 8 ci cu funcionarea inhibat. Pentru urmtoarele 8 combinaii
ale valorilor variabilelor de intrare ( D = 1 ) situaia se inverseaz.
n concluzie se poate aprecia c se pot folosi dou DMUX-uri de 8 ci lucrnd
alternativ dup cum intrarea D este zero sau unu. A patra intrare (avnd ponderea cea mai
mare) a DCD-ului cu 16 ci se obine prin utilizarea intrrilor 1G i 2G ale celor dou
demultiplexoare.
102

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

x1

x3

x2
1B
1

1 x2 x3

x1

1G
1A
2 74139

1C B

A
1G
2 74155
1Y0 1Y1 1Y2 1Y3
1

1Y0 1Y1 1Y2 1Y3

P0 ' P1' P2 ' P3 '


1

P0 ' P1' P2 ' P3 '


1

6 7404

4 7400

6 7404

3 7410

3 7410

4 7400

(a)

(b)
f

Fig.2.45 Implementarea cu DMUX 1 : 2 2 a funciei din exemplu.


Tab.2.22 Tabelul de adevr pentru un DCD cu 4 intrri/16 ieiri.

Intrri
D C B
0 0 0 0
1 0 0 0
2 0 0 1
3 0 0 1
4 0 1 0
5 0 1 0
6 0 1 1
7 0 1 1
8 1 0 0
9 1 0 0
10 1 0 1
11 1 0 1
12 1 1 0
13 1 1 0
14 1 1 1
15 1 1 1

A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1

2
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1

3
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1

4
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1

5
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1

6
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1

Ieiri
7 8
1 1
1 1
1 1
1 1
1 1
1 1
1 1
0 1
1 0
1 1
1 1
1 1
1 1
1 1
1 1
1 1

9 10 11 12 13 14 15
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 1 1 1 1 1 1
1 0 1 1 1 1 1
1 1 0 1 1 1 1
1 1 1 0 1 1 1
1 1 1 1 0 1 1
1 1 1 1 1 0 1
1 1 1 1 1 1 0

Exemplu. S se realizeze extinderea domeniului de demultiplexare la 64 de ci.


Figura 2.47 ilustreaz posibilitatea extinderii capacitii la 64 linii de ieire. Au fost
prevzute n acest scop patru circuite DMUX 1 : 2 4 (74154) i un circuit DMUX 1 : 2 2
103

CIRCUITE LOGICE COMBINAIONALE

(1/2 74155) pentru autorizarea funcionrii circuitelor DMUX de 16 ci, n urma decodificrii variabilelor de selecie. Schema a fost reprezentat n ipoteza utilizrii ca DMUX
(se transmit datele, 0 sau 1, de la intrarea G pe oricare din cele 64 de ci selectate prin
adres). n situaia cnd ea funcioneaz n regim de DCD, se decodific cele 64 de stri
de intrare atunci cnd G este pe 0 logic.
D

74155 I
2Y0 2Y1 2Y2 2Y3 1Y0 1Y1 1Y2 1Y3
0

6 7404

74155 II
2Y0 2Y1 2Y2 2Y3 1Y0 1Y1 1Y2 1Y3
8

10 11 12 13 14 15

Fig.2.46 Realizarea unui DCD cu 16 ci prin conectarea n paralel a dou DMUX-uri 1 : 2 3 .

2.3.2.2.3 Implementarea cu circuite integrate LSI


Implementarea cu circuite integrate pe scar mare, LSI (Large Scale Integration acest
termen este folosit pentru circuitele integrate logice cu 100 pn la 1000 de pori/capsul,
respectiv cu pn la 50.000 de tranzistoare/cip) utilizeaz la rndul ei dou metode specifice, difereniate dup tipul circuitelor utilizate9:
implementarea cu memorii ROM;
implementarea cu circuite/dispozitive logice programabile (PLD).
Trebuie remarcat faptul c, deoarece memoria ROM poate fi privit ca un circuit
universal de implementare cu DCD i pori logice, nu mai este necesar minimizarea matematic a funciilor logice. Minimizarea implementrii cu memorii ROM este independent de aceasta i se realizeaz dup urmtoarele criterii:
ocuparea ct mai complet a memoriei;
reducerea capacitii memoriei ROM prin codificare la intrare sau decodificare la
ieire. Este evident c reducerea ROM-ului opernd n spaiul de intrare este considerabil
mai mare, fcndu-se cu puteri ale lui 2.
Implementarea cu structuri PLD are particularitile sale. n acest caz se revine la
minimizarea matematic a funciilor logice, implementarea fiind similar cu aceea a sistemelor de funcii combinaionale cu pori logice. Circuitele logice combinaionale PLD
sunt de fapt structuri universale, extinse, de implementare, organizate ca arii de pori I i
SAU care implementeaz expresii sum-de-produse.
n concluzie, trebuie subliniat c cele dou metode de implementare cu circuite
integrate SSI i MSI-DCD au fost generalizate, ajungndu-se la structurile LSI corespondente, PLD-ul i respectiv ROM-ul.
9

104

S-a fcut aceast demarcaie deoarece, pentru o serie de autori (v., de exemplu, [33]), memoriile ROM nu
sunt strict circuite PLD.

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Fig.2.47 Extinderea domeniului de demultiplexare la 64 de ci.

105

CIRCUITE LOGICE COMBINAIONALE

Memorii ROM
Se definete funcia de memorare ca fiind posibilitatea de regsire a unor informaii reprezentate sub form binar care au fost anterior stocate. Un circuit de memorare este un
circuit care implementeaz funcia de memorare. Memoria este deci un echipament sau
subsistem aparinnd unui sistem de calcul avnd rolul de a pstra informaia. Menionm
c implementarea funciei de memorare se poate realiza n mai multe moduri, depinznd
de suportul fizic folosit pentru stocarea datelor. Putem avea spre exemplu, memorii magnetice, memorii optice, memorii semiconductoare. n lucrare se au n vedere doar circuitele de memorie realizate cu dispozitive semiconductoare.
n funcie de modul de utilizare n raport cu un sistem de calcul, a acestor memorii
exist urmtoarele tipuri de funcii de memorare:
funcia de memorare cu citire i scriere de date; n aceast categorie intr aa numitele memorii cu acces aleatoriu RAM (Random Access Memory) care permit citirea i nscrierea unor noi date de ctre sistemul care le utilizeaz, precum i memoriile E2PROM
respectiv EEPROM (Electricaly Eraseable Programmable Read Only Memory)10 sau memoriile EAROM (Electrical Alterable ROM), care pot fi att citite ct i terse n mod
selectiv i reprogramate de ctre sistemul care le utilizeaz;
funcia de memorare numai cu citire de date, din aceast categorie fcnd parte memoriile ROM (Read Only Memory); n funcie de modul n care informaia poate fi
nscris (i eventual tears) exist urmtoarele tipuri de memorii ROM: PROM (Programmable Read Only Memory) respectiv EPROM (Eraseable Programmable Read Only
Memory), care pot fi numai citite de ctre sistemul care le utilizeaz; tergerea, posibil
numai n cazul memoriilor de tip EPROM, nu este efectuat de ctre sistemul utilizator i
nu este selectiv n raport cu informaia nscris.
Aa cum este uor de observat, regsirea unei informaii stocate necesit furnizarea
unor semnale privind locul unde se gsete aceast informaie. Aceste semnale constituie
intrri pentru circuitul de memorie i se numesc adrese. Cuvintele (numerele) binare
memorate constituie date pentru acest circuit i ele sunt semnale de intrare atunci cnd se
nscrie n memorie i semnale de ieire atunci cnd se citete din memorie. n final
trebuie s se precizeze c accesul la memorie se face la un moment de timp bine determinat, moment necesar a fi comunicat printr-un semnal circuitului de memorie. Ca urmare,
un circuit de memorie mpreun cu conexiunile sale informaionale poate fi reprezentat
ca n figura 2.48.
ADRESE

CIRCUIT
DE
MEMORIE

DATE

CERERE DE
ACCES
Fig.2.48 Conexiunile informaionale ale unei memorii.

Trebuie precizat c transferul de date este bidirecional (datele intr i ies din cir10

106

Circuitele E2PROM fac parte din categoria memoriilor ROM, dar funcional pot fi privite ca memorii
RAM.

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

cuit) n cazul memoriilor RAM i E2PROM i unidirecional (datele ies din circuit) n
cazul memoriilor ROM, PROM i EPROM.
Caracteristicile mai importante ale unei memorii sunt:
geometria sau modul de organizare a memoriei reprezentat de lungimea unui cuvnt i numrul de cuvinte memorate;
capacitatea memoriei, reprezentnd numrul total de bii ce pot fi memorai;
timpul de acces al memoriei, reprezentnd intervalul de timp din momentul aplicrii cuvntului de adres, pe magistrala de adresare, pn n momentul cnd cuvntul (de
la acea locaie) se afl pe magistrala de date;
puterea consumat; pentru caracterizarea din acest punct de vedere a unei memorii
se folosete puterea consumat raportat la un bit de informaie, respectiv raportul dintre
puterea total consumat de circuit i capacitatea acestuia;
volatilitatea; o memorie este volatil dac informaia nscris se pierde n timp;
pierderea informaiei se poate datora fie modului de stocare a acesteia (memorii dinamice) fie datorit dispariiei tensiunilor de alimentare ale circuitului.
n cele ce urmeaz se va face o scurt prezentare a memoriilor ROM [2,15,17,18,26,
27,30].
Din punctul de vedere al tehnologiei utilizate se deosebesc memorii ROM realizate
n tehnica bipolar sau n tehnica unipolar (MOS). Performanele circuitelor de memorie
integrate poart amprenta caracteristicilor tehnologiei respective: bipolar vitez de
procesare mare, putere disipat ridicat, densitate de integrare sczut; MOS densitate
de integrare ridicat, vitez de procesare mai sczut dect la bipolar, putere disipat relativ sczut.
Programarea memoriilor ROM este procesul prin care se stabilete coninutul memoriei, n conformitate cu aplicaia avut n vedere. Metodele folosite pentru programare
depind de tipul de memorie.
Se consider ca fiind o celul de memorie, circuitul elementar care realizeaz memorarea unui bit. Aceasta se poate realiza, aa cum s-a menionat, fie cu tranzistoare
bipolare fie cu tranzistoare MOS. Circuitul de memorie propriu-zis este aranjat sub forma
unei matrice n ale crei noduri se gsesc celulele de memorie.
Memoriile ROM sunt circuite de memorie al cror coninut este programat la
fabricare i nu poate fi schimbat de utilizator. Un exemplu de celul de baz pentru o
astfel de memorie este dat n figura 2.49. Ea este constituit dintr-un tranzistor cu efect de
cmp a crui tensiune de intrare difer (fiind mai mare sau mai mic) fa de cea de prag,
n funcie de coninutul informaional al locaiei respective. Dac la aplicarea unui impuls
pozitiv pe grila tranzistorului acesta conduce (cazul unui tranzistor MOS cu canal de tip

D
S
WL
Selecie cuvnt

DL
Linie bit

Fig.2.49 Celul de memorie ROM cu tranzistor MOS.

Selecie cuvnt
WL
Vcc > 0
T

F
DL
Linie bit

Fig.2.50 Celul de memorie PROM.

107

CIRCUITE LOGICE COMBINAIONALE

n), atunci canalul devenit conductor al tranzistorului se comport ca un scurtcircuit ntre


dren (D) i surs (S). n acest caz informaia nscris este 0 logic, respectiv, dac tranzistorul este blocat aceasta este 1 logic.
Memoriile PROM sunt circuite de memorie al cror coninut este programat o singur dat de utilizator. Dup nscriere, informaia nu mai poate fi tears. Celula de memorie a unor astfel de circuite are la baz un fuzibil care este ars la programare. Celula de
baz a unei memorii PROM realizat cu tranzistoare bipolare este dat n figura 2.50.
Iniial toate fuzibilele memoriei sunt scurtcircuitate. Programarea unei celule nseamn arderea fuzibilului din nodul respectiv. Pentru programare se aplic un impuls
pozitiv pe baz, iar linia de bit DL se menine la potenial cobort. Curentul de emitor al
tranzistorului, suficient de mare, produce arderea fuzibilului F. Programarea se face succesiv pe fiecare celul, selecia unei celule fcndu-se pe liniile WL i DL.
Memoriile EPROM folosesc pentru realizarea celulei de memorie un tranzistor cu
efect de cmp cu dubl poart (gril), una comandat i una izolat ca n figura 2.51.
Tranzistorul MOS canal n, se formeaz ntre dou regiuni de tip n. Poarta izolat se
gsete n imediata apropiere a substratului p i a regiunilor n + . A doua poart, situat
deasupra primeia, constituie n acelai timp i selecia pe linia respectiv, iar drena este
legat pe linia de bit corespunztoare coloanei. Dac pe poarta izolat este acumulat
sarcin electric negativ atunci aplicarea unor tensiuni pozitive pe grila a doua nu poate
aduce tranzistorul n starea de conducie. Dac pe poarta izolat nu este acumulat o sarcin, atunci aplicarea tensiunii pozitive pe grila a doua ceeaz un cmp care duce la formarea canalului n i la conducia tranzistorului. Nivelul logic pe linia de bit este 1 cnd
tranzistorul este blocat i 0 cnd acesta conduce. Pentru tergerea informaiei din celul i
revenirea n starea neprogramat (tranzistor blocat) se expune circuitul la aciunea radiaiei ultraviolete. Electronii din gril preiau energia de la radiaie i trec napoi n substrat prin stratul izolator.
WL
Selecie
cuvnt
Selecie cuvnt
WL

T2
Linie
programare

D
S
DL
Linie bit
Fig.2.51 Celul de memorie EPROM.

T1
DL
Linie bit
Fig.2.52 Celul de memorie E2PROM.

Memoriile E2PROM folosesc un principiu asemntor numai c pentru trecerea


electronilor prin stratul izolator utilizeaz efectul de tunel. Structura unei celule de memorie este prezentat n figura 2.52. Celula de memorie pentru acest tip de circuit este
format din dou tranzistoare, un TEC obinuit i un TEC-MOS bigril, conectate ca n
figur. ntr-o celul de memorie tears, grila izolat (flotant) a tranzistorului T1 este ncrcat cu sarcin negativ i astfel tranzistorul T1 este blocat. tergerea informaiei din
108

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

celul se face astfel: se aplic tensiune pozitiv pe linia de selecie cuvnt, punnd n conducie tranzistorul T2 .
nscrierea informaiei n celul se face aplicnd tensiuni pozitive pe linia de selecie
cuvnt i pe drena tranzistorului T2 , n timp ce linia de programare este la potenial zero.
Cmpul electric format ntre gril i substratul p (+ substrat, gril) smulge electronii din grila a doua, aceasta acumuleaz sarcin pozitiv i tranzistorul T1 intr n conducie prin formarea canalului n ntre dren i surs.
Structura intern a unei memorii ROM (PROM, EPROM) este prezentat n figura
2.53 [2,26,30]. Structural, un circuit ROM se prezint sub forma unei matrice, n fiecare
nod al acesteia (intersecia unei linii cu o coloan) fiind memorat un bit. Liniile matricei,
0( 2 n 1) sunt activate de ctre cele 2 n ieiri ale unui decodificator, iar intrrile acestuia
sunt conectate la cei n bii ai magistralei de adresare, An1 ,K , A1 , A0 . Coloanele matricei
sunt conectate la magistrala de date prin intermediul unor amplificatoare inversoare
(buffere) tip TSL11 a cror comand se obine de la magistrala de control a sistemului.
Circuitul de ieire trebuie s asigure i posibilitatea programrii memoriei, n cazul circuitelor PROM i EPROM.
Din punct de vedere logic memoria ROM poate fi privit ca o structur format din
dou nivele de pori: I-uri (decodificatorul) i SAU-NU-uri (matricea de memorie).
DCD-ul primete codurile de intrare n binar, (fie n numrul intrrilor) i activeaz pentru
fiecare cod cte o ieire din cele 2 n . Aceast ieire se conecteaz sau nu la circuitul
SAU-NU, realizndu-se astfel memorarea lui 0, respectiv 1. De exemplu, cnd se activeaz ieirea 0 a DCD-ului va apare la O0 Om1 , vectorul 0010.
n concluzie, se poate aprecia c cele n linii de adres sunt decodificate n 2 n linii
de cuvnt iar matricea de memorie furnizeaz la ieire 2 n cuvinte de cte n bii fiecare.
Fie, de exemplu:
n numrul de bii ai vectorului de intrare (adresa);
c numrul de cuvinte memorate n ROM;
m numrul de bii din fiecare cuvnt.
n general, informaia este stocat sub forma unui cuvnt cu lungimea de m bii, astfel ocupnd o linie ntreag a matricei. Numrul de adrese, deci i numrul de cuvinte
memorate, deoarece liniile matricei sunt egale cu ieirile DCD-ului, este ntotdeauna o
putere a lui 2 (c = 2 n ) . Modul de organizare al unei memorii ROM este specificat prin
produsul cm (de exemplu, 2564, 5128, 10248, etc.).
Capacitatea memorie ROM se exprim, aa cum s-a precizat, prin numrul total de
bii memorai. Unitatea de msur pentru acetia este kilobitul (1K=1024 bii). De
exemplu: 1K1 (are capacitatea =1024 bii); 4K1 (=4096 bii); 1K8 notat i 1KB
(=8192 bii, un kilobait), etc.
Pentru ca circuitul de memorie s poat fi selectat, n cazul n care modulul de
memorie este format din mai multe astfel de circuite, este necesar i o born de selectare
circuit, CS (Chip Select). Semnalul de control CS face selecia circuitului controlnd i
11

Pentru a se putea conecta mai simplu la magistrale, majoritatea circuitelor logice integrate au trei stri la
ieire (TSL Three State Logic). De fapt, circuitele TSL prezint tot dou stri logice 1 i 0, dar, n plus,
exist i o stare de nalt impedan, HZ. Pentru autorizarea/validarea strii HZ se folosete un semnal
aplicat pe o born notat prin simbolul OE (Output Enable), adic ieire autorizat/validat (v. Anexa B).

109

CIRCUITE LOGICE COMBINAIONALE

starea ieirilor (HZ sau conectate la magistrala de date) n timp ce semnalul OE controleaz numai starea circuitelor de ieire. Pentru OE = 1 , ieirea este n starea HZ. Acelai
lucru se ntmpl i dac CS = 1 , indiferent de valoarea lui OE . Aceste dou funciuni,
CS i OE sunt luate mpreun, pentru a se micora numrul de pini la cip i scoase la un
singur pin cu simbolul CS sau OE (v. fig. 2.53,b). n acest caz, ns, acest semnal unic,
pentru CS / OE trebuie s se obin printr-o logic exterioar cipului.
A0
A1
An1

0
1

DCD
DE
ADRESE

2n 1

CS / OE

CIRCUIT DE
IEIRE I
PROGRAMARE

(PROG) CONTROL

O0 O1

(a)

Vcc

M
A
G
I
S
T
R
A
L
A

O0
O1

A0
A1

D
E
A
D
R
E
S
E

ROM
Om1
An1
CS / OE

M
A
G
I
S
T
R
A
L
A

An2

D
A
T
E

MAGISTRALA
DE CONTROL

Om1

(b)

1
Adresa 1
O0

O1

Om2

Om1

1
DCD
n la 2 n

D
E

MATRICE DE MEMORIE

ADRESE
0

A0
A1

MATRICE
DE
MEMORIE

Om1

2n 2
2n 1

An1
CS / OE

(c)
O0

O1

Om 2

Om 1

Fig.2.53 Memorie ROM: (a), (b) scheme-bloc; (c) schema de principiu.

Pentru funcionarea corect a circuitelor de memorie semnalele aplicate la borne trebuie s satisfac anumite restricii de timp. n figura 2.54 sunt prezentate diagramele de
110

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

semnal pentru un ciclu de citire tip al unei memorii ROM. Semnificaia notaiilor este
urmtoarea:
t RC durata ciclului de citire;
tRC
t A timpul de acces la memorie;
ADR
t CS intervalul de timp n raport cu CS
tCS
CS
dup care apar date stabile la ieire;
t OE intervalul de timp dup care apar datOE
OE
te stabile la ieire n raport cu impulsul OE ;
t OH timpul de meninere a datelor la iei-

re dup dispariia impulsului OE .


Forma impulsurilor i duratele lor pentru
programarea unei memorii (PROM, EPROM)
sunt prezentate n fiele de catalog ale circuitelor
respective.

DATE

tA

tOH

Fig.2.54 Diagrame de semnal pentru


citirea ROM-ului.

Implementarea funciilor booleene cu memorii ROM


Memoriile ROM se pot utiliza la implementarea CLC-urilor cu un numr mare de intrri
i ieiri, care altfel s-ar realiza cu foarte multe circuite integrate SSI sau MSI [15,27,30].
Aceast aplicaie este posibil observnd c structura intern a memoriei ROM constituie o generalizare a formei de implementare cu DCD-uri i pori logice: se decodific
pe nivelul de I-uri toi termenii canonici (fiecare linie de cuvnt de la intrarea matricei
reprezint de fapt un termen canonic format din variabilele de intrare) iar cei care intervin
n expresia fiecrei funcii, O0 Om1 , sunt adunai prin nivelul de SAU-NU-uri (nivelul
SAU se obine deci, prin programarea nodurilor de pe o coloan a matricei). Deci lista de
cuvinte a memoriei ROM reprezint chiar tabelul de adevr al CLC-ului. n concluzie,
fiecare coloan a memoriei ROM genereaz valorile unei funcii de variabile de intrare
(adresare) pentru acei termeni canonici care au fost selectai prin programarea nivelului
SAU.
La implementarea cu ROM-uri nu este necesar minimizarea, deoarece sunt memorai n DCD toi termenii canonici (mintermi) care se pot forma cu variabilele aplicate pe
intrrile de adres i sunt incluse toate posibilitile de apariie a acestora n funciile de
ieire, prin programarea matricei de memorie.
Programarea nodurilor din matricea de memorie se face n urma inspeciei tabelului
de adevr al funciei; se programeaz acele noduri care introduc n compunerea funciei
termenii canonici ce au valoarea 1 logic. S-a considerat c un nod neprogramat este zero
n matricea SAU, adic nu introduce termenul canonic corespunztor liniei la intersecia
creia se afl.
Datorit faptului c pot memora tabele de adevr foarte mari, ROM-urile se utilizeaz n microprogramare, conversii de cod, generarea de caractere, implementarea CLCurilor cu un numr mare de variabile de intrare i cu mai multe ieiri, etc.
Implementarea cu memorii ROM a CLC-urilor, presupune parcurgerea urmtoarelor
etape:
stabilirea dimensiunii memoriei necesare pentru aplicaia respectiv;
alegerea tipurilor de circuite ROM integrate cele mai potrivite: cu dimensiuni iden111

CIRCUITE LOGICE COMBINAIONALE

tice sau ct mai apropiate de cele stabilite anterior;


dac nu exist memorii ROM cu dimensiuni identice cu cele dorite, se fac transformri de dimensiuni cu diverse metode;
stabilirea tabelului de adevr al memoriei ROM;
reducerea dimensiunii memoriei ROM, atunci cnd este posibil, utiliznd codificarea la intrare sau decodificarea la ieire.
Implementarea cu memorii ROM se face avnd n vedere urmtoarele dou aspecte:
utilizarea unui numr minim de circuite integrate;
folosirea integral a capacitii memoriei.
Uneori aceste deziderate pot fi atinse simultan, alteori trebuie realizat un compromis n
favoarea unuia dintre ele.
Exemplu. S se implementeze cu memorie ROM un CLC care realizeaz funciile:
f1FCD = P0 + P2 + P4 + P6 + P20 + P22 + P26 ,
f 2FCD = P13 + P14 + P15 + P30 ,
f 3FCD = P1 + P5 + P11 + P19 + P20 ,

f 4FCD = P2 + P7 + P9 + P17 + P23 + P28 ,

(2.133)

f 5FCD = P25 + P26 + P27 + P28 + P29 ,


f 6FCD = P0 + P5 + P10 + P15 + P20 + P25 + P28 ,
f 7FCD = P0 + P3 + P6 + P9 + P12 + P15 + P18 + P21 + P24 + P27 + P29 ,

f 8FCD = P4 + P8 + P12 + P16 + P20 + P24 + P26 + P29 .


Se observ c termenul canonic de rang cel mai mare este P30 , deci se poate presupune c funciile sunt de 5 variabile. n aceste condiii sunt necesare 5 intrri n memoria
ROM, pentru a se obine din DCD 32 de termeni canonici. Trebuie implementate 8 funcii; nseamn c memoria ROM necesar trebuie s aib organizarea intern 32 cuvinte8
bii. Exist astfel de circuite integrate i este necesar unul singur pentru a se rezolva problema (de exemplu, TBP18S030 [34]).
Tabelul de adevr al memoriei ROM se stabilete pornind de la formele canonice
disjunctive ale funciilor negate (v. tab. 2.23).
Tab.2.23 Tabelul de adevr al memoriei ROM din exemplu.

x1 x2 x3 x4 x5

f1

f2

f3

f4

f5

f6

f7

f8

0 0 0 0 0 0 0 1 1 1 1 0 0 1
1 0 0 0 0 1 1 1 0 1 1 1 1 1
2 0 0 0 1 0 0 1 1 0 1 1 1 1
3 0 0 0 1 1 1 1 1 1 1 1 0 1
K K K K K K K K K K K K K K
30
31

1
1

1
1

1
1

1
1

0
1

1
1

0
1

1
1

1
1

1
1

1
1

1
1

1
1

Implementarea CLC-ului este prezentat n figura 2.55, n care memoria ROM are
112

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

programat n interior acest tabel de adevr. Deoarece ieirile memoriei sunt active pe
nivel 0 logic, se obin n exterior funciile:
f k = f k , unde k = 1 8 .

(2.134)

x1 x2 x3 x4 x5

- conexiune fix
- conexiune programabil
NIVEL SAU PROGAMABIL
x1 x2 x3 x4 x5 = 0
x1 x2 x3 x4 x5 = 1
x1 x2 x3 x4 x5 = 2
x1 x2 x3 x4 x5 = 3
x1 x2 x3 x4 x5 = 30
x1 x2 x3 x4 x5 = 31

NIVEL I FIX
CS / OE
(a)
f1
x5
x4
x3
x2
x1

A0
A1
A2
A3
A4

f2

f3

f4

ROM
32 8
(256 bii)

f8

(b)

O7 O6 O5 O4 O3 O2 O1 O0
f8

f7

f6

f5

f4

f3

f2

f1

Fig.2.55 Memoria ROM utilizat pentru realizarea CLC-ului din exemplu.

Modificarea geometriei unei memorii presupune realizarea de circuite de memorie


avnd un numr de cuvinte sau/i un numr de bii pe cuvnt diferit de cel al circuitelor
disponibile.
Dat fiind capacitatea unei capsule ROM, aa cum s-a mai menionat, prin produsul
113

CIRCUITE LOGICE COMBINAIONALE

dintre numrul de cuvinte i numrul de bii ai cuvntului de ieire, exist posibilitatea de


a realiza o memorie de capacitate mai mare prin utilizarea unui numr sporit de capsule.
Extinderea capacitii se poate obine acionnd asupra numrului de cuvinte, lsnd numrul de bii pe cuvnt neschimbat (extindere la intrare sau de adres), modificnd numrul biilor de ieire la un numr neschimbat de cuvinte (extindere la ieire), respectiv, att
prin modificarea numrului de cuvinte ct i a numrului de bii ai cuvntului de ieire
(extindere mixt).
Exemplu. S se realizeze o memorie ROM cu organizarea intern de 256 cuvinte4
bii, la care matricea de memorie este de 3232 bii.
n figura 2.56 se prezint organizarea tipic a unei memorii ROM avnd capacitatea
de 1K (v., de exemplu, TBP24S10 [34]). Se constat c selecia unui cuvnt de ieire de 4
bii ( O0 ,K , O3 ), din cele 256, nu se face cu ajutorul unui DCD cu 256 de linii de ieire ci
sunt utilizate: un DCD cu 32 linii i 4 MUX-uri de 8 ci. La intrrile DCD-ului se vor
aplica primii 5 cei mai semnificativi bii ai cuvntului de adres, n timp ce pe intrrile de
selecie ale MUX-urilor, ceilali 3 bii mai puin semnificativi.
A7
A6
A5
A4
A3

DCD
de
5 bii

A1

A2
A0

0
1

MATRICE DE MEMORIE
32 32 bii

31
0 1

MUX 2 3 : 1

8 9

15

MUX 2 3 : 1

16 17

23

MUX 2 3 : 1

24 25

31

MUX 2 3 : 1

CS / OE

O0

O1

O2

O3

Fig.2.56 Realizarea unei memorii ROM de 2564 (1K).

Exemplu. Cu ajutorul unor circuite integrate ROM de 8 Kbii, cu organizarea intern


de 1024 cuvinte8 bii, s se realizeze o memorie de 4K8 bii (extinderea numrului de
cuvinte).
n general, pentru extinderea numrului de cuvinte al unei memorii ROM se procedeaz n felul urmtor:
se calculeaz numrul circuitelor integrate necesare;
se conecteaz n paralel adresele i ieirile circuitelor;
biii suplimentari de adres se decodific i selecteaz circuitele pe intrrile CS .
Memoria de 4K8 bii are de 4 ori mai multe cuvinte dect circuitul integrat. Deci
vor fi necesare 4 circuite integrate pentru a o implementa (se pot utiliza, de exemplu,
circuitele TBP28S86A [34]).
Extinderea numrului de cuvinte ale memoriei se face conectnd cele 4 circuite
integrate ca n figura 2.57. Fiecare circuit integrat se adreseaz cu 10 bii ( A9 A0 ) ,
114

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

conectai n paralel la toate ROM-urile. Pentru adresarea memoriei de 4K8 bii mai sunt
necesari nc 2 bii, A11 i A10 , care, decodificai (se poate folosi 1/2 74139 [34]), activeaz doar cte unul dintre circuitele integrate ROM. Astfel, la ieirile cuplate n paralel
se citete pentru A11 A10 = 00 , coninutul ROM1, pentru A11 A10 = 01 , coninutul ROM2,
etc., celelalte trei circuite integrate fiind n acest timp inhibate.
10
A9 A0 ROM1
1024 8
CS

10
( A9 ,..., A0)

8
10
A9 A0 ROM2
1024 8
CS

0
A11
A10

DCD 1
2:4 2

8
10
A9 A0 ROM3
1024 8
CS

8
10
A9 A0 ROM4
1024 8
CS
8
8
O7 O0
Fig.2.57 Extinderea numrului de cuvinte.

Exemplu. Cu ajutorul unor circuite integrate de memorie ROM de 8 Kbii (1024


cuvinte8 bii, de exemplu, TBP28S86A [34]) s se realizeze o extindere la 2K16 bii
(extinderea numrului de cuvinte i a numrului de bii pe cuvnt).
Extinderea numrului de cuvinte se face cu ajutorul intrrii CS , activnd pentru
A10 = 0 , ROM1 i ROM2 i pentru A10 = 1 celelalte dou memorii (v. fig. 2.58). n acest
caz, DCD-ul (v. fig. 2.57) s-a redus la un inversor.
Extinderea lungimii cuvntului se face prin adugarea ROM3 i ROM4 conectate n

paralel cu ROM1, respectiv ROM2, pe adrese i CS . Ieirile ROM3 i ROM4 sunt conectate n paralel cu cele ale ROM1 respectiv ROM2 pentru a se obine lungimea cuvntului
de 16 bii.
Exemplu. S se realizeze o memorie cu organizarea intern de 64 cuvinte4 bii cu
circuite ROM de 328 bii (extinderea numrului de cuvinte i reducerea numrului de
bii pe cuvnt, capacitatea de memorare rmnnd aceeai).
115

CIRCUITE LOGICE COMBINAIONALE

10

( A9 ,..., A0)
10
A10

10
A9 A0

O7
O6

A9 A0

O7
O6

CS

O0

CS

O0

ROM1
1024 8

10

ROM2
1024 8

10
A9 A0

O7
O6

A9 A0

O7
O6

CS

O0

CS

O0

ROM3
1024 8

ROM4
1024 8

0 67

81415

Fig.2.58 Extinderea numrului de cuvinte i a numrului de bii pe cuvnt.

Se poate reduce limea cuvntului concomitent cu mrirea numrului de adrese


prin diverse procedee dintre care unul este prezentat n figura 2.59. Se folosete circuitul
integrat 74157 [34] care conine 4 MUX-uri neinversoare de cte 2 ci (4MUX 2:1),
conectat, prin intermediul intrrilor de date ale celor 4 MUX-uri, la ieirile circuitului
ROM (328) TBP18S030 [34]. Tabelul de adevr al unui MUX 2:1 este prezentat n
tabelul 2.24. Cu ajutorul circuitului integrat 74157, pentru A5 = 0 se transfer la ieire
O0 O3 , iar pentru A5 = 1 , O0 O3 .
A0
A2
A4

A1
A3

20
21
22
23
24

5
A5 2

A0
A1
A2
A3
A4

Tab.2.24 Tabelul de adevr pentru


un MUX 2:1 (1/4 74157).

ROM
32 8
O0 O1 O2 O3 O0 O1 O2 O3

1A 2A 3A 4A 1B 2B 3B 4B
4 MUX 2:1

G
1
0
0
0
0

S
*
0
0
1
1

A
*
0
1
*
*

B
*
*
*
0
1

Y
0
0
1
0
1

Pentru reducerea numrului de


intrri ntr-o memorie ROM se utilizeaz adeseori multiplexoare. Dac,
spre
exemplu, exist mai multe moFig.2.59 Extinderea numrului de cuvinte i reducerea
duri de operare i fiecrui mod i
numrului de bii pe cuvnt.
corespunde o anumit configuraie de
intrare, se pot utiliza circuite de selecie (multiplexoare) pentru biii corespunztori
configuraiei de interes n funcie de mod. Dac modurile de operare nu sunt codificate
ntr-o modalitate direct utilizabil se poate folosi cteodat, pentru generarea adreselor
multiplexorului, chiar o memorie ROM suplimentar. Uneori se pot folosi chiar ieirile
memoriei ROM pentru selecia modului, dar numai ntr-o schem secvenial.
G

116

1Y 2Y 3Y 4 Y

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Exemplu. Un CLC primete pe intrri numere de 8 bii, unele n cod Gray, altele n
BCD Exces 3 i trebuie s furnizeze la ieire numai numere n cod binar. S se implementeze cu memorie ROM acest CLC, tiind c nu pot apare simultan mai multe numere
pe intrri.
Organizarea memoriei ROM este prezentat n figura 2.60,a. Pentru implementare
sunt necesare, de exemplu, 16 circuite ROM de 8K8 bii i un DCD.
Deoarece nu pot apare simultan pe intrri numere din cele 2 grupe, se poate reduce
dimensiunea memoriei ROM cu schema din figura 2.60,b. Bitul cuplat pe A8 , care indic
n ce cod este numrul sosit pe intrri, comand trecerea acestuia prin MUX ctre memorie. n acest fel, prin adugarea doar a 2 MUX-uri (de fapt se folosesc 274157), s-a
redus foarte mult capacitatea memoriei ROM necesare: de 28 =256 ori (se poate utiliza
circuitul TBP28S42 (5128), [34]).
Numere
n cod
Gray
Numere
n cod
BCD Exces 3
Gray / BCD
Exces 3

G0
G1

A0
A1

G7
E0
E1

A7
A8
A9

E7

A15
A16 O O O O O O
7 6 5 4
3
2 O1 O0

(a)

E2
E3
E4
E5
E6

1A
1B
2A
2B
3A
3B
4A
4B S

4 MUX 2:1

E1

G0

Numere n binar

G1
G2
G3
G4
G5
G6

G7
E7
Gray / BCD
Exces 3
(b)

1A
1B
2A
2B
3A
3B
4A
4B S

4 MUX 2:1

E0

ROM
128K 8

1Y

A0

2Y

A1

3Y

A2

4Y

A3

1Y

A4

2Y

A5

3Y

A6

4Y

A7
A8

ROM
512 8

O7 O6 O5 O4 O3 O2 O1 O0
Numere n binar

Fig.2.60 Reducerea dimensiunii memoriei ROM prin micorarea numrului de intrri.

117

CIRCUITE LOGICE COMBINAIONALE

Exemplu. Utilizndu-se circuite MUX s se reduc dimensiunea unei memorii ROM


de la 4K8bii la 648bii.
Schema de principiu este prezentat n figura 2.61. Adresele A2 A5 codificate comand multiplexarea cilor I 0 I 7 pe intrrile de adres A0 i A1 (se poate folosi circuitul integrat 74153 [34]). Montajul permite reducerea dimensiunii ROM-ului prin cuplarea MUX-ului la intrare, de 64 de ori. Memoria ROM 648 se poate realiza prin cuplarea
n paralel (v. fig 2.57) a dou circuite ROM 328 (de exemplu, TBP18S030[34]).
I0

1C0
1C1
1Y
1C2
1C3
2 MUX
2C 4:1

I1

I2

I3

I4

2C1
2C2
2C3

I5

I6

I7

O7

A0

O6
O5
A1

2Y

ROM
64 8

A B

O4
O3
O2

CODIFICATOR

O1

A2
A3
A4
A5

O0

Fig.2.61 Reducerea dimensiunii memoriei ROM prin micorarea numrului de intrri.

Reducerea dimensiunilor memoriilor ROM se poate realiza, aa cum s-a mai menionat, i prin decodificarea ieirilor.
Exemplu. S se implementeze cu memorie ROM un convertor de cod din binar (8
bii) n zecimal.
A0
A1

A0
A1

ROM
256 10

A7

A9

DCD1
(a)

ROM
1024 16

89

DCD2
0

89

DCD1
(b) 0 1

DCD2
01

DCD3

DCD4

0 1 15 0 1 15

DCD5
012 3

Fig.2.62 Reducerea dimensiunii memoriei ROM prin decodificarea la ieire.

ROM-ul are 8 intrri i 22 de ieiri (10 pentru uniti, 10 pentru zeci i 2 pentru sute) deci
118

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

25622 bii i se poate implementa cu 3 ROM-uri de 2568 bii.


Cu schema din figura 2.62,a se realizeaz cu ROM conversia din binar n BCD i
apoi cu ajutorul DCD-urilor 7442 [34], conversia BCD-zecimal. Se reduce astfel capacitatea ROM-ului la 25610 bii, deci de 2,2 ori. Implementarea se poate face cu 3 ROMuri de 2564 bii sau 2 ROM-uri de 2568 bii (se pot utiliza, de exemplu, circuitele integrate TBP24S10, respectiv TBP18S22, [34]).
Exemplu. Cu ct s-a redus dimensiunea ROM-ului n schema din figura 2.62,b, datorit cmpurilor codificate ce apar la ieire?
Reducerea este de 52/16=3,25 ori.
Dispozitive logice programabile

Utilizarea tot mai larg a microprogramrii n tehnica digital a fost susinut de disponibilitatea crescnd a unor memorii fixe programabile la utilizator (PROM, EPROM).
Exist ns o serie de aplicaii unde se opereaz cu un numr mare de variabile de intrare
la viteze de funcionare ridicate, n care rigiditatea posibilitilor de adresare ale acestor
memorii le face improprii i neeconomice12. Pentru acoperirea acestor domenii de utilizare a fost realizat o component logic flexibil numit dispozitiv logic programabil,
PLD (Programmable Logic Device). Un PLD are o structur intern care poate fi configurat cu diferite circuite combinaionale i adesea cu circuite secveniale. PLD-urile sunt
folosite i pentru a reduce substanial numrul componentelor unui sistem logic complex.
Dispozitivele logice programabile conin, aa cum s-a precizat, pori i, n unele cazuri, circuite bistabile, aranjate n aa fel nct interconectrile ntre componente s poat
fi modificate pentru a se implementa diverse funcii logice. Circuitele logice combinaionale PLD, cele care conin numai pori logice de baz, sunt, de obicei, organizate ca
arii de pori I i SAU, care implementeaz expresii sum-de-produse. PLD-urile secveniale adaug bistabili la ieiri.
Oricare ar fi aranjamentul logic, o cerin general a PLD-urilor este de a avea o
modalitate de schimbare a interconectrilor pentru a forma o configuraie logic diferit.
Calea original, definitiv, dar selectabil de a face acest lucru a fost fabricarea dispozitivelor cu semiconductoare fuzibile (sigurane fuzibile integrate). Iniial, aceste sigurane
sunt intacte n dispozitiv, ceea ce ofer interconectri extinse. Ulterior siguranele sunt
arse selectiv de ctre utilizator pentru a se obine interconectrile dorite, folosind o unitate special de programare pentru PLD. Uzual, programatorul de PLD este ataat unui
mic calculator i se ofer software-ul pentru a se traduce funcia logic dorit n combinaia intern de interconectri corespunztoare. Desigur, o dat ce o siguran este ars,
conexiunea nu se mai poate reface. PLD-urile pe care le poate programa utilizatorul, ca
acestea cu semiconductoare fuzibile, se numesc arii programabile.
PLD-urile cu semiconductoare fuzibile au fost dezvoltate n anii 70 iar acum exist
versiuni de PLD-uri arii programabile, care folosesc tehnologia memoriilor semiconductoare erasable read-only. Aici, conexiunile depind de informaiile binare stocate. O celul de memorie exist la fiecare punct de conectare pentru a se stoca (s zicem) un 0, pentru meninerea conexiunii sau un 1, pentru anularea ei. PLD-urile bazate pe tehnologia
memoriilor ofer capacitatea de a modifica rapid interconectrile i de mai multe ori.
12

Aa cum s-a mai precizat, dezavantajul implementrii pe un circuit ROM decurge din existena nivelului I
neprogramabil, deci generarea tuturor termenilor canonici produs de n variabile, indiferent dac acetia
sunt necesari sau nu.

119

CIRCUITE LOGICE COMBINAIONALE

De asemenea, productorii realizeaz versiuni de PLD-uri cu conexiuni permanente


n funcie de specificaiile clienilor. Pentru a se realiza conexiunile fixe, trebuie realizate
mti specifice circuitelor integrate la fabricarea dispozitivului. Acest proces este costisitor pentru fabricarea unui dispozitiv, dar costul scade semnificativ cnd este vorba de
fabricarea unui numr mare de dispozitive identice.
Toate cele trei tipuri de PLD-uri (folosind sigurane semiconductoare, tehnologia
memoriilor sau conexiunile din fabricaie) au produs capsule cu pini compatibili, astfel
nct, ntr-un sistem, se poate nlocui un tip cu un altul. Un tip reprogramabil se poate
folosi iniial pentru experimentri, dei acestea sunt cele mai lente n operaiile logice i
cele mai scumpe; apoi, poate, se va folosi un numr mic de dispozitive (matrice) programabile, pentru o producie mic, pilot; i n sfrit, fabricarea de PLD-uri cu conexiuni
specifice poate fi folosit pentru producii mari.
n cele ce urmeaz, se va discuta despre PLD-uri n termeni de conexiuni programabile, care se aplic tuturor PLD-urilor, indiferent dac folosesc sigurane semiconductoare, tehnologia memoriilor sau conexiuni din fabricaie. Structurile logice ale diferitelor implementri sunt similare. n acest paragraf se vor analiza doar circuitele combinaionale PLD.
Principalele familii de circuite combinaionale PLD sunt:
matricele logice programabile, PLA-urile (Programmable Logic Array);
matricele programabile logic, PAL-urile (Programmable Array Logic);
matricele de pori programabile, PGA-urile (Programmable Gates Array).
Litera F (de la field sau fuse) plasat n faa denumirilor abreviate ale acestor
circuite (devenind astfel FPLA, FPAL, FPGA) indic faptul c acestea sunt programate
de ctre utilizator. n continuare, se va face o scurt prezentare a acestor tipuri de circuite
logice programabile.
PLA-ul este un CLC cu dou nivele de logic programabil: o matrice de pori I i
o matrice de pori SAU, precum i cu amplificatoare de ieire programabile [2,18,23,27,
30,33]. Matricea I constituie un decodificator condiionat, de dimensiuni reduse fa de
numrul mare de intrri ale circuitului, iar matricea SAU are rol de codificator.
Spre deosebire de memoriile ROM, la care matricea de I-uri are o configuraie fix
(este un decodificator al tuturor cuvintelor de intrare), fiind programabil doar nivelul de
SAU-uri, la PLA-uri este programabil i primul nivel logic. ntr-o alt interpretare se
poate spune c nivelul de I-uri la ROM furnizeaz toi termenii canonici posibil de construit cu variabilele de intrare, iar prin nivelul de SAU-uri programabil, se selecteaz acei
termeni care intervin n expresia fiecrei funcii. La PLA, fiind programabil i nivelul de
I-uri, este deci posibil i necesar o implementare pornind nu de la termenii canonici,
ci de la cei normali, constituieni ai formei minimizate.
O structur tipic de FPLA este prezentat n figura 2.63 (este vorba de schema de
principiu a circuitului FPLA PLS153 (183210), produs de firma Philips [36]). Schema
logic are 18 intrri ( A0 ,K , A17 ), matricea I conine 32 de pori cu cte 36 de intrri iar
matricea SAU este prevzut cu 10 pori cu cte 32 de intrri. Numrul de ieiri este egal
cu 10 ( O0 ,K , O9 ). De asemenea, n figura 2.63 sunt prezentate i posibilitile de modificare ale conexiunii dintr-un nod al matricei I. Exist deci patru situaii pentru fiecare variabil de intrare, aa cum se arat n figura menionat:
starea iniial neprogramat, cu toate conexiunile intacte, cu toate variabilele i
inversele lor conectate;
120

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

pot fi selectate fie variabilele, fie negatele lor, prin eliminarea cte unei conexiuni;
dac sunt eliminate ambele conexiuni, variabila nu este selectat, cu alte cuvinte,
variabila nu apare n termenul produs.
Fuzibil
Conexiune
programabil
A0

A0

A0

A0

A0

A0

MATRICE
I

0
A0

A0

A17

A0

A0

P0
Conexiune
programabil

32 pori I
cu 36 intr.

A0

A0
A0

A0

P31

MATRICE
SAU

S0

O0

10 pori SAU
cu 32 intr.
S9
Conexiune
programabil

A0

O9
CS

Fig.2.63 Structur tipic de FPLA.

La ieirile porilor I se obin termenii produs ( P0 ,K , P31 ), care pot fi exprimai prin:
17

Pk = (in An + jn An ) , unde k = 0,K ,31 ,

(2.135)

n care, dac:
in = j n = 0
in = j n
in = j n = 1

intrare neprogramat,
intrare programat,
intrare redundant.

Toate ieirile porilor I sunt conectate, n stare neprogramat, la intrrile fiecrei pori
121

CIRCUITE LOGICE COMBINAIONALE

SAU. La ieirile porilor SAU se obin semnale ( S 0 ,K , S 9 ), pentru care se poate scrie:
31

S r = t k Pk , unde r = 0,K ,9 ,

(2.136)

n care:
t k = 0 , termen P inactiv (programat),
t k = 1 , termen P activ (neprogramat).

Se pot forma deci zece sume logice, cu pn la 32 de termeni, n fiecare sum logic
putnd s intre oricare dintre cei 32 de termeni produs, P0 ,K, P31 .
Circuitul de ieire, realizat cu 10 pori SAU-EXCLUSIV (cu rolul de inversoare
programabile: S i 0 = S i (pentru fuzibil intact), respectiv S i 1 = S i (pentru fuzibil ars),
unde i = 0,K,9 ), permite obinerea la o ieire Oi (i = 0,,9) a circuitului, fie a funciei

directe ( Oi = S i ), fie a funciei negate ( Oi = S i ). Posibilitatea interconectrii ieirilor cu


circuite similare sau magistrale este asigurat prin amplificatoare de ieire (buffere) cu
trei stri (TSL) sau cu colector deschis (OC), controlate de o born comun CS . Toate
conexiunile, marcate prin cerculee n figur, pot fi ntrerupte prin programare.
Avantajele pe care le ofer PLA/FPLA-ul se evideniaz prin comparaia cu un
ROM avnd acelai numr de intrri (18) i ieiri (10).
PLA-ul are o capacitate mult mai mic (32 cuvinte10 bii) fa de ROM-ul echivalent ( 218 cuvinte10 bii), deci dac corespunde aplicaiei avute n vedere, constituie o soluie mai economic.
Pentru memoria ROM, fiecrei combinaii a intrrilor de adres i corespunde un
cuvnt de ieire, n schimb n cazul PLA-ului, o combinaie a intrrilor poate selecta un
cuvnt sau niciunul, respectiv acelai cuvnt poate fi selectat prin mai multe combinaii
ale intrrilor (adrese). Aceast ultim proprietate rezult din posibilitatea de a programa
unele intrri redundante (dont care), fapt care duce la importante reduceri ale matricei
decodificatoare.
Fa de memoria ROM, ieirile pot fi programate individual ca active pe 0 logic sau
pe 1 logic. O astfel de facilitate asigur, n unele cazuri, minimizarea numrului termenilor produs (P) utilizai pentru implementarea unei funcii f. Un exemplu n aceast privin poate fi funcia cu patru termeni produs:
f = x1 x2 + x1 x2 + x2 x3 + x2 x4 ,

(2.137)

care se poate implementa i prin varianta ei cu 2 termeni produs:


f = x1 x2 x3 + x1 x2 x4 = ( x1 + x2 + x3 )( x1 + x 2 + x 4 ) =
= x1 x 2 + x1 x 2 + x2 x3 + x 2 x 4 + x1 x 4 + x1 x3 + x3 x4 .
144
42444
3

(2.138)

redundani algebric

Rezult din cele de mai sus c avantajele pe care le ofer PLA-ul fa de ROM,
ntr-o serie de aplicaii care presupun un numr mare de variabile de intrare, rezid n
posibilitatea programrii matricei I (decodificatoare) i a complementrii variabilelor
122

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

de ieire.
Pe de alt parte, la un circuit PLA exist flexibilitatea de a genera simultan mai
multe funcii, spre deosebire de un circuit ROM care poate genera doar succesiv mai
multe funcii. Un PLA de capacitate mai mare se poate partaja n mai multe segmente disjuncte, n fiecare segment intrnd anumite elemente din lanul intrri-pori I-pori SAUieiri; cte un astfel de segment poate fi asignat pentru implementarea uneia din funcii,
eventual un segment poate fi lsat neprogramat pentru modificri ulterioare [30].
Uzual, porile I din cadrul matricei decodificatoare a FPLA-ului sunt realizate cu
diode Schottky conectate n serie cu o pelicul fuzibil de crom-nichel, iar porile SAU,
care formeaz matricea codificatoare, sunt constituite din tranzistoare n conexiunea colector comun, avnd pelicula fuzibil nseriat n circuitul de emitor (v. fig. 2.64).
Programarea circuitului n vederea realizrii unui sistem de funcii booleene necesit, aa cum s-a mai precizat, formele minime disjunctive ale acestora. Este de dorit o
minimizare corelat a funciilor sistemului pentru ca numrul termenilor distinci cu care
se realizeaz funciile s fie ct mai mic, n orice caz cel mult 32.
U+

Fn
An
An

Fn
An
U+
Pk

Fk

Sr

Or

U+

Fi
CS
Fig.2.64 Structura electronic a unei matrice logice programabile.

Programarea FPLA-ului se realizeaz pe baza tabelului ntocmit de utilizator, folosindu-se un programator, care permite selecia i arderea prin impulsuri de curent a fuzibilului a crui ntrerupere este necesar. n stare neprogramat, fiecare dintre cei 32 termeni P conine toate variabilele de intrare, precum i negatele acestora, iar fiecare din cei
10 termeni S este constituit din suma tuturor termenilor P. Potrivit celor de mai sus, n
stare neprogramat, toi termenii P i toate sumele S sunt pe 0 logic i acelai lucru se
poate spune despre ieirile O.
La programarea matricei decodificatoare, pentru fiecare termen Pk se ntrerup fuzibilele care conecteaz coloana Pk la fiecare variabil de intrare astfel nct Pk s conin
toate variabilele de intrare cu starea logic dorit (1,0,*). Dac Pk conine variabila An se
123

CIRCUITE LOGICE COMBINAIONALE

ntrerupe fuzibilul Fn i invers, dac conine An se ntrerupe Fn , iar dac se dorete


excluderea ambelor variabile ( An i An ) se ntrerup att Fn ct i Fn (starea logic
nedeterminat, marcat cu *). Dac se utilizeaz mai puin de 18 variabile de intrare,
variabilele nefolosite intervin ca redundante n toi termenii Pk folosii.
Prezena sau absena unui termen P n funcia de ieire O este programat n matricea SAU (codificatoare). Absena termenului Pk n funcia S r (v. fig. 2.64) se programeaz prin ntreruperea fuzibilului Fk . Nu este necesar programarea matricei SAU pentru termenii P nefolosii (neprogramai), acetia fiind oricum pe 0 logic.
Programarea ieirii se face n felul urmtor: dac se cere realizarea negatei unei
funcii O j , ai crei termeni sunt reunii, n urma programrii matricei I, respectiv a matricei SAU, pe linia S j se arde fuzibilul de la intrarea porii SAU-EXCLUSIV corespondente. n acest fel, intrarea respectiv ajunge n starea logic 1 i genereaz la ieirea
porii SAU-EXCLUSIV pe S j .
Exemplu. n figura 2.65 se exemplific programarea funciei:
f = x1 + x2 x3 .

(2.139)
U+

x1
x1
x1
x2
x2
x2
x3
x3
x3
U+

F0

P0 F1

P1

U+

CS
Fig.2.65 Programarea funciei din exemplu.

124

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Este de menionat c, n acest caz, coloanele fuzibile care conecteaz termenii


P2 ,K , P31 la linia S se ntrerup numai dac termenii respectivi sunt programai i intervin
n restul de 9 funcii de ieire.
Principalele aplicaii ale FPLA-urilor sunt n microprogramare, generarea de caractere, conversia de cod, realizarea tabelelor de funcii i implementarea automatelor secveniale.
Dispozitivele PLA descrise mai sus au att conexiuni programabile la intrrile
porilor I, ct i conexiuni programabile la intrrile porilor SAU. Firma Advanced
Micro Devices, Inc. fabric o familie de dispozitive PLD avnd conexiuni programabile
numai la intrrile porilor I , sau, altfel spus, aceste circuite dispun numai de un nivel I
programabil, iar termenii produs generai sunt aplicai unei reele SAU fixe (neprogramabile). Productorii numesc acest dispozitiv matrice programabil logic (PAL), termen
care este acceptat unanim pentru aceste tipuri de dispozitive [33,37]. ntr-un PAL, fiecare
poart I este conectat direct la o intrare a unei pori SAU. n mod tipic, opt pori I vor
fi conectate direct la intrrile fiecrei pori SAU (de opt intrri). Un motiv pentru aceast
restricie este creterea vitezei operaiilor, deoarece o conexiune programabil implic o
ntrziere mai mare dect o legtur direct.
PAL-urile originale introduse n anii 70, au fost proiectate pentru tehnologia bipolar cu fuzibile semiconductoare bipolare, dar acum sunt disponibile versiuni pin-compatibile CMOS, cu tergere electronic. Dup un start destul de lent, PAL-urilor au devenit
acum foarte larg folosite, nlocuind tradiionalele componente logice SSI/MSI ntr-o serie
de aplicaii (de exemplu, interfeele de calculatoare). Aceste dispozitive au n prezent furnizori multiplii. Exist, de asemenea, versiuni de circuite logice secveniale de acest tip
(PAL cu registre).
Un exemplu de circuit combinaional PAL este prezentat n figura 2.66. Schema
logic corespunde circuitului integrat PAL CE16V8/4 [37] (litera C vine de la CMOS, E
de la erasable-tergere, iar V de la variable-variabil pentru ieire (pune la dispoziie att
ieire inversat ct i neinversat)). Acest dispozitiv are 16 intrri i 8 ieiri, care sunt
prevzute cu buffere TSL i poate genera 8 expresii sum-de-produse, fiecare coninnd 8
termeni produs i fiecare termen produs avnd maximum 16 variabile (adevrate sau
negate). Nu reprezint un avantaj folosirea aceluiai termen produs n mai multe expresii
sum-de-produse, deoarece, n PAL, fiecare termen trebuie s fie separat pentru fiecare
poart SAU.
La dispozitivul a crui schem simplificat este prezentat n figura 2.66, pot fi
programate fie ieiri active n 0 logic, fie ieiri active n 1 logic, prin ncorporarea unui
circuit inversor/non-inversor (poarta SAU-EXCLUSIV). Conexiunea programabil lsat
intact va produce o ieire neinversat (adic ieirea = intrarea), n timp ce eliminarea conexiunii programabile va crea o ieire inversat (adic ieirea = non-intrarea). Inversorul
programabil este plasat, n mod tipic, dup poarta SAU i naintea bufferului de ieire.
Aceste PAL-uri sunt uneori numite matrice/arii logice generice, GAL13 (Generic Logic
Array) i intr n categoria de circuite PAL universale.
O alt variant de circuit logic programabil o reprezint, aa numita, matrice de
pori programabil (PGA) [23,30].
Circuitele integrate de tipul PGA sunt mai simple, din punct de vedere constructiv,
dect circuitele PLA, respectiv PAL. Un circuit PGA conine un singur nivel de pori lo13

GAL este o marc nregistrat a firmei Lattice Semiconductor Corp.

125

CIRCUITE LOGICE COMBINAIONALE

gice programabil, dispuse ntr-o matrice I (nu mai apare deci matricea SAU) legat
direct la circuitele de ieire prin intermediul crora se programeaz funcia direct, respectiv funcia negat. Prin programarea matricei I i a circuitelor de ieire se pot realiza
funciile I, I-NU, SAU i SAU-NU, de un numr mare de variabile.
A0
Conexiune
programabil

MATRICE
I

Fuzibil

A15
64 pori I
cu 32 intr.
Conexiune
fix

P0

P7

P56

MATRICE
SAU

P63
8 pori SAU
cu 8 intr.

Conexiune
fix

S0

O0

S7

Conexiune
programabil

O7
CS

Fig. 2.66 Structur tipic de PAL.

Schema logic a unui circuit PGA, cu 16 intrri i 9 ieiri este prezentat n figura
2.67. Ea corespunde circuitului integrat 82S103 [38] i are ieirile TSL (exist circuite
integrate PGA i n varianta la care ieirile sunt OC, de exemplu 82S102 [38]).
Circuitele PGA sunt folosite ca elemente logice universale. Cu ajutorul lor se pot
realiza CLC-uri pentru diverse aplicaii sau circuite specializate.
n ultimii ani s-au impus FPGA-urile secveniale, firma Xilinx, Inc. fiind cel mai
important productor de dispozitive programabile FPGA (seria XC4000 [39]).
Pentru a folosi PLD-urile, trebuie identificate conexiunile care trebuie eliminate.
Pentru aranjamente simple, se poate lucra pe schema de conexiuni din diagrama logic a
PLD-ului, dar, n mod normal se folosesc programe software pentru a se ndeplini aceast
sarcin. Un astfel de program va lua, ca intrare, o specificaie a funciei logice care trebuie realizat. Specificaia poate fi sub forma unei expresii booleene descrise printr-un tabel de adevr, sau (pentru circuitele secveniale) o descriere printr-o diagram de stri.
Ieirea programului va include un fiier care conine conexiunile necesare (harta de programare). Fiierul de ieire este apoi folosit pentru a comanda direct unitatea de programare PLD. Unele programe includ, de asemenea, i un simulator logic astfel nct proiectul logic poate fi verificat naintea programrii PLD-ului. Printre programele populare
se pot aminti PALASM2 (PAL assembler) de la firma AMD, Inc. i ABEL (Advanced
Boolean Expression Language), marc nregistrat a firmei Data I/O Corporation [33].
126

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

Conexiune
programabil

Fuzibil

A0

P0

A1

O0

MATRICE
I
9 pori I
cu 32 intr.

P8

O8

A15

Conexiune
programabil

Conexiune
programabil

CS

Fig.2.67 Schema logic a unei matrice de pori programabil (PGA).

Implementarea funciilor booleene cu dispozitive logice programabile

Una dintre principalele aplicaii ale dispozitivelor logice programabile o reprezint implementarea sistemelor de funcii booleene. Utilizarea n acest scop a PLD-urilor ofer,
fa de alte metode de implementare, o serie de avantaje dintre care sunt de menionat:
flexibilitatea programrii, reducerea spaiului ocupat prin reducerea substanial a numrului componentelor, puterea consumat mai mic i fiabilitatea mult mbuntit.
PLA/FPLA-ul este o structur extrem de flexibil care se poate utiliza eficient
pentru implementarea sistemelor de funcii cu mai mult de 8 variabile de intrare. Dac se
aleg n mod convenabil intrrile ( Ak sau Ak ) i se folosete posibilitatea de inversare a
funciilor de la ieire se poate realiza un CLC n diverse variante.
Aa cum a rezultat din descrierea circuitelor PLA/FPLA, utilizarea eficient a capacitii acestui circuit, n cazul implementrii unor sisteme logice combinaionale, necesit
operaii de minimizare a funciilor booleene, similare cu cele ntlnite la implementarea
cu pori logice.
PLA/FPLA-urile tind s acopere, la ora actual, toate acele structuri de circuite logice combinaionale de complexitate mic i medie, pentru care o implementare cu circuite standard (utilizate ca circuite logice universale) MUX, DMUX/DCD, ROM ar genera
un numr foarte mare de termeni produs.
Exemplu. S se implementeze cu FPLA circuitul logic combinaional definit de
urmtorul sistem de funcii:

f1FMD = x1 x2 x17 + x3 x16 x17 x18 , f 2FMD = x2 x3 + x2 x17 + x1 x18 ,K, f10FMD = x1 x2 x17 + x17 x18 .
(2.140)
127

CIRCUITE LOGICE COMBINAIONALE

Se observ c funciile sunt date n forma minim disjunctiv. Este necesar un


FPLA cu 18 intrri i 10 ieiri i care genereaz 32 de termeni produs (termeni interni).
Pentru implementarea CLC-ului se folosete circuitul PLS153 (183210) [36] (v. fig.
2.68). X-urile de pe primul nivel logic arat unde trebuie lsate conexiunile intacte, sau
indic variabilele xk , respectiv xk care se cupleaz la I-uri. Aceste I-uri implementeaz de fapt termenii produs care intervin n expresiile funciilor. X-urile de pe al doilea
nivel logic arat care dintre termenii produs se cupleaz la SAU-ul respectiv. Se observ,
de asemenea, c termenul x1 x2 x17 intervine i n f1 i n f10 , deci acesta se poate forma
doar o singur dat, la I-ul P0 .
x1
x2
x3
NIVEL I
PROGRAMABIL
x16
x17
x18

P0

P1

P2

P3

P4

P31
f1

f2

f10

NIVEL SAU PROGRAMABIL


CS
Fig.2.68 Realizarea cu FPLA a sistemului de funcii din exemplu.

Observaie. La implementarea cu PLA-uri exist o restricie datorat limitrii numrului de termeni P distinci ai grupului de funcii. Minimizarea, n acest caz, urmrete
obinerea a ct mai multor termeni comuni per ansamblu i nu este ntotdeauna identic
cu minimizarea matematic.
Extinderea capacitii PLA/FPLA-urilor este o problem care se poate pune n mai
multe moduri, dintre care urmtoarele dou sunt cele mai frecvent ntlnite n practic:
Exemplu. Utilizndu-se circuite PLA cu N intrri, P termeni interni i M ieiri, s se
realizeze scheme pentru:
128

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

a) extinderea numrului de termeni interni, pstrnd acelai numrul de intrri i ieiri;


b) extinderea numrului de termeni interni i ieiri, N rmnnd acelai.
Creterea numrului de termeni produs (P), fr modificarea numrului de intrri sau
ieiri, este realizabil prin cuplarea n paralel a intrrilor i ieirilor mai multor circuite i
selectarea lor succesiv cu ajutorul unui DCD, prin intermediul semnalului CS . Cu schema din figura 2.69,a, n care PLA-urile sunt cuplate n paralel (pe intrri i ieiri) se obin
de n ori mai muli termeni interni.
Extinderea lungimii cuvntului de ieire, fr modificarea numrului variabilelor de
intrare, este posibil prin cuplarea n paralel a intrrilor mai multor circuite i conectarea
la 0 logic a intrrilor CS . n acest caz, toate circuitele sunt adresate simultan, obinnduse nM funcii de ieire la n circuite folosite. Astfel, dac se decupleaz ieirile din
paralel n schema din figura 2.69,a, se obine un PLA cu nM ieiri i nP termeni interni
(v. fig. 2.69,b).
N

N
PLA n

PLA 2
M

N
PLA 1

PLA 1

PLA 2

PLA n

M
(b)

(a)

Fig.2.69 Extinderea capacitii PLA-ului: (a) extinderea numrului de termeni interni;


(b) extinderea numrului de ieiri.

Circuitul PAL se caracterizeaz prin aceea c numai nivelul I este programabil, iar
termenii produs generai sunt aplicai nivelului SAU fix (neprogramabil). Intuitiv, acest
circuit poate fi privit ca o imagine n oglind a memoriei ROM (care are nivelul SAU
programabil i nivelul I fix). Din acest motiv, la ieirile matricei I se obin termeni produs, dar nu neaprat canonici, motiv pentru care implementarea funciilor cu astfel de circuite nu trebuie s plece de la formele canonice disjunctive ale funciilor. n aplicaiile
practice, circuitul PAL apare ca un grup de pori SAU comandate de mai multe pori I.
Exemplu. S se implementeze cu PAL circuitul logic combinaional definit de urmtoarele funcii:
f1 = x2 x3 + x1 x3 x4 + x1 x2 x3 ,

f 2 = x1 x2 x3 + x2 x4 + x1 x2 x3 ,

f 3 = x1 x3 + x1 x3 ,

f 4 = x 2 x3 + x 2 x 4 .

(2.141)

n figura 2.70 se prezint soluia de implementare cu PAL. Se folosete o parte din


circuitul PAL CE16V8/4 [37]. Remarcai c porile I nefolosite au toate conexiunile
lsate intacte, ceea ce foreaz un 0 pe intrrile acestor pori. Ieirile porilor I vor fi permanent 0, neafectnd astfel porile SAU. n mod obinuit ns, pentru simplitate, conexiunile pentru porile nefolosite nu se marcheaz.
Se observ c n expresiile funciilor apar termeni comuni, dar acest lucru nu repre129

CIRCUITE LOGICE COMBINAIONALE

zint un avantaj n cazul implementrii cu PAL, pentru c, aa cum s-a mai precizat, ntrun PAL, fiecare termen produs trebuie s fie separat pentru fiecare poart SAU.

x1 x2 x3 x4

- conexiune fix
- conexiune programabil

NIVEL SAU FIX


x2 x3
x1 x3 x4
x1x2 x3
x1x2 x3

x2 x4
x1 x2 x3
x1 x3
x1 x3
0
x2 x3

x2 x4
0
NIVEL I
PROGRAMABIL
CS

f1

f2

f3

f4

Fig.2.70 Implementarea sistemului de funcii din exemplu, folosindu-se un circuit PAL.

Deoarece circuitul PGA are un singur nivel I/I-NU programabil, domeniul de


aplicaii n care se poate folosi este destul de limitat. Printr-o judicioas aplicare a teoremelor lui De Morgan i printr-o folosire corespunztoare a complementrii intrrilor i/
/sau ieirilor, pot fi implementate cu astfel de circuite funciile booleene cu un singur
nivel logic. Pe de alt parte, aceste circuite se pot cascada, n sensul c ieirile mai multor
circuite PGA pot fi aplicate ca intrri unui alt circuit, n acest mod obinndu-se implementri mai complexe, pentru funcii cu dou nivele logice.
Exemplu. S se implementeze cu PGA circuitul logic combinaional definit de sistemul de funcii:
130

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

f1 = x1 + x2 + x14 + x15 = x1 x2 x14 x15 0 = x1 x 2 x14 x15 ,


f 2 = x2 + x3 + x16 = x2 x3 x16 0 = x2 x3 x16 ,

(2.142)

f 9 = x1 x2 x3 x14 x15 = x1 x2 x3 x14 x15 1 = x1 x2 x3 x14 x15 .

n figura 2.71 este prezentat modul de utilizare al unui PGA pentru implementarea
sistemului de funcii din exemplu (se folosete circuitul 82S103 [38]).
x1
x2
x3

x14
x15
x16

f9

f2

f1
Fig.2.71 Utilizarea unui PGA pentru implementarea unui sistem de funcii cu un singur nivel logic.

n loc de concluzii, n figura 2.72 sunt prezentate, comparativ, variantele de implementare, pentru acelai set de funcii, utilizndu-se cele patru tipuri de circuite integrate
LSI studiate.
Exemplu. S se implementeze circuitul logic combinaional definit de funciile:
f1 = x1 ,

f 2 = x1 x2 ,

f3 = x1 + x2 ,

f 4 = x1 x2 + x1 x2 ,

(2.143)

n urmtoarele variante: a) cu memorie PROM; b) cu FPLA c) cu PAL d) cu PGA.


Soluiile de implementare obinute sunt prezentate n figura 2.72.
Funcia f 4 nu se poate implementa cu un singur circuit PGA deoarece expresia
acesteia conine dou nivele logice (v. fig. 2.72,d)
131

CIRCUITE LOGICE COMBINAIONALE

x1 x2

x1 x2

NIVEL SAU
PROGRAMABIL
x1 x2

x1

x1 x2

x1 x2

x1 x2

x2

x1 x2

x1 x2

NIVEL I
FIX
(a)

NIVEL SAU
PROGRAMABIL

NIVEL I
PROGRAMABIL
f1

f2

x1 x2

f3

(b)

f4

NIVEL SAU
FIX

f1

f2

f3

f4

x1 x2
x1
x1

f1

x1 x2
0

x1 x2
f2

x1
x2
x1 x2 = x1 + x2

x1 x2
x1 x2
NIVEL I
PROGRAMABIL
(c)

f3
NIVEL I/I-NU
PROGRAMABIL
(d)

f1

f2

f3

f4

Fig.2.72 Variante de implementare utilizndu-se diverse tipuri de circuite integrate LSI: (a) soluia
cu memorie PROM; (b) soluia cu FPLA; (c) soluia cu PAL; (d) soluia cu PGA.

132

HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE

2.4 HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE


n studiul circuitelor logice combinaionale de pn acum s-a considerat c elementele
logice cu care se materializeaz schemele sunt identice i comutarea lor este ideal. n realitate, datorit timpului finit de comutare, fiecare modul logic introduce ntrzieri inerente, funcionarea n condiii reale determinnd apariia unor probleme marginale care
pot conduce la erori de funcionare ce pot s apar n timpul funcionrii circuitului combinaional. Astfel, ntrzierile introduse pe lanul intrare-ieire fac ca adeseori starea
ieirii circuitului, la un moment dat, s nu fie n concordan cu starea intrrilor acestuia
la momentul considerat. Se ntmpl astfel ca circuitul de comutare s aib, pentru foarte
scurt timp, o comportare greit, fenomen care se numete hazard [2,10,23,24,27,30].
n cazul circuitelor logice combinaionale exist dou tipuri distincte de hazard i
anume: hazardul static i hazardul dinamic.
Hazardul static. Atunci cnd n urma modificrii strii intrrilor circuitului se
modific, pentru scurt timp, starea ieirii, cu toate c nu este justificat din punct de vedere logic, ntruct noii stri a intrrilor trebuie s i corespund aceeai stare a ieirii, hazardul aprut se numete static.
El se caracterizeaz deci prin aceea c, pe o durat foarte scurt, una sau mai multe
ieiri, care trebuie s fie 1(0) trec n 0(1), dup care revin la starea iniial. n cazul n
care ieirea ar trebui s rmn 1 i trece, pentru foarte scurt timp n 0, avem hazard static
n uniti, iar dac ieirea trece pentru foarte scurt timp n 1 i ar fi trebuit s rmn 0,
avem hazard static n zerouri. Pentru exemplificare se consider cteva circuite logice
combinaionale la care se poate pune n eviden apariia hazardului static.
Exemplul 1. Analiznd funcionarea CLC-ului din figura 2.73,a, care realizeaz urmtoarea funcie:
f FMD ( x1 , x2 , x3 ) = x1 x3 x2 x3 = x1 x3 + x2 x3 ,

(2.144)

se constat c, n condiiile n care elementele componente au ntrzieri diferite, la un


moment dat, modificarea strii intrrilor x1 , x2 i x3 din 110 n 111, determin apariia
hazardului static, dac t p1 > t p 2 , unde t p1 este timpul de propagare al porii I-NU marcat cu 1, iar t p 2 este timpul de propagare al porii I-NU marcat cu 214. Prezena hazardului static la CLC-ul studiat poate fi urmrit pe diagramele de semnal din figura 2.73,
b, n care s-a reprezentat modificarea n timp a semnalelor la ieirile porilor circuitului.
Exemplul 2. Fie CLC-ul din figura 2.74,a, realiznd cu pori logice I-NU expresia
logic:
f FMD ( x1 , x 2 , x3 ) = x1 x2 + x2 x3 ,

(2.145)

rezultat din diagrama Karnaugh din figura 2.74,c.


Se consider o stare iniial a intrrilor x1 = 1 , x2 = 1 , x3 = 1 , cu ieirea f = 1 i
modificarea x 2 : 1
14

0 (n diagrama Karnaugh, din coloana 11 n coloana 10). Exist

n acest caz t p1 este timpul de propagare la tranziia sus-jos a semnalului de ieire ( t pHL ) al porii 1, iar

t p 2 este timpul de propagare la tranziia jos-sus a semnalului de ieire ( t pLH ) al porii 2. n general,
t pHL > t pLH .

133

CIRCUITE LOGICE COMBINAIONALE

posibilitatea ca, datorit ntrzierii introduse de poarta I-NU 1, starea intrrilor circuitului s fie x1 x2 x3 (100), n loc de x1 x2 x3 (101), deci pe o durat foarte scurt a regimului tranzitoriu f : 1 0 , fr ca acest lucru s fie dorit (funcionare incorect). Dup
parcurgerea prin poarta I-NU 1, f : 0 1 i circuitul trece n regimul corect de funcionare.
x2
x3

3
x1
x3

x1= x2

1
0

x3

1
0

1
0

1
0

1
0

(a)

x3

x1x2

00

01

10

11

t p1

t p2

t
t p3

hazard static
(c)

(b)

Fig.2.73 Evidenierea hazardului static la CLC-ul din exemplul 1.

Se poate arta c dac expresia logic a unui semnal ntr-un punct al circuitului
combinaional se poate reduce la una din formele x + x sau x x , la ieirea porii respective poate exista hazard. n caz contrar, circuitul nu genereaz semnale parazite.
x1
x2

4
3

x3

00

01

11

10

x2

1
0

1
0

t p2

1
0

t p1 + t p 3

1
0

t p4

x1x2
0

(a)
x3

x1 = x3 1
0

t
t
t

hazard static
(c)

(b)

Fig.2.74 Evidenierea hazardului static la CLC-ul din exemplul 2.

134

HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE

Exemplul 3. Se consider CLC-ul dat n figura 2.75,a, la ieirea cruia se obine expresia logic:
f FMD ( x1 , x2 , x3 ) = x1 x2 + x1 x3 .

(2.146)

Se constat c circuitul este afectat de hazard deoarece expresia (2.146) se reduce la


x1 + x1 , cnd x2 = x3 = 1 . Situaia este ilustrat n figura 2.75,b.
x1
x2

2
x1

x3

x1

1
0

= x1 1

1
0

t p2

= x1 1

1
0

t p1 + t p 3

1
0

t p4

(a)
x3

x2 = x3 1
0

x1x2
0
1

00

01

11

10

t
t
t

hazard static
(b)

(c)

Fig.2.75 Evidenierea hazardului static la CLC-ul din exemplul 3.

Hazardul apare deoarece x1 trece n 0 nainte ca x1 s treac n 1 (datorit ntrzierii


introduse de poarta logic 1) i exist un mic interval de timp n care x1 + x1 = 0 (v. fig.
2.75,b) dei, ideal, matematic, x1 + x1 = 1 .
Hazardul dinamic. Atunci cnd n urma modificrii strii intrrilor, ieirea trebuie s-i modifice starea, lucru normal din punct de vedere logic, dar aceasta nu se face
direct ci dup un numr de oscilaii ntre noua i vechea stare, hazardul aprut se numete
dinamic.
Hazardul dinamic poate s apar n circuitele de comutare cu mai multe nivele logice, n care exist poriuni de circuit cu hazard static. Se poate demonstra c un circuit
care realizeaz o funcie logic sub form canonic disjunctiv i care nu are hazard static
privind unitile, nu prezint nici alte tipuri de hazard static sau dinamic [24].
Exemplul 4. Circuitul logic combinaional a crui schem logic este prezentat n
figura 2.76,a, realizeaz funcia:
f FMD ( x1 , x 2 , x3 , x4 , x5 ) = ( x2 x4 + x3 x4 )( x1 + x5 ) =
= x1 x2 x4 + x1 x3 x4 + x2 x 4 x5 + x3 x4 x5 ,

(2.147)

reprezentat pe diagrama Karnaugh din figura 2.76,c.


Se presupune c, din ntmplare, ntrzierile introduse de porile logice sunt foarte
135

CIRCUITE LOGICE COMBINAIONALE

diferite i t p1 < t p 2 , iar t p 4 > t p1 + t p 3 , unde cu t pi s-a notat, aa cum s-a mai menionat,
timpul de propagare a semnalului prin poarta i.
n aceste condiii, la ieirea circuitului apare hazard dinamic, dac starea intrrilor
x1 , x2 , x3 , x4 , x5 se modific, de exemplu, din 01101 n 01110. Acest fapt se poate urmri
pe diagrama Karnaugh din figura 2.76,b. La apariia hazardului dinamic la ieirea circuitului f, a contribuit i hazardul static aprut la ieirea intermediar .
x1x2 x3
x2
x4

x4 x5
3

x3
x4

x1
x5

00

01

f 11

10

000 001 011 010 110 111 101 100

(a)

(c)

x4

x1 = 0 , x2 = x3 = 1

1
0

x5 1
0
1
0

1
0

t
t p1

t p2

t
hazard static

1
0

t p3

1
0

t p4

1
0

t
t
t p5

hazard dinamic
(b)
Fig.2.76 Evidenierea hazardului dinamic pentru CLC-ul din exemplul 4.

Exemplul 5. Se consider schema logic cu 3 variabile de intrare x1 , x2 , x3 i cu ieirea f (v. fig. 2.77,a), realiznd, cu pori logice I-NU, funcia:
136

HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE

f ( x1 , x2 , x3 ) = ( x2 + x3 )( x2 x3 + x1 x2 ) + x2 f .

(2.148)

Se presupune c starea iniial a intrrilor este x1 x2 x3 = 111 , pentru care ieirea are
valoarea f = 1 . Se modific x2 : 1 0 , secvena de intrare devenind x1 x2 x3 = 101 .
Timpii de propagare prin porile logice I-NU 1 i I-NU 2 sunt diferii ( t p1 t p 2 )
dei, aparent, este vorba de dou pori identice. Se consider c t p1 > t p 2 , acelai rezultat
obinndu-se i pentru cazul n care t p1 < t p 2 .
x1
x2

3
2

x3

(a)
x1= x3 =1

x2 1
0
1
0

1
0

1
0

1
0

1
0

1
0

t
t p1

t p2

t
t p3

hazard static
t p5

t
t

t p4

t
t p6

hazard dinamic
(b)
Fig.2.77 Evidenierea hazardului dinamic pentru CLC-ul din exemplul 5.

n funcionarea circuitului vor apare urmtoarele etape:


a) : 0

1, : 0

1 , :1 1, : 0

1, : 1 1 i deci f : 1

0;
137

CIRCUITE LOGICE COMBINAIONALE

b) : 1

0 , :1

c) : 0

1 i deci f : 1

0 i deci f : 0

1;

0.

n continuare, ieirea f rmne n 0 logic, deoarece semnalele s-au transmis prin toate porile schemei logice i circuitul se afl n starea stabil f = 0 , cu x1 x2 x3 = 101 . Se
observ c ieirea f s-a modificat de dou ori: f : 1 0 1 0 . Diagramele de semnal
sunt prezentate n figura 2.77,b.
Hazardul poate provoca, aa cum s-a mai menionat, erori n funcionarea circuitelor
de comutare, de aceea este important s se descopere n faza de proiectare a circuitului,
posibilitatea apariiei hazardului i s se ia msuri de prevenire a acestuia.
Se consider, pentru simplificarea problemei, c nu se admite modificarea, la un
moment dat, dect a unei singure variabile de intrare a circuitului. n acest caz, combinaia de valori binare ale intrrilor, corespunztoare strii acestora la un moment dat, se
modific ntotdeauna astfel nct s rezulte o combinaie de valori binare adiacent cu
prima.
Se poate demonstra [23], c un circuit de comutare combinaional, cruia i corespunde o schem logic cu dou nivele de elemente logice I i SAU, respectiv I-NU,
nu prezint hazard, dac fiecare pereche de combinaii de valori adiacente ale variabilelor
de intrare pentru care funcia realizat are valoarea logic 1, este acoperit de ctre cel
puin unul dintre termenii prezeni n expresia minim disjunctiv a funciei asociate
schemei logice a circuitului dat. O combinaie de valori ale variabilelor x1 , x2 ,K , xn ,
notat cu (c1c2 K cn ) , unde ci {0,1} , pentru i = 0,1,K, n , este acoperit de ctre un termen din forma minim disjunctiv a funciei f ( x1 , x2 ,K , xn ) , notat cu T, dac termenul
canonic Pj al funciei, corespondent combinaiei de valori (c1c2 K cn ) este inclus n termenul T, Pj T .
Pentru funcia reprezentat pe diagrama Karnaugh din figura 2.73,c, perechile de
combinaii de valori adiacente ale variabilelor de intrare x1 , x2 i x3 sunt: (110 i 100),
(110 i 111), (111 i 011). Avnd n vedere expresia funciei f ( x1 , x2 , x3 ) , se observ c
(v. ec. (2.144)):
termenul elementar x1 x3 , din expresia (2.144), acoper perechea (110 i 100), deoarece x1 x3 x1 x2 x3 , respectiv x1 x3 x1 x2 x3 ;
termenul elementar x2 x3 , din expresia (2.144), acoper perechea (111 i 011), deoarece x2 x3 x1 x2 x3 , respectiv x2 x3 x1 x 2 x3 ;
perechea (110 i 111) nu este nc acoperit, prin urmare schema poate avea hazard, cum de altfel s-a vzut.
Pentru a acoperi i aceast pereche, se poate aduga n expresia funciei, implicantul
prim redundant al acesteia, x1 x2 , corespunztor conturului desenat cu linie ntrerupt n
figura 2.73,c, obinndu-se pentru funcie urmtoarea expresie echivalent cu (2.144):
f ( x1 , x2 , x3 ) = x1 x3 + x2 x3 + x1 x2 = x1 x3 x2 x3 x1 x2 .
Schema logic asociat expresiei (2.149) este prezentat n figura 2.78,a.

138

(2.149)

HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE

x1
x3
x2
x3
x1
x2

1
f
2

x1
x2

2
1

x3
4

5
(a)

(b)

x1
x2

2
1

x3

5
(c)
Fig.2.78 Circuite logice fr hazard, corespunztoare exemplelor 1, 2 i 3.

Introducerea unor termeni redundani n expresia unei funcii f, permite meninerea


ieirii f a circuitului care realizeaz aceast funcie, la valoarea dorit, pe toat durata
tranziiei din vechea n noua stare a semnalelor de intrare. Aceasta se poate obine printro ntreptrundere a mintermilor ce realizeaz funcia. n cazul circuitului de la exemplul
2, se introduce suplimentar termenul redundant punctat n diagrama Karnaugh (v. fig.
2.74,c) i elementul logic I-NU 5 (v. fig. 2.78,b), obinndu-se astfel funcia:
f ( x1 , x2 , x3 ) = x1 x2 + x2 x3 + x1 x3 = x1 x2 x2 x3 x1 x3 .

(2.150)

Pentru circuitul analizat n exemplul 3 este posibil eliminarea hazardului prin introducerea n expresia logic a funciei a unui termen produs redundant format prin aplicarea operatorului I ntre variabilele ce nmulesc pe x1 i x1 (n fig. 2.78,c, este implementat acest circuit). Se obine astfel expresia:
f ( x1 , x2 , x3 ) = x1 x 2 + x1 x3 + x2 x3 ,

(2.151)

care ia valoarea logic 1, cnd x2 = x3 = 1 , evitnd astfel apariia unor impulsuri parazite
care, propagndu-se n circuit ar determina comutri eronate.
Schema logic din figura 2.76,a, prezint pe lng hazardul dinamic, evideniat cu
prilejul analizei fcute i hazard static, chiar n condiiile modificrii unei singure variabile de intrare la un moment dat. Se poate verifica apariia acestuia n cazul modificrii
strii variabilelor de intrare x1 , x2 , x3 , x4 , x5 din 11101 n 11111 (v. fig. 2.79). Urmrind
diagrama Karnaugh din figura 2.76,c, se observ c lund n expresia disjunctiv a
funciei i termenii redundani corespunztori contururilor desenate cu linie ntrerupt,
aceasta va avea forma:

139

CIRCUITE LOGICE COMBINAIONALE

f ( x1 , x2 , x3 , x4 , x5 ) = x1 x2 x4 + x1 x3 x4 + x2 x4 x5 + x3 x4 x5 + x1 x2 x3 + x2 x3 x5 . (2.152)
Termenii expresiei (2.152)
acoper
toate perechile de valori
1
x4
adiacente ale variabilelor x1 , x2 ,
t
0
x3 , x4 , x5 , pentru care funcia
1
t p1
f ( x1 , x2 , x3 , x4 , x5 ) = 1 . Prin ur
t
0
mare, schema logic asociat
t p2
1
expresiei (2.152) (v. fig. 2.80),

este fr hazard. Ea nu mai este


t
0
ns o schem logic optim din
hazard static
1
punctul de vedere al costului,
t p3

t
0
avnd mai multe elemente logice i mai multe intrri.
1

De regul, introducerea
t
0
termenilor redundani nu mre1
te timpul de propagare intraret p5
f
ieire, dar pe lng creterea
t
0
complexitii schemei, introduhazard static
cerea acestora poate genera alte
Fig.2.79 Evidenierea hazardului static la CLC-ul
fenomene de hazard. De aceea,
din exemplul 4.
introducerea termenilor redunx1
dani i, n general, ncercarea
x2
x4
de a elimina hazardul se va face
doar dac fenomenul de hazard
x
x3 1
poate conduce la defeciuni.
x4
Condiia privind acoperix
rea tuturor perechilor de combix4 2
x5
naii de valori adiacente ale vaf
riabilelor de intrare pentru care
x3
funcia ia valoarea logic 1, se
x4
x5
poate ndeplini, atunci cnd aceasta este reprezentat n diax1
x2 x
grama Karnaugh, alegnd astfel
3
contururile corespunztoare termenilor din forma disjunctiv a
x2
x3
funciei nct s nu existe contux5
ruri disjuncte. Aceasta se realiFig.2.80 Circuit logic fr hazard.
zeaz lund n considerare, pe
lng contururile corespunztoare formei minime disjunctive a funciei i contururile care
le intersecteaz, n cazul n care unele dintre acestea sunt disjuncte, dup cum s-a vzut n
cazul funciilor date n figurile 2.73,c, 2.74,c, 2.75,c i 2.76,c.
Proiectarea schemelor logice fr hazard, n cazul n care se modific mai multe
variabile de intrare simultan, este mai dificil i uneori imposibil. n acest caz, n forma
disjunctiv a funciei trebuie s existe cel puin un termen care s acopere orice pereche
de combinaii de valori ale variabilelor de intrare pentru care funcia ia valoarea 1. n
x1= x2= x3 = x5 =1

140

HAZARDUL N CIRCUITELE LOGICE COMBINAIONALE

cazul funciei din figura 2.73,c, de exemplu, ar trebui s existe, n expresia funciei, cte
un termen care s acopere simultan perechea (100 i 011), perechea (110 i 011), respectiv perechea (100 i 111), lucru imposibil.
De asemenea, este dificil sau chiar imposibil s se gseasc, n cazul general, o
schem logic fr hazard, cu mai mult de dou nivele logice. Totui, n cazul schemelor
cu mai mult de dou nivele logice se poate nltura hazardul dinamic prin aceea c se
elimin hazardul static al circuitelor componente, cel puin pentru perechile de combinaii
de valori adiacente ale intrrilor. De exemplu, n schema din figura 2.76,a, se poate nltura hazardul dinamic, dac n schema parial cu ieirea se introduce nc un element
logic I, cu intrrile x2 , x3 (vezi contururile desenate cu linie ntrerupt din diagrama
Karnaugh fig. 2.76,c).
n circuitele de comutare cu dou nivele de pori SAU-NU, poate s apar hazard
cnd se modific o combinaie de valori ale intrrilor, careia i corespunde valoarea logic 0 a funciei, ntr-o alt combinaie de intrri creia i corespunde valoarea logic 0 a
funciei. Dac expresia conjunctiv a funciei se scrie plecnd de la forma disjunctiv a
negatei acesteia, atunci se poate proiecta un astfel de circuit fr hazard, trasnd contururile din diagrama de minimizare care conine zerouri. Se alege apoi, pentru scrierea expresiei asociate schemei logice fr hazard, un numr minim de contururi disjuncte.
Exemplul 6. Se consider funcia reprezentat pe diagrama Karnaugh din figura
2.81,a i se cere s se proiecteze un circuit de comutare, cu pori SAU-NU, care s
realizeze aceast funcie, fr hazard. Se admite modificarea unei singure variabile de
intrare la un moment dat.
x3

x1x2
00

01

11

10

x3
f

x2
x3

x1
x1

x2

(a)

(b)

Fig.2.81 Proiectarea circuitelor realizate cu pori logice SAU-NU, fr hazard.

Grupnd zerourile din diagram se constat c trebuie luate toate cele trei contururi
pentru a acoperi toate cele trei perechi de combinaii de valori pentru care funcia are
valoarea logic 0. Prin urmare, expresia minim disjunctiv a negatei funciei, este:
f FMD ( x1 , x2 , x3 ) = x1 x3 + x1 x 2 + x2 x3 .

(2.153)

Din expresia (2.153) rezult, prin negare, forma minim conjunctiv a funciei:
f FMC ( x1 , x2 , x3 ) = ( x1 + x3 )( x1 + x2 )( x2 + x3 ) ,

(2.154)

respectiv:
f FMC ( x1 , x2 , x3 ) = x1 + x3 + x1 + x2 + x2 + x3 .

(2.155)

141

CIRCUITE LOGICE COMBINAIONALE

Schema logic asociat expresiei (2.155) este dat n figura 2.81,b.


Eliminarea fenomenelor de hazard din schemele logice combinaionale se mai poate
face i prin:
introducerea unor elemente de ntrziere n schem, care s asigure egalizarea momentelor de apariie a semnalelor la intrarea elementelor logice. Prin aceasta, timpul general de propagare intrare-ieire crete, ceea ce constituie un impediment, iar pe de alt
parte, calculul ntrzierilor este ntotdeauna dificil, elementele logice avnd timpi de propagare diferii;
introducerea unor elemente de ntrziere pasive la ieirea circuitelor respective
care s filtreze semnalele de impulsurile datorate comutrilor false. n acest mod se mpiedic transferul informaiei false. Dei aceast metod este simpl ea poate afecta viteza de acionare a ntregului circuit.
Hazardul joac un rol important, mai ales n funcionarea circuitelor de comutare
combinaionale, care intr n componena unor circuite secveniale asincrone.

2.5 ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE


2.5.1 Convertoare de cod
Convertoarele de cod sunt circuite logice combinaionale avnd, n cazul general, n intrri i m ieiri, care servesc la transcrierea informaiei dintr-un cod binar n alt cod binar
[2,15,23,26].
La baza proiectrii unui convertor de cod se afl tabelul de corespondene dintre
cuvintele binare ale celor dou coduri. Fiecare poziie din cuvntul binar al codului din
care se face conversia se noteaz cu o variabil; totalitatea acestor variabile reprezint
variabilele de intrare pentru circuitul combinaional. De asemenea, se noteaz cu o anumit variabil fiecare poziie din codul n care se face conversia; totalitatea acestor variabile reprezint ieirile circuitului combinaional. Cu aceste notaii suplimentare, tabelul
de corespondene, ntre cuvintele de cod, se transform n tabel de adevr pentru funciile
realizate de circuit i exprim dependena variabilelor de ieire de cele de intrare. Fiecare
dintre cele m poziii binare ale cuvntului de cod n care se face conversia se consider
deci ca funcii de comutare de cele n poziii binare ale cuvntului de cod care trebuie convertit. Aceste funcii, specificate prin tabelul de corespondene/adevr, pot fi realizate cu
circuite combinaionale cu pori logice, respectiv FPLA-uri. De multe ori, n special
atunci cnd unul dintre coduri este complet definit, este mai avantajos s se fac transformarea folosind o memorie ROM, n care la adresa reprezentat de cuvntul de cod ce
trebuie convertit se afl cuvntul de cod corespondent din codul n care se face conversia.
Transformarea codului binar al unui numr ntr-un alt cod binar, se poate face n serie, folosind circuite secveniale, respectiv n paralel, folosind circuite combinaionale. n
aceast seciune se prezint numai convertoare de cod paralele, realizate cu circuite combinaionale.
Exemplu. Se consider un convertor de cod pentru conversia din codul binar-zecimal cu ponderile 8, 4, 2, 1, denumit cod BCD, n codul binar-zecimal cu ponderile 2,4,2,
1, denumit cod Aiken (v. Anexa C). Poziiile cuvntului binar din codul BCD se noteaz
cu D3 , D2 , D1 i D0 , iar poziiile cuvntului binar din codul Aiken cu A3 , A2 , A1 , A0 ,
corespondena ntre cuvintele de cod fiind dat n tabelul 2.25. Din acest tabel se pot scrie

142

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

expresiile funciilor Ai ( D0 , D1 , D2 , D3 ) , pentru i = 0,1,2,3 .


Tab.2.25 Tabelul de adevr pentru convertorul de cod 8421-2421.

0
1
2
3
4
5
6
7
8
9

Intrri 8421
D3 D2 D1 D0

Ieiri 2421
A3 A2 A1 A0

0
0
0
0
0
0
0
0
1
1

0
0
0
0
0
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0

0
0
1
1
0
0
1
1
0
0

0
1
0
1
0
1
0
1
0
1

0
0
0
0
1
0
1
1
1
1

0
0
1
1
0
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1

Pentru minimizarea expresiilor funciilor A0 , A1 , A2 i A3 , se folosesc diagramele


Karnaugh din figura 2.82. n urma minimizrii, rezult expresiile:
A0 = D0 ,

A1 = D3 + D2 D1 + D2 D1 D0 = D3 D2 D1 D2 D1 D0 ,

(2.156)

A2 = D3 + D2 D0 + D2 D1 = D3 D2 D0 D2 D1 ,
A3 = D3 + D2 D0 + D2 D1 = D3 D2 D0 D2 D1 ,

care, descriu structural convertorul de cod BCD-Aiken realizat cu module logice I-NU
(v. fig. 2.83).
Cele mai frecvente conversii de cod ntlnite n dispozitivele pentru prelucrarea datelor numerice sunt din codul binar natural n codul binar-zecimal cu ponderile 8, 4, 2, 1
(BCD) i invers. Aceste conversii se realizeaz cu convertoare BINAR-BCD, respectiv
BCD-BINAR.
n familia de circuite integrate exist circuite convertoare BINAR-BCD i BCDBINAR, integrate pe scar medie, de exemplu, circuitele 74184 (BCD-BINAR) i 74185
(BINAR-BCD) [34]. Circuitele menionate mai sus au la baz o memorie ROM cu o
capacitate de 32 octei (256 bii). Avnd n vedere faptul c cifra cea mai puin semnificativ (c.m.p.s.) a unui cuvnt din codul binar natural este ntotdeauna aceiai cu cifra cea
mai puin semnificativ din codul BCD i invers, rezult c o astfel de memorie poate
servi la conversia numerelor binare cu 6 cifre n codul BCD (o cifr rmne nemodificat
iar cu cinci poziii se pot adresa 32 locaii de memorie). Cel mai mare numr binar care
poate fi convertit este 63, care se codific n codul BCD cu dou cifre zecimale, prima,
c.m.p.s., se codific cu patru bii (cifra binar care nu se modific i cele trei cifre obinute la ieirile Y1 , Y2 i Y3 ale circuitului (v. fig. 2.84)), iar a doua, cifra mai semnificativ (c.m.s.) cu numai trei bii (ieirile Y4 , Y5 i Y6 ), deoarece cifra zecimal de pondere
101 (c.m.s.) nu este niciodat mai mare dect ase.

143

CIRCUITE LOGICE COMBINAIONALE

D3 D2
D1D0
00

01

11

00

01

11
10

10

D3 D2
D1D0
00

01

11

10

00

01

11

10

A0

A1

10

D3 D2
D1D0
00

01

11

10

00

01

11

10

D3 D2
D1D0
00

01

11

00

01

11
10

A2

A3

Fig.2.82 Diagramele Karnaugh pentru convertorul de cod 8421-2421.

Fig.2.83 Realizarea convertorului de cod 8421-2421 cu pori logice I-NU.

144

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

BINAR

25 24 2 3 22 21
E

D C

20

Y5

2 2 21 2 0 23 22 21 2 0

25

c.m.s.

c.m.p.s.

20

21 2 0 2 3 2 2 21

CONVERTOR
BINAR - BCD
Y5 Y4 Y3 Y2 Y1

Y6

BCD

c.m.s.

D C

CONVERTOR
BCD - BINAR
Y4 Y3 Y2

24

23

22

Y1

21

20

BINAR

c.m.p.s.
BCD

Fig.2.84 Convertor BINAR-BCD.

Fig.2.85 Convertor BCD-BINAR.

Corespondena ntre cuvintele codului binar i cele ale codului BCD sunt date n
tabelul 2.26. Dac se folosete de asemenea o memorie de 32 octei pentru convertorul
BCD-BINAR, avnd n vedere observaia de mai sus privind ultima cifr binar din
cuvntul de cod, se pot converti numere reprezentate n codul BCD din domeniul 0 la 39,
deoarece rmn pentru cifra zecimal mai semnificativ numai dou intrri binare (v. fig.
2.85). Corespondena ntre cuvintele de cod, este dat n tabelul 2.27.
Convertorul de la ase bii la BCD, genereaz un cuvnt de apte bii codat BCD
pornind de la un numr binar de ase bii. Pentru conversia a opt bii trebuie interconectate trei astfel de circuite iar 16 circuite sunt necesare pentru 16 bii. Extinderea structurii conduce la o schem complex pe mai multe nivele.
Tab.2.26 Tabelul de adevr pentru convertorul BINAR-BCD.

0
0
K

0
0
K

Intrri
23 2 2
C
B
0
0
0
0
K K

9 0
10 0
K K

0
0
K

1
1
K

0
0
K

0
1
K

1
0
K

0
0
K

0 0 1 0
0 1 0 0
K K K K

0 1
0 0
K K

59
60
61
62
63

1
1
1
1
1

1
1
1
1
1

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

1
1
1
1
1

0
1
1
1
1

0
0
0
1
1

2
E

0
1
K

1
1
1
1
1

2
D

2
A

2
Y6

0
0
K

0
1
K

0
0
K

Ieiri
2 2 23
Y5 Y4 Y3
0 0 0
0 0 0
K K K

1
0
0
0
0

1
0
0
0
0

22
Y2

21
Y1

0
0
K

0 0
0 1
K K

0
0
0
0
0

20

1
0
1
0
1

145

CIRCUITE LOGICE COMBINAIONALE


Tab.2.27 Tabelul de adevr pentru convertorul BCD-BINAR.

2
E
0
0
K

2
D
0
0
K

Intrri
23 2 2
C
B
0
0
0
0
K K

9 0
10 0
K K

0
1
K

1
0
K

0
0
K

0
0
K

1
0
K

0
0
K

0
0
K

1
1
K

0
0
K

0
1
K

1
0
K

35
36
37
38
39

1
1
1
1
1

0
0
0
1
1

1
1
1
0
0

0
1
1
0
0

1
0
1
0
1

1
1
1
1
1

0
0
0
0
0

0
0
0
0
0

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

0
1
K

1
1
1
1
1

2
Y4

Ieiri
2
22
Y3 Y2

21
Y1

20

0
0
K

0
0
K

0
0
K

0
0
K

0
0
K

0
1
K

2
A
0
0
K

2
Y5

0
1
K

Deci pentru realizarea convertoarelor cu mai multe poziii binare, respectiv cu mai
multe cifre zecimale, se folosesc mai multe circuite convertoare elementare. Schema trebuie astfel conceput nct ponderile intrrilor convertorului s fie n relaia dat n tabelul 2.26, respectiv 2.27.
Exemplu. Se cere proiectarea schemei logice a unui convertor BINAR-BCD, care s
converteasc numerele binare cu opt cifre.
Cel mai mare numr binar de 8 cifre este 255, prin urmare se obin, la ieire, trei
cifre zecimale din care ultima, c.m.s., codificat cu 2 cifre binare. Sunt necesare, prin
urmare, mai multe convertoare BINAR-BCD pentru ase cifre binare. O soluie de rezolvare, cu trei convertoare elementare, este prezentat n figura 2.86.
n aceast figur s-au notat ponderile cifrelor binare obinute dup fiecare nivel de
conversie, pentru a se justifica posibilitatea conectrii convertorului urmtor. Astfel, primul convertor transform numrul binar ( B7 B6 B5 B4 B3 B2 ), avnd valoarea maxim 63,
ntr-un cod BCD cu dou cifre zecimale, prima dintre ele, codificat cu patru cifre binare
( C3C 2 C1 B2 ), de pondere 10 0 , iar urmtoarea cu trei cifre binare ( D2 D1 D0 ), de pondere
101 . Numrul binar ( C3C 2 C1 B2 B1 B0 ), avnd valoarea maxim (100111) 2 = 39 , este codificat de ctre al doilea convertor, n codul BCD, cu dou cifre zecimale, ( E3 E 2 E1 B0 ),
de pondere 10 0 i ( F1 F0 ), de pondere 101 . Numrul binar ( 0 D2 D1 D0 F1 F0 ), avnd valoarea maxim (011011) 2 = 27 , este codificat n codul BCD cu urmtoarele dou cifre zecimale: ( G3G2 G1 F0 ) care are ponderea 101 i ( G5G4 ), care are ponderea 10 2 , de ctre al
treilea convertor. n acest fel se obin cele trei cifre zecimale dorite.
Conversia din codul BCD n codul binar natural se face n mod asemntor.
Exemplu. Se cere conversia codului BCD al unui numr zecimal cu dou cifre n
codul binar natural.
Deoarece un convertor elementar nu poate s cuprind dect dou dintre poziiile

146

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

binare ale cifrei zecimale mai semnificative din codul BCD, sunt necesare dou convertoare conectate n cascad (v. fig. 2.87). Se vede, din figur, c prin modul de conectare
al celui de-al doilea convertor s-a asigurat ca ponderea cifrelor aplicate la intrrile D i E
s fie mai mare de zece ori dect ponderea cifrelor corespondente din codul cifrei zecimale mai puin semnificative.
BINAR
B7

B6

B5

B4

B3

B2

2
E

Y6

D2

B1
21

B0

20

D C
B
A
CONVERTOR
BINAR - BCD I
Y5 Y4 Y3 Y2 Y1
D1

D0

C3

25

C2

24

C1

23

22

21

B
D C
A
CONVERTOR
BINAR - BCD II
Y5 Y4 Y3 Y2 Y1

F1

24

23

22

F0

E3

E2

E1

21

101

D C
B
A
CONVERTOR
BINAR - BCD III
Y5 Y4 Y3 Y2 Y1

G5

21

G4

20

102
c.m.s.

G3

23

G2

22

G1

21

20

101

23

22

21

20

100
c.m.p.s.
BCD

Fig.2.86 Convertor BINAR-BCD.

Convertorul din codul BCD n codul binar natural de ase bii reprezint jumtate
din schema necesar convertirii a dou numere de 4 bii codate n BCD ntr-un numr

147

CIRCUITE LOGICE COMBINAIONALE

binar de apte bii. Prin interconectarea a ase astfel de circuite se obine conversia a trei
numere BCD la un numr binar de nou bii. Fiecare extindere peste acest nivel presupune dublarea numrului circuitelor folosite.
c.m.s.

BCD

c.m.p.s.

101
23

22

21

100
20

23

22

21

20

B
D C
A
CONVERTOR
BCD - BINAR
Y5 Y4 Y3 Y2 Y1

23

22

25

24

23

22

21

22

21

101
E

Y5

27

B
D C
A
CONVERTOR
BCD - BINAR
Y4 Y3 Y2 Y1

26

25

24

23

20

BINAR
Fig.2.87 Convertor BCD-BINAR.

2.5.2 Decodificatorul BCD7 segmente


Decodificatorul BCD-7 segmente este un circuit de decodificare utilizat la comanda sistemelor de afiare numeric realizate din apte segmente luminoase: becuri, diode electroluminiscente sau cristale lichide. Unii autori (de exemplu, [27]) consider c denumirea
de decodificator este utilizat impropriu i pentru convertorul de cod BCD-7 segmente.
Decodificatorul studiat este un CLC cu patru intrri, notate cu D, C, B, A i apte ieiri notate cu a, b, c, d, e, f, g (v. fig. 2.88,a) [2,15,26,27]. Tabelul de adevr al decodificatorului este reprezentat n tabelul 2.28.
Pe cele patru intrri ale circuitului se aplic cuvntul de cod (codul BCD) reprezentnd cifra zecimal ce urmeaz a fi afiat. Cele apte ieiri comand segmentele corespunztoare, dispuse ca n figura 2.88,b. Cele apte segmente se consider iniial stinse.
Pentru a se produce cifra zecimal dorit, diferite elemente ale afiajului sunt aprinse.

148

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Pe baza tabelului de adevr (v. tab. 2.28) se pot completa matricele Karnaugh ale
celor apte segmente (v. fig. 2.89).
a
a
D
b
b
f
c
DCD
g
C
BCD d
7 segmente
B
e
e
c
f
A
g
(b)
(a)
d
Fig.2.88 Decodificator BCD-7 segmente: (a) schema-bloc; (b) dispunerea segmentelor.
Tab.2.28 Tabelul de adevr pentru un DCD BCD-7 segmente.

0
1
2
3
4
5
6
7
8
9

D
0
0
0
0
0
0
0
0
1
1

Intrri
C B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0

A
0
1
0
1
0
1
0
1
0
1

a
1
0
1
1
0
1
1
1
1
1

b
1
1
1
1
1
0
0
1
1
1

c
1
1
0
1
1
1
1
1
1
1

Ieiri
d
1
0
1
1
0
1
1
0
1
1

e
1
0
1
0
0
0
1
0
1
0

f
1
0
0
0
1
1
1
0
1
1

g
0
0
1
1
1
1
1
0
1
1

0 segment stins, 1 segment aprins.

Grupnd n mod convenabil compartimentele notate cu 1, din aceste matrice, se obin expresiile logice ale funciilor de ieire care permit ntocmirea schemei logice a decodificatorului:

a = D + B + CA + C A = D B C A C A ,
b = C + B A + BA = C B A BA ,
c = C + B + A = C B A ,
d = D + BA + C B + C A + CB A = D BA C B C A CB A ,

(2.157)

e = C A + BA = C A BA ,

f = D + B A + CA + CB = D B A CA CB ,
g = D + C B + C B + BA = D C B C B BA .

149

CIRCUITE LOGICE COMBINAIONALE

DC

DC

00

01

11

10

00

01

11

10

BA

DC

00

01

11

10

00

01

11

10

BA

DC

00

01

11

10

00

01

11

10

BA

11

10

00

01

11

10

c
00

01

11

10

00

01

11

10

BA

DC

00

01

11

10

00

01

11

10

BA

01

DC

DC

00

BA

00

01

11

10

00

01

11

10

BA

Fig.2.89 Matricele Karnaugh ale decodificatorului BCD-7 segmente.

Se observ, din diagramele Karnaugh, c dac s-ar considera compartimentele notate cu zero (deci negatele funciilor de ieire) s-ar obine nite expresii mai simple.
n figura 2.90 este reprezentat schema logic parial a decodificatorului BCD-7
segmente. n [34] sunt prezentate patru decodificatoare BCD-7 segmente integrate (7446,
7447, 7448, 7449), realizate n diverse variante constructive.

2.5.3 Circuite codificatoare


Circuitul codificator (CD) realizeaz funcia invers aceleia a unui decodificator. Codificatorul este un circuit de comutare combinaional avnd, n cazul general, m intrri X 0 ,
X 1 ,K, X m1 i n ieiri ( m 2 n ), Z 0 , Z1 ,K , Z n1 (v. fig. 2.91,a) [23,26,27,30]. La aplicarea unui semnal logic activ pe o intrare se obine, la ieire, un cuvnt de n bii, care
reprezint codul intrrii activate.

150

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

A
1

4 7400
1

2 7420

3 7410

Fig.2.90 Schema logic a decodificatorului BCD-7 segmente.

Acest circuit furnizeaz deci la ieire un cuvnt binar de n bii atunci cnd numai
una dintre cele m intrri ale sale este activat. Numrul cuvintelor generate la ieirea CDului este egal cu numrul intrrilor (liniile de cuvnt). Cele m cuvinte de ieire sunt, n
general, dar nu necesar, distincte. ntre variabilele de intrare, X i funciile de ieire, Z, se
poate scrie urmtoarea relaie:
Zr =

m1

ai X i ,

(2.158)

n care r = 0,1,K , (n 1) , iar ai este un factor ce poate lua valorile 1 sau 0 ( ai {0,1} ).
Relaia (2.158) indic posibilitatea realizrii fizice a CD-ului folosind pori SAU.
Circuitele codificatoare cu multe intrri se realizeaz, de obicei, cu circuite elementare MSI prevzute cu posibilitatea de legare n cascad.
n continuare va fi examinat codificatorul ZECIMAL-BCD, cu m=10 intrri i n=4
ieiri, a crui schem-bloc este prezentat n figura 2.91,b i c (se va studia att cazul n
care intrrile i ieirile CD-ului sunt active pe nivelul 1 logic ct i cazul n care acestea
sunt active pe nivelul 0 logic). n tabelele de adevr 2.29,a,b se indic posibilitatea codificrii cifrelor zecimale 09, n cod binar.

151

CIRCUITE LOGICE COMBINAIONALE

X0
X1

0 1 2 3 4 5 6 7 8 9

Z0
Z1

CD

CD
ZECIMAL - BCD
C
A
B
D

Z n1

Xm1

(a)

(b)

0 1 2 3 4 5 6 7 8 9
CD
ZECIMAL - BCD
(c)
Fig.2.91 Schemele-bloc pentru un CD cu m intrri i n ieiri (a), respectiv pentru un CD
ZECIMAL-BCD cu intrrile i ieirile active pe 1 logic (b) sau pe 0 logic (c).
Tab.2.29 Tabele de adevr pentru un CD ZECIMAL-BCD.

0
1
2
3
4
5
6
7
8
9

0
1
2
3
4
5
6
7
8
9

152

0
1
0
0
0
0
0
0
0
0
0

0
0
1
1
1
1
1
1
1
1
1

1
0
1
0
0
0
0
0
0
0
0

1
1
0
1
1
1
1
1
1
1
1

2
0
0
1
0
0
0
0
0
0
0

2
1
1
0
1
1
1
1
1
1
1

3
0
0
0
1
0
0
0
0
0
0

Intrri
4
5
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0

3
1
1
1
0
1
1
1
1
1
1

Intrri
5
4
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1

6
0
0
0
0
0
0
1
0
0
0

6
1
1
1
1
1
1
0
1
1
1

7
0
0
0
0
0
0
0
1
0
0

7
1
1
1
1
1
1
1
0
1
1

8
0
0
0
0
0
0
0
0
1
0

8
1
1
1
1
1
1
1
1
0
1

9
0
0
0
0
0
0
0
0
0
1

9
1
1
1
1
1
1
1
1
1
0

D
0
0
0
0
0
0
0
0
1
1

Ieiri
C
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0

A
0
1
0
1
0
1
0
1
0
1

(a)

D
1
1
1
1
1
1
1
1
0
0

Ieiri
C
B
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1

A
1
0
1
0
1
0
1
0
1
0

(b)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Pe baza acestor tabele se pot deduce urmtoarele expresii ale funciilor de ieire:
A = 1+ 3 + 5 + 7 + 9, B = 2 + 3 + 6 + 7 ,

C = 4+5+6+7,

D =8+9,

(2.159)

respectiv:
A = 13579 , B = 2367 ,
C = 4567,

D = 89.

(2.160)

Circuitul poate fi realizat cu pori logice SAU avnd un numr maxim de intrri
egal cu 5 (v. fig. 2.92).
Uzual, CD-urile constituie subsisteme
0
ale unor circuite MSI sau LSI (convertoare
1
de cod, ROM-uri, PLA-uri). Se produc ns
2
i circuite integrate avnd funcia de codificare, ca, de exemplu, 74147 [34] (CD-ul
3
ZECIMAL-BCD, cu 9 intrri i 4 ieiri toa4
te active pe nivelul 0 logic). La acest cir5
cuit, cifra zecimal 0 se codific implicit
6
cnd nu este activ nici una dintre cele
7
nou intrri ale circuitului.
8
Funcionarea corect a circuitului codificator presupune, aa cum s-a precizat
9
mai sus, ca, la un moment dat, s fie activ
o singur intrare. Deoarece aceast condiie
nu este respectat ntotdeauna, n practic
se iau msuri ca atunci cnd sunt active
D
B
A
C
mai multe intrri simultan, s se codifice
acea intrare creia i s-a atribuit o prioritate
Fig.2.92 Schema logic a CD-ului ZECIMAL-BCD.
mai mare.

Codificatorul prioritar
Codificatoarele prioritare, spre deosebire de cele clasice, sunt astfel concepute nct, n
cazul activrii simultane a mai multor intrri, la ieire s apar doar codul intrrii cu prioritatea cea mai mare [2,15,23,27,28,29,30]. n acest scop fiecrei intrri i este atribuit
o prioritate, care crete cu numrul intrrii.
Pentru exemplificare se va prezenta circuitul integrat codificator prioritar 74148
[34] a crui schem-bloc este dat n figura 2.93 i a crui logic de funcionare este
redat n tabelul 2.30.
Circuitul dispune de opt intrri informaionale, 0, 1 ,K , 7 , a cror prioritate crete cu
valoarea numrului i de trei ieiri A0 , A1 , A2 , toate active pe 0 logic. Din tabelul de
adevr al circuitului se poate constata c prin activarea, de exemplu, a intrrii 4 (linia

153

CIRCUITE LOGICE COMBINAIONALE

0111), simultan cu una sau mai multe dintre intrrile 0, 1 , 2, 3 , numai ieirea A2 este
activat, iar ieirile A0 i A1 sunt forate n 1 logic, situaie care corespunde intrrii
avnd prioritatea cea mai mare, 4 . Circuitul prezint, de asemenea, o intrare de validare
EI i nc dou ieiri suplimentare EO i GS .
Cnd EI = 1 toate intrrile sunt blocate i toate
ieirile sunt meninute n 1 logic (inactive). Ieirea
EI
GS devine activ (0), atunci cnd cel puin una dintre intrrile de date este activat, iar ieirea EO este
74148
activat (0) atunci cnd toate intrrile de date sunt inA2 GS
EO A0 A1
active (1). Ieirea EO se utilizeaz n cazul conectrii n cascad a mai multor codificatoare, pentru
validarea unui circuit similar, avnd intrri de date
Fig.2.93 Schema-bloc a CD-ului
cu prioritate mai mic.
prioritar 74148.
Tab.2.30 Tabelul de adevr al CD-ului prioritar 74148.

EI
1
0
0
0
0
0
0
0
0
0

0
*
1
*
*
*
*
*
*
*
0

1
*
1
*
*
*
*
*
*
0
1

2
*
1
*
*
*
*
*
0
1
1

Intrri
3
*
1
*
*
*
*
0
1
1
1

4
*
1
*
*
*
0
1
1
1
1

5
*
1
*
*
0
1
1
1
1
1

6
*
1
*
0
1
1
1
1
1
1

7
*
1
0
1
1
1
1
1
1
1

A2

A1

1
1
0
0
0
0
1
1
1
1

1
1
0
0
1
1
0
0
1
1

Ieiri
A0 GS
1
1
0
1
0
1
0
1
0
1

1
1
0
0
0
0
0
0
0
0

Observaii
EO
1
Blocat
0 Intrri inactive
1
1
1
Funcionare
1
normal
1
1
1
1

Din tabelul 2.30 se pot obine expresiile funciilor de ieire. Pentru A0 , A1 i A2 rezult urmtoarele expresii:

A2 = EI 7 + EI 6 7 + EI 5 6 7 + EI 4 5 6 7 ,
A1 = EI 7 + EI 6 7 + EI 3 4 5 6 7 + EI 2 3 4 5 6 7 ,

(2.161)

A0 = EI 7 + EI 5 6 7 + EI 3 4 5 6 7 + EI 1 2 3 4 5 6 7 .

Se observ c, utiliznd teorema: ab + a c = ab + a c + bc , se pot simplifica o serie de


termeni din expresiile acestor funcii, rezultnd:
A2 = EI 7 + EI 6 + EI 5 + EI 4 ,
A1 = EI 7 + EI 6 + EI 3 4 5 + EI 2 4 5 ,
A0 = EI 7 + EI 5 6 + EI 3 4 6 + EI 1 2 4 6 .

154

(2.162)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Funcia GS se exprim mai uor sub form adevrat:


GS = EO + EI = EO EI ,

(2.163)

EO = EI 0 1 2 3 4 5 6 7 .

(2.164)

unde:

Schema logic a CD-ului prioritar 74148 este prezentat n figura 2.94.


0
EO
GS

1
2
3

A0

A1

A2

EI
Fig.2.94 Schema logic a CD-ului prioritar 74148.

Codificatorul prioritar are, aa cum s-a precizat, intrri i ieiri de selecie ce permit
cascadarea acestora pentru obinerea unui numr mai mare de intrri. Aceste scheme de
extindere necesit, ns, pori logice adiionale pentru generarea biilor de ieire. Spre
exemplu, pentru un numr de 16 intrri sunt necesare dou codificatoare i patru pori INU cu dou intrri, iar pentru 32 de intrri i cinci ieiri se folosesc patru codificatoare,
.a.m.d.
n figura 2.95 este prezentat schema logic a unui CD prioritar, utilizat pentru
codificarea n binar a numerelor zecimale de la 0 la 15, realizat cu dou circuite integrate
74148. Se constat c la activarea uneia sau mai multora dintre liniile 0, 1 ,K , 7 , primul
codificator este validat prin EO 2 (0) , iar atunci cnd se activeaz intrrile 8 , 9,K ,15 ,
funcioneaz doar al doilea codificator, EO 2 fiind pe 1 logic.
Circuitul din dreapta avnd prioritate fa de cel din stnga, autorizeaz pe ultimul
155

CIRCUITE LOGICE COMBINAIONALE

i i cedeaz prioritatea numai atunci cnd nici una dintre intrrile sale, 8 la 15 , nu este
activ (nu este n starea logic 0). Ieirea EO 2 reprezint deci i cifra cea mai semnificativ din cuvntul de cod, A3 . Partea mai puin semnificativ a cuvntului de cod,
A2 A1 A0 , este dat de ctre circuitul care deine prioritatea n momentul considerat. Selectarea grupului este indicat de semnalul P. Cele patru ieiri, active pe 1 logic, se obin
aa cum se indic n figur i n conformitate cu relaiile:
A0 = A01 A02 = A01 + A02 , A1 = A11 A12 = A11 + A12 ,

A2 = A21 A22 = A21 + A22 , A3 = EO 2 .

(2.165)

Codul binar de la ieire este dat, aa cum s-a precizat, de secvena A3 A2 A1 A0 .


Valoarea biilor A0 , A1 , A2 , A3 , funcie de starea activ a liniilor de intrare 0, 1 ,K ,14,15 i
de valoarea biilor Ai j (unde i = 0,1,2 , iar j = 1,2 ), este prezentat centralizat n tabelul
2.31.
Tab.2.31 Situaia intrrilor i ieirilor CD-ului prioritar din figura 2.95.

15 14 13 12 11 10
1 1 1 1 1 1

A3

A2

A1

A0

A21
A22

A11
A12

A01

A02

Valorile biilor Ai j ( A01 , A11 , A21 , respectiv A02 , A12 , A22 ) se pot lua din tabelul 2.30.
0

EI 1

14 15

EI 2

74148 I
EO1

A01

74148 II

A11

A21 GS 1

A0

A1

EO 2

A02

A12

A22 GS 2

Codificatorul
cel mai
semnificativ

4 7400

A2

A3

Semnal de
prioritate

Fig.2.95 Circuit codificator pentru codificarea cu prioritate a 16 semnale de intrare.

156

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

2.5.4 Comparatoare numerice

Comparatoarele numerice sunt circuite logice combinaionale care permit determinarea


valorii relative a dou numere binare [2,15,16,22,23,26,27,30]. Acest tip de circuite realizeaz compararea n paralel (n acelai timp), a cifrelor corespondente a dou numere binare, A i B, cu n poziii, n vederea stabilirii relaiei dintre cele dou numere, adic pentru a vedea dac A < B , A = B , respectiv A > B . Cifrele celor dou numere binare se
aplic la intrrile circuitului, iar relaia dintre numere este indicat de starea logic a celor
trei ieiri ale comparatorului, notate cu Z1 , Z 2 i Z 3 . Astfel, dac ieirea Z1 este n starea
1, rezult c A < B , dac ieirea Z 2 este n starea 1, rezult c A = B , iar dac ieirea Z 3
este n starea 1, rezult c A > B . Ca exemplu, se consider un comparator pentru numere
binare cu 4 cifre, A( A3 , A2 , A1 , A0 ) i B ( B3 , B2 , B1 , B0 ) (v. fig. 2.96). Cifrele cele mai puin semnificative sunt A0 i B0 . Inspectarea cifrelor corespondente ale numerelor, n vederea stabilirii relaiei dintre ele, se face ncepnd cu cele mai semnificative, n acest caz
particular ncepnd cu A3 i B3 .
X1
A0
A1
A2
A3
B0
B1
B2
B3

X2

X3

A<B A=B A>B


A<B

f1 ( Ai < Bi )

Z1

COMPARATOR
DE A=B
4 BII

Z2

A>B

Z3

Ai
Bi

f 2 ( Ai = Bi )
f3 ( Ai > Bi )

Fig.2.97 Schema logic a comparatorului de un bit.

Fig.2.96 Schema-bloc a unui comparator de 4 bii.

Pentru a se obine expresiile algebrice care definesc relaiile ntre dou numere binare, se consider, pentru nceput, un comparator de un bit. Funcionarea acestui circuit
este descris n tabelul 2.32, din care se pot scrie:
f1Ai < Bi = Ai Bi ,

(2.166)

f 2Ai = Bi = Ai Bi + Ai Bi = Ai Bi = Ci ,

(2.167)

f 3Ai > Bi = Ai Bi .

(2.168)

Schema logic a comparatorului de un bit este reprezentat n figura 2.97. Acest


circuit constituie celula de baz a comparatorului pentru numere cu mai muli bii.
Astfel, prin interconectarea a dou comparatoare de cte un bit se poate realiza un
comparator de doi bii, aa cum este artat n figura 2.98. Cele dou numere binare se
scriu:
A = A1 21 + A0 2 0 , B = B1 21 + B0 2 0 .

(2.169)
157

CIRCUITE LOGICE COMBINAIONALE


Tab.2.32 Tabelul de adevr al unui comparator de un bit.

Ai

Bi

0
0
1
1

0
1
0
1

f1

f2

f3

( Ai < Bi )

( Ai = Bi )

( Ai > Bi )

0
1
0
0

1
0
0
1

0
0
1
0

Procesul de comparare ncepe, aa cum s-a menionat, cu compararea biilor celor


mai semnificativi, A1 cu B1 . Dac ntre acetia exist relaia A1 > B1 sau A1 < B1 acest
lucru implic i faptul c A > B sau A < B , indiferent de valoarea biilor A0 i B0 . n
schem acest lucru se materializeaz prin legarea ieirilor porilor 1 respectiv 2, direct la
intrrile porilor 5 respectiv 6.
Dac A1 = B1 , pentru determinarea relaiei dintre numerele A i B, se impune i
examinarea biilor A0 i B0 , situaie n care ieirea porii 8 asigur deschiderea porilor 3
i 4.
Dac A0 < B0 respectiv A0 > B0 rezult c sunt valabile i relaiile A < B respectiv
A > B , ceea ce se obine prin legarea ieirilor porilor 3, 4 la intrrile porilor 5 respectiv
6. n cazul n care A1 = B1 i A0 = B0 rezult c cele dou numere sunt egale, A = B i se
activeaz ieirea porii 7.
1
A1
B1

A1 = B1
2

3
A0
B0

A1 < B1

A0 = B 0

A1 > B1

A0 < B 0

A0 > B0

A<B

A>B

A=B

Fig.2.98 Schema logic a comparatorului de doi bii.

Revenind la comparatorul de 4 bii i avnd n vedere relaiile (2.166) (2.168), se


pot scrie expresiile ieirilor acestui comparator.
Astfel, cele dou numere care se compar sunt n relaia A < B , adic Z1 = 1 , dac
A3 < B3 , sau dac A3 i B3 coincid i A2 < B2 sau dac A3 coincide cu B3 i A2 coincide cu B2 , iar A1 < B1 sau dac A3 coincide cu B3 i A2 coincide cu B2 i A1 coincide
cu B1 , iar A0 < B0 . Din cele de mai sus rezult, pentru Z1 , expresia logic:
Z1 = A3 B3 + C3 A2 B2 + C3C 2 A1 B1 + C3C 2 C1 A0 B0 .

158

(2.170)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Cele dou numere sunt egale, adic Z 2 = 1 , dac toate cifrele corespondente ale
celor dou numere coincid, prin urmare:
Z 2 = C3C 2 C1C 0 .

(2.171)

Cele dou numere sunt n relaia A > B , adic Z 3 = 1 , dac A3 > B3 , sau dac A3
coincide cu B3 i A2 > B2 sau dac A3 coincide cu B3 i A2 coincide cu B2 , iar A1 > B1
sau dac A3 coincide cu B3 i A2 coincide cu B2 i A1 coincide cu B1 , iar A0 > B0 . Din
cele de mai sus rezult pentru Z 3 expresia logic:

Z 3 = A3 B3 + C3 A2 B2 + C3C 2 A1 B1 + C3C 2 C1 A0 B0 .

(2.172)

Comparatoarele realizate sub form de circuite integrate MSI, sunt construite pentru
compararea numerelor cu patru cifre binare. Pentru ca ele s poat fi folosite la realizarea
circuitelor de comparare a numerelor cu mai multe poziii, comparatoarele pentru patru
poziii sunt prevzute cu trei intrri suplimentare, X 1 , X 2 i X 3 (v. fig. 2.96), care indic
relaia stabilit ntre cele dou numere A i B, pe baza comparrii cifrelor corespondente
de pondere inferioar. Intrarea X 1 corespunde relaiei A < B i se leag la ieirea Z1 a
comparatorului precedent, intrarea X 2 corespunde relaiei A = B i se leag la ieirea Z 2
a comparatorului precedent, .a.m.d.
Circuitul comparator prevzut cu aceste trei intrri suplimentare este descris structural de expresiile:

Z1 = A3 B3 + C3 A2 B2 + C3C 2 A1 B1 + C3C 2 C1 A0 B0 + C3C 2 C1C0 X 1 ,

(2.173)

Z 2 = C3C 2 C1C 0 X 2 ,

(2.174)

Z 3 = A3 B3 + C3 A2 B2 + C3C 2 A1 B1 + C3C 2 C1 A0 B0 + C3C 2 C1C0 X 3 .

(2.175)

Circuitul integrat MSI 7485 [34] este un exemplu de comparator pentru patru bii
realizat pe baza expresiilor (2.173) (2.175). Numerele care trebuie comparate se aplic
la bornele A0 A3 i B 0 B3 . La acest circuit ieirea Z1 i intrarea X 1 sunt marcate cu
A < B , ieirea Z 2 i intrarea X 2 cu A = B , iar ieirea Z 3 i intrarea X 3 cu A > B . Tabelul de adevr al comparatorului 7485 este prezentat n tabelul 2.33.
Prin legarea n cascad a unui numr n de circuite de acest tip se obine un comparator pentru numere cu n4 cifre binare. De exemplu, pentru cuvinte de 24 de bii se
construiete o structur cu dou nivele folosind ase comparatoare. Un arbore cu trei
nivele poate compara pn la 120 de bii, .a.m.d.
Exemplu. S se realizeze un comparator de cuvinte de 7 bii utiliznd dou comparatoare de 4 bii, 7485.
Este vorba de extinderea domeniului de comparare a dou cuvinte binare. Soluia
este prezentat n figura 2.99. Se distribuie cei mai semnificativi 4 bii pe primul nivel,
rezultatul comparrii acestora aplicndu-se celui de al doilea comparator pe poziiile cele
mai semnificative.
159

CIRCUITE LOGICE COMBINAIONALE


Tab.2.33 Tabelul de adevr al comparatorului de 4 bii 7485.

Intrri
A3, B3
A3 > B3
A3 < B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3
A3 = B3

A2, B 2
*
*
A2 > B 2
A2 < B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2
A2 = B 2

A1, B1
*
*
*
*
A1 > B1
A1 < B1
A1 = B1
A1 = B1
A1 = B1
A1 = B1
A1 = B1
A1 = B1
A1 = B1
A1 = B1

Ieiri

A>B
*
*
*
*
*
*
*
*
1
0
0
*
1
0

A0, B0
*
*
*
*
*
*
A0 > B 0
A0 < B0
A0 = B0
A0 = B 0
A0 = B 0
A0 = B 0
A0 = B 0
A0 = B 0
A3

A< B
*
*
*
*
*
*
*
*
0
1
0
*
1
0

A= B
*
*
*
*
*
*
*
*
0
0
1
1
0
0

A>B
1
0
1
0
1
0
1
0
1
0
0
0
0
1

A< B
0
1
0
1
0
1
0
1
0
1
0
0
0
1

A= B
0
0
0
0
0
0
0
0
0
0
1
1
1
0

A4 A5 A6 B3 B4 B5 B6

A0 A1 A2 A3 B0 B1 B2 B3
7485 I
A<B

A>B
1/0
A0 A1 A2

A=B

0/1

0/0

B0 B1 B2

A0 A1 A2 A3 B0 B1 B2 B3
7485 II
A>B
1/0

A<B
0/1

A=B
0/0

Fig.2.99 Schema de principiu a unui comparator de 7 bii.

n momentul n care, comparnd biii cei mai semnificativi, 6, 5, 4, 3 (operaie efectuat de comparatorul I) se va obine c A > B (deci la ieirea A > B se va obine 1 logic,
iar la ieirile A < B i A = B , 0 logic) i deoarece ieirea A > B a circuitului I de comparare este conectat la intrarea A3 (bitul cel mai semnificativ al primului numr) a comparatorului II, iar ieirea A < B a comparatorului I la ieirea B3 (bitul cel mai semnificativ
al celui de al doilea numr) a comparatorului II, este evident c A3 > B3 i se activeaz
ieirea A > B a circuitului comparator II. Explicaia este asemntoare i n cazul n care,
prin compararea primilor patru bii cei mai semnificativi, se va obine c A < B .

160

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Cnd ns, prin compararea biilor celor mai semnificativi 6, 5, 4, 3 se va obine c


A = B , aceast ieire a comparatorului I nu trebuie conectat la nici o intrare a comparatorului II, deoarece n acest caz relaia dintre numerele A i B este dat de rezultatul comparrii celorlali bii, mai puin semnificativi (2,1,0), operaie efectuat de comparatorul
II. Se observ c schema s-a obinut, fr a se folosi intrrile suplimentare.
Exemplu. S se realizeze compararea a 2 cuvinte de 8 bii utiliznd dou comparatoare de 4 bii, 7485.
Schema logic este prezentat n figura 2.100. Funcionarea acesteia se poate deduce imediat dac se are n vedere tabelul de adevr al comparatorului 7485 (v. tab. 2.33).
Se observ din acest tabel c, de exemplu, pentru prima linie, dac A3 > B3 , indiferent de
semnalele aplicate pe intrrile suplimentare, A < B , A = B , A > B , va fi activat (1
logic) ieirea A > B . Pentru compararea celor 2 cuvinte de 8 bii se utilizeaz 2 comparatoare de 4 bii, 7485, conectate n cascad. Dintre cele dou comparatoare, primul va fi
folosit pentru compararea primilor 4 bii de rang inferior (0,1,2,3), iar cel de-al doilea
evident, pentru compararea celorlali 4 bii ai numerelor (4,5,6,7 rangurile superioare).
Intrrile suplimentare ale comparatorului II i fac simit prezena doar n momentul n
care primii 4 bii (cei mai semnificativi) ai celor 2 numere, care se compar, sunt identici.

A<B
A=B
A>B

A4 A5 A6 A7 B4 B5 B6 B7

A0 A1 A2 A3 B0 B1 B2 B3

A0 A1 A2 A3 B0 B1 B2 B3
A<B
A<B
7485 II
A=B
A=B
A>B
A>B

A0 A1 A2 A3 B0 B1 B2 B3
A<B
A<B
7485 I
A=B
A=B
A>B
A>B

Fig.2.100 Comparator numeric pentru numere de 8 bii.

Exemplu. n figura 2.101 este dat schema logic a unui circuit comparator pentru
numerele A i B cu 16 cifre binare. Intrrile suplimentare ( A < B , A = B , A > B ) pentru
comparatorul primelor patru cifre mai puin semnificative ale celor dou numere, trebuie
s fie n starea logic 1.
A1215

B1215

A811

B811

A47

B47

A03

B03
1

A<B
A=B
A>B

A0-3
B0-3
A<B
A<B
A=B 7485 A=B
A>B
A>B

B0-3
A0-3
A<B
A<B
A=B 7485 A=B
A>B
A>B

A0-3
B0-3
A<B
A<B
A=B 7485 A=B
A>B
A>B

B0-3
A0-3
A<B
A<B
A=B 7485 A=B
A>B
A>B

Fig.2.101 Circuit comparator pentru 16 ranguri.

2.5.5 Detectoare i generatoare de paritate


n procesul transmiterii informaiilor numerice pot aprea erori. O metod simpl de
detectare a acestora const n utilizarea codurilor detectoare de erori (cu verificare de
paritate sau imparitate, v. Anexa C). Aceste coduri se bazeaz pe faptul c la emisie se
formeaz un nou cuvnt de cod, prin adugarea unui bit suplimentar la cei existeni (biii

161

CIRCUITE LOGICE COMBINAIONALE

informaionali), astfel nct numrul de 1-uri din cuvntul nou format s fie par (sau
impar). La recepie se verific paritatea sau imparitatea numrului de 1-uri din cuvntul
recepionat i n funcie de rezultatul verificrii se decide asupra corectitudinii cuvntului
recepionat.
Operaiile susmenionate se realizeaz cu CLC-uri numite detectoare i generatoare
de paritate [2,22,26,27].
Realizarea detectoarelor de paritate se bazeaz pe proprietatea cunoscut a porii
SAU-EXCLUSIV de a rspunde prin 1 logic atunci cnd una dintre intrri este pe 1 i cea
de a doua pe 0 (imparitate), sau prin 0 logic atunci cnd ambele intrri sunt pe 1, respectiv 0 (paritate). Detectorul de paritate elementar (pentru cuvinte de doi bii) este deci circuitul de anticoinciden (sumatorul modulo doi).
Extinznd proprietatea menionat mai sus
Y1
la circuitul cu trei pori din figura 2.102, se
A
constat,
din tabelul 2.34, c variabila de ieire
B
Y

Y este egal cu 1 dac numrul variabilelor de


intrare
(A, B, C, D) egale cu 1, este impar i are
Y2
C
valoarea 0 pentru un numr par de variabile de
D
intrare care au valoarea 1. Deci circuitul poate fi
folosit ca detector de paritate (imparitate) pentru
Fig.2.102 Detector de paritate de 4 bii.
4 variabile de intrare.
Tab.2.34 Tabelul de adevr pentru detectorul de paritate de 4 bii.

0
1
2
3
4
5
6
7

A
0
0
0
0
0
0
0
0

B
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1

Y1

Y2

0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0

Y
0
1
1
0
1
0
0
1

8
9
10
11
12
13
14
15

A
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1

Y1

Y2

1
1
1
1
0
0
0
0

0
1
1
0
0
1
1
0

Y
1
0
0
1
0
1
1
0

Un detector de paritate (imparitate) pentru 8 variabile de intrare se poate obine


folosind dou circuite identice cu cel din figura 2.102 i aplicnd ieirile Y i Y ale
acestora la intrrile unei pori SAU-EXCLUSIV. La ieirea porii se obine funcia Y
egal cu 1 n caz de imparitate i nul n caz de paritate. Prin dublarea circuitului astfel
obinut i ataarea a nc unei pori, se obine un detector de paritate (imparitate) pentru
16 bii, .a.m.d.
Introducerea unei noi pori SAU-EXCLUSIV la ieirea schemei din figura 2.102,
mpreun cu comanda P (v. fig. 2.103), asigur pe ieirea Y nivel logic 1 sau 0, n funcie
de numrul unitilor din cuvntul de cod i de comanda P aplicat, dup cum urmeaz:
pentru P = 0 , Y = Y i circuitul este un generator de paritate (pe ieirea Y apare
nivel logic 1 dac numrul unitilor din cuvntul de intrare este impar);
pentru P = 1 , Y = Y i circuitul este un generator de imparitate (pe ieirea Y
apare nivel logic 1 cnd numrul de uniti din cuvntul de intrare este par).
Acest generator de paritate/imparitate (realizat conform schemei din figura 2.103)

162

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

este folosit la calcularea valorii bitului de paritate ce se adaug biilor informaionali n


codul mesajului transmis la staia de emisie.
Bitul de paritate este folosit ca
A
bit redundant n realizarea codului deB
tector de erori de transmisie (aa nuY
Y
mitul cod cu bit de paritate). VariabiC
lei P i se dau, aa cum s-a menionat,
D
dou valori: P = 0 , n cazul folosirii
P
criteriului de paritate par i P = 1 , n
Fig.2.103 Schema logic a unui generator de paritate.
cazul folosirii criteriului de paritate
impar.
n cazul criteriului de paritate par, bitul de paritate (variabila Y din schem) ia
valoarea:
0, dac numrul biilor informaionali 1 este par (Y = 0),
Y = Y P = Y 0 =
1, dac numrul biilor informaionali 1 este impar (Y = 1),

n cazul criteriului de paritate impar, bitul de paritate (variabila Y din schem) ia


valoarea:
1, dac numrul biilor informaionali 1 este par (Y = 0),
Y = Y P = Y 1 =
0, dac numrul biilor informaionali 1 este impar (Y = 1),

Un exemplu de utilizare a circuitului logic din figura 2.103, fcnd uz de dubla sa


funcie, la detectarea erorilor de transmisie a informaiei binare, este prezentat n figura
2.104.

E
I
A
B
C
D

II

YE

PE = 0
YE = A B C D PE
YR = A B C D YE

A
B
C
D

PR = YE

YR
Dac YR = 0,
rezult c
transmisia
s-a efectuat
fr erori.

Fig.2.104 Lan de transmisie a informaiei binare cu verificare de paritate.

163

CIRCUITE LOGICE COMBINAIONALE

Circuitul I funcioneaz, la locul de emisie al informaiei (E), ca generator de paritate, furniznd la ieirea YE un bit de paritate, de valoare 1 n toate cazurile n care numrul variabilelor de intrare (A, B, C, D) care au valoarea logic 1 este impar i de valoare 0
n cazul n care acest numr este par (schema aplic criteriul paritii pare). Bitul de paritate este apoi ncorporat n codul transmis, pe poziia c.m.p.s. din cod. Cuvntul de cod
obinut va avea un numr par de bii egali cu 1.
La punctul de recepie (R) cei cinci bii ai cuvntului recepionat sunt introdui n
circuitul II, care de aceast dat funcioneaz ca un detector de paritate, validnd sau nu,
prin bitul su de paritate, recepionarea cuvntului de cod. Pentru transmisia fr erori
YR = 0 , iar apariia unei erori de transmitere care produce modificarea paritii este semnalizat prin YR = 1 .
Pentru cazul unor circuite de mai muli bii se poate utiliza circuitul integrat specializat 74180 [34], care este de fapt un generator/detector de paritate (imparitate) de 8 bii
(8 bii de date plus 1 bit de paritate). n figura 2.105 se prezint schema logic a detectorului i generatorului de paritate integrat.
A
B
C
D

YP

E
F
G
H
I
P

YI

Fig.2.105 Generator/detector de paritate de 8 bii.

Pe lng intrrile de date (A,,H)


sunt prevzute intrrile P (par) i I (impar)
Tab.2.35 Tabelul de adevr pentru detectorul/
generatorul de paritate de 8 bii 74180.
care: permit funcionarea ca detector/generator de paritate ct i de imparitate; pot
Intrri
Ieiri
servi, de asemenea, pentru invalidarea cirNumrul de bii 1
P I YP YI
cuitului i asigur posibilitatea interconecla intrrile AH
trii mai multor circuite, n cazul aplicaPar
1 0 1 0
iilor n care cuvntul de intrare are o lunImpar
1 0 0 1
gime mai mare de 8 bii. Sunt prevzute
Par
0 1 0 1
dou ieiri YP i YI , pentru a crete versaImpar
0 1 1 0
tilitatea circuitului i pentru asigurarea inIndiferent
1 1 0 0
terconectabilitii cu circuite similare, fr
Indiferent
0 0 1 1
circuite auxiliare. Funcionarea circuitului
rezult i din tabelul 2.35.
n figura 2.106 este exemplificat modul n care se pot interconecta mai multe circuite integrate 74180, n scopul realizrii unui detector/generator de paritate pentru un cuvnt de intrare cu mai mult de 8 bii (24).
Acest circuit poate fi conectat ntr-o reea arborescent cu dou nivele pentru a se

164

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

obine o structur pentru 8 9 = 72 bii, utiliznd 9 + 1 = 10 capsule integrate. Cu o reea


parial, ce nu folosete complet intrrile celui de al doilea nivel, se poate obine un
circuit pentru 8 + 8 + 7 = 23 de bii, numai cu trei capsule, .a.m.d. n plus, cu aceleai
tipuri de circuite poate fi realizat o reea care s genereze coduri Hamming (v. Anexa
C), ce indic nu numai apariia unei erori dar i bitul eronat (de exemplu, 74280 [34]).
Par
Par
0

A B
0

74180 I

Par

Impar
7
H

YI
YP

A B
0
I
74180 II
1
P

15

17

23

H
A
1
YI
I
0
YP
P

H
YI

YP

74180 III

Fig.2.106 Generator/detector de paritate de 24 bii.

2.5.6 Sumatoare binare


Subsistemul logic combinaional care asigur, direct sau indirect, efectuarea tuturor operaiilor aritmetice ntr-un sistem de calcul este sumatorul.
n principiu, exist dou posibiliti de realizare a unui sumator binar:
sumatorul numit serie, la care biii de acelai rang, ai celor dou numere care trebuiesc adunate, sunt aplicai la intrrile sumatorului n mod succesiv/n serie, rang dup
rang; pentru realizarea unui astfel de sumator se folosete un singur circuit elementar (sumatorul complet pentru un rang v. explicaiile de mai jos) [26,33];
sumatorul paralel/derivaie, format, n cazul general, din n circuite elementare
identice (sumatoare complete pentru un rang) la care cei n bii, ai celor dou numere care
trebuiesc adunate, se aplic simultan/n paralel la intrrile celor n circuite elementare
[2,19,22,23,2628,30,33].
Prima soluie, dei este mai economic din punct de vedere al componentelor (este
necesar un singur circuit elementar n loc de n circuite elementare pentru numere de n
cifre) este mult prea lent n raport cu cea de a doua, motiv pentru care se folosete foarte
rar. n continuare, n lucrare se vor trata doar sumatoarele binare paralele.
Sumatorul binar paralel este un
An Bn
A2 B2 A1 B1
CLC cu 2n+1 intrri i n+1 ieiri,
care nsumeaz cifrele, aflate pe poziii corespondente, a dou numere
binare cu n cifre, A1 , A2 ,K , An i
Cn
C0
SUMATOR BINAR
B1 , B2 ,K , Bn , innd cont de un eventual transport iniial C0 i geneSn
S2 S1
reaz un numr binar cu n + 1 cifre,
cifrele sumei S1 , S 2 ,K , S n i cifra
Fig.2.107 Schema-bloc a unui sumator cu n ranguri.
transportului C n (v. fig. 2.107). Ponderea cifrei cu indicele i, pentru i = 1,2,K , n , este 2 i . De obicei, sumatorul paralel se rea-

165

CIRCUITE LOGICE COMBINAIONALE

lizeaz sub forma unui circuit iterativ15, n care celula de baz este un sumator complet
pentru un rang (sumatorul elementar) sau pentru mai multe ranguri, de obicei patru.
CLC-ul care servete pentru efectuarea sumei a dou numere binare cu cte un bit,
fr a ine seama de transportul de la bitul de rang imediat inferior, este denumit semisumator [19,22,23,2628,30,33].
Tabelul 2.36 prezint funcionarea semisumatorului avnd ca variabile de intrare
numerele Ai i Bi , de cte un bit i ca variabile de ieire suma parial S i i transportul
Ci . Din tabel rezult:
S i = Ai Bi + Ai Bi = Ai Bi

(2.176)

Ci = Ai Bi ,

(2.177)

i
relaii care conduc la schema logic din figura 2.108,b, a crei reprezentare simbolic
este redat n figura 2.108,a.
Ai Bi
Tab.2.36 Tabelul de adevr al
semisumatorului.

Intrri
Ai Bi
0
0
0
1
1
0
1
1

Ieiri
S i Ci
0
0
1
0
1
0
0
1

Ai
Bi

1
2 i

Ci

Si
Ci

Si

(a)

(b)

Fig.2.108 Reprezentarea simbolic (a) i schema logic (b)


a unui semisumator

Sumatorul binar complet sau sumatorul elementar realizeaz nsumarea a dou cifre
binare de acelai rang, Ai i Bi cu cifra transportului pentru rangul respectiv Ci 1 , genernd cifra sumei de rang i, S i i transportul pentru rangul superior, Ci [19,22,23,2628,
30,33]. Funciile booleene S i ( Ai , Bi , Ci 1 ) i Ci ( Ai , Bi , Ci 1 ) sunt definite n tabelul 2.37,
ntocmit pe baza regulii de adunare binar i au urmtoarele forme canonice disjunctive:
S i = Ai Bi Ci 1 + Ai Bi Ci 1 + Ai Bi Ci 1 + Ai Bi Ci 1 ,

(2.178)

Ci = Ai Bi Ci 1 + Ai Bi Ci 1 + Ai Bi Ci 1 + Ai Bi Ci 1 .

(2.179)

Expresiile funciilor S i i Ci se mai pot scrie:

S i = ( Ai Bi + Ai Bi )Ci 1 + ( Ai Bi + Ai Bi )Ci 1 = ( Ai Bi )Ci 1 + ( Ai Bi )Ci 1 =


= Ai Bi Ci 1 ,
15

166

(2.180)

Circuitele iterative sunt alctuite dintr-un numr mare de circuite elementare identice conectate ntre ele
sub forma unei reele regulate. Ele permit realizarea sistemelor de funcii de comutare, de un numr mare
de variabile, mai avantajos dect cu circuite combinaionale cu mai multe ieiri, construite cu dou sau
mai multe nivele de pori logice. Avantajul const n reducerea numrului de circuite logice folosite, precum i n posibilitatea de standardizare a acestora.

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

respectiv:
Ci = Ai Bi (Ci 1 + Ci 1 ) + ( Ai Bi + Ai Bi )Ci 1 = Ai Bi + ( Ai Bi )Ci 1 .
Tab.2.37 Tabelul de adevr al sumatorului
complet.

Ai

0
0
0
0
1
1
1
1

Intrri
Bi Ci 1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1

Ieiri
Si
Ci
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1

(2.181)

Ai Bi
Ci1
00

01

11

10

Si

(a)

Ai Bi
Ci1
00

01

11

10

Ci

(b)
Fig.2.109 Diagramele Karnaugh pentru funciile
S i i Ci ale sumatorului complet.

Avnd n vedere diagrama Karnaugh din figura 2.109,b se poate scrie, pentru funcia Ci , urmtoarea form minim:
Ci = Ai Bi + Ai Ci 1 + Bi Ci 1 = Ai Bi + ( Ai + Bi )Ci 1 .

(2.182)

n figura 2.110,b este reprezentat schema logic a unui sumator complet (s-au implementat relaiile (2.180) i (2.181)).
Ai

Ci

Bi

i
Si

(a)

Ci 1

Si

Ai
Bi
Ci 1

Ci

(b)

Fig.2.110 Sumatorul complet: (a) reprezentarea simbolic; (b) schema logic.

Se observ c sumatorul complet pentru bitul de rangul i se poate realiza utiliznd


dou semisumatoare.
Prin interconectarea mai multor sumatoare complete pentru un bit pot fi realizate
sumatoare pentru cuvinte binare cu mai muli bii. De exemplu, sumatorul binar paralel
pentru patru ranguri realizeaz nsumarea a dou numere binare cu cte patru cifre, notate
A1 , A2 , A3 i A4 , respectiv B1 , B2 , B3 i B4 , A4 i B4 , fiind cifrele cele mai semnificative. nsumarea acestor patru cifre se face n paralel. Sumatoarele binare paralele se clasi167

CIRCUITE LOGICE COMBINAIONALE

fic, n funcie de modul n care se obine transportul pentru rangurile superioare, n sumatoare cu propagarea transportului n serie i sumatoare cu propagarea transportului
n paralel, denumite i sumatoare cu transport anticipat sau cu transport simultan [2,15,
19,22,23,26,28,33].
ntr-un sumator cu propagarea transportului n serie, nsumarea a dou cifre de rang
i, Ai i Bi , se face dup ce s-a obinut transportul Ci 1 , din rangul inferior i1. Schema
sumatorului se bazeaz pe un sumator complet pentru un rang repetat de un numr de ori
egal cu numrul de poziii binare ale operanzilor. n cazul a patru cifre binare se obine
schema din figura 2.111, n care fiecare bloc notat cu i , (i = 1,2,3,4) reprezint un sumator binar complet pentru un rang.

A4
C4

B4

4
S4

A3
C3

A2

B3

3
S3

C2

A1

B2

C1

S2

B1

C0

S1

Fig.2.111 Sumator de 4 bii cu propagarea transportului n serie.

Timpul maxim n care se efectueaz adunarea, este determinat de timpul n care se


propag transportul pn la rangul cel mai semnificativ. Pentru schema din figura 2.111
acest timp, notat cu t ad , este dat de relaia:
t ad = 3tT + t s ,

(2.183)

unde, tT este timpul n care se realizeaz funcia Ci , iar t s este timpul n care se realizeaz funcia S i , ntr-un sumator pentru un rang. n general, pentru n ranguri, se obine
pentru timpul de adunare, t ad , expresia:
t ad = (n 1)tT + t s .

(2.184)

Din relaia (2.184) rezult c pentru reducerea timpului de adunare este important
reducerea la minimum a timpului de propagare a transportului pe un rang, tT .
Pentru reducerea ntrzierii datorate propagrii transportului n serie se folosete sumatorul cu transport anticipat.
Analiznd relaia bitului de transport (v. ec. (2.181)), se observ c transportul Ci
devine:
i este independent de Ci 1 , cnd Ai = Bi = 1,
1

Ci = 0 i este independent de Ci 1 , cnd Ai = Bi = 0,


C cnd A B .
i
i
i 1

Aceast constatare a condus la ideea calculrii anticipate a cifrei binare de transport


168

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

n funcie de datele de intrare, simultan pentru toate rangurile. n felul acesta, nu se mai
ateapt efectuarea calculelor pe rangul mai puin semnificativ n vederea generrii cifrei
de transport ce se adun la cifrele rangului urmtor. Aceasta nseamn, n cazul sumatorului pentru patru ranguri, c trebuie realizate funciile:
C1 = f1 ( A1 , B1 , C0 ) ,
C 2 = f 2 ( A2 , A1 , B2 , B1 , C0 ) ,
C3 = f 3 ( A3 , A2 , A1 , B3 , B2 , B1 , C0 ) ,

(2.185)

C 4 = f 4 ( A4 , A3 , A2 , A1 , B4 , B3 , B2 , B1 , C0 ) .

Pentru obinerea unei forme ct mai simple a funciilor (2.185) se pleac de la expresia transportului pentru un rang (v. ec.(2.182)), dat mai jos:
Ci = Ai Bi + Ci 1 ( Ai + Bi ) = Gi + Ci 1 Pi ,

(2.186)

n care s-au introdus funciile auxiliare Gi , transportul generat n rangul i (dac Ai Bi = 1 ,


rezult Ci = 1 indiferent de valoarea lui Ci 1 ) i Pi , condiia de propagare a transportului
generat n rangurile inferioare lui i, peste rangul i ( Pi = 1 va determina traversarea celulei i de ctre valoarea bitului de transport Ci 1 ). Relaia (2.186) arat c Ci poate avea
valoarea 1 dac se genereaz n celula i ( Gi = 1 ) sau ca urmare a propagrii ( Pi = 1 ) a
unui Ci 1 de la intrare. Scriind pe Ci 1 ,K , C1 sub forma (2.186), rezult expresiile:
Ci 1 = Ai 1 Bi 1 + Ci 2 ( Ai 1 + Bi 1 ) = Gi 1 + Ci 2 Pi 1 ,

(2.187)

C1 = A1 B1 + C0 ( A1 + B1 ) = G1 + C0 P1 ,

unde C0 este transportul pentru rangul cel mai puin semnificativ.


nlocuind n relaia (2.186) pe Ci 1 , apoi Ci 2 ,K , C1 cu expresiile (2.187) se obine
expresia general a funciei Ci :
Ci = Gi + Pi (Gi 1 + Pi 1 (Gi 2 + K + P2 (G1 + C0 P1 ))) =
= Gi + Pi Gi 1 + Pi Pi 1Gi 2 + K + Pi Pi 1 K P2 G1 + Pi Pi 1 K P2 P1C0 .

(2.188)

Particulariznd relaia (2.188) pentru i = 1,2,3,4 se obin expresiile funciilor transporturilor C1 , C 2 , C3 i C 4 , pentru sumatorul de patru ranguri:
C1 = G1 + P1C0 ,

(2.189)

C 2 = G2 + P2 G1 + P2 P1C0 ,

(2.190)

C3 = G3 + P3G2 + P3 P2 G1 + P3 P2 P1C0 ,

(2.191)

C 4 = G4 + P4 G3 + P4 P3G2 + P4 P3 P2 G1 + P4 P3 P2 P1C0 ,

(2.192)
169

CIRCUITE LOGICE COMBINAIONALE

Pe baza relaiilor (2.189) (2.192) i (2.180) se obine schema logic a sumatorului


de 4 bii cu transport anticipat din figura 2.112.
C4

S3

S4

S2

S1
Seciunea
sumatorului
C0

A4 B4 A3 B3 A2 B2 A1 B1
C4

C3

C2

C1
Reeaua logic
pentru generarea
transportului
anticipat

P4

A4 B4

G4 P3

A3 B3

G3 P2

G2

A2 B2

P1

G1

A1 B1

Fig.2.112 Schema logic a unui sumator binar de 4 bii cu transport anticipat.

Deoarece se urmrete realizarea n timp ct mai scurt a funciilor (2.189) (2.192),


cele mai indicate circuite sunt porile logice I-SAU-NU. Pentru sinteza cu acest tip de
pori sunt necesare formele normale disjunctive ale negatelor funciilor. De aceea, n
practic, se realizeaz funciile auxiliare Gi i Pi , respectiv funciile:
Ci = Ai Bi + ( Ai + Bi )Ci 1 = Ai Bi [( Ai + Bi ) + Ci 1 ] =
= Pi + Ci 1Gi .

(2.193)

Pe baza relaiei (2.193) se obin, pentru patru ranguri:

170

C1 = P1 + G1C0 ,

(2.194)

C 2 = P2 + G2 P1 + G2 G1C0 ,

(2.195)

C3 = P3 + G3 P2 + G3G2 P1 + G3G2 G1C0 ,

(2.196)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

C 4 = P4 + G4 P3 + G4 G3 P2 + G4 G3G2 P1 + G4 G3G2 G1C0 .

(2.197)

Dezavantajul sumatoarelor cu transport anticipat const n faptul c odat cu creterea numrului de ranguri crete considerabil complexitatea circuitelor pentru obinerea
transportului. Din acest motiv, pentru adunarea unor operanzi cu numr mare de cifre, se
folosesc mai multe sumatoare cu propagarea transportului n paralel pentru un numr
limitat de ranguri, de obicei patru. Transportul ntre aceste sumatoare se propag fie n
serie, fie n paralel.
Unele circuite sumatoare MSI, pentru patru bii, de exemplu circuitul 7483 [34], a
crui schem logic este prezentat n figura 2.113, realizeaz anticipat numai transportul
final, notat cu C 4 , transporturile intermediare C 1, C 2 , i C 3 , fiind realizate succesiv, pe
baza relaiei (2.193). Anticiparea ultimului transport permite circuitului sumator pentru
rangurile superioare s nceap lucrul mai repede, reducndu-se astfel substanial timpul
de adunare al numerelor cu multe cifre binare.
C0
A1
B1
A2
B2
A3
B3
A4

C0

C0
S1
A1 B1
C1
S2
A2 B2
C2
S3
A3 B3
C3
A4 B4

S4

B4
C4

Fig.2.113 Schema logic a circuitului sumator 7483.

Aa cum s-a mai precizat, sumatoarele pentru mai multe ranguri se pot realiza prin
legarea n cascad a mai multor sumatoare complete pentru 4 bii. Astfel, cu circuitul
integrat 7483 se poate realiza un sumator de numere ntregi de n bii, conectnd n serie
un numr k = n / 4 de circuite integrate, unde n este ntotdeauna o putere a lui 2. n figura
2.114 este dat schema logic a unui sumator pentru 16 ranguri binare.
171

CIRCUITE LOGICE COMBINAIONALE

B16 A16

C16

B13 A13

B4 A4
B1 A1
C4
7483 C0

B12 A12

B9 A9

B4 A4
B1 A1
C4
7483 C0

B8 A8

B5 A5

B1 A1
B4 A4
C4
7483 C0

B4 A4

B1 A1

B4 A4
B1 A1
C4
7483 C0

S4

S1

S4

S1

S4

S1

S4

S1

S16

S13

S12

S9

S8

S5

S4

S1

C0

Fig.2.114 Schema logic a unui sumator pentru 16 ranguri binare, realizat cu circuite 7483.

Pentru a se folosi transporturile intermediare, la realizarea sumei, fr inversarea


lor, la sumatorul din figura 2.113 se realizeaz i semisuma cifrelor de acelai rang, S i ,
sub forma negat, iar pentru calculul sumei pentru un rang, S i , se folosete expresia:
S i = S i Ci 1 ,

(2.198)

care se bazeaz pe urmtoarea proprietate a funciei SAU-EXCLUSIV:


ab = a b .

(2.199)

Pentru realizarea transportului anticipat ntre mai multe sumatoare de patru bii este
necesar ca acestea s realizeze n locul transportului C 4 condiia de generare a transportului n circuitul j (G j ) i condiia de propagare a transportului peste circuitul j ( Pj ) ,
avnd expresiile:
G j = G j 4 + G j 3 Pj 4 + G j 2 Pj 3 Pj 4 + G j1 Pj 2 Pj 3 Pj 4

(2.200)

Pj = Pj 4 Pj 3 Pj 2 Pj1 .

(2.201)

n felul acesta, considerndu-se sumatorul cu 4 celule ca un bloc, pe care s-au definit cele
dou funcii G j i Pj , este posibil extinderea principiului prezentat anterior, pe un al
doilea nivel, peste mai multe sumatoare de 4 bii, utiliznd un circuit de transport anticipat suplimentar descris tot de relaiile (2.189) (2.192). Dac se prevede transportul anticipat pentru patru circuite sumatoare de patru bii (v. fig. 2.115, n care, pentru simplificare, nu s-au mai reprezentat intrrile pentru operanzi), expresiile transporturilor pentru
fiecare circuit sunt date de relaiile (2.189) (2.192). Schema prezentat poate fi extins,
simplu, pentru numere de lungime mai mare de 16 bii (32, 48, 64).
n locul funciei C 4 se prefer adesea, aa cum s-a precizat mai sus, funcia G, condiia de generare a transportului n grupul de patru sumatoare, respectiv funcia P, condiia de propagare a transportului peste acest grup. Expresiile acestor funcii sunt (v. ec.
(2.200) i (2.201)):
G = G4 + G3 P4 + G2 P3 P4 + G1 P2 P3 P4

(2.202)

P = P4 P3 P2 P1 .

(2.203)

i
172

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

CIRCUIT PENTRU GENERAREA


TRANSPORTULUI ANTICIPAT (GTA)
P4

G4

C3

P3

G3

C2

P2

G2

C1

P1

G1

SUMATOR
4 BII

SUMATOR
4 BII

SUMATOR
4 BII

SUMATOR
4 BII

S16

S12

S8

S4

S13

S9

S5

C0

S1

Fig.2.115 Schema-bloc a unui sumator cu anticiparea transportului.

Din motivele artate mai sus, se realizeaz astfel funciile auxiliare G j i Pj , pentru
j = 1,K ,4 . Pe de alt parte, este de dorit ca i funciile C1 , C 2 i C3 s fie realizate ct
mai repede, utilizndu-se n acest scop circuite I-SAU-NU. n consecin, sunt necesare
formele normale disjunctive ale funciilor C1 , C 2 i C3 . Negnd expresiile (2.189)
(2.192), se obine:
C1 = G1 ( P1 + C0 ) ,

(2.204)

C 2 = G2 ( P2 + G1 )( P2 + P1 + C 0 ) ,

(2.205)

C3 = G3 ( P3 + G2 )( P3 + P2 + G1 )( P3 + P2 + P1 + C0 ) ,

(2.206)

C 4 = G4 ( P4 + G3 )( P4 + P3 + G2 )( P4 + P3 + P2 + G1 )( P4 + P3 + P2 + P1 + C0 ) . (2.207)

Din expresiile (2.204) (2.207) se obin, n urma desfacerii parantezelor i a negrii,


expresiile:
C1 = G1 P1 + G1C0 ,

(2.208)

C 2 = G2 P2 + G2 G1 P1 + G2 G1C0 ,

(2.209)

C3 = G3 P3 + G3G2 P2 + G3G2 G1 P1 + G3G2 G1C0 ,

(2.210)

C 4 = G4 P4 + G4 G3 P3 + G4 G3G2 P2 + G4 G3G2 G1 P1 + G4 G3G2 G1C0 .

(2.211)

Procednd n acelai mod cu expresiile (2.202) i (2.203), se obine:


G = G4 P4 + G4 G3 P3 + G4 G3G2 P2 + G4 G3G2 G1

(2.212)

i
173

CIRCUITE LOGICE COMBINAIONALE

P = P4 + P3 + P2 + P1 .

(2.213)

Un exemplu de circuit pentru anticiparea transportului, pentru patru poziii binare,


este circuitul integrat MSI 74182 [34], a crui schem-bloc este prezentat n figura 2.116
(n logic pozitiv (a), respectiv negativ (b)). Bornele circuitului au urmtoarele semnificaii: G 0 G 3 transporturile generate pe grupe de cte 4 bii ale numerelor adunate;
P0 P3 transporturile propagate pe grupe de cte 4 bii ale numerelor adunate; C n
intrare pentru transport; C n+ x transportul spre al doilea grup de 4 bii; C n+ y transportul spre al treilea grup de 4 bii; C n+ z transportul spre al patrulea grup de 4 bii; G
transportul generat de cele 16 perechi de bii, adunate; P transportul propagat prin cele
16 perechi de bii, adunate. Acest circuit realizeaz funciile C n+ x , C n+ y i C n+ z n formele (2.208) (2.210) (respectiv (2.204) (2.206)) i funciile G i P n formele (2.212)
i (2.213) (respectiv (2.202) i (2.203)). Se realizeaz G i P pentru a se putea folosi
acelai circuit n vederea anticiprii transportului ntre grupele de sumatoare.
Cn

Cn+ x

Cn

Cn+ x

P0

Cn+ y
Cn+ z

P0

Cn+ y
Cn+ z

G0

G0

P1
G1

P1
G1

74182

P2

74182

P2

G2

G2

P3

P3

G3

G3

(a)

(b)

Fig.2.116 Schema-bloc a circuitului pentru generarea transportului anticipat 74182.

Dac se urmrete o reducere suplimentar a timpului de adunare, se recurge la


propagarea simultan a transportului n mai multe nivele, utiliznd ieirile G i P ale
generatoarelor de transport anticipat ca intrri pentru generatoarele de transport anticipat
din al doilea nivel.
n figura 2.117 este prezentat schema-bloc a unui sumator de 64 bii, realizat cu
circuite sumatoare pentru 4 bii, cu anticiparea transportului ntre circuitele sumatoare i
ntre grupele de cte patru circuite sumatoare [34]. Ca sumator pentru 4 bii poate fi
utilizat circuitul 74181 (UAL unitate aritmetic i logic i generator de funcii (v.
2.5.8)), comandat s efectueze adunri. Circuitul pentru anticiparea transportului (GTA)
poate fi 74182.
n blocurile aritmetice ale sistemelor numerice, operaia de scdere este privit ca
o adunare, operaia realizat fiind dictat de jocul semnelor. De asemenea, n cazul efecturii operaiilor de adunare i scdere, trebuie avute n vedere i cele trei moduri de reprezentare a numerelor binare cu semn: prin mrime i semn (cod direct), prin complement fa de 2 (cod complementar), prin complement fa de 1 (cod invers) (v. Anexa C).
174

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Fig.2.117 Schema-bloc a unui sumator de 64 bii cu anticiparea transportului.

175

CIRCUITE LOGICE COMBINAIONALE

Exemplu. S se realizeze o unitate aritmetic pentru adunarea/scderea numerelor


binare cu semn reprezentate n cod direct, utilizndu-se sumatorul binar integrat 7483
[19,26].
Trebuie deci s se efectueze operaiile aritmetice:
A plus B i A minus B,
n care A i B sunt numere binare de trei bii (biii informaionali) la care se adaug bitul
de semn, adic:
A = A4 A3 A2 A1 , B = B4 B3 B2 B1 ,
cu A4 i B4 = 0 , dac numerele sunt pozitive i A4 i B4 = 1, dac numerele sunt negative. Acest mod de reprezentare binar conine att mrimea ct i semnul (v. Anexa C).
n continuare se vor prezenta, pentru un exemplu numeric cu cinci bii, regulile adunrii respectiv scderii numerelor binare reprezentate n cod direct:
a. Numerele au acelai semn:
A
B
A plus B

+ 7 0.0111
+ 6 0.0110
+13 0.1101

7
6
13

1.0111
1.0110
1.1101

7
+6
1

1.0111
0.0110

Se adun numerele i se copiaz semnele.

b. Numerele au semne diferite:


A>B
A
B
A plus B

+7
6
+1

0.0111
1.0110
0111
1001
0000
1
0001
0.0001

0111
1001
0000
1
0001
1.0001

Mrimea primului termen (A).


Se adun mrimea complementului celui
de-al doilea termen (B).
Se adaug primului bit transportul global
(sau transportul circular).
Rezultatului i se d semnul primului
termen.

B A
A
B
A plus B

+6
7
1

0.0110
1.0111
0110
1000
1110
0001
1.0001

6
+7
+1

1.0110
0.0111
0110
1000
1110
0001
0.0001

Mrimea primului termen (A).


Se adun cu mrimea complementului
celui de-al doilea termen (B).
Nu rezult transport global (circular).
Rezultatul se complementeaz (S ).
Rezultatului i se d semnul celui de-al
doilea termen.

Toate posibilitile care pot s apar la adunarea numerelor binare A i B sunt prezentate n tabelul 2.38.
176

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE


Tab.2.38 Semnul, rezultatul i transportul pentru A plus B.

A4

B4

Transp.
Posibi- Semnul global
liti rezultat C = C
3
0
>
A<B
0
0

Suma
S = A+ B

A>B

S = A+ B

A B

S = A+ B

A>B

S = A+ B

A B
A>
<B

S = A+ B

S = A+ B

Pentru scderea numerelor binare reprezentate n cod direct, procedeul uzual este de
a se schimba semnul scztorului i de a se efectua adunarea.
n mod asemntor au fost analizate cazurile care pot s apar la scdere, n tabelul
2.39.
Tab.2.39 Semnul, rezultatul i transportul pentru A minus B.

A4

B4

Transp.
Posibi- Semnul global
liti rezultat C = C
3
0

Suma

A>B

S = A+ B

S = A+ B

A B
A>
<B

S = A+ B

A>
<B

S = A+ B

A> B

S = A+ B

A B

S = A+ B

Din cele dou tabele rezult c, n funcie de semnele celor dou numere (biii A4 i
B4 ), B trebuie introdus fie direct, fie complementat iar S rezult, de asemenea, fie direct, fie complementat.
La circuitul 7483 (c.i. sumator de 4 bii, cu calculul anticipat al transportului C 4 ),
transportul C 3 nu este accesibil n exterior. Acest inconvenient poate fi depit dac, n
expresia transportului C 4 (v. ec. (2.182)):
C 4 = A4 B 4 + ( A4 + B 4)C 3 ,

(2.214)

se conecteaz borna A4 la 1 logic i borna B 4 la 0 logic lucru posibil deoarece biii de


rangul 4 ai sumatorului nu sunt folosii n acest caz de adunare cu numai 3 bii informaionali (biii A3 , A2 , A1 i B3 , B2 , B1 ). n acest mod se obine C 4 = C 3 , adic C 3 va fi
accesibil la borna C 4 .
177

CIRCUITE LOGICE COMBINAIONALE

Cu aceste noiuni definite se poate concepe, destul de rapid, o unitate aritmetic


capabil s adune i s scad numere binare cu semn, reprezentate n cod direct.
Pe baza tabelelor 2.38 i 2.39 s-au ntocmit diagramele Karnaugh din figurile 2.118
i 2.119. Diagramele Karnaugh din figura 2.118 permit obinerea expresiei funciei s care
d semnul rezultatului, sum sau diferen.
A4 B4
C3
0
1

A4 B4
00

01

11

10

C3
s

adunare

00

01

11

10

scdere

(a)

(b)

Fig.2.118 Diagramele Karnaugh pentru semn la adunare (a) i scdere (b).

A4 B4
C3

A4 B4
00

01

11

10

adunare

C3
FS

FB
(a)

00

01

11

10

scdere

FS

FB
(b)

Fig.2.119 Diagramele Karnaugh pentru complementarea lui B i S, la adunare (a) i scdere (b).

Funcia pentru semnul rezultat n urma adunrii are expresia:


s = B4 C3 + A4 C3 = B4 C3 A4 C3 ,

(2.215)

iar pentru scdere:


s = B4 C3 + A4 C3 = B4 C3 A4 C3 .

(2.216)

Circuitul logic care realizeaz funciile de mai sus este prezentat n figura 2.120,a.
Pentru implementare s-au folosit pori logice I-NU i INVERSOARE.
De asemenea, din diagramele Karnaugh prezentate n figura 2.119 se pot determina
funciile FB i FS care exprim complementarea numrului binar B, respectiv a sumei S.
Astfel, din diagrama din figura 2.119,a, se observ c, n cazul adunrii, B trebuie complementat n conformitate cu funcia:
FB = A4 B4 + A4 B4 = A4 B4 ,
178

(2.217)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

iar suma S trebuie complementat n conformitate cu funcia:


FS = A4 B4 C3 + A4 B4 C3 = ( A4 B4 )C3 .

(2.218)

n cazul scderii, B trebuie complementat cnd (v. fig. 2.119,b):


FB = A4 B4 + A4 B4 = A4 B4 = A4 B4 ,

(2.219)

iar S, cnd:
FS = A4 B4 C3 + A4 B4 C3 = ( A4 B4 )C3 .

(2.220)

Circuitul care genereaz aceste funcii este prezentat n figura 2.120,b.


Din cele de mai sus rezult c pentru B4 , B i S trebuie introduse nite inversoare
suplimentare comandate. n figura 2.120,c este prezentat un astfel de inversor (cel mai
simplu astfel de inversor este poarta logic SAU-EXCLUSIV) pentru alegerea modului
de lucru. ntr-adevr, cnd:
M = 0 , F = B4 , circuitul efectueaz adunri;

M = 1 , F = B4 , circuitul efectueaz scderi.


Inversorul comandat prezentat n figura 2.120,c nlocuiete i inversoarele din schemele logice (a) i (b) din aceeai figur.
B4 adunare

C3 A4

B4 scdere

B4 adunare

A4

C3

B4 scdere

B4

F
M = 0, F = B4

s
FB
(a)

(b)

FS

M = 1 F = B4
(c)

Fig.2.120 Schema logic pentru semn (a), pentru complementarea lui B i S (b) i pentru controlul de mod (c).

Schema logic complet, a unitii aritmetice proiectate, este prezentat n figura


2.121.
Trebuie menionat c exist nc multe posibiliti de a se efectua operaii aritmetice
folosind codul complementar, codul invers sau alte coduri dect cel binar, pentru reprezentarea numerelor.
179

CIRCUITE LOGICE COMBINAIONALE

B4
B3
B2

A1
A2
A3
A4

S1
S2

7483

B1

B4 C0
B3
S1
B2
S2
B1
A1
S3
A2
S4
A3
A4 C4

Vcc

1 k
FB

S3
Semnul s

FS

Fig.2.121 Unitate aritmetic pentru adunare ( M = 0 ) i scdere ( M = 1 ).

2.5.7 Circuite generatoare de funcii

Circuitele generatoare de funcii sunt proiectate astfel nct s poat realiza mai multe
funcii logice din care se selecteaz funcia dorit, la ieirea circuitului, prin intermediul
unor intrri de selecie [22,23].
Dup cum se cunoate, exist 4 funcii logice de o singur variabil: funcia constant 0, funcia identitate, funcia negaie i funcia constant 1. Circuitul generator de
funcii logice de o singur variabil permite efectuarea concomitent a aceleiai funcii
pentru 4 bii (v. fig. 2.122), conform tabelului 2.40.
A1
A2
A3
A4

Y1
Y2
Y3
Y4

S1
S0
Fig.2.122 Schema logic a circuitului generator de funcii de o variabil.

180

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE


Tab.2.40 Tabelul de adevr pentru circuitul generator de funcii
de o variabil.

Intrri
selecie
S1 S 0
0

0
1
1

1
0
1

Ieiri
Y1

Y2

Y3

Y4

A1
A1
1
0

A2
A2
1
0

A3
A3
1
0

A4
A4
1
0

Funcia
realizat
negaie
identitate
constant 1
constant 0

Circuitul descris poate fi utilizat n calitate de circuit de complementare fa de 1


pentru numere de 4 bii.
Se consider, n continuare, un circuit de comutare combinaional care genereaz
toate funciile logice de dou variabile, notate cu A i B. Exist 16 funcii logice de dou
variabile, prin urmare sunt necesare patru intrri de selecie, notate cu S 0 , S1 , S 2 i S 3 .
Funcia dorit este selectat n modul indicat n tabelul 2.41.
Tab.2.41 Tabelul de adevr al unui circuit generator de funcii de dou variabile.

Intrri selecie
S 3 S 2 S1 S 0
0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

F
F
F
F
F
F
F
F

Funcia
logic

Intrri selecie
S 3 S 2 S1 S 0

=A
= AB
= AB
=0
= A+B
=B
= AB + A B
= AB

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

Funcia
logic
F
F
F
F
F
F
F
F

= A+B
= AB + A B
=B
= AB
=1
= A+ B
= A+ B
=A

Pe baza tabelului 2.41 se completeaz diagrama de minimizare a funciei F, din


figura 2.123. Din aceast diagram se obine expresia funciei:
F = ABS 3 + AB S 2 + A B S1 + A BS 0 ,

(2.221)

pornind de la care se poate obine schema logic a circuitului generator de funcii, realizat cu elemente logice I-NU.
2.5.8 Unitatea aritmetic i logic

Odat cu creterea densitii de integrare a circuitelor digitale, funciile aritmetice/logice


se realizeaz n circuite tot mai complexe, care execut, pe baza unor comenzi, diverse
funcii de tip aritmetic sau logic. Aceste circuite se pot utiliza ca atare n sistemele numerice complexe sau se regsesc, ca elemente componente, n unitile de prelucrare ale sistemelor de calcul.
181

CIRCUITE LOGICE COMBINAIONALE

AS3 S 2
BS1S0

000 001 011 010 110 111 101 100

000

001

011

010

0
F

110

111

101

100

Fig.2.123 Diagrama Karnaugh pentru funcia logic F din tabelul 2.41.

n practic, circuitele generatoare de funcii logice, descrise mai sus (v. 2.5.7), se
realizeaz mpreun cu circuitele care, la rndul lor, realizeaz funciile aritmetice asupra
variabilelor de intrare, constituind aa numitele uniti aritmetice i logice (UAL-uri) [2,
15,22,23,26,28,30]. Aceste circuite multifuncionale constituie unele dintre cele mai complexe module din categoria circuitelor integrate MSI. UAL-ul este un CLC complex, cu
urmtoarele funciuni:
execut o operaie aritmetic/logic asupra unuia sau a doi operanzi de intrare cu
un anumit numr de bii;
furnizeaz indicaii asupra rezultatului.
n continuare, se vor prezenta cteva consideraii teoretice care vor permite nelegerea modului de funcionare a unui UAL [23]. Astfel, funcia (2.221) se poate exprima
sub forma:
F = A( B S 2 + BS 3 ) + A ( B S1 + BS 0 ) .

(2.222)

Avndu-se n vedere relaia:


Aa + A b = Aa A b ,

(2.223)

unde a i b sunt expresii logice, expresia (2.222) se mai poate scrie i sub forma:
F = A( B S 2 + BS 3 ) A ( B S1 + BS 0 ) .

(2.224)

innd cont de proprietile, de mai jos, ale operaiei SAU-EXCLUSIV:


a b = ab = ab,

182

(2.225)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

a b = a b,

(2.226)

a 1 = a ,

(2.227)

unde a i b sunt expresii logice, funcia (2.224) se poate scrie sub forma:
F = A( B S 2 + BS 3 ) A ( B S1 + BS 0 ) C =
= ( AB S 2 + ABS 3 ) ( A + B S1 + BS 0 ) C = X Y C ,

(2.228)

unde X i Y sunt expresiile reprezentate pe jumtatea dreapt respectiv jumtatea stng


a diagramei de minimizare din figura 2.123, iar C = 1 . Forma (2.228) a funciei F prezint mai multe avantaje. n primul rnd variabilele de selecie apar n aceast expresie
numai sub form direct (nenegat). n al doilea rnd, faptul c ea conine operatorul
SAU-EXCLUSIV, echivalent cu suma modulo 2, permite realizarea operaiilor aritmetice
asupra operanzilor X, Y i C . Astfel, dac se ia C = C , unde C este transportul pentru
rangul considerat, iar variabilele de selecie au valorile S 3 = 1 , S 2 = 0 , S1 = 0 , S 0 = 1,
funcia F devine, n urma nlocuirii acestor valori n expresia (2.228):
F = AB ( A + B ) C .

(2.229)

Expresia (2.229), care se mai poate scrie i sub forma F = A B C , este o form a
sumei pentru un rang. Se observ c, n acest caz, expresia X devine condiia de generare
a transportului n rangul respectiv (G), iar expresia Y, condiia de propagare a transportului peste rangul respectiv (P). Acesta este un alt avantaj al acestei forme de exprimare a
funciei F, deoarece funciile auxiliare G i P pot fi utilizate i pentru generarea transportului anticipat, n cazul cnd se dorete realizarea operaiilor aritmetice. Un ultim
avantaj al acestei forme de exprimare a funciei F l constituie i faptul c se pot folosi n
circuitul care o realizeaz elemente logice I-SAU-NU, deoarece, n conformitate cu proprietatea (2.226) expresia (2.228), se poate scrie sub forma:
F = ( ABS 3 + AB S 2 ) ( A + B S1 + BS 0 ) C = X Y C .

(2.230)

Schema logic a circuitului care realizeaz funcia F, pe baza expresiei (2.230) este
dat n figura 2.124. Pentru S 3 = 1 , S 2 = 0 , S1 = 0 , S 0 = 1, circuitul din figura 2.124
realizeaz funcia:
F = A B C .

(2.231)

Expresia (2.231) reprezint suma aritmetic a variabilelor binare A, B i C , dac se


consider C transportul pentru rangul respectiv, notat cu C:
F = A plus B plus C ,

(2.232)

iar dac se ia C = 1 , ea reprezint funcia logic denumit COINCIDEN:


F = A B 1 = A B .

(2.233)
183

CIRCUITE LOGICE COMBINAIONALE

S3

S2
C

S1
S0

A
Fig.2.124 Schema logic a circuitului care realizeaz funcia F.

Modul de lucru al circuitului aritmetic, respectiv logic, se stabilete prin intermediul


unei variabile de comand, notat cu M. Se face convenia ca pentru M = 1 s se realizeze funcia logic, iar pentru M = 0 , funcia aritmetic. n aceast situaie se poate scrie
urmtoarea expresie:

C = M + MC , sau C = M C .

(2.234)

Unitile aritmetice i logice se realizeaz, sub form integrat, pentru mai multe
ranguri binare, de exemplu patru. Se observ c pentru valorile considerate ale variabilelor de selecie, expresiile X i Y reprezint negatele condiiilor de generare, respectiv de
propagare a transportului. Prin urmare, pentru ca variabila C , din expresia (2.231) s
reprezinte, n cazul efecturii operaiei aritmetice de nsumare, transportul pentru un
anumit rang i, aceasta se poate exprima, pe baza relaiilor (2.194) (2.197), sub forma:
C0 = M C0 ,

(2.235)

C1 = MY1 + M X 1C0 ,

(2.236)

C 2 = MY2 + M X 2Y1 + M X 2 X 1C0 ,

(2.237)

C3 = MY3 + M X 3Y2 + M X 3 X 2Y1 + M X 3 X 2 X 1C0 ,

(2.238)

C 4 = MY4 + M X 4Y3 + M X 4 X 3Y2 + M X 4 X 3 X 2Y1 + M X 4 X 3 X 2 X 1C0 ,

(2.239)

unde C0 reprezint transportul iniial. Din relaiile (2.235) (2.239), rezult c la ieirea
unui asemenea circuit se obine, atunci cnd M = 0 :

Fi = Ai Bi Ci 1 ,

(2.240)

unde Ci 1 este transportul pentru rangul i ( i = 1,K ,4 ), respectiv suma F a celor dou
numere de cte patru cifre binare, A i B, cu transportul iniial C0 :
184

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

F = A plus B plus C0 .

(2.241)

n mod asemntor se pot obine operaiile aritmetice i logice i pentru celelalte


combinaii de valori ale variabilelor de selecie.
Un exemplu de circuit integrat realizat n modul prezentat mai sus este unitatea
aritmetic i logic/generatorul de funcii de patru bii 74181, produs de firma Texas
Instruments [34] i a crei schem-bloc este prezentat n figura 2.125 (s-a reprezentat
att cazul n care semnalele de date sunt active pe nivel 0 logic, (a), ct i cazul n care
acestea sunt active pe nivelul 1 logic, (b)). Intrrile i ieirile UAL-ului au urmtoarele
semnificaii:
intrrile operanzilor ( A, B) = ( A0 A3, B0 B3) ;
intrarea pentru bitul de transport C n ;
ieirea funciei F = ( F 0 F 3) ;
ieirea pentru bitul de transport C n+ 4 ;
ieirea indicatoare a strii de egalitate a operanzilor ( A = B );
ieiri pentru transport anticipat, P, G;
comenzi:
selectarea funciei S = ( S 0 S 3) ;
comanda modului M: M = 0 = mod aritmetic,
M = 1 = mod logic.
A0
A1
A2
A3
B0
B1
B2
B3
Cn
S0
S1
S2
S3
M

A0
A1
A2
A3
B0

F0
F1
F2
F3

B1
B2
B3
Cn
S0
S1
S2
S3
M

74181
A=B
Cn + 4
P
G

F0
F1
F2
F3
74181

(a)

A=B
Cn+ 4
P
G

(b)

Fig.2.125 Unitate aritmetic i logic (UAL) de 4 bii.

Tabelele 2.42,a i b descriu complet funcionarea circuitului att pentru cazul n


care semnalele sunt active pe nivelul 0 logic (a) ct i n cazul n care acestea sunt active
pe nivelul 1 logic (b).
185

CIRCUITE LOGICE COMBINAIONALE


Tab.2.42,a Tabelul de adevr pentru o unitate aritmetic i logic de 4 bii (date active pe zero logic).

Selecia
S3

S2

S1

S0

0
0
0

0
0
0

0
0
1

0
1
0

0
1
1

1
0
0

1
0
0

1
0
1

1
1
1
1

0
1
1
1

1
0
0
1

1
0
1
0

Date active pe zero logic


M = 1:
M = 0 : operaii aritmetice
funcii
Cn = 0
Cn = 1
logice
(fr transport)
(cu transport)
F
=
A
MINUS
1
F=A
F=A
F
=
AB
MINUS
1
F
= AB
F = AB
F = AB MINUS 1
F = AB
F = A+B
F = MINUS
1
(2
F = ZERO
F =1
COMPLEMENT)
F = A PLUS ( A + B )
F = A PLUS ( A + B ) PLUS
F = A+ B
1
F=B
F = AB PLUS ( A + B )
F = AB PLUS ( A + B ) PLUS
1
F
=
A
MINUS
B
F = A MINUS B
F = A B
MINUS 1
F = A+ B
F = A+ B
F = ( A + B ) PLUS 1
F = A PLUS ( A + B )
F = A PLUS ( A + B ) PLUS 1
F = AB
F = A B
F = A PLUS B
F = A PLUS B PLUS 1
F=B
F = AB PLUS ( A + B )
F = AB PLUS ( A + B ) PLUS
1
F = ( A + B ) PLUS 1
F = A+ B
F = A+ B
F =0
F = A PLUS A *)
F = A PLUS A PLUS 1
F = AB PLUS A
F = AB PLUS A PLUS 1
F = AB
F = AB
F = AB PLUS A
F = AB PLUS A PLUS 1
F = A PLUS 1
F=A
F=A

*) Fiecare bit este deplasat n urmtoarea poziie semnificativ.

186

a)

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE


Tab.2.42,b Tabelul de adevr pentru o unitate aritmetic i logic de 4 bii (date active pe unu logic).

Selecia
S3

S2

S1

S0

0
0
0

0
0
0

0
0
1

0
1
0

0
0

1
1

0
0

0
1

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

Date active pe unu logic


M = 1:
M = 0 : operaii aritmetice
funcii
Cn = 1
Cn = 0
logice
(fr transport)
(cu transport)
F = A PLUS 1
F=A
F=A
F = ( A + B ) PLUS 1
F = A+ B
F = A+ B
F = ( A + B ) PLUS 1
F = A+ B
F = AB
F =0
1
(2
F = MINUS
F = ZERO
COMPLEMENT)
F = A PLUS AB
F = A PLUS AB PLUS 1
F = AB
F=B
F = ( A + B) PLUS AB
F = ( A + B) PLUS AB PLUS 1
F = A B
MINUS
B
F=A
F = A MINUS B
MINUS 1
F = AB MINUS 1
F = AB
F = AB
F = A PLUS AB
F = A PLUS AB PLUS 1
F = A+B
F = A PLUS B
F = A PLUS B PLUS 1
F = A B
F=B
F = ( A + B ) PLUS AB
F = ( A + B ) PLUS AB PLUS 1
F = AB MINUS 1
F = AB
F = AB
F = A PLUS A *)
F = A PLUS A PLUS 1
F =1
F = ( A + B ) PLUS A
F = ( A + B ) PLUS A PLUS 1
F = A+ B
F = A+ B
F = ( A + B ) PLUS A
F = ( A + B ) PLUS A PLUS 1
F = A MINUS 1
F=A
F=A

b)

*) Fiecare bit este deplasat n urmtoarea poziie semnificativ.

187

CIRCUITE LOGICE COMBINAIONALE

Circuitul integrat 74181 va avea datele active pe nivelul 1 logic dac marcarea
pinilor este interpretat dup cum urmeaz (v. i fig. 2.125):
Date active pe
nivelul 0 logic
(Tabelul 2.42,a)
Date active pe
nivelul 1 logic
(Tabelul 2.42,b)

A0

B0

A1

B1

B2

A3

B3

F3

A2
Cn

F0

F1

F2

C n+4

A0

B0

A1

B1

A2

B2

A3

B3

F0

F1

F2

F3

Cn

C n+4

Acest circuit este astfel proiectat nct s genereze transportul C n+ 4 16:


C n+ 4 = Y3 + X 3Y2 + X 3 X 2Y1 + X 3 X 2 X 1Y0 + X 3 X 2 X 1 X 0 C n ,

(2.242)

condiia de generare a transportului n cele patru ranguri:

G = X = X 3 X 2 X1 X 0

(2.243)

i condiia de propagare a transportului peste cele patru ranguri:

P = Y = Y3 + X 3Y2 + X 3 X 2Y1 + X 3 X 2 X 1Y0 .

(2.244)

Ieirea A = B a UAL-ului permite detectarea situaiilor de egalitate a operanzilor,


atunci cnd S 3 S 2 S1S 0 = 0110 , UAL-ul este n mod aritmetic ( M = 0 ), cu funcia de
scdere i C n = 1 .
UAL-ul poate realiza, de asemenea i funcia de deplasare la stnga, F = A PLUS B
( S 3 S 2 S1 S 0 = 1100 ), cu sau fr transport, ceea ce permite utilizarea sa n circuite pentru
nmulire, respectiv mprire.
UAL-urile pot fi conectate n paralel, pentru a se forma un UAL pentru operanzi de
lungimi mai mari; n acest caz C n este transportul de la UAL-ul de rang inferior iar C n+ 4
transport de ieire spre UAL-ul de rang imediat superior. n cazul utilizrii unui circuit
extern de transport anticipat (v. fig. 2.117), atunci intrarea C n este furnizat de GTA, iar
P i G se conecteaz la GTA.
2.5.9 Circuite multiplicatoare

Circuitele pentru nmulirea rapid a numerelor binare se realizeaz, de obicei, pe principiul circuitelor iterative (v. 2.5.6) [2,23,26,28,30]. De exemplu, n cazul nmulirii a
dou numere binare cu patru poziii A0 , A1 , A2 i A3 i B0 , B1 , B2 i B3 , se obine un produs cu 8 poziii binare P0 , P1 , P2 , P3 , P4 , P5 , P6 i P7 . Simbolic, operaia de nmulire are
loc conform regulii urmtoare:
16

188

Deoarece la circuitul integrat 74181 cifrele celor doi operanzi, A i B, sunt notate cu A0A3, respectiv
B0B3, indicii zecimali ai expresiilor X i Y sunt mai mici cu o unitate dect n cazul general tratat (v., de
exemplu, ec. (2.239)).

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

A3
B3

P5

P6

A0
B0

A1
B1

A3 B0 A2 B0 A1 B0 A0 B0
A3 B1 A2 B1 A1 B1 A0 B1
A2 B2 A1 B2 A0 B2
A1 B3 A0 B3

A3 B2
A3 B3 A2 B3
P7

A2
B2

P4

P3

P2

P1

P0

nsumarea produselor Ai B j se face innd cont i de semnalul de transport ce poate apare


la fiecare sum binar.
Realizarea celor opt funcii Pi ( i = 0,K ,7 ), direct, ca funcii de cele 8 variabile
( A0 A3 ) i ( B0 B3 ) este destul de dificil. Din acest motiv se face nsumarea denmulitului la produsul parial, fie combinaional, ca un circuit iterativ alctuit din mai multe
sumatoare paralele, fie secvenial cu un singur sumator paralel. Se consider primul caz,
iar schema logic a circuitului iterativ care realizeaz aceast nmulire este prezentat n
figura 2.126.
B0"0" A3
"0" A0
"0" A2
"0" A1
C **
(celula)
T04
C03
C02
C01
C00
"0"
P13
B1 A3 P12 A2 P11 A1 P10 A0
T14
B2

A3
C23

B3

A3

C33

C13
P22

A2

C22

A2
C32

T13

P21

A1

T11

C11
P20

C21
A1

C31

T12

C12

T10

"0"
P0

A0

C20

"0"
P1

A0
C30

C10

"0"
P2

P7

P6

P5

P4

P3

P0,i = 0, unde i = 0 3 (produsul parial iniial este nul);


T j ,0 = 0, unde j = 0 3 (transportul iniial este nul);
T j ,imax +1 = Pj +1,imax (produsul parial aplicat celulei de rang maxim de pe un rnd
este egal cu transportul de la celula de rang maxim de pe rndul
precedent).
Fig.2.126 Circuit iterativ pentru nmulirea a dou numere cu cte 4 cifre binare.

189

CIRCUITE LOGICE COMBINAIONALE

Primul rnd de celule, din acest circuit, nsumeaz produsul denmulitului ( A3 A2 A1 A0 ),


cu cifra cea mai puin semnificativ a nmulitorului, B0 , la produsul parial iniial (0) i
genereaz primul produs parial. Rndul urmtor de celule adun la acest produs parial
denmulitul nmulit cu urmtoarea cifr a nmulitorului ( B1 ) i genereaz urmtorul
produs parial, .a.m.d. Pentru a se proiecta un multiplicator/nmulitor combinaional
pentru cuvinte de n bii va trebui s se interconecteze n 2 celule, ntr-o matrice bidimensional sugerat de algoritmul de nmulire binar a dou cuvinte de n bii.
Fiecare celul din cadrul circuitului iterativ din figura 2.126 este un circuit care realizeaz nmulirea a dou cuvinte de un bit (nmulitorul/multiplicatorul elementar).
Structura acestui circuit trebuie s satisfac trei cerine:
s realizeze operaia propriu-zis de nmulire a celor doi bii;
s asigure operaia de adunare presupus de algoritmul de nmulire al numerelor
reprezentate pe mai muli bii;
s permit interconectarea ntr-o reea bidimensional care asigur propagarea
operanzilor i a rezultatelor pariale astfel nct s se poat realiza combinaional operaia
de nmulire.
Ai B j Pj ,i

Cji
Pj ,i

Ai B j

An

Bn

Cji

Cn

T j ,i +1

SUMATOR C
COMPLET n1
Sn

T j ,i
T j ,i

Pj +1,i 1
T j ,i +1
Pj +1,i 1
(a)

(b)

Fig.2.127 Schema-bloc (a) i schema logic (b) a unei celule Cji .

O asemenea celul, a crei schem logic este prezentat n figura 2.12717, nsumeaz
cifra A i a denmulitului, dac cifra B j a nmulitorului este 1, cu cifra de acelai rang a
17

190

De aceast dat, n desene i n text, se va folosi pentru transport notaia T i nu C, ca pn n acest


moment, pentru a nu se confunda cu notaia pentru celul.

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

produsului parial, Pj ,i (rezultat de pe rndul precedent) i cu transportul T j ,i (provenit de


la o nsumare asemntoare efectuat pe rangul precedent ( i 1 ) al aceluiai rnd).
1A

1A

1B
1C

1B
1C

1D
2A
2B

74284

2C

Y4

1D

Y5

2A

Y6

2B

Y7

2C

2D

2D

GA

GA

GB

GB

Y0
Y1

74285

Y2
Y3

(a)

(b)

Fig.2.128 Schema-bloc a unui multiplicator binar paralel.

INTRRI BINARE
OPERAND 2 OPERAND 1
23 2 2 21 20 23 2 2 21 20

2D 2C 2B 2A 1D 1C 1B 1A
GA
GB

2D 2C 2B 2A 1D 1C 1B 1A
GA
GB

74284

74285

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

27

26

25

24

23

22

21

20

PRODUS
IEIRI BINARE
Fig.2.129 Circuit pentru nmulirea a dou numere binare cu cte patru cifre.

191

CIRCUITE LOGICE COMBINAIONALE

192

ALTE TIPURI DE CIRCUITE LOGICE COMBINAIONALE

Ca rezultat al acestei nsumri, celula genereaz cifra de rangul i a produsului


parial urmtor, Pj +1,i 1 i transportul pentru rangul superior T j ,i +1 . n concluzie, se poate
aprecia c circuitele care realizeaz nmulirea rapid a numerelor binare se pot obine
folosindu-se elemente integrate construite dup principiul prezentat mai sus. Un exemplu
de element integrat de acest tip l reprezint circuitele integrate 74284 i 74285 [34], cu
schemele-bloc date n figura 2.128, care genereaz partea mai semnificativ, respectiv
mai puin semnificativ a produsului a dou numere binare de cte patru cifre (v. fig.
2.129, [34]).
Aceste circuite pot fi folosite i pentru realizarea produsului a dou numere cu mai
mult de patru poziii binare fiecare, dac se realizeaz subproduse cu pri de cte patru
cifre ale acestora, care se nsumeaz apoi decalate, n funcie de ponderea lor. Deci
expandarea funciei de multiplicare cu astfel de circuite nu este direct fiind necesare circuite adiionale. Spre exemplu, un multiplicator de numere de opt bii cu 16 ieiri necesit 16 capsule, dintre care numai opt sunt multiplicatoare. n figura 2.130 este prezentat
o schem pentru nmulirea a dou numere pozitive de cte opt cifre fiecare [34]. Cei doi
operanzi sunt mprii n cte dou pri, de patru cifre fiecare, care se nmulesc ntre ele
rezultnd patru subproduse, SUBP1, SUBP2, SUBP3, SUBP4. Partea mai puin semnificativ (p.m.p.s.) din SUBP1 reprezint primele patru cifre m.p.s. din produs. Urmtoarele patru cifre mai semnificative se obin nsumnd, n sumatorul SUM1, format din
patru sumatoare complete pentru un rang, p.m.p.s. din SUBP2, partea mai semnificativ
(p.m.s.) din SUBP1 i p.m.p.s. din SUBP3, iar apoi asimilnd transporturile, n rangurile
corespunztoare ponderii acestora, cu ajutorul sumatorului pentru patru cifre binare,
SUM2 (sumatoarele 2,4 i 5 sunt de fapt circuite UAL). P.m.s. a subprodusului SUBP2,
p.m.s a produsului SUBP3 i p.m.p.s. a subprodusului SUBP4 sunt tratate asemntor n
sumatoarele SUM3 (format, de asemenea, din patru sumatoare complete pentru un rang)
i SUM4. Sumatorul SUM5 adun p.m.s. a subprodusului SUBP4 i transportul provenit
din rangurile inferioare. Pentru ca timpul de efectuare a nmulirii s fie afectat ct mai
puin de timpul de propagare a transportului, n grupul sumatoarelor SUM2, SUM4 i
SUM5 se folosete o schem de anticipare a transportului.
Aceast schem este expandabil pentru implementarea unor circuite multiplicatoare de N M bii.

193

ANEXA A

REPREZENTAREA PE HIPERCUB A FUNCIILOR BOOLEENE


O funcie boolean de n variabile poate fi reprezentat pe un hipercub n-dimensional cu
latura egal cu unitatea, n care fiecrei variabile i corespunde una dintre cele n dimensiuni, dac se adopt un mod de marcare distinct a vrfurilor n-hipercubului ale cror
coordonate sunt identice cu n-uplele aplicate de funcie n zero i a vrfurilor n-hipercubului ale cror coordonate sunt identice cu n-uplele aplicate de funcie n 1 [20,23].
Pe cubul din figura A.1 s-a reprezentat funcia boolean:
f

FCD

( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 ,

marcndu-se printr-un punct vrfurile crora le corespunde valoarea 1 a funciei.


Urmrind figura A.1 se vede c
funcia boolean poate fi reprezentat nu
numai prin vrfurile cubului ci i prin
muchiile sale nsemnate cu linie ngroat
care unesc dou vrfuri marcate, sau prin
feele sale delimitate numai de muchiile
nsemnate. De exemplu, cele dou vrfuri
de coordonate x1 = 1 , x2 = 1 i x3 = 1 ,
respectiv x1 = 1 , x2 = 1 i x3 = 0 pot fi
reprezentate i prin muchia paralel cu
axa x3 , pentru care x1 = 1 , x2 = 1 .

(A.1)

x3
0-1

001 -01
--1

011
-11
000

(x1 , x 2 , x3 )
101

1-1
111
11- 100
x1

010

110

x2
Fig.A.1 Reprezentarea pe hipercub a funciei booleene de
trei variabile.

Se consider vrfurile hipercubului n-dimensional ca subcuburi 0-dimensionale,


notate prin n-uple. Muchiile hipercubului n-dimensional se consider subcuburi 1-dimensionale i sunt notate cu partea comun a celor dou subcuburi 0-dimensionale din care
este format. Pe poziia variabilei care difer n cele dou subcuburi componente se scrie
simbolul . Feele hipercubului n-dimensional se consider subcuburi r-dimensionale
formate din 2 r vrfuri adiacente i sunt notate cu partea comun a celor 2 r subcuburi 0195

ANEXA A

dimensionale incluse. Pe poziiile variabilelor care difer n cele 2 r subcuburi 0-dimensionale se scriu simboluri .
Pentru funcia f din figura A.1 exist mai multe mulimi de subcuburi prin care se
poate reprezenta. Una dintre acestea este mulimea subcuburilor 0-dimensionale:

001
011

f ( x1 , x2 , x3 ) = 101 ,
110

111

(A.2)

corespunztoare FCD a funciei.


Alte dou mulimi de subcuburi care reprezint funcia f sunt mulimea de subcuburi
1-dimensionale:
0 1
01

f ( x1 , x2 , x3 ) = 1 1 ,
11

11

(A.3)

i mulimea de subcuburi de diferite dimensiuni:


1
f ( x1 , x 2 , x3 ) =
.
11

(A.4)

Exist mai multe mulimi de subcuburi care pot reprezenta o funcie. Important
pentru reprezentarea funciei este mulimea subcuburilor 0-dimensionale i mulimea cu
numr minim de elemente.
Orice mulime de subcuburi care cuprinde toate vrfurile n-hipercubului corespondente n-uplelor unei funcii de n variabile aplicate n 1 este o acoperire a funciei. Pentru
a se obine o acoperire cu numr ct mai mic de elemente trebuie luate subcuburi de dimensiuni ct mai mari.
Un subcub al funciei care nu este inclus ntr-un alt subcub de dimensiune mai mare
este un implicant prim al funciei. Mulimea tuturor implicanilor primi ai unei funcii
formeaz o acoperire a funciei deoarece include toate n-uplele aplicate de funcie n 1.
Elementele mulimii minime se aleg dintre implicanii primi ai funciei.
De exemplu, cei doi implicani primi ai funciei f reprezentat pe cubul din figura
A.1, subcuburile 1 i 11 , formeaz o acoperire a funciei.
Un implicant prim care conine un subcub 0-dimensional care nu mai este cuprins n
nici un alt implicant prim al funciei devine implicant prim esenial.
Urmrind figura A.1 se vede c att subcubul 1 ct i subcubul 11 reprezint
implicani primi eseniali ai funciei.
Orice acoperire format numai din implicanii primi eseniali este o acoperire cu
numr mimim de elemente deoarece nlturarea oricruia din elementele sale ar face s
nu mai fie o acoperire, s-ar elimina cel puin un subcub 0-dimensional al funciei.
196

ANEXA B

STRUCTURI TTL/CMOS DE IEIRE


Proiectanii de circuite integrate au adus numeroase modificri circuitului TTL respectiv
CMOS de baz, pentru a realiza pori logice dedicate anumitor aplicaii. n continuare, se
vor descrie doar dou dintre cele mai cunoscute variante de structuri TTL/CMOS de ieire [2,23,27,30].
Ieiri cu colectorul/drena n gol
Porile logice TTL la care etajul de ieire este de tip totem pole (n contratimp) prezint
un neajuns important i anume acela c ieirile acestor pori nu pot fi cuplate n paralel.
Aceast caracteristic constituie unul dintre dezavantajele porii TTL, ntruct multe dintre sistemele numerice actuale sunt organizate pe magistrale de informaie, la care se leag ieirile unui numr mare de circuite.
n figura B.1 se prezint schema electric a porii fundamentale TTL (poarta I-NU
cu dou intrri). Aceste pori nu sunt adaptate pentru o funcionare ca cea descris mai
sus, datorit impedanelor mici de ieire ale circuitului. Se consider dou asemenea pori
ale cror ieiri sunt cuplate n paralel (v. fig. B.2). Dac ambele ieiri sunt simultan n
starea Low (0 logic), sau simultan n starea High (1 logic), circuitul funcioneaz corect.
n cazul ns n care o ieire se afl n 0 i alta n 1, se realizeaz punerea practic la
mas a sursei (scurtcircuitarea acesteia prin intermediul tranzistoarelor aflate n conducie, unul aparinnd porii aflate n starea High, cellalt aparinnd porii aflate n starea
Low i prin linia comun de magistral la care sunt legate ieirile celor dou pori); acest
lucru are drept consecin parcurgerea tranzistorului T4 de un curent mare, limitat numai
de diod ( D ) i de rezistena R4 (de valoare sczut); un asemenea regim se menine
pn cnd nivelele logice se schimb. Aceast situaie atrage dup sine creterea puterii
absorbite de la sursa de alimentare i, ceea ce este mai important, disiparea unei puteri
excesiv de mari n tranzistoarele T3 , T4 i n rezistena R4 . Ca urmare, parametrii porii
se modific (dac tranzistoarele nu se distrug prin ambalare termic) pierzndu-se imunitatea la zgomot (se altereaz nivelele logice 0 i respectiv 1).
197

ANEXA B

x1
x2

Vcc (+5V)

R1

E1

x1
x2

R2

T1

T4
D

E2 T2

D1

R4

f = x1 x2

T3

D2
R3

Fig.B.1 Poarta fundamental TTL (I-NU).

Linie de magistral
Vcc ( +5V )
Poarta 1

R4

R4

T4

T4

D
T3

D
1

T3

Poarta 2

Poarta 1 Poarta 2
L
L
H
H

L
H *)
L *)
H

*) scurtcircuit
Fig.B.2 Etajele de ieire a dou pori I-NU TTL cuplate n paralel.

Pentru a se cupla, totui, n paralel mai multe pori se utilizeaz circuite de tip cu
colector n gol/deschis, OC (Open Collector). La aceste pori nu mai apar, n schema
etajului de ieire, tranzistorul T4 , dioda D i rezistena R4 (lipsete repetorul pe emitor
din etajul n contratimp v. fig. B.3). Colectorul tranzistorului T3 este conectat la sursa
de alimentare, singur sau mpreun cu colectoarele altor pori TTL OC, prin intermediul
unei rezistene de sarcin Rc (v. fig. B.4) (circuitele TTL OC, genereaz corect potenialul cobort la ieire (0 logic), dar necesit o rezisten conectat la sursa de alimentare
(pull-up resistor rezistor de forare n starea High) pentru a genera nivelul logic 1). La
aceeai magistral se leag i intrrile porilor comandate (de exemplu, dou sau mai
multe pori I-NU TTL). Aceste intrri sunt legate la emitoarele tranzistorului multiemitor T1 , tranzistor ce realizeaz funcia I-NU n schema fiecrei pori I-NU (v. fig.
B.1).
Potenialul pe o linie a magistralei va fi High (1 logic) numai atunci cnd toate
ieirile porilor conectate (cablate) la linia respectiv de magistral sunt n starea High (1
logic). n schimb, potenialul pe linia magistralei va fi Low (0 logic) cnd cel puin una
198

ANEXA B

dintre ieirile porilor conectate (cablate) la linia de magistral este n starea Low (0
logic).
Vcc ( +5V )
x1
x2

Vcc ( +5V )

x1
x2
D1

E1

R1

R2

Rc
T31

T1
T32

E2 T2

Linie de
magistral
T11
T12

f = x1 x2
T3

D2
R3

Fig.B.3 Poart I-NU TTL cu colectorul n gol.

T3m

T1n

Fig.B.4 Cablarea porilor cu colectorul n gol.

Aceast conexiune (cablat) realizeaz funcia I, de unde i denumirea de Icablat (wired AND). n cazul n care semnalele se consider active pe 0 logic (deci n
logic negativ), conexiunea realizeaz funcia SAU-cablat (wired OR). Deoarece se
realizeaz funciile logice I respectiv SAU fr a exista fizic o poart I respectiv SAU,
n literatur se mai folosete i denumirea de I-virtual respectiv SAU-virtual.
Calculul valorii rezistenei de sarcin Rc se face acoperitor, innd cont de variaia
tensiunii de alimentare ( Vcc ), de asigurarea marginilor de zgomot ( M H i M L ) i de asigurarea nivelelor de tensiune permise la intrarea porilor, att pentru starea High ( VIH )
ct i pentru starea Low ( VIL ). n acest mod rezult domeniul pentru alegerea valorii
rezistenei Rc , care trebuie s fie cuprins n intervalul:
Rc min Rc Rc max .

(B.1)

Aceste valori limit se obin innd cont de curenii debitai de porile conectate n
paralel i de curenii absorbii de porile comandate i sunt:
Rc max

Vcc min VOH min


m I OH max + n I IH max

(B.2)

Rc min

Vcc max VOL max


,
I OL max n I IL max

(B.3)

unde:
Vcc
tensiunea sursei de alimentare (tensiunea de colector);
VOH min valoarea minim garantat de catalog a tensiunii de ieire, n starea H;
VOL max valoarea maxim garantat de catalog a tensiunii de ieire, n starea L;

199

ANEXA B

I OH max curentul maxim rezidual prin tranzistorul blocat al etajului de ieire al unei
pori aflate n starea H;
I OL max curentul maxim admis absorbit de etajul de ieire al unei pori, n starea L;
I IH max curentul maxim absorbit de intrarea unei pori comandate, n starea H;
I IL max curentul maxim generat de intrarea unei pori comandate, n starea L;
n
numrul intrrilor de pori comandate legate la magistral;
m
numrul ieirilor de pori de comand cablate legate la magistral.
Se constat c valoarea minim a rezistenei de sarcin nu depinde de numrul porilor cuplate n paralel.
Pentru simplificarea proiectrii schemelor logice care folosesc funcia I-cablat, n
cataloage se dau tabele de dimensionare a rezistenei Rc , n funcie de numrul porilor
cu colector n gol i numrul porilor TTL comandate.
Tabelul de mai jos prezint valorile acestor rezistene de sarcin, calculate n urmtoarele condiii: Vcc = 5V , I OH max = 250 A , I OL max = 16mA , I IL max = 1,6mA , I IH max =
= 40A , VOL max = 0,4V , VOH min = 2,4V .
Tab.B.1 Tabel de dimensionare a rezistenei de sarcin Rc .

Numrul
de pori
comandate
(n)
1
2
3
4
5
6
7
8
9
10

Numrul porilor cu colectorul n gol (m)


Valoarea rezistenei de sarcin Rc []
1
8965
7878
7027
6341
5777
5306
4905
4561
4262
4000*

2
4814
4482
4193
3939
3714
3513
3333
3170
3023
x

3
3291
3132
2988
2857
2736
2626
2524
2429
x
x

Rc max []
4
2500
2407
2321
2241
2166
2096
2031
1969
x
x

5
2015
1954
1897
1843
1793
1744
1699
1656
x
x

6
1688
1654
1604
1566
1529
1494
1460
x
x
x

7
1452
1420
1390
1361
1333
1306
1280
x
x
x

Rc min []
1 7
319
359
410
479
575
718
958
1437
2875
4000*

x caz nerecomandat sau imposibil;


* valoarea teoretic este .

Implementarea funciilor logice cu pori OC conduce, n general, la scheme logice


mai avantajoase din punctul de vedere al numrului de nivele logice i al timpului de
propagare.
n figura B.5 se prezint trei variante de implementare ale funciei:
f

FMC

( x1 ,K , x7 ) = ( x1 + x 2 )( x3 + x4 + x5 )( x6 + x7 ) =
= x1 x 2 + x3 x 4 x5 + x6 x7 = x1 x 2 x3 x 4 x5 x6 x7 .

(B.4)

Varianta de implementare din figura B.5,a necesit o logic pe trei nivele (se obine
o ntrziere mare). Aceeai funcie se implementeaz n figura B.5,b cu pori logice INU OC. Circuitul realizeaz funcia I ntre ieirile porilor I-NU. Se constat c circuitul OC realizeaz funcia I-SAU-NU pentru grupurile de variabile de la intrrile por200

ANEXA B

ilor I-NU. Aceasta explic denumirea improprie de SAU-cablat care nu este corect deoarece adevrata funcie realizat este I-cablat. Sinteza schemei logice se poate face i
plecnd de la forma minim disjunctiv a negatei funciei.
+ Vcc
Rc
x2
x4

x7

x1

x2

x3
f

x5
x6

x4

x7

(a)

x2
x4

x7

x1

I - cablat

x3

x5
x6

(b)

x1
x3

x5
x6
(c)

Fig.B.5 Variante de implementare a funciei din exemplu: (a) varianta de implementare


cu pori logice I-NU clasice; (b) realizarea funciei cu pori logice I-NU cu
colectorul n gol; (c) schema echivalent cu o poart logic I-SAU-NU.

Circuitul cu colectorul n gol are urmtoarele dezavantaje:


impedan de ieire mare n starea High (rezistena montat n colector fa de cea
de ieire a unui repetor pe emitor la structura n contratimp);
fronturi i timpi de propagare mari, mai ales la comutarea 0 1, motiv pentru
care funcioneaz la o vitez mai mic dect viteza maxim de lucru a circuitelor TTL cu
ieire n contratimp;
imunitate sczut la zgomot i necesit o rezisten suplimentar calculabil de
fiecare dat, n funcie de condiiile de lucru.
O configuraie similar, numit ieire cu drena n gol, se regsete la familiile de
circuite logice CMOS. Unele pori CMOS se fabric i n varianta cu drena n gol, OD
(Open Drain). Aplicaiile porilor CMOS cu drena n gol i calculele necesare sunt similare celor prezentate pentru porile TTL cu colectorul n gol.
Ieiri cu trei stri
Ieirile logice au dou stri normale, Low (L) i High (H), corespunztoare valorilor
logice 0 i 1. Unele ieiri prezint ns i o a treia stare, care nu este de fapt o stare logic
201

ANEXA B

numit stare de nalt impedan, HZ (High Z) sau flotant. ntr-o asemenea stare, ieirea
se comport de parc nici n-ar fi conectat cu restul circuitului, cu excepia prezenei unui
curent rezidual slab, care poate circula ctre sau dinspre borna de ieire. Prin urmare, o
ieire se poate afla ntr-una dintre cele trei stri: 0 logic, 1 logic i HZ, numindu-se n
acest caz ieire cu trei stri logice (!), TSL (Tri/Three State Logic).
Dispozitivul de baz cu trei stri este circuitul tampon cu trei stri, numit i circuit
de comand cu trei stri (driver). n figura B.6 sunt prezentate simbolurile logice pentru
patru variante constructive ale circuitului tampon cu trei stri. Simbolul de baz este cel
de circuit tampon neinversor (v. fig. B.6,a,b) sau inversor (v. fig. B.6,c,d). Semnalul suplimentar, din partea superioar a simbolului reprezint o intrare de activare a celor trei
stri, care poate fi activ n High (v. fig. B.6,a,c) sau n Low (v. fig. B.6,b,d). Cnd
intrarea de activare este confirmat, dispozitivul se comport ca un circuit tampon sau
ca un inversor obinuit. Cnd intrarea de activare este negat, ieirea dispozitivului este
flotant; cu alte cuvinte ieirea trece n starea de nalt impedan, echivalent cu deconectarea, iar funcional pare c nici nu exist.

(b)

(a)

(d)

(c)

Fig.B.6 Diverse tipuri de circuite tampon cu trei stri: (a) neinversor, cu intrarea de activare cu nivel
activ High; (b) neinversor, cu intrarea de activare cu nivel activ Low; (c) inversor, cu intrarea
de activare cu nivel activ High; (d) inversor, cu intrarea de activare cu nivel activ Low.

n figura B.7,a se prezint schema electric a unui inversor cu trei stri TTL, mpreun cu simbolul logic (v. fig. B.7,b) i tabelul de adevr (v. fig. B.7,c). Se reamintete
c n circuitul de ieire n contratimp al unei pori TTL (v. fig. B.1), n permanen unul
dintre tranzistoare ( T3 sau T4 ) conduce.
Vcc ( +5V )
R1

R2

R4
x

E1
A

T1

T4
D1

E2 T2

T3

D2
R3
E
(a)

E
D

E
(b)

f ( E , x)
E

f ( E , x)

L
L
H
H

L
H
L
H

H
L
HZ
HZ
(c)

Fig.B.7 Inversor cu trei stri TTL: (a) schema electric; (b) simbolul logic; (c) tabelul de adevr.

Dac la un moment dat s-ar putea realiza blocarea ambelor tranzistoare, atunci cir202

ANEXA B

cuitul de ieire ar fi izolat i, vzut dinspre ieire, poarta TTL s-ar prezenta ca o impedan de valoare ridicat care nu consum dect un inevitabil curent rezidual de valoare
foarte mic. Circuitul ar dispune n acest caz de trei stri (dar va funciona n permanen
n logic binar): starea 0, starea 1 i starea izolat, de nalt impedan, care las ieirea
flotant cnd cele dou tranzistoare sunt blocate.
Aa cum s-a precizat mai sus, dispozitivele prevzute cu ieiri TSL au o intrare
suplimentar numit, de obicei, activarea (validarea) ieirii, OE / E (Output Enable/
Enable) sau dezactivarea (invalidarea) ieirii, OD (Output Disable), pentru trecerea ieirii (ieirilor) dispozitivului n starea de nalt impedan. Circuitul din figura B.7,a este
prevzut cu o born de autorizare (validare) a funcionrii ( E ). Pentru E = 0 (intrare prioritar), A = 1 , dioda D1 este blocat i circuitul se comport ca un inversor pentru intrarea x. Dac E = 1 , A = 0 , D1 se deschide, T1 este saturat, T2 i T3 sunt blocate, iar T4
este blocat i el deoarece prin dioda D1 deschis, potenialul bazei sale coboar la o
valoare sczut. ntre ieire i mas se afl o rezisten mare i circuitul se prezint, la
ieire, ca o impedan nalt (HZ). Dac structurii din figura B.7,a i se adaug una sau
mai multe intrri, se obine poarta fundamental I-NU a acestei subfamilii, cu ajutorul
creia se poate realiza o ntreag familie de circuite logice.
Asemenea porilor TTL, porile CMOS pot fi prevzute cu ieiri cu trei stri.
Aplicaiile porilor CMOS TSL sunt similare aplicaiilor porilor TTL TSL.
Avantajele utilizrii porilor TSL n raport cu utilizarea celor OC/OD sunt urmtoarele:
ofer o impedan mic la ieire n cele dou stri (L i H), ca i la poarta standard;
nu necesit rezisten adiional;
n starea de nalt impedan (HZ) nu ncarc circuitele cu care sunt cuplate la
ieire;
permite cuplarea n paralel a ieirilor, fr dezavantajele ntlnite la montajul cu
colectorul n gol.
Subfamilia de circuite integrate cu trei stri (TSL), reprezint o alternativ bun la
cuplarea mai multor circuite n paralel pentru transmiterea, de exemplu, a informaiei pe
o magistral comun de date. O magistral cu trei stri se realizeaz prin cablarea mpreun a mai multor ieiri TSL. Circuitele de comand pentru activrile ieirilor trebuie
s lucreze astfel nct la un moment dat s fie activ cel mult o ieire (nu n starea sa
HZ!). Singurul dispozitiv activat poate transmite pe magistral nivelele logice (H i L).
Ca i n cazul porilor logice, ntr-un singur circuit integrat SSI pot fi ncapsulate
cteva circuite tampon cu trei stri, independente. Majoritatea aplicaiilor ce utilizeaz
linii comune se realizeaz cu o magistral cu mai mult de un bit de date. De aceea, pentru
a reduce dimensiunile capsulei n cazul aplicaiilor cu magistrale foarte largi, cele mai
utilizate componente MSI conin mai multe circuite tampon cu trei stri cu intrri de activare comune.
Un transceiver 1 de magistral conine perechi de circuite tampon cu trei stri conectate n sensuri opuse la fiecare pereche de pini, astfel ca datele s poat fi transferate
n orice direcie.

Cuvnt format prin contragerea cuvintelor transmitter (emitor) i receiver (receptor).

203

ANEXA C

SISTEME DE NUMERAIE. CODURI


Informaia este o noiune de mare generalitate, ca i noiunea de mulime, despre care se
poate afirma c reprezint, pentru un sistem oarecare (biologic, tehnic, social, etc.) un
mesaj despre evenimentele care au avut loc, au loc, sau vor avea loc n interiorul sau
exteriorul sistemului.
Baza celor mai multe schimburi de informaie o constituie reprezentrile simbolice
pentru idei, cantiti, modele, etc. Reprezentarea simbolic se realizeaz cu ajutorul unei
mulimi de simboluri i reguli care guverneaz utilizarea acestor simboluri.
Reprezentarea simbolic a informaiei ntr-un sistem numeric poate fi analizat prin
prisma sistemelor de numeraie i a codurilor utilizate.
Sistemul de numeraie este format din totalitatea regulilor de reprezentare a numerelor cu ajutorul unor simboluri numite cifre. Sistemele de numeraie sunt de dou feluri:
poziionale i nepoziionale. Un exemplu de sistem poziional este sistemul zecimal, iar
de sistem nepoziional sistemul roman. n sistemele de calcul se folosesc n special sistemele de numeraie poziionale, datorit simplitii de reprezentare i de efectuare a calculelor aritmetice.
Sisteme de numeraie poziionale
Un sistem de numeraie poziional este caracterizat prin baz; aceasta reprezint numrul
total de simboluri (cifre) ale sistemului. n tabelul C.1 sunt prezentate cteva baze, mpreun cu mulimile de simboluri corespunztoare.
ntr-un sistem de numeraie de baz b, un numr N, format din parte ntreag i
parte fracionar, se poate reprezenta ntr-una din urmtoarele trei forme:
an 1an 2 La1a0 a1a2 La m ,
N=

an 1b n1 + L + a1b1 + a0b 0 + a1b 1 + a2b 2 + L + amb m ,

(C.1)

n 1

aibi ,

i = m

205

ANEXA C

unde, b este baza sistemului, ai sunt cifrele, n numrul de cifre ale prii ntregi, m numrul de cifre ale prii fracionare, a n1 cifra cea mai semnificativ (c.m.s.), a m cifra cea
mai puin semnificativ (c.m.p.s.).
Tab.C.1 Sisteme de numeraie.

Baza
2
3
4
8
10
16

Denumirea
sistemului
Binar
Ternar
Cuaternar
Octal
Zecimal
Hexazecimal

Simboluri utilizate
0,1
0,1,2
0,1,2,3
0,1,2,3,4,5,6,7
0,1,2,3,4,5,6,7,8,9
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Deoarece numrul de cifre utilizate n sistem este egal cu baza, rezult c:


0 ai b 1 , unde m i n 1 .

(C.2)

Dac n = 0 , atunci numrul N este subunitar, iar dac m = 0 , atunci numrul N este
ntreg.
Relaia (C.1) arat de ce astfel de sisteme sunt denumite poziionale: fiecare cifr ai
(din rangul i) intr n valoarea numrului respectiv cu o pondere dat de puterea i a bazei
b. Fiecare numr se obine din numrul anterior prin adugarea unei uniti la ultima
cifr.
n general, conversia ntre dou baze de numeraie nu se poate efectua doar printr-o
simpl substituire; sunt necesare unele operaii aritmetice, existnd n acest sens algoritmi
de conversie. Algoritmul de conversie zecimal-binar, N (10) N ( 2) , pentru un numr ntreg, se deduce pornind de la expresia (C.1), scris sub forma:
N = a n1 2 n1 + a n 2 2 n 2 + K + a3 2 3 + a 2 2 2 + a1 21 + a 0 2 0 ,

(C.3)

prin mpriri succesive:

N = 2( an1 2n 2 + an 2 2n3 + K + a3 2 2 + a2 21 + a1 ) + a0 (rest ),


N1
N1 = 2( an 1 2n 3 + an 2 2n4 + K+ a3 21 + a2 ) + a1 (rest ),
N2

(C.4)

N k = 2(a n1 2 n k 2 + K + a n k 1 ) + a k (rest) ,

se obin astfel resturile care sunt tocmai biii numrului N exprimat n binar; de exemplu
93(10) = ?( 2) :
206

ANEXA C

93 = 2 46+1
46 = 2 23+0
23 = 2 11+1
11 = 2 5+1
5 = 2 2+1
2 = 2 1+0
1 = 2 0+1
1 0 1 1 1 0 1
(26 ) (25 ) (24 ) (23 ) (22 ) (21 ) (20 )

93(10) = 1011101( 2) ,
N = 1 2 6 + 0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 21 + 1 2 0 = 93(10) .
Algoritmul de conversie zecimal-binar, N (10) N ( 2) , pentru un numr fracionar
(subunitar) se deduce pornind de la expresia:

N = a 1 2 1 + a 2 2 2 + a 3 2 3 + K + a ( m1) 2 ( m1) + a m 2 m ,

(C.5)

prin nmuliri succesive cu 2:


N 2 = a1 + a 2 21 + a3 22 + K + a( m1) 2 ( m 2) + am 2 ( m1) ,
N1

N1 2 = a 2 + a3 21 + K + a( m1) 2 (m 3) + a m 2( m 2) ,
N2

(C.6)

N k 1 2 = a k + a k 1 2 1 + K + a m 2( m k ) ,
Nk

se obin pri ntregi (zero sau unu) care sunt tocmai biii numrului N, exprimat n binar
(operaia de nmulire se oprete atunci cnd partea fracionar devine zero sau cnd se
consider satisfctor un numr de cifre binare pentru precizia stabilit); de exemplu
0.48932(10) = ? ( 2) :
0.48932 2 = 0 + 0.97864 a 1 = 0 ,
0.97864 2 = 1 + 0.95728 a 2 = 1 ,
0.95728 2 = 1 + 0.91456 a 3 = 1 ,
0.91456 2 = 1 + 0.82912 a 4 = 1 ,
0.82912 2 = 1 + 0.75824 a 5 = 1 ,
0.75824 2 = 1 + 0.51648 a 6 = 1 ,
0.51648 2 = 1 + 0.03296 a 7 = 1 ,

207

ANEXA C

0.48932(10) = 0.0111111K( 2) ,
N = 0 2 1 + 1 2 2 + 1 2 3 + 1 2 4 + 1 2 5 + 1 2 6 + 1 2 7 + K = 0.48932(10) .
Pentru conversia zecimal-binar a unui numr ce prezint att parte ntreag, ct i
parte fracionar, se combin cei doi algoritmi. Din exemplele de mai sus s-a putut vedea
c pentru conversia binar-zecimal, N ( 2) N (10) , se adun puterile succesive ale lui 2,
fiecare fiind nmulit cu bitul din poziia respectiv a numrului binar. Algoritmii dedui
mai sus ((C.4) i (C.6)) pot fi aplicai i n cazul conversiei zecimal-octal, zecimalhexazecimal, etc.
Conversiile directe octal-binar, hexazecimal-binar, ct i conversiile inverse binaroctal, binar-hexazecimal, se realizeaz mult mai simplu datorit faptului c 8 i 16 sunt
puteri ale lui 2. Un numr (mai mic dect baza) n octal i n hexazecimal poate fi exprimat prin trei cifre binare (triad), respectiv prin patru cifre binare (tetrad). Deci, conversiile n ambele sensuri se bazeaz pe corespondena dintre triade, n numrarea binar i
numerele pn la apte la numrarea n baz 8, respectiv dintre tetrade n numrarea binar i numerele pn la 15 n numrarea n baza 16.
Exemple.
001 101 . 111 010
5
7
1
2
2 . 0
4
010 000 100

( 8) =

(2) =

15.72 ( 8) ,

10.0001 (2) ,

1001 0000 1111 . 0010 1010


9
F
2
A
0
1D.C (16) = 0001 1101 . 1100
D
C
1

( 2) =

90F.2A (16) ,

( 2) .

Conversiile inverse binar-hexazecimal, binar-octal se realizeaz delimitnd cuvntul


binar de la dreapta spre stnga (sau, pornind de la punctul prii fracionare n ambele
sensuri) n tetrade sau triade i nlocuindu-le cu cifrele corespunztoare din sistemul
hexazecimal, respectiv din sistemul octal.
Conversiile directe hexazecimal-binar, octal-binar se realizeaz simplu prin substituia cifrelor hexazecimale sau octale prin tetrade sau triade corespunztoare.
Pentru modul de realizare a operaiilor aritmetice n sistemele de numeraie cu baza
o putere a lui 2 (binar, octal, hexazecimal) se poate consulta [11].
Sistemul de numeraie utilizat n sistemele numerice de calcul este sistemul binar.
Reprezentarea numerelor n acest sistem prezint mai multe forme n funcie de soluia
aleas pentru a se indica poziia virgulei i semnul numrului. Poziia fix sau variabil a
virgulei determin reprezentarea numit n virgul fix sau, respectiv n virgul mobil.
Reprezentarea numerelor n virgul fix
Blocurile aritmetice ale sistemelor de calcul care lucreaz n virgul fix, consider vir208

ANEXA C

gula plasat n faa celei mai semnificative cifre a numrului. Deci, numerele cu care se
opereaz sunt subunitare. Pentru a se indica semnul numrului exist mai multe tehnici,
fiecare dintre acestea determinnd un mod de reprezentare: prin mrime i semn (cod
direct), prin complement fa de 2 (cod complementar) i prin complement fa de 1 (cod
invers).
nainte de a ne referi la fiecare dintre aceste reprezentri utilizate, s definim noiunea de complement al unui numr N scris ntr-o baz b.
Definiie.
a) Se numete complement fa de baza b al numrului N (b) , numrul [ N ]comp definit prin relaia:

[ N ]comp = b n N (b ) .

(C.7)

b) Se numete complement fa de b 1 al numrului N (b) numrul [ N ]inv definit


de relaia:

[ N ]inv = b n N (b ) b m ,

(C.8)

unde, n reprezint numrul de cifre ale prii ntregi a numrului N, iar m reprezint
numrul de cifre ale prii fracionare a numrului N.
Exemple. n sistemul de numeraie binar:

[ N ]comp = 2 n N ( 2) i [ N ]inv = 2 n N ( 2) 2 m .

(C.9)

Dac N ( 2) = 1011.11 , atunci:

[ N ]comp = 2 4 1011.11 = 0100.01 ,


[ N ]inv = 2 4 1011.11 2 2 = 0100.00 .

Cele trei moduri de reprezentare ale numerelor, menionate anterior, sunt identice
dac numrul N este pozitiv, iar dac numrul este negativ, n reprezentarea prin mrime
i semn cifrele numrului sunt chiar cifrele numrului considerat, n timp ce n celelalte
dou moduri de reprezentare, cifrele numrului reprezint complementul fa de 2 respectiv fa de 1.
Reprezentarea prin mrime i semn (cod direct)
Reprezentarea prin mrime i semn a unui numr algebric N este dat de relaia:

[ N ]dir = an 2 n +

n 1

ai 2 i ,

(C.10)

i = m

unde, an reprezint bitul de semn i ia valoarea 0 dac N 0 i valoarea 1 dac N 0 ,


iar ai (m i n 1) sunt biii numrului N.
209

ANEXA C

Exemple.
[+ 9] dir = 0 1001

[ 9] dir = 1 1001
valoarea
numrului
bitul de semn

valoarea
numrului
bitul de semn

[ 0.6875] dir = 1 1011


valoarea
numrului
bitul de semn

Acest sistem de reprezentare are avantajul de a fi foarte asemntor cu scrierea


normal (semnul se indic printr-un bit special), dar din punctul de vedere al realizrii
calculelor prezint unele dezavantaje. Realizarea unei operaii de adunare sau scdere a
dou numere nu depinde numai de funcia de executat ci i de semnul numerelor respective; n aceste condiii este necesar examinarea, nainte de executarea operaiei respective a bitului de semn. Pe de alt parte, blocul aritmetic al unui sistem numeric se poate
simplifica mult dac n loc s conin dispozitive de adunare i scdere, conine numai
dispozitive de adunare. Acest lucru poate fi realizat prin alegerea convenabil a sistemului de reprezentare a numerelor i anume prin reprezentarea n cod complementar.
Reprezentarea prin complementul fa de 2 (cod complementar)
Un numr algebric N se reprezint prin complementul fa de 2, n forma indicat de
relaia:

[ N ]comp

n 1

+
0
2
pentru N 0,
ai 2 i ,

i = m
=
n 1
1 2 n + ai 2 i + 2 m , pentru N 0,
i = m

unde, ai = 1 ai , reprezint complementul fa de 1 al cifrei ai (m i n 1) .


Exemple.

[+9]comp = 01001;
[9]comp = ?
Deoarece 9 = 1001( 2) ,
se trece numrul n cod complementar:

1001 0111,
reprezentarea numrului 9 n cod complementar va fi:
[9]comp = 10111 .
210

(C.11)

ANEXA C

Se poate demonstra c reprezentarea numrului prin complement fa de 2 corespunde chiar valorii reale a numrului [11].
Reprezentarea prin complementul fa de 1 (cod invers)
Un numr algebric N se reprezint prin complementul fa de 1, n forma indicat de
relaia:

[ N ]inv

n 1

n
i
0 2 + ai 2 , pentru N 0,
i = m
=
n 1
1 2 n + ai 2 i , pentru N 0,

i = m

(C.12)

unde, ai = 1 ai , reprezint complementul fa de 1 al cifrei ai (m i n 1) .


Exemple.
[+9]inv = 01001 ;
[9]inv = ?

Deoarece 9 = 1001( 2) ,
se trece numrul n cod invers:

1001 0110 ,
reprezentarea numrului 9 n cod invers va fi:
[9]inv = 10110 .

Urmrind exemplele prezentate mai sus, se poate observa c, aa cum s-a mai menionat, cele trei forme de reprezentare coincid n cazul numerelor pozitive i difer n cazul numerelor negative.
Reprezentarea numerelor n virgul mobil
Necesitatea reprezentrii n sistemele numerice de calcul a numerelor foarte mari sau
foarte mici, cu un grad de precizie ridicat a condus la modul de reprezentare n virgul
mobil. Acest mod de reprezentare este binecunoscut n sistemul zecimal. Un numr N
reprezentat n virgul mobil (flotant) are dou componente. Prima E, denumit exponent, d indicaii asupra ordinului de mrime al numrului, iar a doua, denumit mantis
M, asupra mrimii exacte a numrului ntr-un anumit domeniu:
N = M bE ,

(C.13)

n care b este baza sistemului de numeraie (n cazul studiat 2).


Reprezentarea numerelor algebrice n virgul mobil este ilustrat n figura C.1. Se
observ c numrul este reprezentat pe 32 de poziii binare din care: una este utilizat
pentru semnul exponentului, una pentru semnul mantisei, ase pentru exponent i 24
pentru mantis. n figura C.2 s-au reprezentat numerele 2 7 0.1011 , + 2 4 0.11011 ,
2 15 0.111 , + 2 29 0.10111 . Pentru a se indica semnul exponentului i al mantisei s-a
utilizat convenia: 0 pentru semnul + i 1 pentru semnul .
211

ANEXA C

SE
0

SM
7

31

Fig.C.1 Reprezentarea n virgul mobil: SE semnul exponentului; biii 16 exponentul;


SM semnul mantisei; biii 831 mantisa.

(a) 0
0

0
1

0
2

0
3

1
4

1
5

1
6

1
7

1
8

0 K 0 N = 2 7 0.1011
31

(b) 1
0

0
6

0
7

1
8

(c) 1
0

1
6

1
7

1
8

0 K 0 N = 2 15 0.111
31

(d) 0
0

1
6

0
7

1
8

0 K 0 N = 2 4 0.11011
31

1 K 0 N = 2 29 0.10111
31

Fig.C.2 Exemple de reprezentare a numerelor n virgul mobil.

Coduri
Datorit principiilor de structur i funcionalitate pe baza crora a fost construit, un calculator numeric nu poate recunoate dect cifre binare (biii). Datele vehiculate la nivelul
extern al sistemului informatic apar ns codificate prin cifre zecimale sau litere ale alfabetului latin. Ca urmare, apare necesitatea folosirii unei noi codificri prin care fiecare
simbol alfanumeric s-i gseasc exprimarea sub forma unei secvene binare. Aceast
codificare acioneaz n procesul transpunerii datelor pe supori tehnici, astfel nct stocarea, prelucrarea i transferul informaiei n cadrul sistemului de calcul se face sub forma
unor iruri de bii, indiferent de forma extern i de semnificaia datelor respective.
Se consider dou mulimi de elemente, A i B. A codifica elementele mulimii A
prin elementele mulimii B, nseamn a face s corespund fiecrui element a A o secven de elemente b B .
Dac se noteaz cu I mulimea irurilor de elemente din B, atunci aplicaia care
asociaz fiecrui element din A un element din I se numete cod i se noteaz cu:

f :A I .

(C.14)

n mod curent, n tehnica de calcul simbolurile mulimii A (numite i alfabet) se


numesc caractere, ele cuprinznd litere, cifre, semne de punctuaie, etc.
La ieirea din sistem, se aplic un proces de decodificare prin care se revine la formatul extern al datelor.
Codurile n care sunt reprezentate numai numere se numesc coduri numerice, iar
cele care cuprind i literele i celelalte semne se numesc coduri alfanumerice.
Avnd n vedere c ntr-un calculator numeric se utilizeaz sistemul binar, n continuare se vor prezenta o serie de coduri care codific litere sau cifre prin elementele mulimii B = {0,1} .
Prima problem care se pune este: dac mulimea A are un numr N de caractere,
ct de lung trebuie s fie secvena i I de elemente din B pentru a se putea codifica
212

ANEXA C

toate cele N caractere?


Dac n este lungimea secvenei i, atunci combinaiile ce se pot face cu dou elemente (0 i 1) luate cte n vor fi n numr de 2 n . Deci n trebuie astfel ales nct s fie ndeplinit condiia:
N 2n .

(C.15)

Coduri numerice
Codurile numerice sau codurile binar-zecimale, BCD (Binary Coded Decimal), asociaz
fiecrei cifre zecimale o secven de cifre binare (bii). Aceste coduri se mpart n dou
categorii: ponderate i neponderate. Un cod binar-zecimal este ponderat dac unei cifre
zecimale i corespunde o secven binar n care fiecare rang i are asociat o anumit
pondere Pi . Aceasta nseamn c un numr zecimal:
N = Z m Z m1 K Z k K Z1 ,

(C.16)

unde, Z k {0,1,2,K9} , va avea fiecare cifr reprezentat printr-o secven binar care satisface relaia:
Z k = a n Pn + a n1 Pn1 + K + ai Pi + K + a 2 P2 + a1 P1 ,

(C.17)

sau
n

Z k = ai Pi ,

(C.18)

i =1

unde, ai {0,1} , Pi reprezint ponderea corespunztoare rangului i, iar n este numrul de


bii din secvena binar asociat prin cod cifrei zecimale. Ponderea Pi poate lua una din
valorile: 0, 1, 2,K, 9 .
n tabelul C.2 se prezint o serie de coduri binar-zecimale ponderate mai frecvent
utilizate.
Codul 8421 se mai numete i codul binar-zecimal natural (NBCD Natural Binary
Coded Decimal) 1 , deoarece avnd ca ponderi puterile lui 2, fiecare tetrad de bii reprezint de fapt exprimarea cifrei zecimale respective n sistemul de numeraie binar.
Codul 2421 se numete i cod Aiken dup numele celui care l-a imaginat i l-a
folosit la primele sisteme de calcul automat. Este vorba de profesorul Howard Aiken, de
la Universitatea Harward, care n colaborare cu firma IBM (International Business
Machines) a realizat, ntre anii 1939-1944 o main automat de calculat, denumit
MARK I, care este precursorul primelor calculatoare electronice ce au aprut n anii
imediat urmtori.
Secvenele de cod Aiken au pentru primele cinci cifre zecimale aceeai exprimare
ca i n codul 8421. n continuare, secvena binar corespunztoare cifrei 5 se obine din
cea a cifrei 4 schimbnd 0 n 1 i 1 n 0. Aceeai regul se aplic pentru obinerea
secvenei lui 6 din cea a lui 3, 7 din 2, 8 din 1 i 9 din 0. Acest lucru nseamn n termeni
matematici c fiecare complement fa de 9 al unei cifre zecimale se exprim printr-o
1

n terminologia curent este denumit (impropriu) doar codul BCD.

213

ANEXA C

secven ce rezult complementnd fa de 1 biii din secvena cifrei zecimale respective.


Codurile care se bucur de aceast proprietate se numesc autocomplementare. Un
astfel de cod prezint avantaje n efectuarea operaiilor aritmetice i simplific schema
constructiv a blocului aritmetic din calculatoarele numerice.
Codul 4221 are aceleai proprieti ca i codul 2421 (Aiken) prezentat mai sus: utilizeaz ponderea 2 n dou poziii distincte ale tetradei, iar tetradele care reprezint cifre
zecimale a cror sum este egal cu 9 se complementeaz reciproc; primele cinci cifre zecimale au pe prima poziie 0, iar ultimele cinci 1.
Codul 5421 are caracteristic faptul c cifrele 5 9 se deosebesc de cifrele 0 4 numai prin primul bit.
Codul 7421 utilizeaz ponderile 7,4,2,1; n aceste condiii se observ c cifra 7
poate fi reprezentat n dou moduri (0111 sau 1000) i pentru a se nltura ambiguitatea
s-a introdus o restricie suplimentar i anume: se utilizeaz din toate combinaiile posibile aceea care corespunde numrului maxim de bii semnificativi.
n tabelul C.2 sunt prezentate, de asemenea, cteva coduri neponderate, create pe
baza unor considerente impuse de modul lor de utilizare.
Codul Exces 3 se obine din codul 8421, prin adunarea la fiecare tetrad a cifrei 3
(0011) n binar. Rezult astfel un cod cu proprietatea de autocomplementare i din care sa eliminat combinaia 0000 2 .
Tab.C.2 Coduri binar-zecimale.

Coduri binar-zecimale
Coduri ponderate

Numere
n
zecimal

8421

2421

4221

5421

7421

0
1
2
3
4
5
6
7
8
9

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

0000
0001
0010
0011
0100
1011
1100
1101
1110
1111

0000
0001
0010
0011
0110
1001
1100
1101
1110
1111

0000
0001
0010
0011
0100
1000
1001
1010
1011
1100

0000
0001
0010
0011
0100
0101
0110
0111
1001
1010

Coduri neponderate
2 din 5
Exces 3
Gray
74210
0011
0000
00011
0100
0001
00101
0101
0011
00110
0110
0010
01001
0111
0110
01010
1000
0111
01100
1001
0101
10001
1010
0100
10010
1011
1100
10100
1100
1101
11000

Codul Gray poart i el numele celui care l-a imaginat i se caracterizeaz prin
aceea c trecerea de la o cifr zecimal la urmtoarea se face prin modificarea unui singur
rang binar al tetradei. Secvenele codului Gray pot fi deduse din cele ale codului 8421, pe
baza urmtoarelor relaii:
b1 = a1 a 2 , b2 = a 2 a 4 , b3 = a 4 a8 , b4 = a8 ,

(C.19)

unde, b1 , b2 , b3 i b4 sunt poziiile unei secvene Gray scrise de la dreapta spre stnga, iar
a1 , a 2 , a 4 i a8 sunt poziiile codului 8421 scrise n ordinea ponderilor.
2

214

Pentru a se putea face distincie ntre valoarea 0 a unui semnal i absena lui, n circuitele electronice este
important excluderea combinaiei 0000.

ANEXA C

Codul 2 din 5 este un cod pseudoponderat deoarece pentru cifrele zecimale


1,2,K ,9 se pot asocia biilor din secven ponderile 74210; n schimb secvena asociat
cifrei zero nu mai respect aceast regul a ponderilor. Caracteristica principal a codului
2 din 5 const n faptul c toate secvenele binare asociate cifrelor zecimale au acelai
numr de bii semnificativi (1), anume cte 2 (din cele 32 de combinaii binare care se pot
forma cu 5 bii, numai zece satisfac aceast condiie), fapt ce a determinat i atribuirea
denumirii. Aceast proprietate ofer un criteriu de depistare a erorilor sau, altfel spus creeaz posibilitatea controlului asupra transmisiei informaiei codificate n acest mod.
n codurile BCD, fiecare cifr zecimal este reprezentat, aa cum s-a menionat, de
un cod binar cu patru respectiv cinci bii. Codurile cu patru/cinci bii ale fiecrei cifre zecimale sunt pur i simplu concatenate (ir de grupe n conexiune). De exemplu, numrul
2743(10) va avea corespondentul 0010 0111 0100 0011 n codul 8421 (BCD).
Operaiile aritmetice cu numerele codate n aceast reprezentare se fac ca i cum
numerele ar fi binare, ns cu o serie de modificri. Presupunnd c ar trebui s adunm
dou numere zecimale reprezentate, de exemplu, n codul 8421 (BCD), se pot ntlni
urmtoarele situaii:
dac fiecare cifr a rezultatului este mai mic dect 10, se adun codurile ca i cnd
acestea ar fi fost binare;
dac o cifr a rezultatului este mai mare sau egal cu 10, rezultatul trebuie corectat
prin adugarea unui aa numit factor de corecie de valoare 6 pentru a sri peste cele
ase valori neutilizate n codul BCD, reprezentate de numerele 10, 11, 12, 13, 14, 15 i
anume 1010, 1011, 1100, 1101, 1110 i 1111;
cnd rezultatul este 16, 17 sau 18, va fi generat un transport, care va afecta urmtoarea cifr BCD.
Scderile pot fi fcute prin scderea factorilor de corecie cnd este necesar.
i n codurile BCD se pot reprezenta numere cu semn, dar n acest caz este necesar,
n cuvntul de cod, un bit n plus pentru reprezentarea semnului.
Coduri alfanumerice
Codurile alfanumerice realizeaz reprezentarea tuturor caracterelor unui alfabet cu ajutorul secvenelor de cifre binare. Alegerea numrului n de poziii binare necesare este o
problem destul de dificil, acesta trebuind s ndeplineasc, pe lng condiia (C.15) i o
serie de condiii legate de asigurarea proteciei la transmiterea informaiei. Exist la ora
actual n uz coduri de 6,7 sau 8 bii.
Un exemplu de cod alfanumeric de 8 bii este codul EBCDIC (Extended Binary
Coded Decimal Information Interchange Code) care n traducere nseamn Cod binarzecimal extins, pentru schimburi de informaii, prezentat n tabelul C.4.
Dei codul EBCDIC cunoate o larg rspndire, acesta nu este standardizat, spre
deosebire de codurile ASCII (American Standard Code for Information Interchange) n
traducere Cod standard U.S.A. pentru schimburi de informaii. Se cunosc dou variante
de coduri ASCII, ASCII-7 i ASCII-8, avnd apte i respectiv opt bii pe caracter. Codul
ASCII-7, reprezentat n tabelul C.3, este recomandat i de Organizaia Internaional a
Standardelor (International Standards Organisation), motiv pentru care poart i denumirea de cod ISO.
Codurile EBCDIC i ASCII prezint un numr suficient de secvene pentru codificarea literelor, n ambele variante. n plus, mai rmn destul de multe secvene neasignate
215

ANEXA C

unor caractere alfanumerice. O parte dintre acestea reprezint codurile unor semnale de
comand i control n cadrul protocoalelor de transmitere a datelor (nceput i sfrit de
mesaj, de transmisie, etc.) sau pentru transmiterea unor comenzi specifice la periferice.
Tab.C.3 Codul ASCII-7.

765
4321
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

000
0
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI

001
1
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US

010
2
SP
!

#
$
%
&

(
)
*
+
,
.
/

011
3
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

100
4
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O

101
5
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^

110
6
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o

111
7
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL

Coduri de comand
NUL
SOH
STX
ETX
EOT

Nul (Null)
nceputul referinei (Start of heading)
nceputul textului (Start of text)
Sfritul textului (End of text)
Sfritul transmisiei (End of transmission)
ENQ Cutare (Enquiry)
ACK Confirmare (Acknowledge)
BEL Avertizare sonor (Bell)
BS Spaiu spre stnga (Backspace)
HT Tabulare orizontal (Horizontal tab)
LF Salt la linie nou (Line feed)
VT Tabulare vertical (Vertical tab)
FF Salt la pagin nou (Form feed)
DLE Ieire din legtur (Data link escape)
CR nceput de rnd (Carriage return)
DC1 Comanda 1 a dispozitivului (Device
control 1)
DC2 Comanda 2 a dispozitivului (Device
control 2)
DC3 Comanda 3 a dispozitivului (Device
control 3)
216

DC4 Comanda 4 a dispozitivului (Device


control 4)
NAK Confirmare de eroare (Negative acknowledge)
SYN Sincronizare (Synchronization)
ETB Sfritul blocului transmis (End of
text block)
CAN Anulare (Cancel)
EM Terminarea mijlocului de comunicare (End of medium)
SUB nlocuitor (Substitute)
ESC Ieire (Escape)
FS Separator de fiiere (File separator)
SO Deplasare ctre exterior (Shift out)
SI
Deplasare ctre interior (Shift in)
SP Spaiu (Space)
GS Separator de grupe (Group separator)
RS Separator de nregistrri (Record separator)
US Separator de uniti (Unit separator)
DEL tergere (Delete)

ANEXA C
Tab.C.4 Codul EBCDIC.

8765

00

01
0000
DLE
0001
DC1
0010
DC2
0011
TM
0100
RES
0101
NL
0110
BS
0111
IL
1000
CAN
1001
EM
1010 SMM CC
1011 VT CU1
1100 FF
IFS
1101 CR
IGS
1110 SO
IRS
1111
SI
IUS

4321

00
NUL
SOH
STX
ETX
PF
HT
LC
DEL

01

10
DS
SOS
FS

11
SYN

BYP
LF
ETB
ESC

PN
RS
UC
EOT

SM
CU2

CU3
DC4
ENQ NAK
ACK
BEL SUB

10

00 01 10 11 00 01 10 11 00
SP &
{
/
a j ~
A
b k s
B
c l
t
C
d m u
D
e n v
E
f o w
F
g p x
G
h q y
H
i
r z
L
!
|
:
.
$ , #
< * % @
(
) _
+ ; > =
| -- ?

11
01
}
J
K
L
M
N
O
P
Q
R

10 11
\ 0
1
S 2
T 3
U 4
V 5
W 6
X 7
Y 8
Z 9

Coduri detectoare i corectoare de erori


n timpul prelucrrii sau transmisiei datelor n sistemul de calcul, pot aprea erori; n scopul detectrii i eventual corectrii acestor erori se utilizeaz coduri cu proprieti speciale. n general, aceste coduri, conin pe lng biii care reprezint informaia respectiv
i o serie de bii de control, cu ajutorul lor identificndu-se i corectndu-se eventualele
erori aprute.
Cel mai simplu mod de detectare a erorilor de transmisie este utilizarea bitului de
paritate. Prin aceasta se nelege ataarea la secvena de cod a fiecrui caracter (de exemplu, la codul 8421 sau EBCDIC) a unui bit suplimentar, a crui valoare se calculeaz
conform conveniei: suma tuturor biilor din secven s fie un numr par (respectiv impar).
Dac un caracter se exprim printr-o secven de cod de patru bii n convenie de
paritate impar, atunci calculul bitului de paritate se face conform relaiei:
a1 a 2 a3 a 4 p = 1 ,

(C.20)

unde, ai reprezint biii informaionali, iar p reprezint bitul de paritate.


La punctul de emisie al informaiei se calculeaz bitul de paritate, iar la punctul de
recepie se calculeaz suma biilor care va trebui s fie un numr par sau impar conform
conveniei. n caz de nesatisfacere a acestei condiii, secvena respectiv este eronat.
Trebuie remarcat c prin aceast metod nu se poate identifica poziia binar unde a
avut loc eroarea i deci nu poate fi corectat. De asemenea, dac numrul de bii afectat
de erori este par, metoda nu detecteaz secvena de cod ca eronat.
Codul Hamming. Hamming a dezvoltat un cod capabil s detecteze i s corecteze o
217

ANEXA C

singur eroare. n acest cod un caracter se exprim prin apte bii din care patru sunt bii
informaionali iar trei bii de control:
c = p1 p 2 a3 p 4 a5 a6 a7 ,

(C.21)

unde pi cu i {1,2,4} sunt bii de control, iar ai cu i {3,5,6,7} bii de informaie. Biii
de control pi se calculeaz astfel:
s1 = p1 a3 a5 a7 = 0 ,
s 2 = p 2 a3 a 6 a 7 = 0 ,

(C.22)

s 3 = p 4 a5 a 6 a 7 = 0 .

La punctul de emisie se calculeaz valorile biilor pi , iar la punctul de recepie se


verific sumele si ( i = 1,2,3 ). Dac sumele si sunt toate 0, atunci secvena de cod s-a
recepionat corect. n caz contrar numrul zecimal codificat binar prin biii si de ponderi

2 2 ,21 ,2 0 , indic poziia eronat din secvena de cod transmis.


Exist o mare varietate de coduri cu proprieti de detecie a erorilor; alegerea unui
anumit cod se face n funcie de numrul erorilor care trebuie detectate i numrul biilor
de control care sunt necesari n acest scop, ntruct costul transmisiei crete odat cu
lungimea secvenei de cod.

218

ANEXA D

CIRCUITE INTEGRATE DIGITALE DIN SERIA 74 TEXAS


INSTRUMENTS
Compania Texas Instruments, este una dintre primii i cei mai cunoscui productori de
circuite integrate digitale.
Toate dispozitivele TTL/CMOS pe care le vom enumera mai jos (menionm c nu
prezentm o list complet a produselor firmei Texas Instruments) sunt desemnate prin
coduri de forma 74FAMnn, FAM reprezentnd denumirea format din litere a
familiei de circuite logice, iar nn un indicativ numeric al funciei realizate (codurile din
seria 7400 (realizat n tehnologia TTL standard) introduse, pentru pori i alte componente TTL, de ctre compania Texas Instruments, au ajuns rapid s constituie un standard industrial). Dispozitivele aparinnd unor familii diferite, dar cu aceeai valoare nn
realizeaz aceeai funcie (de exemplu, 74LS30, 74S30, ... ,74HC30, 74HCT30, etc., sunt
pori I-NU (NAND) cu 8 intrri). Cnd un cod este nsoit de prefixul 54, nseamn c
dispozitivul respectiv este conceput pentru a lucra ntr-o gam mai larg de temperaturi
sau tensiuni de alimentare, pentru aplicaii militare (n prezenta anex ne vom referi doar
la varianta comercial a dispozitivelor).
Semnificaia notaiilor utilizate n tabele este urmtoarea:
LS
TTL Schottky de mic putere (Low power Schottky TTL),
S
TTL Schottky,
ALS
TTL Schottky avansat, de mic putere (Advanced Low power Schottky
TTL),
F
TTL rapid (Fast TTL),
AS
TTL Schottky avansat (Advanced Schottky TTL),
HC
CMOS de mare vitez (High speed CMOS),
HCT
CMOS de mare vitez, compatibile cu TTL (High speed CMOS, TTL
compatible),
TP
Totem Pole,
OC
Open Collector,
TSL
Tri/Three State Logic,
XCVR Transceiver.
219

PORI LOGICE
Numr
dispozitiv
0
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22

Tehnologie
bipolar

Funcia
1
4 NAND cu 2 intrri
4 NAND cu 2 intrri / OC
4 NOR cu 2 intrri
4 NAND cu 2 intrri / OC
6 pori inversoare
6 pori inversoare / OC
6 pori inversoare / OC/ 30 V
6 pori neinversoare / OC
4 pori AND cu 2 intrri
4 pori AND cu 2 intrri / OC
3 pori NAND cu 3 intrri
3 pori AND cu 3 intrri
3 pori NAND cu 3 intrri / OC
2 pori NAND cu 4 intrri Trigger-Schmitt
6 pori inversoare cu intrri Trigger-Schmitt
3 pori AND cu 3 intrri / OC
6 pori inversoare / OC/ 15 V
6 pori neinversoare / OC
2 pori NAND cu 4 intrri Trigger-Schmitt
6 pori inversoare cu intrri Trigger-Schmitt
2 pori NAND cu 4 intrri
2 pori AND cu 4 intrri
2 pori NAND cu 4 intrri / OC

TTL

LS

ALS

AS

2
x
x
x
x
x
x
x
x
x
x
x

3
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

4
x

5
x
x
x
x
x
x

6
x

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

x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
x
x TP 14
x
OC 14
x
x TP 14
x
x OC 14
x
x TP 14
x
OC 14
OC 14
OC 14
x
x TP 14
x
OC 14
x
x TP 14
x
x TP 14
OC 14
TP 14
x
x TP 14
OC 14
OC 14
OC 14
TP 14
TP 14
x
x TP 14
x
x TP 14
OC 14

0
23
24
25
26
27
28
30
32
33
34
35
36
37
38
39
40
50
51
53
54
55
60
64
65
86
128
132
133

1
2 pori NOR cu 4 intrri, cu STROB
4 pori NAND cu 2 intrri Trigger-Schmitt
2 pori NOR cu 4 intrri, cu STROB
4 pori NAND cu 2 intrri / OC / 15 V
3 pori NOR cu 3 intrri
4 pori NOR cu 2 intrri
Poart NAND cu 8 intrri
4 pori OR cu 2 intrri
4 pori OR cu 2 intrri / OC
6 pori neinversoare
6 pori neinversoare / OC
4 pori NOR cu 2 intrri
4 pori NAND cu 2 intrri
4 pori NAND cu 2 intrri / OC
4 pori NAND cu 2 intrri / OC
2 pori NAND cu 4 intrri
2 pori AND/NOR cu 2x2 intrri expandabile
2 pori AND/NOR cu 2x2 intrri
Poart AND/NOR cu 4x2 intrri expandabile
Poart AND/NOR cu 3+2+3+2 intrri
Poart AND/NOR cu 2x4 intrri
2 pori AND/NOR cu 2x2 intrri
Poart AND/NOR cu 4+2+3+2 intrri
Poart AND/NOR cu 4+2+3+2 intrri / OC
4 pori XOR cu 2 intrri
4 pori NOR cu 2 intrri
4 pori NAND cu 2 intrri Trigger-Schmitt
Poart NAND cu 13 intrri

2
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

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

10
TP 16
TP 14
TP 14
OC 14
TP 14
TP 14
TP 14
TP 14
OC 14
TP 14
OC 14
TP 14
TP 14
OC 14
OC 14
TP 14
TP 14
TP 14
TP 14
TP 14
TP 14
TP 14
TP 14
OC 14
TP 14
TP 14
TP14
TP 16

0
134
135
136
140
260
266
386
425
426
618
619
804
805
808
810
811
832
4049
4050
4078

1
Poart NAND cu 12 intrri
4 pori XOR / NOR
4 pori XOR cu 2 intrri / OC
2 pori NAND cu 4 intrri (50 )
2 pori NOR cu 5 intrri
4 pori NXOR cu 2 intrri / OC
4 pori XOR cu 2 intrri
4 pori neinversoare
4 pori neinversoare
3 pori NAND cu 4 intrri Trigger-Schmitt
8 pori inversoare cu intrri Trigger-Schmitt
6 pori NAND cu 2 intrri
6 pori NOR cu 2 intrri
6 pori AND cu 2 intrri
4 pori NXOR cu 2 intrri
4 pori NXOR cu 2 intrri / OC
6 pori OR cu 2 intrri
6 pori inversoare
6 pori neinversoare
Poart AND/NOR cu 4x2 intrri

4
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

10
TSL 16
TP 16
OC 14
TP14
TP 16
OC 14
TP 14
TP 14
TP 14
TP 14
TP 14
TP 20
TP 20
TP 20
TP 14
OC 14
TP 20
TP 14
TP 14
TP 14

MULTIPLEXOARE/ SELECTOARE DE DATE


Numr
dispozitiv
0
150

Tehnologie
bipolar

Funcia
1
Multiplexor cu 16 intrri (16/1)

Tipul
ieirii i
numrul
HC HCT
pinilor
8
9
10
TP 24
CMOS

TTL

LS

ALS

AS

2
x

0
151
152
153
157
158
250
251
253
257
258
352
353
354
355
356
357
399
604
605
606
607
850
851
857
4051
4052
4053
4067

1
Multiplexor cu 8 intrri (8/1)
Multiplexor cu 8 intrri (8/1)
2 multiplexoare cu 4 intrri (24/1)
4 multiplexoare cu 2 intrri (42/1)
4 multiplexoare cu 2 intrri (42/1), 157 inversor
Multiplexor cu 16 intrri (16/1)
Multiplexor cu 8 intrri (8/1)
2 multiplexoare cu 4 intrri (24/1)
4 multiplexoare cu 2 intrri (42/1)
4 multiplexoare cu 2 intrri (42/1), 257 inversor
2 multiplexoare cu 4 intrri (24/1), 153 inversor
2 multiplexoare cu 4 intrri (24/1), 253 inversor
Multiplexor cu 8 intrri (8/1)
Multiplexor cu 8 intrri (8/1) / OC
Multiplexor cu 8 intrri (8/1)
Multiplexor cu 8 intrri (8/1) / OC
4 multiplexoare cu 2 intrri (42/1) / registru
8 multiplexoare cu 2 intrri (82/1) / registru
8 multiplexoare cu 2 intrri (82/1) / registru / OC
8 multiplexoare cu 2 intrri (82/1) / registru
8 multiplexoare cu 2 intrri (82/1) / registru / OC
Multiplexor cu 16 intrri (16/1)
Multiplexor cu 16 intrri (16/1)
6 multiplexoare cu 2 intrri (62/1) / registru
Multiplexor cu 8 intrri (8/1)
2 multiplexoare cu 4 intrri (24/1)
4 multiplexoare cu 2 intrri (42/1) / registru
Multiplexor cu 16 intrri (16/1)

2
x

3
x

4
x

5
x

6
x

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

x
x
x
x
x
x
x
x
x
x

x
x

8
x
x
x
x
x

9
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

10
TP 16
TP 14
TSL 16
TP 16
TP 16
TSL 24
TSL 16
TSL 16
TSL 16
TSL 16
TP 16
TSL 16
TSL 20
OC 20
TSL 20
OC 20
TP 16
TSL 28
OC 28
TSL 28
OC 28
TSL 24
TSL 24
TSL 24
TSL 16
TSL 16
TSL 16
TP 24

0
4351
4352

1
Multiplexor cu 8 intrri (8/1)
2 multiplexoare cu 4 intrri (24/1)

8
x
x

9
x

10
TSL 16
TSL 16

CONVERTOARE BCD-BINAR
Numr
dispozitiv
0
184
185

Tehnologie
bipolar

Funcia
1
Convertor BCD-binar / OC
Convertor binar-BCD / OC

TTL

LS

ALS

AS

2
x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
OC 16
OC 16

DECODIFICATOARE/DEMULTIPLEXOARE
Numr
dispozitiv
0
42
43
44
131
137
138
139
154

Tehnologie
bipolar

Funcia
1
Decodificator BCD-zecimal (4/10)
Decodificator BCD-zecimal (4/10)
Decodificator BCD-zecimal (4/10)
Decodificator de 3 bii (3/8) / latch adresabil
Decodificator de 3 bii (3/8) / latch adresabil
Decodificator de 3 bii
2 decodificatoare de 2 bii (22/4)
Decodificator de 4 bii (4/16)

TTL

LS

ALS

AS

2
x
x
x

3
x

x
x

x
x
x
x

x
x

x
x
x
x

x
x
x
x

Tipul
ieirii i
numrul
HC HCT
pinilor
8
9
10
x
x TP 16
TP 16
TP 16
TP 16
x
x TP 16
x
x TP 16
x
x TP 16
x
x TSL 24
CMOS

0
155
156
159
237
238
239
4514
4515

1
2 decodificatoare de 2 bii (22/4)
2 decodificatoare de 2 bii (22/4) / OC
Decodificator de 4 bii (4/16) / OC
Decodificator de 3 bii (3/8) / latch adresabil
Decodificator de 3 bii (3/8)
2 decodificatoare de 2 bii (22/4)
Decodificator de 4 bii (4/16) / latch adresabil
Decodificator de 4 bii (4/16) / latch adresabil

2
x
x
x

3
x
x

x
x
x
x
x

x
x

x
x

10
TP 16
OC 16
OC 24
TP 16
TP 16
TP 16
TP 24
TP 24

DECODIFICATOARE PENTRU AFIARE


Numr
dispozitiv
0
45
46
47
48
49
141
145
246
247
248
249
445

Tehnologie
bipolar

Funcia
1
Decodificator BCD-zecimal / OC / 30 V
Decodificator BCD-7 segmente / OC / 30 V
Decodificator BCD-7 segmente / OC / 15 V
Decodificator BCD-7 segmente / 5.5 V
Decodificator BCD-7 segmente / OC / 5.5 V
Decodificator BCD-zecimal / 60 V
Decodificator BCD-zecimal / OC / 15 V
Decodificator BCD-7 segmente / OC / 30V
Decodificator BCD-7 segmente / OC / 15V
Decodificator BCD-7 segmente / 5.5 V
Decodificator BCD-7 segmente / OC / 5.5 V
Decodificator BCD-zecimal / OC / 7 V

TTL

LS

ALS

AS

2
x
x
x
x

x
x
x
x

x
x
x
x
x
x
x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
OC 16
OC 16
OC 16
TP 16
OC 14
OC 16
OC 16
OC 16
OC 16
TP 16
OC 16
OC 16

CODIFICATOARE PRIORITARE
Numr
dispozitiv
0
147
148
348

Tehnologie
bipolar

Funcia
1
Codificator prioritar cu 10 intrri
Codificator prioritar cu 8 intrri
Codificator prioritar cu 8 intrri

TTL

LS

ALS

AS

2
x
x

3
x
x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
x
x TP 16
x
TP 16
TSL 16

COMPARATOARE
Numr
dispozitiv
0
85
518
519
520
521
522
682
683
684
685
686
687

Tehnologie
bipolar

Funcia
1
Comparator de 4 bii
Comparator de 8 bii / OC
Comparator de 8 bii / OC
Comparator de 8 bii
Comparator de 8 bii
Comparator de 8 bii / OC
Comparator de 8 bii
Comparator de 8 bii / OC
Comparator de 8 bii
Comparator de 8 bii / OC
Comparator de 8 bii
Comparator de 8 bii / OC

TTL

LS

ALS

AS

2
x

3
x

4
x

7
x

x
x
x
x
x

x
x
x
x

x
x
x
x
x
x

Tipul
ieirii i
numrul
HC HCT
pinilor
8
9
10
x
x TP 16
OC 20
OC 20
TP 20
TP 20
OC 20
x
TP 20
OC 20
x
TP 20
OC 20
TP 24
OC 24
CMOS

0
688
689
866
885

Comparator de 8 bii
Comparator de 8 bii / OC
Comparator de 8 bii
Comparator de 8 bii cu intrare latch

3
x
x

5
x
x

x
x

8
x

9
x

10
TP 20
OC 20
TP 20
TP 24

DETECTOARE/GENERATOARE DE PARITATE
Numr
dispozitiv
0
180
280
286

Tehnologie
bipolar

Funcia
1
Detector/generator de paritate de 8 bii
Detector/generator de paritate de 9 bii
Detector/generator paritate de 9 bii cu port I/O

TTL

LS

ALS

AS

2
x

x
x

x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
x
TP 14
x
x TP 14
TP 14

UNITI ARITMETICE I LOGICE (UAL), GENERATOARE DE FUNCII


Numr
dispozitiv
0
181
182
264
282
381

Tehnologie
bipolar

Funcia
1
UAL / Generator de funcii de 4 bii
Generator de transport anticipat
Generator de transport anticipat
Generator de transport anticipat
UAL / Generator de funcii de 4 bii

TTL

LS

ALS

AS

2
x
x

3
x

4
x
x

7
x
x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
TP24
TP 16
TP 16
x
TP 16
TP 20

0
382
881
882

1
UAL de 4 bii, cu transport serie
UAL / Generator de funcii de 4 bii
Generator de transport anticipat de 32 bii

3
x

6
x

7
x
x

10
TP 20
TP 24
TP 24

SUMATOARE
Numr
dispozitiv
0
82
83
183
283
385

Tehnologie
bipolar

Funcia
1
Sumator complet de 2 bii
Sumator complet de 4 bii
2 sumatoare complete
Sumator complet de 4 bii
4 sumatoare/scztoare seriale

TTL

LS

ALS

AS

2
x
x

x
x
x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
TP 14
TP 16
TP 14
x
x TP 16
TP 20

MULTIPLICATOARE
Numr
dispozitiv
0
261
284
285
384

Tehnologie
bipolar

Funcia
1
Multiplicator binar paralel 2x4 bii
Multiplicator binar paralel 4x4 bii
Multiplicator binar paralel 4x4 bii / OC
Multiplicator 2 complement

TTL

LS

ALS

AS

3
x

x
x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
TP 14
TP 16
OC 16
TP 16

DRIVERE, BUS TRANSCEIVERE


Numr
dispozitiv
0
125
126
230
231
240
241
242
243
245
365
366
367
368
440
441
442
446
448
449
540
541
620
621

Tehnologie
bipolar

Funcia
1
4 buffere/drivere neinversoare
4 buffere/drivere neinversoare
8 BUS drivere inversoare/neinversoare
8 BUS drivere inversoare
8 BUS drivere inversoare
8 BUS drivere neinversoare
4 BUS XCVR inversoare
4 BUS XCVR neinversoare
8 BUS XCVR neinversoare
6 buffere/drivere neinversoare
6 BUS drivere inversoare
6 buffere/drivere neinversoare
6 BUS drivere inversoare
4 XCVR tridirecionale neinversoare
4 XCVR tridirecionale neinversoare / OC
4 XCVR tridirecionale neinversoare
4 BUS XCVR inversoare
4 XCVR neinversoare / OC
4 BUS XCVR neinversoare
8 BUS drivere inversoare
8 BUS drivere neinversoare
8 BUS XCVR inversoare
8 BUS XCVR neinversoare / OC

TTL

LS

ALS

AS

2
x
x

3
x
x

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

x
x
x
x

x
x
x
x

x
x

Tipul
ieirii i
CMOS
numrul
HC HCT
pinilor
8
9
10
x
x TSL 14
x
x TSL 14
TSL 20
TSL 20
x
x TSL 20
x
x TSL 20
x
x TSL 14
x
x TSL 14
x
x TSL 20
x
x TSL 16
x
TSL 16
x
x TSL 16
x
x TSL 16
TSL 20
OC 20
TSL 20
TSL 16
OC 16
TSL 16
x
x TSL 20
x
x TSL 20
x
x TSL 20
OC 20

0
622
623
638
639
640
641
642
643
644
645
756
757
758
759
762
763

1
8 BUS XCVR inversoare / OC
8 BUS XCVR neinversoare
8 BUS XCVR inversoare / TSL / OC
8 BUS XCVR / neinversoare / TSL / OC
8 BUS XCVR inversoare
8 BUS XCVR neinversoare / OC
8 BUS XCVR inversoare / OC
8 BUS XCVR neinversoare / inversoare
8 BUS XCVR neinversoare / inversoare / OC
8 BUS XCVR neinversoare
8 BUS drivere inversoare / OC
8 BUS drivere neinversoare / OC
8 BUS XCVR neinversoare / inversoare / OC
8 BUS XCVR neinversoare / inversoare / OC
8 BUS drivere neinversoare / inversoare / OC
8 BUS drivere inversoare / OC

3
x
x
x
x
x
x
x
x
x
x

5
x
x
x
x
x
x
x
x
x
x
x
x

6
x
x

7
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

10
OC 20
TSL 20
TSL 20
TSL 20
TSL 20
OC 20
OC 20
TSL 20
OC 20
TSL 20
OC 20
OC 20
OC 14
OC 14
OC 20
OC 20

Not
Conform cu manualul Logic Reference Guide-Bipolar, BiCMOS, and CMOS Logic Technology al firmei
Texas Instruments din 2003 (cf. fiier scyb04.pdf descrcat din site-ul Texas Instruments) circuitele din familiile
ALS, F, HC i HCT sunt ncadrate n zona celor ajunse la maturitate, n timp ce circuitele din familiile TTL, LS,
S, AS sunt ncadrate n zona de declin dar nescoase nc din fabricaie.

BIBLIOGRAFIE

[1] Angheloiu, I., Teoria codurilor, Ed. Militar, Bucureti, 1972.


[2] Blakeslee, T.R., Proiectarea cu circuite logice MSI i LSI standard, Ed. Tehnic,
Bucureti, 1988.
[3] Creang, I., .a., Introducere algebric n informatic. Teoria automatelor, Ed.
Junimea, Iai, 1973.
[4] Daclin, E., Blanchard, M., Synthse des systmes logiques, Cepadues Editions,
Toulouse, France, 1976.
[5] DePalma, R., Algebra binar a lui Boole i aplicaiile ei n informatic, Ed.
Tehnic, Bucureti, 1976.
[6] Floyd, T.L., Digital Fundamentals, Merrills, London, 3rd Edition, 1986.
[7] Hayes, J.P., Digital System Design and Microprocessors, McGraw Hill, New
York, 1984.
[8] Hentea, T., Automatizri industriale discrete, Institutul Politehnic Traian Vuia,
Timioara, 1981.
[9] Hill, F.J., Peterson, G.R., Digital Systems: Hardware Organization and Design,
Wiley, New York, 2nd Edition, 1978.
[10] Huanu, C., Circuite logice i comenzi secveniale, Ed. Junimea, Iai, 1983.
[11] Ionescu, D., Nisipeanu, Livia, Stoica, E., Baze matematice pentru calculatoare
numerice, Ed. Tehnic, Bucureti, 1978.
[12] Ionescu, D., Codificare i coduri, Ed. Tehnic, Bucureti, 1981.
[13] Ivnescu, M., Cauil, I., Automate industriale, Ed. Scrisul Romnesc, Craiova,
1984.
[14] Ivnescu, M., Roboi industriali, Ed. Universitaria, Craiova, 1995.
[15] Maican, S., Sisteme numerice cu circuite integrate. Culegere de probleme, Ed.
Tehnic, Bucureti, 1980.
[16] Maican, S., Circuite integrate digitale, Ed. Printech, Bucureti, 1999.
[17] Mange, D., Analyse et synthse des systmes logiques, Editions Georgi, SaintSaphorin, Suisse, 1979.
[18] Mano, M.M., Digital Design, Englewoods Cliff, NJ: Prentice Hall Co., 1991.
[19] Morris, R.L., Miller, J.R., Proiectarea cu circuite integrate TTL, Ed. Tehnic,
231

BIBLIOGRAFIE

Bucureti, 1974.
[20] Muntean, I., Sinteza automatelor finite, Ed. Tehnic, Bucureti, 1977.
[21] Obermann, R.M.M., Numrtoare electronice, Ed. Tehnic, Bucureti, 1978.
[22] Pop, V., Popovici, V., Circuite de comutare aplicate n calculatoarele electronice,
Ed. Facla, Timioara, 1976.
[23] Pop, V., Analiza i sinteza dispozitivelor numerice, Institutul Politehnic Traian
Vuia, Timioara, 1986.
[24] Sprncean, N., Dobrescu, R., Borangiu, Th., Automatizri discrete n industrie.
Culegere de probleme, Ed. Tehnic, Bucureti, 1978.
[25] Stonham, T.J., Digital Logic Techniques, Van Nostrand, Wokingham, 2nd Edition,
1987.
[26] Sztojanov, I., .a., De la poarta TTL la microprocesor, Ed. Tehnic, Bucureti,
1987, vol. I i II.
[27] tefan, Gh. M., .a., Circuite integrate digitale, Ed. Didactic i Pedagogic,
Bucureti, 1984.
[28] tefan, Gh. M., Circuite i sisteme digitale, Ed. Tehnic, Bucureti, 2000.
[29] tefan, Gh. M., Bistriceanu, V., Circuite integrate digitale. Probleme, proiectare,
Ed. Albastr, Cluj-Napoca, 2000.
[30] Toace, Gh., Nicula, D., Electronic digital, Ed. Teora, Bucureti, 1996.
[31] Zahnd, J., Machines squentielles, Presses Polytechniques Romandes, Lausanne,
Suisse, 1987.
[32] Wiatrowski, C.A., House, C.H., Logic Circuits and Microcomputer Systems, Mc
Graw Hill Book Company, New York, 1980.
[33] Wilkinson, B., Electronic digital. Bazele proiectrii, Ed. Teora, Bucureti, 2002.
[34] *** Texas Instruments, Digital Logic Circuits. Catalog, 2000; http://focus.ti.com/
docs/logic/catalog/.
[35] *** Philips, Fast TTL Logic Series Data Handbook. Philips Components, 1997;
www.philipslogic.com/products/logic/.
[36] *** Philips, Programmable Logic Devices (PLD) Data Handbook, Philips
Semiconductor, Inc., Sunnyvale, CA, 1994.
[37] *** Advanced Micro Devices, Programmable Logic Devices Handbook/Data
Book, AMD, Inc., Sunnyvale, CA, 1995; http://www.amd.com.
[38] *** Signetics, Field Programmable Devices. Design Manual, 1982.
[39] *** Xilinx, The Programmable Logic Data Book, Xilinx, Inc., San Jose, CA,1998;
www.xilinx.com.

232

INDEX
ABEL (Advanced Boolean Expression Language), 126
Absorbie, 8
Activarea (validarea) ieirii, E/OE, 109
Adevrat, 7
Adiacen, 17
Adres, vezi Intrri de adres (selecie)
Adunare binar, vezi Sumator binar
Advanced Micro Devices, Inc., 125
Aiken, vezi Cod binar-zecimal 2421
Algebra
boolean (logic), 9
logic (boolean), 9
Analiza circuitelor logice combinaionale, 28
Arbore boolean, 31
Arie programabil, 119
ASCII (American Standard Code for Information Interchange), vezi Cod ASCII
Asociativitate, 8
Axiomele algebrei booleene, 8
Bait, 109
Baz, vezi Sistem de numeraie
BCD (Binary Coded Decimal), vezi Cod binar-zecimal (cod numeric)
Binar
cifr (bit), 206
cod, 212
numr, 206
sistem de numeraie, 206
Bit, 206
de control, 217
Boole, G., vezi Algebra boolean (logic)
Canonic, vezi Forma canonic conjunctiv/disjunctiv
233

INDEX

Capacitatea memoriei, 109


Capsul de circuit integrat, 73
CD, vezi Codificator
Celul de memorie, 107
Cifra, 205
cea mai puin semnificativ (c.m.p.s.), 206
cea mai semnificativ (c.m.s.), 206
Cip, 73
Circuit
de anticoinciden (sumator modulo doi), 166
de comand (tampon) cu trei stri, 202
de comutare, 27
integrat
pe scar mare, LSI, 104
pe scar medie, MSI, 83
pe scar mic, SSI, 73
iterativ combinaional, 166
logic
combinaional, CLC, 27
secvenial, CLS, 119
pentru generarea transportului anticipat, GTA, 170
tampon (de comand) cu trei stri, 202
CLC, vezi Circuit logic combinaional
CLS, vezi Circuit logic secvenial
CMOS (Complementary Metal Oxide Semiconductor), 73
Cod, 212
alfanumeric, 215
ASCII, 215
EBCDIC, 215
binar-zecimal (numeric), BCD, 213
neponderat, 213
exces 3, 214
Gray (reflectat), 214
reflectat (Gray), 214
2 din 5 (74210), 215
74210 (2 din 5), 215
ponderat, 213
Aiken (2421), 213
autocomplementar, 214
natural (8421), NBCD, 213
2421 (Aiken), 213
4221, 214
5421, 214
7421, 214
8421 (natural), NBCD, 213
complementar (complement fa de 2), 210
corector de erori, 217
234

INDEX

detector de erori, 217


direct (mrime i semn), 209
Hamming, 218
invers (complement fa de 1), 211
numeric (binar-zecimal), BCD, 213
Codificator, CD, 150
Codificator prioritar, 153
Colector
deschis (n gol), OC, 82
n gol (deschis), OC, 82
Combinaie indiferent, 61
Comisia Electrotehnic Internaional (CEI), vezi Norme
Comparator numeric, 157
Complement, 9
fa de 1, 209
fa de 2, 209
Complementare (inversare, negaie logic, NU), 10
Comutativitate, 8
Condensarea diagramelor Karnaugh (metoda diagramelor VID), 53
Conexiune
fix, 113
programabil, 113
Conjuncie (intersecie, produs logic, I), 10
Consens n raport cu o variabil, 55
Consensul
implicanilor, 54
termenilor, 54
Constituent al unitii (funcia caracteristic a unitii), 17
Constituentul lui zero (funcia caracteristic a lui zero), 18
Convertor de cod, 142
BCD-7 segmente, 148
Data I/O Corp., 126
DCD, vezi Decodificator (decodor)
Decodificator (decodor), DCD, 93
Decodificator BCD-7 segmente, 148
Decodor (decodificator), DCD, 93
De Morgan, vezi Relaiile lui De Morgan
Demultiplexor (distribuitor), DMUX, 96
Detector de paritate, 162
Dezactivarea (invalidarea) ieirii, OD, 203
Diagrama
de semnal, 111
de timp (temporal), 21
Karnaugh, 16
Veitch, 17
VID, 53
235

INDEX

DIN 40700, vezi Norme


Disjuncie (reuniune, SAU, sum logic), 10
Dispozitiv logic programabil, PLD, 119
Distribuitor (demultiplexor), DMUX, 96
Distributivitate, 9
DMUX, vezi Demultiplexor (distribuitor)
Dren n gol, OD, 201
Duale, vezi Expresii algebrice duale
E (Enable), vezi Activarea (validarea) ieirii
EAROM (Electrical Alterable ROM), vezi Memoria ROM
EBCDIC (Extended Binary Coded Decimal Information Interchange Code), vezi
Cod EBCDIC
Echivalente, vezi Expresii algebrice echivalente
EEPROM/E2PROM (Electricaly Eraseable Programmable Read Only Memory),
vezi Memoria ROM
Element complementar, 9
EPROM (Eraseable Programmable Read Only Memory), vezi Memoria ROM
Esenial, vezi Implicant prim esenial
Exces 3, vezi Cod exces 3
Expresie
caracteristic, 55
sum-de-produse, 119
Expresii algebrice
duale, 20
echivalente, 35
Fals, 7
Familie de circuite
integrate, 73
logice programabile, 120
Forma
canonic
conjunctiv, 20
disjunctiv, 19
disjunctiv prescurtat, 39
minim, 35
conjunctiv, 45
disjunctiv, 36
normal
conjunctiv, 36
disjunctiv, 36
FPAL (Field/Fuse Programmable Array Logic), vezi Matrice programabil logic
FPGA (Field/Fuse Programmable Gates Array), vezi Matrice de pori programabil
FPLA (Field/Fuse Programmable Logic Array), vezi Matrice logic programabil
Funcia
binar (boolean), 11
236

INDEX

boolean (binar), 11
incomplet (parial) definit, 11
parial (incomplet) definit, 11
caracteristic
a lui zero (constituentul lui zero), 18
a unitii (constituent al unitii), 17
echivalen, 15
implicaie, 15
inhibare (interdicie), 16
interdicie (inhibare), 16
logic, 11
conjuncie (I), 14
constant 0, 13
constant 1, 13
disjuncie (SAU), 14
identitate, 13
negaie, 14
SAU-cablat, 199
I-cablat, 199
lui Pierce (SAU-NU, Webb), 14
lui Sheffer (I-NU), 14
lui Webb (Pierce, SAU-NU), 14
suma modulo doi (SAU-EXCLUSIV), 15
Funcii booleene elementare, 13
identice, 12
GAL (Generic Logic Array), vezi Matrice/arie logic generic
Generator
de funcii, 180
de paritate, 162
Graf boolean, 30
Gray, vezi Cod binar reflectat
GTA, vezi Circuit pentru generarea transportului anticipat
Hamming, vezi Cod Hamming
Hart de programare, 126
Hazard combinaional, 133
dinamic, 135
static, 133
Hipercub, 46
HZ (High Z), vezi Stare de nalt impedan
Idempoten, 8
Identiti booleene, 46
Ieire
cu colectorul n gol, OC, 198
cu drena n gol, OD, 201
237

INDEX

cu trei stri logice, TSL, 201


n contratimp, 197
Implementare, 69
Implementarea funciilor booleene
cu circuite integrate, 71
LSI, 104
MSI, 83
SSI, 73
cu decodificatoare i demultiplexoare, 98
cu dispozitive logice programabile (PLD), 127
cu memorii ROM, 111
cu multiplexoare, 86
cu relee electromagnetice, 69
Implicant, 37
prim, 37
esenial, 39
Implicaia consensului, 54
Implicaie, 36
Implicaii de minimalitate, 56
Incomplet definit, vezi Funcia incomplet definit
Intersecie (conjuncie, produs logic, I), 10
Intrare de strobare (autorizare, validare), 84
Intrri
de adres (selecie), 83
de date, 83
de selecie (adres), 83
Inversare (complementare, negaie logic, NU), 10
Iterativ, vezi Circuit iterativ combinaional
nmulitor (multiplicator), 188
elementar, 190
Karnaugh, M., vezi Diagrama Karnaugh
Latice, 8
Lattice Semiconductor Corp., 125
Legile
lui 0, 9
lui 1, 9
Livovschi, L., 69
Logic
de conexiuni, 69
de nivele, 69
mixt, 72
negativ, 72
pozitiv, 72
Logigram (reea de comutare, schem logic), 20
238

INDEX

LSI (Large Scale Integration), vezi Circuit integrat pe scar mare


Margine (marj) de zgomot, 72
Marj (margine) de zgomot, 72
Matrice
de comand, 95
de decodificare (de referin), 95
de memorie, 109
de pori programabil, PGA/FPGA, 125
de referin (de decodificare), 95
logic programabil, PLA/FPLA, 120
programabil logic, PAL/FPAL, 125
/arie logic generic, GAL, 125
Maxterm (termen canonic disjunctiv, termen maximal), 20
McCluskey, E.J., vezi Metoda de minimizare Quine-McCluskey
Memorie
cu acces aleatoriu, RAM, 106
fix, ROM, 106
programabil, PROM, 106
Metoda
consensurilor (a lui Tison), 54
de minimizare bazat pe diagrama Karnaugh, 46
de minimizare Quine-McCluskey, 39
diagramelor VID, vezi Condensarea diagramelor Karnaugh
MIL-STD-806 B(MIL), vezi Norme
Minimizarea
funciilor booleene, 35
incomplet (parial) definite, 60
pe baza axiomelor i teoremelor algebrei booleene, 38
prin metoda consensurilor, 54
prin metoda diagramelor Karnaugh, 46
prin metoda Quine-McCluskey, 38
sistemelor de funcii booleene, 65
Minterm (termen canonic conjunctiv, termen minimal), 19
Moisil, Gr. C., 69
MOS (Metal Oxide Semiconductor), 107
MSI (Medium Scale Integration), vezi Circuit integrat pe scar medie
Multiplexor (selector), MUX, 83
Multiplicator (nmulitor), 188
elementar, 190
NBCD (Natural Binary Coded Decimal), vezi Cod 8421 (binar-zecimal natural)
Negaie logic (complementare, inversare, NU), 10
Nivel logic
al reelei, 30
0 (L-Low), 72
1 (H-High), 72
239

INDEX

Nivele de tensiune, 72
Norme
ale Comisiei Electrotehnice Internaionale (CEI), 21
DIN 40700, 21
MIL-STD-806 B (MIL), 21
NU (complementare, inversare, negaie logic), 10
Numrul de nivele logice al unei reele de comutare, 30
OC (Open Collector), vezi Colector n gol (deschis)
OD (Open Drain), vezi Dren n gol
OD (Output Disable), vezi Dezactivarea (invalidarea) ieirii
OE (Output Enable), vezi Activarea (validarea) ieirii
Operator logic
INVERSOR, 22
SAU, 22
SAU-cablat, 199
SAU-EXCLUSIV, 22
SAU-NU, 22
I, 22
I-cablat, 199
I-NU, 22
Operator n-ar, 20
PAL (Programmable Array Logic), vezi Matrice programabil logic
PALASM 2 (PAL Assembler), 126
Parial definit, vezi Funcia parial definit
PGA (Programmable Gates Array), vezi Matrice de pori programabil
Philips, 120
Pierce, vezi Funcia lui Pierce (SAU-NU, Webb)
PLA (Programmable Logic Array), vezi Matrice logic programabil
PLD (Programmable Logic Device), vezi Dispozitiv logic programabil
Poart logic
INVERSOR (INVERTER), 73
SAU (OR), 73
SAU-EXCLUSIV (XOR), 73
SAU-NU (NOR), 73
I (AND), 73
I-NU (NAND), 73
I-SAU-NU (AOI), 73
Pondere, 206
Principiul
contradiciei, 9
dualitii, 8
dublei negaii (involuiei), 10
involuiei (dublei negaii), 10
terului exclus, 9
Produs logic (conjuncie, intersecie, I), 10
240

INDEX

PROM (Programmable Read Only Memory), vezi Memorie fix programabil


Proprietatea de minimalitate, 56
Proprietile algebrei booleene, 8
Quine, W.V., vezi Teorema lui Quine
RAM (Random Access Memory), vezi Memorie cu acces aleatoriu
Rang, 206
Rangul termenului normal, 36
Reflectat, vezi Cod binar reflectat (cod Gray)
Relaii de minimalitate, 56
Relaiile lui De Morgan, 10
Reprezentarea
conjunctiv a funciei booleene, 18
disjunctiv a funciei booleene, 18
funciilor booleene (binare), 16
analitic, 17
prin diagram de timp, 21
prin diagram Karnaugh, 16
prin schem logic (logigram, reea de comutare), 20
prin tabel de adevr (combinaional), 16
numerelor
n virgul fix, 208
n virgul mobil (flotant), 211
prin complement fa de 1 (cod invers), 211
prin complement fa de 2 (cod complementar), 210
prin mrime i semn (cod direct), 209
Reea de comutare (logigram, schem logic), 20
Reuniune (disjuncie, SAU, sum logic), 10
Reziduu n raport cu o variabil, 55
ROM (Read Only Memory), vezi Memorie fix
SAU (disjuncie, reuniune, sum logic), 10
SAU-EXCLUSIV (suma modulo doi), 15
SAU-NU (funcia lui Pierce/Webb), 14
Scdere binar, 174
Schem logic (logigram, reea de comutare), 20
Selector (multiplexor), MUX, 83
Semisumator, 166
Semnal
de selecie a cipului, 109
logic
activ n 0, 72
activ n 1, 72
Sheffer, vezi Funcia lui Sheffer (I-NU)
Simboluri grafice, 22
Simplificare
241

INDEX

algebric, 38
grafic, 38
simultan a funciilor multiple, 65
Sinteza circuitelor logice combinaionale, 35
Sistem
complet de funcii (sistem funcional complet de baz), 23
complet de funcii minim, 23
de numeraie, 205
nepoziional, 205
poziional, 205
binar, 208
funcional complet de baz (sistem complet de funcii), 23
SSI (Small Scale Integration), vezi Circuit integrat pe scar mic
Stare
de nalt impedan (flotant), HZ, 109
flotant (de nalt impedan), 109
logic 0, 84
logic 1, 84
Subcub, 48
Sumator
binar, 165
complet (elementar), 166
cu propagarea transportului
n paralel (cu transport anticipat, cu transport simultan), 168
n serie, 168
cu transport anticipat (cu propagarea transportului n paralel, cu transport
simultan), 168
elementar (complet), 166
modulo doi (circuit de anticoinciden), 166
paralel (derivaie), 165
serie, 165
Sum-de-produse, vezi Expresie sum-de-produse
Sum logic (disjuncie, reuniune, SAU), 10
I (conjuncie, intersecie, produs logic), 10
I-NU (funcia lui Sheffer), 14
Tabel de adevr (combinaional), 16
Tabelul
acoperirilor, 63
implicanilor primi, 39
neeseniali, 44
reziduurilor, 55
Teorema lui Quine, 39
Termen
canonic
conjunctiv (termen minimal, minterm), 19
242

INDEX

disjunctiv (termen maximal, maxterm), 20


maximal (termen canonic disjunctiv, maxterm), 20
minimal (termen canonic conjunctiv, minterm), 19
normal conjunctiv, 36
redundant, 49
Terminal
dren, tranzistorul MOS, 108
poart, tranzistorul MOS, 108
surs, tranzistorul MOS, 108
Texas Instruments, 74
Timp de propagare, 133
Timpul de acces al memoriei, 107
Tison, vezi Metoda consensurilor
Transceiver de magistral, 203
Transport, 165
Tranzistor MOS
de tip n, 108
de tip p, 108
Trei stri logice, TSL, 82
TSL (Tri/Three State Logic), vezi Trei stri logice
TTL (Transistor Transistor Logic), 73
Unitate aritmetic i logic, UAL, 181
Variabil
biform, 55
binar (boolean), 10
boolean (binar), 10
monoform, 54
redundant, 40
Veitch, E.W., vezi Diagrama Veitch
VID (variabile incluse/nglobate n diagram), vezi Condensarea diagramelor
Karnaugh (metoda diagramelor VID)
Virgul
fix, vezi Reprezentarea numerelor n virgul fix
mobil (flotant), vezi Reprezentarea numerelor n virgul mobil (flotant)
Webb, vezi Funcia lui Webb (Pierce, SAU-NU)
Xilinx, Inc., 126
Zecimal
cifr, 206
numr, 206
sistem de numeraie, 206
Zgomot, vezi Margine (marj) de zgomot.
243

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