Documente Academic
Documente Profesional
Documente Cultură
ASDN
ASDN
F. Moldoveanu D. Floroian
Circuite logice
i
comenzi secveniale
Circuite logice combinaionale
Tiprit la:
Tipografia Universitii Transilvania din Braov
B-dul Eroilor, Nr. 9
Tel./Fax: 0268-475348
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
PREFA
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)
(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)
U ai = a1 U a2 U U an ,
i =1
I ai = a1 I a2 I I an .
(1.5)
i =1
a U a U U a = a , a I a I I a = a , a A .
(1.6)
ALGEBRA LOGIC
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)
(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)
(1.11)
(1.12)
(1.13)
(1.14)
(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)
(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
X K f (X ) = 1, X K f (X ) = 0 .
f (X ) =
(1.18)
Simbolul d provine de la prescurtarea expresiei englezeti dont care (nu ine cont).
11
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
(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)
(1.21)
(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
(1.24)
(1.25)
(1.26)
(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)
(1.30)
(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)
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)
(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)
(1.36)
(1.37)
(1.38)
(1.39)
15
(1.40)
f13 ( x1 , x2 ) = x1 x2 = x1 + x2 ,
(1.41)
(1.42)
f 4 ( x1 , x2 ) = x2
/ x1 = x1 x2 , x2 inhib x1 , sau inhibare invers.
(1.43)
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
(1.44)
(1.45)
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
(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
(1.49)
(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)
(1.52)
unde, prin s-a notat faptul c se consider disjuncia termenilor conjunctivi (1.50)
1
18
FUNCII BOOLEENE
f FCD ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x 2 x3 + x1 x2 x3 + x1 x2 x3 .
(1.53)
(1.54)
(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
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:
(1.57)
(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
21
22
FUNCII BOOLEENE
f
(b)
1
0
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
23
(1.59)
FUNCII BOOLEENE
(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)
(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
(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)
26
(1.66)
2
CIRCUITE LOGICE
COMBINAIONALE
(2.1)
z m = f m ( x1 , x2 ,, xn ) ,
27
(2.2)
f :X Z.
(2.3)
28
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
x1
x3
4
b
x3
x5
c
5
x4
x6
2
(a)
x2
a
1 nivelul
(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
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
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
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
(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)
(2.7)
33
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)
(2.13)
x1
x2
x3
x4
x3
x4
(a)
(b)
(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)
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
(2.16)
(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
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)
(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 .
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)
x1
x2
x3
x 2 x3
x1 x2
x1 x2 x3
f ( x1 , x 2 , x3 )
(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
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
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
(2.25)
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)
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
*
* *
*
*
*
*
*
*
*
*
*
43
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.30)
44
(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)
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
(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)
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
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)
(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
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).
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)
(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
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)
f FMD ( x1 , x2 , x3 , x4 ) = x2 x3 + x1 x3 + x1 x3 x 4 ,
(2.42)
(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)
(2.46)
51
x3 (22 )
x5
( 20 )
x4
( 21 )
x2 (23 )
(a)
x1 x2 x3
x4 x5
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
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
52
(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)
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)
(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.
dac a0
/ ' ai , unde
i =1
' ai
i =1
se obine din
ai
i =1
men oarecare.
Consecin. Consensul termenilor a1 , a 2 ,K , a n , dac exist, este diferit de zero.
54
Definiie. Expresia
ai
i =1
n raport cu a0 . Ter-
(2.51)
(2.52)
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.54)
+ x3 x4 x5 x6 + x1 x3 x4 x6 + x1 x2 x3 x4 + x2 x3 x4 x5 ,
i =1
i =1
' Qi
se obine din
i =1
Qi
i =1
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)
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
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
(2.58)
(2.59)
(2.60)
(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)
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 .
(2.64)
f 2 = x3 x4 + x1 x4 + x2 x4 + x1 x2 x3
(2.65)
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)
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)
(2.71)
(2.72)
(2.73)
E7 = y 7 + y1 y 6 + y 2 y5 , E8 = y8 + y3 y 4 , E9 = y9 + y1 y8 + y3 y5 ,
(2.74)
(2.75)
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
(2.78)
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
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
(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
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)
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)
(2.85)
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
(2.86)
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
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)
(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
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
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
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
*
*
*
*
*
*
*
*
*
*
*
*
*
*
(2.89)
De asemenea:
A( f 2 ) = ei + ehb = B1 + B2 ,
(2.90)
(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
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
(2.92)
f 3FMD ( x1 , x2 , x3 ) = x1 x3 + x1 x3 + x1 x2 .
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
(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
(2.93)
1 x1
1x 2
1x 3
1 x4
2 x1
2 x2
2 x4
= x1 ( x2 + x4 ).
f1
f2
X1
X4
Nivel H
S1 S2 =
Nivel L
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
(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.
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
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
(2.95)
(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
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)
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)
77
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 ,
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
(2.101)
(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)
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
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
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
-
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
*
*
*
*
*
(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)
81
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
82
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
(2.108)
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 .
(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
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)
85
B A D7 D6 D5 D4 D3 D2 D1 D0 G
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)
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 .
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 .
87
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 .
(2.115)
f 2FCD ( x1 , x2 , x3 ) = P0 + P2 + P3 + P5 .
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
88
(b)
(2.116)
= P0 + P2 + P3 + P5 .
89
(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
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
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
92
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.
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
sistemul de numeraie binar natural. Cele 6 combinaii de cod neutilizate (1010, 1011,
1100, 1101, 1110 i 1111) sunt combinaii indiferente (v. Anexa C).
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
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
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 ,
6 = DCB A ,
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
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)
(2.122)
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)
96
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)
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
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
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 .
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
(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)
f 3FCD ( x1 , x2 , x3 , x4 ) = P0 + P3 + P4 + P5 ,
(2.129)
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
(2.130)
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
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,
x1
x3
x2
1B
1
1 x2 x3
x1
1G
1A
2 74139
1C B
A
1G
2 74155
1Y0 1Y1 1Y2 1Y3
1
6 7404
4 7400
6 7404
3 7410
3 7410
4 7400
(a)
(b)
f
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
(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
104
S-a fcut aceast demarcaie deoarece, pentru o serie de autori (v., de exemplu, [33]), memoriile ROM nu
sunt strict circuite PLD.
105
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.
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
Selecie cuvnt
WL
Vcc > 0
T
F
DL
Linie bit
107
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.
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
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
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
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-
DATE
tA
tOH
(2.133)
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
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
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
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.
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
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
A1
A3
20
21
22
23
24
5
A5 2
A0
A1
A2
A3
A4
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
116
1Y 2Y 3Y 4 Y
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
117
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
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
ROM-ul are 8 intrri i 22 de ieiri (10 pentru uniti, 10 pentru zeci i 2 pentru sute) deci
118
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
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
La ieirile porilor I se obin termenii produs ( P0 ,K , P31 ), care pot fi exprimai prin:
17
(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
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
(2.137)
(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
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
(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
125
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
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
Conexiune
programabil
Fuzibil
A0
P0
A1
O0
MATRICE
I
9 pori I
cu 32 intr.
P8
O8
A15
Conexiune
programabil
Conexiune
programabil
CS
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
P0
P1
P2
P3
P4
P31
f1
f2
f10
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
N
PLA n
PLA 2
M
N
PLA 1
PLA 1
PLA 2
PLA n
M
(b)
(a)
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)
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
x2 x4
x1 x2 x3
x1 x3
x1 x3
0
x2 x3
x2 x4
0
NIVEL I
PROGRAMABIL
CS
f1
f2
f3
f4
(2.142)
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)
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
(2.144)
(2.145)
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
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)
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)
134
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)
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)
(2.147)
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
(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
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.
1, : 0
1 , :1 1, : 0
1, : 1 1 i deci f : 1
0;
137
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)
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.
(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
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),
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
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)
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
142
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
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
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
144
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
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
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
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
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
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.
148
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
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
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
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.
150
A
1
4 7400
1
2 7420
3 7410
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
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)
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
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 .
154
(2.162)
(2.163)
EO = EI 0 1 2 3 4 5 6 7 .
(2.164)
unde:
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
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 ,
(2.165)
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
156
X2
X3
f1 ( Ai < Bi )
Z1
COMPARATOR
DE A=B
4 BII
Z2
A>B
Z3
Ai
Bi
f 2 ( Ai = Bi )
f3 ( Ai > Bi )
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)
(2.169)
157
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
A1 = B1
2
3
A0
B0
A1 < B1
A0 = B 0
A1 > B1
A0 < B 0
A0 > B0
A<B
A>B
A=B
158
(2.170)
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:
(2.173)
Z 2 = C3C 2 C1C 0 X 2 ,
(2.174)
(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
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
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
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
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
161
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
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
162
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.
163
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
164
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
165
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)
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)
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.
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)
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
(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
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)
(2.187)
C1 = A1 B1 + C0 ( A1 + B1 ) = G1 + C0 P1 ,
(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
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
(2.193)
170
C1 = P1 + G1C0 ,
(2.194)
C 2 = P2 + G2 P1 + G2 G1C0 ,
(2.195)
(2.196)
(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
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
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.
(2.198)
(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
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
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)
(2.208)
C 2 = G2 P2 + G2 G1 P1 + G2 G1C0 ,
(2.209)
(2.210)
(2.211)
(2.212)
i
173
P = P4 + P3 + P2 + P1 .
(2.213)
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)
175
+ 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
+7
6
+1
0.0111
1.0110
0111
1001
0000
1
0001
0.0001
0111
1001
0000
1
0001
1.0001
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
Toate posibilitile care pot s apar la adunarea numerelor binare A i B sunt prezentate n tabelul 2.38.
176
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)
A4 B4
00
01
11
10
C3
s
adunare
00
01
11
10
scdere
(a)
(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).
(2.215)
(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)
(2.218)
(2.219)
iar S, cnd:
FS = A4 B4 C3 + A4 B4 C3 = ( A4 B4 )C3 .
(2.220)
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).
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
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
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
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
(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
AS3 S 2
BS1S0
000
001
011
010
0
F
110
111
101
100
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)
(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)
182
(2.225)
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)
(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)
(2.232)
(2.233)
183
S3
S2
C
S1
S0
A
Fig.2.124 Schema logic a circuitului care realizeaz funcia F.
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)
(2.237)
(2.238)
(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
F = A plus B plus C0 .
(2.241)
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)
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
186
a)
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
b)
187
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
(2.242)
G = X = X 3 X 2 X1 X 0
(2.243)
(2.244)
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)).
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
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
189
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)
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
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)
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
192
193
ANEXA A
FCD
( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 ,
(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.
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)
f ( x1 , x2 , x3 ) = 1 1 ,
11
11
(A.3)
(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
ANEXA B
x1
x2
Vcc (+5V)
R1
E1
x1
x2
R2
T1
T4
D
E2 T2
D1
R4
f = x1 x2
T3
D2
R3
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
T3m
T1n
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
(B.2)
Rc min
(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
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*
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)
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.
203
ANEXA C
(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
(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)
(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)
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) ,
( 2) =
90F.2A (16) ,
( 2) .
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)
[ 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)
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
ANEXA C
Exemple.
[+ 9] dir = 0 1001
[ 9] dir = 1 1001
valoarea
numrului
bitul de semn
valoarea
numrului
bitul de semn
[ 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
[+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)
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)
ANEXA C
SE
0
SM
7
31
(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
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)
ANEXA C
(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
213
ANEXA C
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
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
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
(C.20)
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 .
218
ANEXA D
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
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
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
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
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
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
INDEX
INDEX
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
INDEX
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
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