Вы находитесь на странице: 1из 617

Gheorghe Toacse

Dan Nicula

DIGITALA

ELECTRONICA
VOL. I
DISPOZITIVE, CIRCUITE,
PROIECTARE

- 2005
EDITURA TEHNICA

Anei Maria si Radu

Prefata

In societatea cunoasterii, spre care ne ndrept


am, cunoasterea (sub diferitele ei
forme: tehnologic
a, stiintific
a sau organizatoric
a) constituie un concept pivot av
and o
determinare economic
a prin efectele sale. Cunoasterea este mai mult dec
at informatie,
este o informatie cu nteles. Datele organizate sau structurate ntr-un anumit mod,
plasate ntr-un context devin o informatie cu nteles, cu sens. Informatia digital
a
structurat
a este materia prim
a pentru cuprinz
atorul si dinamicul domeniu referit
prin tehnologia informatiei. Dar suportul fizic, partea mai putin vizibil
a a icebergului tehnologiei informatiei, este electronica digital
a . Electronica digital
a a potentat
procesarea digital
a a informatiei, pune permanent la dispozitie si genereaz
a pentru
aceasta un suport tot mai larg si mai performant; acest suport va continua s
a existe
si ntr-o societate a cunoasterii (pe l
ang
a alte suporturi de natur
a cuantic
a, biologic
a
. . . ce vor ap
area).
Cu toate c
a electronica digital
a este suportul eficient si indispensabil pentru teh,,
nologia informatiei, foarte adesea se aude asertiunea doar softul conteaz
a . Dup
a
evolutia tehnologic
a din ultimile dou
a decenii aceast
a asertiune pare a avea, ntr-o
anumit
a nuanta
, o justificare deoarece hardul/circuistica este produs pe scar
a industrial
a (replicabil, cost sc
azut, mult standartizat), pe c
and softul nu a ajuns la astfel
de performante. Mai mult, majoritatea aplicatiilor de sisteme necesit
a circuistic
a
,,
standard, particularizarea (croirea ) pentru aplicatia respectiv
a obtin
andu-se prin
software, deci proiectarea suportului circuistic nu este prima cerinta
.
Dar, n stadiul actual si n viitor, performante mult superioare pentru sistem se
,,
obtin si prin croirea circuisticii, nu numai a softului. Aceste sisteme croite pentru
aplicatii Embedded Systems cu performante optime necesit
a pentru proiectare o
cunoastere a hardului si a softului n aceeasi m
asur
a, deci asertiunea amintit
a devine
caduc
a. Implementarea acestor sisteme poate fi, n modul devenit clasic, pe o plac
a
de circuit imprimat sau sub forma unui singur circuit integrat, SOC; ultima variant
a
impun
andu-se din ce n ce mai mult.
,,
Pentru ca hardul s
a fie croit , la fel de rapid si de usor ca si softul, acesta trebuie s
a aib
a atributul de programabil; programabilitatea hardului este un atribut curent
si va fi din ce n ce mai mult extins
a. Programabilitatea pentru electronica digital
a
este notiunea de care s-a tinut cont pe tot cuprinsul acestei lucr
ari. La procesul de
programare al unui circuit digital pentru o aplicatie, ntr-o prim
a variant
a, particip
a
at
at proiectantul c
at si turn
atoria de siliciu pentru circuitele semi-custom (referite
ASIC-uri). Iar, ntr-o alt
a variant
a, programarea este realizat
a n totalitate de proiectant (beneficiar), elimin
andu-se dependenta de o turn
atorie de siliciu este cazul circuitelor FPGA. Programabilitatea n a doua variant
a, realizat
a n etapa post-fabricatie
a circuitului, realizeaz
a o configurare a circuitului printr-o programare a conexiunilor
spatiale dintre elementele de procesare. Configurabilitatea circuitelor transform
a implementarea algoritmului aplicatiei de la o exprimare de tip secvential ntr-un limbaj
de nivel nalt ntr-o mult mai pronuntat
a reprezentare concurent
a, de la o exprimare

VI

Electronic
a digital
a

din domeniul program


arii temporale ntr-o reprezentare spatial
a programat
a. Configurarea post-fabricatie este cheia prin care circuite complexe pot fi realizate n timp
scurt si la pret sc
azut.
Majoritatea c
artilor din domeniul electronicii digitale acoper
a, n general, doar
una din cele trei componente ale domeniului: dispozitivele electronice (si/sau tehnologia), circuitele electronice, proiectarea logic
a.
In volumul nt
ai al acestei lucr
ari pentru cele patru capitole (Porti logice, Circuite logice combinationale, Circuite logice
secventiale, Suportul circuistic pentru proiectarea aplicatiilor) s-a adoptat, n raport
cu specificul fiec
arui capitol, o ntrep
atrundere a celor trei componente enumerate
anterior. Cunoasterea prin ntrep
atrundere a acestor trei componente determin
a o
acoperire larg
a si n egal
a m
asur
a at
at a dispozitivelor/tehnologiei, a circuitelor, si
a logicii pentru proiectarea aplicatiilor, ceea ce este o cerinta
impus
a de nivelul profesional actual n electronica digital
a. Pornind de la aceast
a cerinta
de acoperire
larg
a, s-a conceput si tratat materialul acestei lucr
ari; n acest sens, de exemplu, se
ncepe cu notiunea de algebr
a logic
a pe prima pagin
a ajung
andu-se la prezentarea sub
forma unui tabel sintetic al tehnologiilor de proiectare pentru aplicatii, pe ultima pagin
a. Nivelul profesional actual difer
a de cel care era nu cu multi ani n urm
a. Acest
nivel profesional pentru specialistul n electronic
a necesit
a competenta
n a concepe
sisteme, ceea ce presupune, implicit, o viziune de arhitectur
a pentru Embedded System. O astfel de viziune se bazeaz
a pe o preg
atire prin care se trateaz
a integrat cele
trei componente ale electronicii digitale actuale. La fundamentarea form
arii pentru o
astfel de viziune concur
a initial o preg
atire ntrep
atruns
a a celor trei componente ale
electronicii digitale, iar apoi o practic
a n acest domeniu.
Pe parcursul elabor
arii acestei lucr
ari, cu argumentele expuse anterior permanent
prezente n fundalul g
andurilor, tinta autorilor a fost realizarea unei lucr
ari utile ce se
adreseaz
a n primul r
and acelor studenti pentru care domeniul de electronic
a digital
a
va fi o component
a important
a a profesionalit
at ii lor viitoare, dar n aceeasi m
asur
a
lucrarea s
a fie folositoare si celor care profeseaz
a deja n acest domeniu. Confirmarea
realiz
arii acestei tinte o veti da-o Dumneavoastr
a, Cititorii.
Solutiile pentru problemele propuse n acest volum pot fi accesate la adresa sitului
c
artii: http://vega.unitbv.ro/electronica digitala.
Pentru procesarea textului si a desenelor le multumin urm
atorilor studenti de la
specializarea de Electronic
a si Ingineria Calculatoarelor de la Universitatea TRANSILVANIA din Brasov: Bogdan Spinean, Radu B
adulescu, C
at
alin Cucu, Bogdan
Grovu, Mihai B
arbat, Claudiu Isac, Florin Oprea Sorescu, Iulia Grama, Dragos
Cosma, Alexandru Costache si n special studentului Marius Antohi.

Brasov, septembrie 2005.


Autorii

Cuprins
Capitolul 1

PORT
I LOGICE
SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE
1
1.1.1 Axiomele si teoremele algebrei Booleene
1
1.1.2 Algebre polivalente
5
1.1.3 Functii Booleene
8
1.1.4 Forme canonice
13
1.1.5 Forme disjunctive si conjunctive
20

1.2 POARTA LOGICA


25
1.3 PARAMETRII PORT
ILOR LOGICE
33

1.4 PORT
I LOGICE IN TEHNOLOGIA BIPOLARA
45
1.4.1 Inversorul bipolar
46
1.4.2 Porti logice TTL
50
1.4.3 Porti pentru magistrale
53
1.5 PORT
I IN TEHNOLOGIA CMOS
59
1.5.1 Tranzistorul MOSFET
60
1.5.1.1 Tehnologia de fabricatie a tranzistorului MOS
60
1.5.1.2 Ecuatiile tranzistorului MOS
65
1.5.2 Inversorul CMOS
72
1.5.2.1 Caracteristica static
a de transfer VO = f (VI )
73
1.5.2.2 Proiectarea inversorului CMOS
76
1.5.2.3 Tehnologia de fabricatie a inversorului CMOS
80
1.5.2.4 Regimul dinamic al inversorului
83
1.5.3 Familia de porti logice CMOS
87
1.5.3.1 Poarta NOR si NAND cu dou
a intr
ari
88
1.5.3.2 Porti logice complexe
91
1.5.3.3 Seriile de porti ale familiei CMOS
98
1.5.3.4 Interfatarea TTL-CMOS si CMOS-TTL
99
1.5.4 Poarta de transmisie CMOS
104
1.5.5 Circuite logice dinamice
108
1.5.6 Metoda efortului logic
116
1.5.6.1 Determinarea nt
arzierii pe o poart
a logic
a
116
1.5.6.2 Calculul nt
arzierii n retelele de porti logice
125
1.5.6.3 Alegerea num
arului optim de niveluri pe un traseu129
1.6 REJECT
IA ZGOMOTELOR
134
1.6.1 Rejectia zgomotelor externe
140

1.1

VIII

Electronic
a digital
a
1.6.2

Capitolul 2

Rejectia zgomotelor interne


1.6.2.1 Zgomotul de mas
a.
1.6.2.2 Zgomotul datorit
a neadapt
arii liniilor.
1.6.2.3 Zgomotul datorat cuplajului electromagnetic (diafonia)
1.6.2.4 Zgomotul datorit
a curentilor de alimentare

142
142
143
150
153

CIRCUITE LOGICE COMBINAT


IONALE
CIRCUITUL LOGIC COMBINAT
IONAL
165
REPREZENTAREA CLC
168
2.2.1 Tabelul de adev
ar
169
2.2.2 Reprezentarea analitic
a
174
2.2.3 Diagrama Veitch - Karnaugh
178
2.2.3.1 Minimizarea functiilor incomplet definite
183
2.2.3.2 Minimizare pe diagrame V-K cu variabile reziduu 184
2.2.3.3 Minimizarea prin diagrame V-K a circuitelor cu
iesiri multiple
189
2.2.4 Diagrama de decizie binar
a, BDD
192
2.2.5 Modalit
ati neformale de reprezentare
194
2.3 REALIZAREA CIRCUITELOR COMBINAT
IONALE
200
2.3.1 Hazardul static
204
2.4 CLC PENTRU FUNCT
II LOGICE
209
2.4.1 Codificatorul
210
2.4.2 Codificatorul prioritar, CDCP
211
2.4.3 Decodificatorul, DCD
215
2.4.3.1 Convertorul de cod
224
2.4.4 Multiplexorul, MUX
224
2.4.4.1 Aplicatii cu circuite multiplexoare
229
2.4.5 Demultiplexorul, DMUX
238
2.4.6 Memoria numai cu citire, ROM
242
2.4.6.1 Realizarea circuitelor si modulelor ROM
247
2.4.6.2 Module de memorie ROM
253
2.4.7 Dispozitivele logice programabile, PLD
255
2.4.7.1 Matricea Logic
a Programabil
a, PLA
255
2.4.7.2 Matricea logic
a programabil
a cu nivel OR fix, PAL261
2.4.7.3 Circuitul de tip GAL
263
2.5 CLC PENTRU FUNCT
II NUMERICE
264
2.5.1 Comparatorul
264
2.5.2 Sumatorul
267
2.5.2.1 Sumatorul cu Transport Progresiv, STP
267
2.5.2.2 Sumatoare de performanta
ridicat
a
271
2.5.3 Multiplicatorul
279
2.5.3.1 Multiplicatorul matriceal
279
2.5.3.2 Multiplicatorul tip arbore Wallace
282
2.5.3.3 Multiplicatorul tabelar
284
2.5.4 Circuite de deplasare
286
2.5.5 Unitatea Aritmetic
a si Logic
a, ALU
292
2.1
2.2

Cuprins

IX
2.5.5.1
2.5.5.2
2.5.5.3

Capitolul 3

Calea de date
Organizarea si implementarea unei unit
ati logico-aritmetice
Structurarea unei ALU elementare

CIRCUITE LOGICE SECVENT


IALE
CIRCUITE LOGICE SECVENT
IALE ASINCRONE
CIRCUITE LOGICE SECVENT
IALE SINCRONE
3.2.1 Sincronizarea semnalelor asincrone
3.2.2 Automate finite: structur
a, definitii, clasific
ari
3.2.3 Modalit
ati de reprezentare ale automatelor
3.2.3.1 Graful de tranzitie al st
arilor
3.2.3.2 Tabelul de tranzitie al st
arilor
3.2.3.3 Diagrame de variatie n timp ale semnalelor
3.2.3.4 Organigrama ASM
3.2.3.5 Limbaje de transfer ntre registre
3.2.4 Reducerea num
arului de st
ari
3.2.5 Asignarea st
arilor
3.2.5.1 Intr
ari si iesiri asincrone
3.2.6 Proiectarea automatelor sincrone
3.3 CIRCUITE BASCULANTE
3.3.1 Circuitul latch
3.3.1.1 Latch-ul SR
3.3.1.2 Latch-ul D
3.3.2 Circuite Basculante Bistabile (Triggere)
3.3.2.1 Principiul master-slave
3.3.2.2 Bistabilul D
3.3.2.3 Bistabilul JK
3.3.2.4 Bistabilul T
3.3.3 Aplicatii la automate
3.3.4 Circuitul basculant bistabil asimetric, Triggerul Schmitt
3.3.5 Circuitul basculant monostabil
3.3.6 Circuitul basculant astabil
ATOR

3.4 CIRCUITE NUMAR


3.4.1 Num
ar
atoare asincrone
3.4.2 Num
ar
atoare sincrone
3.4.2.1 Num
ar
atoare presetabile
3.4.2.2 Num
ar
atoare n cod arbitrar
3.5 CIRCUITE REGISTRU
3.5.1 Registru paralel
3.5.2 Circuitul acumulator
3.5.3 Structura pipeline
3.5.4 Registrul de deplasare
3.5.5 Registrul serie-paralel
3.5.6 Circuite liniare cu registre de deplasare
3.5.7 Distributia si aplicarea semnalului de ceas
3.6 MEMORIA CU ACCES ALEATORIU

3.1
3.2

292
296
297

312
320
320
322
330
331
334
335
335
344
347
351
362
366
372
373
376
380
385
385
388
392
395
399
408
412
414
418
420
424
429
439
441
442
444
448
450
457
462
473
483

Electronic
a digital
a
3.6.1
3.6.2

Memoria RAM static


a
Memoria RAM dinamic
a
3.6.2.1 Memoria DRAM sincron
a, SDRAM
3.6.3 Circuite actuale pentru memoriile de date
3.6.4 Memoria adresabil
a prin continut, CAM
Capitolul 4

SUPORTUL CIRCUISTIC PENTRU APLICAT


II
CONEXIUNI PROGRAMABILE
PROIECTAREA DE TIP FULL-CUSTOM
PROIECTAREA CU ARII DE PORT
I LOGICE
PROIECTAREA CU CELULE STANDARD
PROIECTAREA CU CPLD
PROIECTAREA CU FPGA
4.6.1 Blocul Logic Configurabil
4.6.2 Resursele de interconectare
4.7 PROIECTAREA PENTRU TESTABILITATE
4.8 COMBINAT
IONAL SAU SECVENT
IAL?
I DE
4.9 COMPARAT
IE INTRE DIFERITELE MODALITAT
PROGRAMARE

4.1
4.2
4.3
4.4
4.5
4.6

487
493
501
515
521
539
543
544
545
550
558
560
565
581
586
595

Capitolul 1

PORT
I LOGICE
1.1

SUPORTUL LOGIC PENTRU SISTEMELE


DIGITALE

Practica sistemelor digitale simple se poate face pe baz


a de rationamente logice
elementare. Dar, deoarece sistemele digitale au devenit foarte complexe, si aceast
a
tendinta
continu
a, pentru analiza, proiectarea/sinteza si realizarea acestora este necesar un suport formal abstract si un suport circuistic. Suportul formal abstract se
construieste, prin extensie, pe baza algebrei logice bivalente, iar suportul circuistic
se construieste pornind de la poarta logic
a. Abordarea ntrep
atruns
a a acestor dou
a
componente constituie subiectul acestui capitol.

1.1.1

Axiomele si teoremele algebrei Booleene

In logica aristotelian
a, care trebuie nteleas
a ca o stiinta
a demonstratiei, al
c
arui obiect l constituie stabilirea conditiilor corectitudinii g
andirii, se opereaz
a pe
baz
a de rationament cu propozitii (logica propozitiilor), care pot fi: fie adev
arate,
fie false. De exemplu, dac
a presupunem c
a pentru statura unei persoane sunt admise
numai dou
a atribute - nalt si scund - iar pentru vreme numai dou
a atribute - rece
si cald - atunci sunt naturale urm
atoarele patru propozitii simple: vremea este cald
a,
vremea este rece, Radu este nalt si Radu este scund. Consider
and c
a din fiecare
pereche de atribute unul este adev
arat si cel
alalt fals rezult
a c
a propozitiile formate
cu aceste atribute pot fi fie adev
arate fie false; o propozitie nu poate fi simultan si
fals
a si adev
arat
a (n cazul nostru consider
am c
a prima si a treia propozitie simpl
a
sunt adev
arate, iar celelalte dou
a sunt false). Dar, cu aceste propozitii simple pot fi
realizate propozitii compuse, de exemplu: vremea este cald
a si Radu este nalt, vremea
este rece sau Radu este scund. Propozitiile compuse pot fi, la fel, adev
arate sau
false n functie de valoarea de adev
ar/fals a propozitiilor componente si de modul de
compunere a acestora n propozitia compus
a. Modul de compunere, n acest caz corespunde conectorului AND/SI pentru prima propozitie compus
a, respectiv conectorului
OR/SAU pentru a doua propozitie compus
a. Dac
a prima propozitie are valoarea
de adev
ar, c
and vremea este cald
a si Radu este nalt, evident c
a a doua propozitie
compus
a are valoare de fals. Dar dac
a prima propozitie compus
a o transform
am n nu

CAPITOLUL 1. PORT
I LOGICE

este adev
arat: c
a Radu este nalt si vremea este cald
a atunci aceast
a nou
a propozitie
are o valoare de fals ca si a doua propozitie compus
a? Evident c
a da. Dar dac
a
mai introducem si o a treia pereche de propozitii simple z
apada este alb
a, z
apada este
neagr
a si form
am propozitii compuse, dup
a diferite moduri de compunere, din c
ate
una din fiecare pereche anterioar
a atunci mai putem afirma cu usurinta
care dintre
propozitiile compuse sunt echivalente? Destul de greu. In general, la nivelul normal
de dotare intelectual
a, un individ cu greu poate realiza un rationament corect, f
ar
a
un suport mecanic, c
and opereaz
a simultan cu mai mult de trei variabile. Pentru
,,
a nvinge aceast
a incapacitate avem nevoie de un instrument care s
a mecanizeze
rationamentele stufoase.
Matematicianul englez George Boole (1815-1854) a elaborat o algebr
a (algebra
Boolean
a) ale c
arei axiome si teoreme pot fi utilizate pentru a transforma (transfera)
logica aristotelian
a a propozitiilor din domeniul rationamentului oral ntr-un limbaj
formal, operant cu simboluri (logica formal
a). Aceast
a logic
a formal
a poate fi aplicat
a
ca un instrument operant si pentru descrierea conect
arii, n sisteme, a elementelor
fizice (mecanice, electrice, hidropneumatice) care prezint
a n functionarea lor doar
dou
a st
ari distincte.
Tabelul 1.1
Operatorii booleeni; definitie si simboluri grafice 1
OPERATORUL LOGIC

Complementarea
logica(negatia)

SIMBOL

NOT / NON
Conjunctia,
Produsul logic
AND / SI
Disjunctia,
Suma logica
OR / SAU

TABELUL DE
ADEVAR

Reprezentarea grafica conform


standardului IEC/ANSI911984
varianta veche varianta noua

x
x

0
1

1
0

0
0
1
1

0
1
0
1

0
0
1
1

0
1
0
1

x y
x y
x.y

0
0
0
1

x y
xy
x +y

0
1
1
1

x.y

x
y

x
y

x+y

x
y

&

>1

x.y

x+y

Algebra Boolean
a (algebr
a logic
a binar
a, algebr
a logic
a bivalent
a) opereaz
a pe
o multime binar
a B:
1 Pentru reprezentarea schematic
a n electronica digital
a conform standardului de simboluri
grafice pentru functii logice (ANSI/IEEE std 91-1984, compatibil cu standardul 617 al Comitetului
Electrotehnic International, IEC) recomand
am consultarea acestui standard si [Wakerly 0 00] din situl
c
artii http://vega.unitbv.ro/electronica digitala

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

B = {x|x = 0, 1}
0 = elementul nul

(1.1)

1 = elementul unitate (universal).


In aceast
a carte elementele multimii binare reprezint
a valorile logice de adev
ar sau de
fals sau cifrele sistemului de numeratie n baza doi - bit ( binary digit - cifr
a binar
a).
Exist
a concepute si algebre definite pe multimi care contin mai mult de dou
a
elemente, algebre polivalente logic
a polivalent
a, logic
a cu n-valori; cazuri n
care multimea de definitie este format
a din n numere ntregi. O generalizare pentru
logica cu n-valori este logica fuzzy, ns
a n logica fuzzy variabilele iau valori n mod
continuu pe intervalul [0,1]. [Matei 0 93], [Cocan 0 01].
Definitia 1.1
n M

Fie M o multime nevid


a. O aplicatie f definit
a pe M cu valori
f :M M

se numeste lege de compozitie intern


a. 
Algebra Boolean
a defineste pe multimea B urm
atoarele trei legi de compozitie
intern
a (la care, obisnuit, ne vom referi si prin termenul de operator logic):
Tabelul 1.2
Axiomele si teoremele algebrei Booleene

Denumirea
Axioma 1: Multimea B = {0, 1}
este nchis
a n raport
cu operatorii + si
(Inchiderea)
Axioma 2: Asociativitatea
Axioma 3: Comutativitatea
Axioma 4: Existenta
elementului neutru
Axioma 5: Distributivitatea
Axioma 6: Existenta
complementului
Teorema 1: Idempotenta sau
tautologia
Teorema 2: Legea lui 0 si a lui 1
Teorema 3: Dubla negatie
(Involutia)
Teorema 4: Absorbtia
Absorbtia invers
a
Teorema 5: Teorema lui De
Morgan

Forma cu operatorul Forma cu operatorul


produs ()
sum
a (+)
x B, y B x y B x B, y B x + y B
x (y z) = (x y) z
xy = yx

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

x1 = 1x = x

x+0=0+x=x

x (y + z) = x y + x z x + y z = (x + y) (x + z)
xx= 0

x+x=1

xx=x

x+x = x

x0=0

x+1 = 1

x=x

x=x

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

x+xy =x
x+xy =x+y
x+xy =x+y

xy =x+y

x+y =xy

CAPITOLUL 1. PORT
I LOGICE

1. Complementarea sau negatia (NOT/NON);


2. Conjunctia sau produsul logic (AND/S
I);
3. Disjunctia sau suma logic
a (OR/SAU).
In Tabelul 1.1 sunt prezentate pentru fiecare lege de compozitie boolean
a aplicatia
definit
a sub forma unui precum si simbolurile grafice de reprezentare. Desi exist
a
recomandarea pentru utilizarea noilor reprezent
ari grafice s-a ncet
atenit si continu
a
folosirea vechilor reprezent
ari grafice (americane).
Definitia 1.2 O expresie Boolean
a f (x1 , x2 , . . . , xn , 0, 1, , +), compus
a prin
intermediul celor trei operatori AND, OR, NOT prezint
a o expresie dual
a f D care
se obtine din expresia lui f prin substitutiile urm
atoare: AN D OR, OR AN D,
0 1, 1 0
f D (x1 , x2 , . . . , xn , 0, 1, , +) = f (x1 , x2 , . . . , xn , 1, 0, +, )

(1.2)

Dac
a o axiom
a, teorem
a sau expresie boolean
a este adev
arat
a atunci si forma sa
dual
a este adev
arat
a.
Axiomele si teoremele algebrei Booleene sunt prezentate, sistematic, n Tabelul
1.2. Pentru fiecare dintre acestea sunt expuse cele dou
a forme, cea n form
a produs
si cea n form
a sum
a, fiecare fiind duala celeilalte. In acest tabel sunt sase axiome si
cinci teoreme.
Corectitudinea unei expresii booleene se poate verifica analitic (prin utilizarea
axiomelor si teoremelor din Tabelul 1.2) sau prin calcularea valorilor logice ale expresiilor din cele dou
a p
arti ale semnului egalit
atii. Folosind aceste dou
a modalit
ati n
continuare se va verifica corectitudinea expresiei teoremei absorbtiei (Teorema 4).
x ( x +y)

x + x y
Axioma 4

Axioma 5
x x + x y

x 1+ x y
Axioma 5

Teorema 1
x + x y
Axioma 4
x 1+ x y
Axioma 5
x (1+y)
Teorema 2

x (1+ y)
Teorema 2
x 1
Axioma 4

x y

x +y

x+ x y

x (x +y)

0
0
1
1

0
1
0
1

0
0
0
1

0
1
1
1

0
0
1
1

0
0
1
1

=
=

x
x+ x y =x

x 1
Axioma 4
x
x( x+y) =x

Continu
am demonstratia analitic
a pentru variantele teoremei de absorbtie invers
a
(Teorema 4), dar acum nu se mai indic
a succesiune num
arul axiomelor si teoremelor
aplicate.

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

x + y = x + y 1 = x + y(x + x) = x 1 + y x + y x = x (1 + y) + y x = x + x y
x + y = x + y 1 = x + y(x + x) = x 1 + y x + y x = x (1 + y) + x y = x + x y

1.1.2

Algebre polivalente

Algebra Boolean
a a devenit un suport formal pentru sistemele fizice care utilizeaz
a
elemente cu dou
a st
ari distincte. Algebra Boolean
a, care am introdus-o anterior si la
care ne vom referi prin B(2), este cel mai simplu membru al unei familii de algebre
Booleene B(q) bazate pe notiunea abstract
a de latice (o latice este o multime nevid
a
,,
,,
L nzestrat
a cu dou
a operatii , care satisfac propriet
atile de idempotenta
, comutativitate, asociativitate si absorbtie). Astfel, se poate construi o algebr
a Boolean
a
B(q) pentru orice num
ar q care este o putere a lui doi, q = 2k . Deci exist
a familia
de algebre Booleene B(2), B(4), B(8),. . ., B(2k ). Pentru k = 1, q = 21 rezult
a B(2)
definit
a pe {0, 1} care este chiar algebra Boolean
a prezentat
a anterior. Pentru k = 2,
q = 22 = 4 rezult
a B(4) definit
a pe multimea {0, a, b, 1} cu urm
atoarele tabele de
definitie ale operatorilor: conjunctie, disjunctie si deplasarea ciclic
a.

0
a
b
1

0
0
0
0
0

a
0
a
0
a

b
0
0
b
b

1
0
a
b
1

Conjunctia

+
0
a
b
1

0
0
a
b
1

a
a
a
1
1

b
b
1
b
1

Disjunctia

1
1
1
1
1

x
0
a
b
1

x0
a
b
1
0

Deplasarea
ciclic
a

Dintre toate algebrele B(q) numai B(2) este functional complet


a, deci poate
fi suport pentru implementarea sistemelor logice. O algebr
a este functional complet
a dac
a pentru o functie de un num
ar de variabile se genereaz
a doar o singur
a
reprezentare/expresie.
Dezvoltarea tehnologiei electronice a dus la realizarea unor elemente care pot realiza mai multe st
ari distincte. Era normal, ca pentru elementele cu mai multe st
ari, s
a se
g
aseasc
a un suport formal cu valori multiple adic
a algebre polivalente, sau q-valente,
multimea de definitie pentru aceste algebre fiind format
a dintr-un num
ar de q elemente distincte. Constructia algebrelor polivalente a urmat dou
a c
ai. Prima, a fost o
generalizare a operatorilor/(conectivi) booleeni AND, OR si NOT spre operatori corespunz
atori conjunctia, disjunctia si deplasarea ciclic
a obtin
andu-se
algebrele Postiene (introduse de E.L. Post, 1921). A doua cale, dezvoltat
a de B.A.
Bernstein (1928), a fost o abordare prin algebra claselor de resturi, operatorii
fiind adunarea si nmultirea modulo q.
O algebr
a Postian
a q-valent
a, P (q), este definit
a pe multimea {0, 1, 2, . . . ,
q 1}, adic
a pe intervalul de numere ntregi [0, q 1], iar operatorii sunt definiti n
felul urm
ator:
- conjunctia: x y = min(x, y);
- disjunctia: x + y = max(x, y);
- deplasarea ciclic
a: x0 = x 1 modulo q.

CAPITOLUL 1. PORT
I LOGICE

Pentru algebrele Postiene P (2) si P (4) rezult


a urm
atoarele tabele de adev
ar ale
celor trei operatori:
- P(2)

0 1
0
0 0
1
0 1
Conjunctia
binar
a

+
0 1
0
0 1
1
1 1
Disjunctia
binar
a

x
0
1

x0 x00
1
0
0
1
Deplasarea
ciclic
a
binar
a

- P(4)

0
1
2
3

0 1 2
0 0 0
0 1 1
0 1 2
0 1 2
Conjunctia
cuaternar
a

3
0
1
2
3

+
0
1
2
3

0 1 2
0 1 2
1 1 2
2 2 2
3 3 3
Disjunctia
cuaternar
a

3
3
3
3
3

x
0
1
2
3

x0 x00 x000 x0000


1
2
3
0
2
3
0
1
3
0
1
2
0
1
2
3
Deplasarea ciclic
a
cuaternar
a

Rezult
a o identitate ntre B(2) si P (2), (B(2) P (2)). Algebrele Postiene pot fi
o replic
a pentru algebrele Booleene, dar operarea n aceste algebre, ca aplicatii pentru
functiile de comutatie, devine dificil
a pe m
asur
a ce q are valori mai mari.
Cea de a doua cale de generalizare, dezvoltat
a de B.A. Bernstein, a generat o
alt
a clas
a de algebre q-valente care pot fi definite pentru oricare num
ar ntreg prin q
sau pentru un num
ar ntreg putere a lui q. Multimea de definitie pentru o astfel de
algebr
a este {0, 1, 2, . . . , q 1}, iar operatorii sunt operatiile aritmetice de adunare
si de nmultire modulo q. Structurile algebrice definite pe clasele de resturi
modulo q (q num
ar prim) sunt referite prin c
ampuri Galois si sunt notate
cu GF (q) . Pentru GF (3) tabelele de adev
ar prin aplicarea operatorilor produs, ,
si sum
a, , modulo 3 sunt:

0
1
2

0
0
0
0

1
0
1
2

0
1
2

2
0
2
1

0
0
1
2

1
1
2
0

2
2
0
1

Dintre structurile GF (q) cea pentru q = 2, GF (2) algebra modulo 2, denumit


a
algebr
a Reed-Muller, prezint
a interes ca suport formal n implement
arile unor
algoritmi sau circuite de calcul sau de codificare. Operatorii algebrei Reed-Muller au
urm
atoarele tabele de adev
ar:

0
1

0
0
0

1
0
1

0
1

0
0
1

1
1
0

x
0
1

x0
1
0

Se observ
a c
a at
at pentru algebra Boolean
a B(2) c
at si pentru algebra ReedMuller, GF (2), operatorii de nmultire logic
a sunt identici ( = ), la fel si operatorii
de complementare. In schimb, difer
a operatorii disjunctie, acestia fiind SAU INCLUSIV (sum
a logic
a, +) n B(2) si respectiv SAU EXCLUSIV (sum
a aritmetic
a modulo

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

2, ) n GF (2). Aceast
a, aparent nensemnat
a diferenta
, determin
a semnificative
diferente ntre cele dou
a formalisme, ceea ce apare si n metodele de proiectare si
implementare. Axiomele pe GF (2) sunt:
1.
Inchiderea. GF (2) este nchis
a n
raport cu operatorii si .
2. Asociativitatea.
3. Comutativitatea.
4. Distributivitatea.
5. Elementul neutru.

A GF (2), B GF (2) A B GF (2),


A B GF (2)
A (B C) = (A B) C = A B C
A (B C) = (A B) C = A B C
A B = B A, A B = B A
A (B C) = A B A C
A 0 = A, A 1 = A

Din prezentarea acestor propriet


ati apare similaritatea dintre GF (2) cu algebra
numerelor reale (care este definit
a pe un c
amp infinit). Dar urm
atoarea axiom
a relev
a
o proprietate diferit
a ntre aceste dou
a algebre care rezult
a din natura aritmeticii
modulo 2.
A A = 0, A A = A

6. Existenta inversului.

Din ultima axiom


a a algebrei GF (2) rezult
a c
a A = A, adic
a fiecare element este
egal cu inversul s
au; aceasta nseamn
a c
a adunarea si sc
aderea sunt identice n
GF (2), ceea ce este diferit fata
de adunarea aritmetic
a din algebra numerelor reale.
Folosind aceast
a axiom
a se deduce: dac
a A B = C atunci A = C B, B = A C
si A B C = 0.
Se pot duce relatii pentru exprimarea operatorilor din B(2) prin cei din GF (2)
AB
A+B

= A B
= A BAB

(1.3-a)

A = A1

care se pot demonstra n felul urm


ator. Se consider
a expresia pentru sum
a modulo
doi A B = A B + A B (a se vedea functia f6 (x1 , x0 ) n 1.1.3)
A1 = A1+A1=A0+A =A

A+B

= A + B = A B = ((A 1) (B 1)) 1
= (A B 1 B A 1 1 1) 1 = (A B B A 1) 1
= A BBA11=A BBA

Iar pentru exprimarea operatorilor din GF (2) prin cei din B(2) exist
a relatiile
A B

AB

= AB

= AB+AB

(1.3-b)

A1 = A

Relatiile 1.3 indic


a modalit
ati de utilizare at
at a formalismului din GF (2) c
at si a
celui din B(2) pentru implementarea sistemelor n functie de suportul fizic (circuistica)
disponibil
a.

CAPITOLUL 1. PORT
I LOGICE

1.1.3

Functii Booleene

Fie B(2) = ({0, 1}, , +, ) algebra Boolean


a binar
a. Un cuv
ant binar este o
succesiune de biti; un cuv
ant este caracterizat prin lungimea sa, adic
a de num
arul de
biti din succesiune.
Definitia 1.3 Vom numi o configuratie binar
a de n biti, sau cuv
ant binar
cu lungimea de n biti, un element al multimii {0, 1}n. 
Cu doi biti se pot forma patru cuvinte distincte cu lungimea de doi biti (00, 01,
10, 11), cu trei biti se pot forma opt cuvinte distincte cu lungimea de trei biti (000,
001, 010, 011, 100, 101, 110, 111), iar cu n biti se pot forma 2n cuvinte distincte
fiecare cu lungimea de n biti; deci multimea {0, 1}n este constituit
a din 2n cuvinte
distincte cu lungimea de n biti.
Definitia 1.4

O functie Boolean
a 1 , f , cu n intr
ari si m iesiri este o aplicatie
f : {0, 1}n {0, 1}m

(1.4)

cu domeniul de definitie n X = {0, 1}n si cu domeniul de valori n Y {0, 1}m. 


Relatia 1.4, n cazul c
and functia logic
a are o singur
a iesire, m = 1, cuv
antul de
iesire are lungimea de un bit, se retranscrie sub forma:
f : {0, 1}n {0, 1}1

(1.5)

Teoretic, functia logic


a cu m iesiri se poate construi din m aplicatii de forma
1.5 conectate n paralel. O functie logic
a cu num
arul de ordine i dintr-o familie
de functii logice de n variabile, definit
a conform relatiei 1.4, va fi notat
a sub forma
fi (xn1 , xn2 , . . . , x1 , x0 ) sau sub forma fin . In acest capitol se vor studia doar
functiile cu o singur
a iesire.
Functia logic
a de zero variabile. Domeniul de definitie pentru functia de zero
variabile este multimea vid
a, {0, 1}0 , iar domeniul de valori este {0, 1}. Rezult
a c
a
pot exista dou
a functii notate cu f00 si f10 care genereaz
a pe iesire cele dou
a valori din
multimea {0, 1}
f00
f10

= 0
= 1

(1.6)

De fapt, putem spune c


a aceste functii sunt identice cu dou
a constante. Intr-un
sistem digital cele dou
a constante pot fi reprezentate fizic prin dou
a tensiuni fixe:
tensiunea de alimentare (VDD , VCC ) si tensiunea de mas
a VSS sau 0V (liniile/barele
de alimentare ale circuitului).
Functii logice de o singur
a variabil
a. Configuratiile distincte de un singur bit
pe multimea de definitie {0, 1}1 sunt cei doi biti 1 si 0. Deci functia y = f (x), pentru
fiecare valoare binar
a atribuit
a variabilei x, poate lua una din cele dou
a valori binare
y = 1 sau y = 0. Cu cele dou
a valori posibile pentru y se pot forma patru cuvinte
diferite, deci pentru o singur
a variabil
a exist
a patru functii logice distincte: f 01 , f11 ,
1
1
f2 si f3 reprezentate n tabelul din Figura 1.1.
1 Termenul

de functie Boolean
a, n aceast
a carte, este sinonim cu functie logic
a.

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

f01

f11

f21

f31

a)

x
b)
x

"0"

x
d)

x
c)
VCC

"1"

x
e)

Figura 1.1 Functiile de o singur


a variabil
a: a) tabelul functiilor de o variabil
a; b) f 01 ,
functia zero (conectarea la mas
a); c) f21 , functia inversor (circuitul inversor); d) f11 , functia
identitate (driver, buffer); e) f31 , functia tautologie (conectarea la tensiunea de alimentare).

1. Functia zero f0 (x) = 0. Aceasta genereaz


a valoarea 0 indiferent de valoarea
alocat
a variabilei x. Intr-un sistem nu se va calcula niciodat
a functia zero deoarece
valoarea acestei functii exist
a, fizic punctul respectiv se leag
a la tensiunea de mas
a;
evident f01 si f00 au acelasi efect adic
a valoarea constant
a 0.
2. Functia identitate, f1 (x) = x. Logic, aceast
a functie pare a fi f
ar
a utilitate; dar,
practic, aceast
a functie este foarte utilizat
a sub denumirea de driver sau buffer si
ntr-un sistem fizic are o actiune de a aduce/nt
ari la anumite valori normale semnalul
electric care este suport pentru variabila x. Aceste circuite care nu realizeaz
a o functie
,,
logic
a ci doar au rol de nt
arire a semnalului electric sunt referite prin circuit buffer
sau circuit driver respectiv buffer sau driver.
3. Functia negatie (NOT), f2 (x) = x. De fapt, acesta este operatorul de complementare din Tabelul 1.1. Putem interpreta aspectul logic sau aritmetic al actiunii
acestei functii. Logic, functia negatie aplicat
a va substitui adev
arul cu fals si falsul cu adev
ar. Aritmetic, este un incrementor sau decrementor pentru num
ararea
n baza doi (at
at la num
arare n sens cresc
ator (direct) c
at si n sens descresc
ator
(invers), trecerea ntre dou
a numere consecutive se face prin modificarea bitului cel
mai putin semnificativ, LSB (Least Significant Bit), din unu n zero sau din zero n
unu, vezi Figura 2.17-a si 2.17-b). Suportul fizic pentru implementarea acestei functii
este elementul inversor.
4. Functia tautologie, f3 (x) = 1. Acest
a functie genereaz
a valoarea 1 indiferent de
valoarea alocat
a variabilei x. Intr-un sistem nu se va calcula niciodat
a aceast
a functie
deoarece valoarea sa exist
a, fizic punctul respectiv se leag
a la tensiunea de alimentare
VDD /VCC ; evident f31 si f10 au acelasi efect.
Functii de dou
a variabile. La o functie de dou
a variabile f (x1 , x0 ) multimea
de definitie, {0, 1}2 , este compus
a din cele patru cuvinte de intrare de doi biti. Pentru
cele patru cuvinte de intrare se obtin pentru functie patru valori binare, dar cu cele
patru valori binare se pot obtine 42 = 16 cuvinte, deci, n total exist
a 16 functii
diferite de dou
a variabile care sunt prezentate n tabelul din Figura 1.2-a.
Aceste functii au anumite denumiri care exprim
a actiunea realizat
a:
1. f0 (x1 , x0 ) = 0, functia zero. Actiunea sa este identic
a cu a celor dou
a functii
f00 ,f01 .
2. f1 (x1 , x0 ) = x1 + x0 , functia SAU-NEGAT/NOT-OR/NOR cu reprezentarea

10

CAPITOLUL 1. PORT
I LOGICE

x1 x2 f02 f12 f22 f32 f42 f52 f62 f72 f82 f92 f102 f112 f122 f132 f142 f152
0
0
1
1

0
1
0
1

0
0
0
0

1
0
0
0

0
1
0
0

1
1
0
0

0
0
1
0

1
0
1
0

0
1
1
0

1
1
1
0

0
0
0
1

1
0
0
1

0
1
0
1

1
1
0
1

0
0
1
1

1
0
1
1

0
1
1
1

1
1
1
1

a)
x1
x0
x1
x0

f6 = x1 x0

x0

b)
f9 = x1 x0
d)

x1

x1
x0

f 7 = x 1 . x0
c)
f1 = x1+x0
e)

Figura 1.2 Functii de dou


a variabile: a) tabelul functiilor de dou
a variabile; b) simbolul
grafic pentru functia XOR, f62 ; c) simbolul grafic pentru functia NAND, f72 ; d) simbolul grafic
pentru functia NXOR, f92 ; e) simbolul grafic pentru functia NOR, f12 .

grafic
a din Figura 1.2-e. Se observ
a c
a valorile functiei rezult
a prin negarea valorilor
obtinute cu operatorul OR (Tabelul 1.1).
3. f2 (x1 , x0 ) = x1 x0 , functia negarea implicatiei inverse; circuitul interdictie
(inhibare).
4. f3 (x1 , x0 ) = x1 , negarea lui x1 .
5. f4 (x1 , x0 ) = x1 x0 , functia negarea implicatiei directe; circuitul interdictie
(inhibare).
6. f5 (x1 , x0 ) = x0 , negarea lui x0 .
7. f6 (x1 , x0 ) = x1 x0 + x1 x0 , functia negarea coincidentei, SAU-EXCLUSIV/
XOR cu simbolul grafic de reprezentare n Figura 1.2-b si cu structura de implementare n Figura 1.3-a. Actiunea acestei functii poate fi interpretat
a n trei modalit
ati.
Prima, se observ
a c
a asupra celor dou
a valori binare ale variabilelor x 1 si x0 functia
opereaz
a ca un sumator modulo 2 (00 = 0, 01 = 1, 10 = 1, 11 = 0) de unde
si notatia consacrat
a f6 (x1 , x0 ) = x1 x0 . O alt
a variant
a echivalent
a de exprimare
se obtine n felul urm
ator: x1 x0 = x1 x0 +x1 x0 = x1 x0 +x0 x0 +x1 x0 +x1 x1 =
x0 (x1 + x0 ) + x1 (x1 + x0 ) = (x1 + x0 )(x1 + x0 ) = (x1 + x0 ) (x1 x0 ).
A doua interpretare este cea de inversor comandat, relatiile 1.3. Dac
a una din
variabile este 1 atunci valoarea functiei va fi egal
a cu negata celeilalte variabile de
intrare; f6 (x1 , 1) = x1 1 = x1 .
A treia interpretare este cea de negarea coincidentei, adic
a anticoincident
a
(si invers, negarea anticoincidentei este coincidenta, adic
a x1 x0 ). Rezult
a c
a se
poate realiza foarte usor un circuit pentru coincidenta a dou
a cuvinte de doi biti
x1 x0 , y1 y0 ration
and n felul urm
ator: cuvintele coincid c
and nu este adev
arat
a

11

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

anticoincidenta pentru bitii de rangul unu x1 , y1 SI nu este adev


arat
a anticoincidenta
pentru bitii de rangul zero x0 , y0 ; deci relatia de coincidenta
este (x1 y1 )(x0 y0 ) =
(x1 y1 ) + (x0 y0 ). Reprezentarea acestui mod de implementare a relatiei de coincidenta
este dat
a n Figura 1.3-c.
I-NEGAT/NOT-AND/NAND, cu simbolul grafic
8. f7 (x1 , x0 ) = x1 x0 , functia S
de reprezentare din Figura 1.2-c. Se observ
a c
a valorile functiei rezult
a prin negarea
valorilor obtinute cu operatorul AND (Tabelul 1.1).
9. f8 (x1 , x0 ) = x1 x0 , functia conjunctie, produsul logic AND/SI.
10. f9 (x1 , x0 ) = x1 x0 + x1 x0 , f9 (x1 , x0 ) = x1 x0 , functia coincidenta
,
SAU-EXCLUSIV NEGAT/NXOR cu simbolul grafic de reprezentare n Figura 1.2-d
si cu structurarea ca n Figura 1.3-b. Implementarea circuitului de coincidenta
a dou
a
cuvinte de doi biti x1 x0 si y1 y0 este prezentat
a n Figura 1.3-d; (x1 y1 ) (x0 y0 ).
11. f10 (x1 , x0 ) = x0 , functia ce nu depinde de x1 .
12. f11 (x1 , x0 ) = x1 + x0 , functia implicatie direct
a.
13. f12 (x1 , x0 ) = x1 , functia ce nu depinde de x0 .
14. f13 (x1 , x0 ) = x1 + x0 , functia implicatie invers
a.
15. f14 (x1 , x0 ) = x1 + x0 , functia conjunctie, sum
a logic
a OR/SAU.
16. f15 (x1 , x0 ) = 1, functia tautologie, actiunea sa este identic
a cu ale functiilor
f10 , f31 .
Functii de trei variabile. Pentru functiile de trei variabile f (x2 , x1 , x0 ) multimea de defintie, {0, 1}3, este compus
a din opt (23 = 8) cuvinte binare de 3 biti,
pentru fiecare din aceste cuvinte functia poate avea o valoare binar
a 0 sau 1. Cu
opt valori binare pot fi definite 28 functii diferite. Modul de formare al functiilor de
trei variabile fi3 , i = 0, 1, . . . , 255 rezult
a din Tabelul 1.3. Indicele i, care identific
a
functia fi3 , este corespondentul zecimal al num
arului binar de 8 biti format cu valorile
binare ale functiei. De exemplu functia f187 are urm
atoarele valori binare 1101 1101,
deoarece 187|10 = 1101 1101|2. Bitul cel mai semnificativ, MSB (Most Significant
x1

x1

x1
x0

x 1x 0
x1 x0

x0
x1
y1
x0
y0

x0

x 1x 0
x1 x0
x0

x1
x 1x 0

x 1x 0

a)

b)

x 1 = y1
x 1x 0 = y1y0
x 0 = y0

c)

x1
y1
x0
y0

x 1=y 1
x 1x 0 = y1y0
x 0=y 0

d)

Figura 1.3 Functiile XOR si NXOR: a,b) structura circuitelor XOR, respectiv NXOR;
c,d) circuite de coincidenta
cu XOR si NXOR.

12

CAPITOLUL 1. PORT
I LOGICE
Tabelul 1.3
Functii logice de trei variabile

x2 x1 x0 f03 f13 f23


0
0
0
0
1
1
1
1

0
0
1
1
0

0
1
0
1
0
1

0
1 0
1 1

0
0
0
0
0
0
0
0

1
0
0
0
0

0
0
0

0
0
0

1
0
0
0

f173

f1873

f2553

1
0
0
0
1
0

1
0
1

0
0
17 10 = 0001001 2

1
1
0
1
1

1
1
1
1
1
1
1

187 10 = 10111011 2

Bit), din cuv


antul valorilor functiei, corespunde configuratiei de intrare x2 x1 x0 = 111,
iar LSB corespunde configuratiei de intrare x2 x1 x0 = 000.
Utilitatea tuturor functiilor fi3 pentru implementarea sistemelor logice este discutabil
a, deoarece 16 dintre aceste functii sunt echivalentul functiilor fi2 , iar unele
din cele r
amase pot fi compuse prin intermediul altor functii de dou
a variabile. In
general, pentru implementarea sistemelor logice sunt utilizate doar c
ateva din functiile
expuse pentru cazul n = 2.
n
Pentru n variabile num
arul functiilor logice distincte este 2(2 ) ; ceea ce
determin
a pentru n = 4 216 = 65536 functii, iar pentru n = 5 232 = 4294967296
functii(!).
Definitia 1.5 Un sistem complet de functii Booleene este un set minimal
de functii Booleene cu ajutorul c
arora se poate exprima orice functie Boolean
a. 
In paragraful 1.1.1 s-au definit cele trei legi de compozitie pe multimea B. Cu
ajutorul celor trei operatori NOT, AND si OR poate fi exprimat
a oricare functie
logic
a, deci acesti operatori formeaz
a un sistem complet.
Al doilea set de operatori care pot constitui un sistem complet este perechea
NOT si AND. Acest set poate fi substituit numai cu o singur
a functie, functia
f7 (x1 , x0 ) = (x1 x0 ), adic
a operatorul NAND, deoarece operatorul NOT apare ca
un NAND de aceeasi variabil
a (x x) = x, iar operatorul AND rezult
a ca un NAND

negat, (x1 x0 ) = x1 x0 .
Al treilea set de operatori OR si NOT formeaz
a de asemenea un sistem complet.
Si aceast
a pereche de operatori poate fi substituit
a numai cu o singur
a functie, functia
f2 (x1 , x0 ) = x1 + x0 , care este operatorul NOR. Deoarece NOR este un OR negat se
poate obtine usor OR prin negarea NOR-ului, (x1 + x0 ) = x1 + x0 , iar NOT-ul este
identic cu NOR-ul aplicat aceleiasi variabile (x + x) = x.
In Tabelul 1.4 sunt modelati operatorii NOT, AND, OR, NAND si NOR fie numai
cu NAND, fie numai cu NOR. Apare deci posibilitatea ca un sistem logic s
a poat
a

13

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE


Tabelul 1.4
Modelarea operatorilor logici pe baz
a de NAND sau NOR
Operatorul
logic
modelat
cu poarta:

NOT

A.B

A.B

A.B

A = A+A
A+B

A
B

OR

A+B

A+B

= A+B
A

A+B A
B

A.B

B
A.B = A+B

A+B

A+B

A+B

A+B = A.B

A.B

NOR

A+B = A+B

A+B = A+B

NAND
A.B

A+B = A.B

B
NOR

A.B = A+B

A = A .A

NAND

AND
A+B

A.B

A.B

A+B = A+B
A+B

A+B

A+B

fi realizat doar cu un singur operator. Consecinta practic


a a acestei observatii este
enorm
a prin faptul c
a implementarea unui sistem se poate obtine prin replicarea
aceluiasi operator (acelasi tip de circuit), n consecinta
pretul de cost scade foarte
mult si siguranta n functionare creste.
Exist
a circuite integrate, produse de turn
atoria de siliciu, dar nc
a neterminate,
care contin un singur (sau dou
a) circuite logice elementare ntr-un num
ar foarte mare,
referite ca arie de porti logice (gate-array, vezi sectiunea 4.3). Pe o astfel de arie de
porti logice utilizatorul si poate realiza sistemul pentru aplicatia sa prin proiectarea
doar a conexiunilor ntre un num
ar de circuite logice elementare. Apoi, turn
atoria de
siliciu termin
a circuitul integrat, prin realizarea conexiunilor proiectate de utilizator,
rezult
and astfel un circuit cu multe avantaje, la a c
arui constructie a participat at
at
utilizatorul (custom) c
at si turn
atoria de siliciu; sistem referit ca fiind o proiectare de
tip semi-custom.

1.1.4

Forme canonice

Definitia 1.4 exprim


a notiunea de functie logic
a de n variabile. Cu cele n variabile
se pot compune, prin intermediul operatorilor AND, OR si NOT, termenii functiei si
la fel tot cu acesti operatori pot fi inclusi termenii n cadrul functiei. In consecinta
,
un termen al unei functii logice poate avea variabile negate sau nenegate (NOT), care
pot fi nsumate logic (OR) sau nmultite logic (AND).
Definitia 1.6 Termenul canonic produs este produsul logic a tuturor celor
n variabile ale functiei, negate sau nenegate. Termenul canonic produs este referit ca
minterm. 

Exemplu de termen canonic produs pentru n = 3 poate fi x2 x1 x0 . Un termen


canonic produs nu poate fi format din mai mult de n factori (variabile). Dac
a ar avea
mai mult de n factori atunci ar nsemna c
a una sau mai multe variabile ar intra n
produsul logic at
at negate c
at si nenegate ceea ce, conform axiomei de existenta
a
complementului x x = 0, Tabelul 1.2, ar nsemna c
a termenul se reduce la constanta
0. Un termen produs se noteaz
a prin Pi . Num
arul tuturor termenilor produs Pi este
2n , deci i = 0, 1, 2, . . . , 2n 1.

14

CAPITOLUL 1. PORT
I LOGICE

Dar cum se codific


a un minterm prin simbolul Pi ? Se va exemplifica pentru cazul
n = 3. Un termen canonic produs are valoarea logic
a 1 numai atunci c
and toti factorii
s
ai au valoarea logic
a 1. Pentru exemplul anterior de termen produs x2 x1 x0 , cu
valoarea logic
a 1, rezult
a o unic
a configuratie de valori: x2 = 1, x1 = 0, x0 = 1.
Cuv
antul binar format din valorile variabilelor este 101, care este num
arul cinci n
zecimal, reprezentat n codul de numeratie binar natural. Deci, iat
a c
a mintermul
x2 x1 x0 poate fi codificat prin litera P cu indicele 5, adic
a P5 ; dar aceast
a codificare
trebuie s
a fie o aplicatie bijectiv
a deci si trecerea invers
a de la codul P i la exprimarea
ca produs logic canonic a mintermului trebuie s
a fie unic
a. De exemplu, trecerea de
la termenul canonic produs P6 la mintermul corespunz
ator se face n felul urm
ator:
6|10 = 110|2 x2 x1 x0 .
Rezult
a urm
atoarea regul
a de codificare a termenilor canonici produs: pentru reprezentarea unui minterm prin simbolul Pi variabilelor negate li se atribuie valoarea
zero, iar variabilelor nenegate li se atribuie valoarea unu. Este corect
a si reciproca, n
cuv
antul de cod Pi pentru un bit cu valoarea unu corespunde n produsul logic canonic
o variabil
a nenegat
a, iar pentru un bit cu valoarea zero corespunde o variabil
a negat
a.
Aplic
and aceast
a regul
a pentru functia de trei variabile se pot scrie relatiile din Tabelul
1.5.
Definitia 1.7
Termenul canonic sum
a este suma logic
a a tuturor celor
n variabile ale functiei, negate sau nenegate. Termenul canonic sum
a este referit ca
maxterm. 
Pentru o functie de trei variabile (n = 3) ca un exemplu de termen canonic sum
a
poate fi acesta x2 +x1 +x0 . La fel, ca si la termenul canonic produs, un termen canonic
sum
a nu poate fi compus din mai mult de n variabile, n caz contrar n termen ar
exista suma x + x = 1, deci valoarea termenului ar fi egal
a cu constanta 1. Num
arul
total de termeni canonici sum
a este 2n , iar codificarea se face prin simbolul Si .
Termenul canonic sum
a x2 + x1 + x0 are valoarea logic
a zero numai atunci c
and
fiecare termen al sumei are valoarea zero, adic
a x2 = 1, x1 = 0, x0 = 1. Rezult
a
Tabelul 1.5
Codificarea termenilor canonici produs si sum
a (n=3)

Valoarea
variabilelor
x2 x1 x0

Mintermul
si codul Pi

Maxtermul
si codul Si

x 2x 1x 0 = P 0

x 2 +x 1 + x 0 = S0

x 2x 1x 0 = P 1

x 2 + x 1 +x 0 = S1

x 2x 1x 0 = P 2

x 2 + x 1 + x 0 = S2

x 2x 1x 0 = P 3

x 2 + x 1 + x 0 = S3

x 2x 1x 0 = P 4

x 2 + x 1 + x 0 = S4

x 2x 1x 0 = P 5

x 2 + x 1 +x 0 = S5

x 2x 1x 0 = P 6

x 2 + x 1 +x 0 = S6

x 2x 1x 0 = P 7

x 2 + x 1 + x 0 = S7

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

15

indicele i al simbolului Si ca fiind egal cu num


arul zecimal ce este reprezentat n
binar de cuv
antul format din valorile celor trei variabile adic
a 101|2 = 5|10 , deci S5 .
Trecerea invers
a, de exemplu de la S6 la maxtermul corespunz
ator, se face n felul
urm
ator 6|10 = 110|2 x2 + x1 + x0 .
Rezult
a urm
atoarea regul
a de codificare a termenilor canonici sum
a pentru reprezentarea unui maxterm prin simbolul Si : variabilelor negate li se atribuie valoarea
unu, iar variabilelor nenegate li se atribuie valoarea zero. Este corect
a si reciproca, n
cuv
antul de cod pentru un bit cu valoarea unu corespunde n sum
a logic
a canonic
ao
variabil
a negat
a, iar pentru valoarea zero corespunde o variabil
a nenegat
a. Conform
acestei reguli de codificare pentru n = 3 se pot scrie relatiile din Tabelul 1.5.
Se observ
a c
a, pentru codificare, la aceeasi variabil
a nenegat
a se atribuie valoarea
1 n minterm si 0 n maxterm si pentru aceeasi variabil
a negat
a se atribuie valoarea
0 n minterm si 1 n maxterm. Iar pentru trecerea invers
a, de la cod la expresia
logic
a, unui bit 1 n cuv
antul de cod i corespunde o variabil
a nenegat
a n minterm
si o variabil
a negat
a n maxterm si invers pentru bitul 0. Ca o consecinta
, din aceste
reguli de codificare, se pot demonstra urm
atoarele relatii:
Si = P i ;

Pi = S i

(1.7)

adic
a termenul canonic sum
a se obtine prin negarea termenului canonic produs si
invers.
La fel, pentru i 6= j, i, j = 0, 1, 2, . . . , 2n 1, se pot demonstra relatiile:
Pi Pj = 0;

S i + Sj = 1

(1.8)

(pe baza x + x = 1, x x = 0, Axioma 6).


Valoarea unui termen Pi , respectiv Si se poate modifica prin intermediul unui
coeficient binar di {0, 1} n felul urm
ator:

Pi dac
a di = 1
a) di Pi =
(1.9-a)
0 dac
a di = 0

Si dac
a di = 0
b) di + Si =
(1.9-b)
0 dac
a di = 1
Definitia 1.8 Forma canonic
a normal
a disjunctiv
a, FCND, a unei functii
de n variabile este suma logic
a a tuturor termenilor de forma 1.9-a. 
f (xn1 , xn2 , . . . , x1 , x0 ) =

n
2X
1

i=0

d i Pi

(1.10)

Definitia 1.9 Forma canonic


a normal
a conjunctiv
a, FCNC, a unei functii
de n variabile este produsul logic a tuturor termenilor de forma 1.9-b. 
f (xn1 , xn2 , . . . , x1 , x0 ) =

n
2Y
1

i=0

(di + Si )

(1.11)

16

CAPITOLUL 1. PORT
I LOGICE

Definitia 1.10 Forma normal


a disjunctiv
a, FND, a unei functii de n
variabile este o sum
a numai de mintermi ai c
aror coeficienti di = 1 

Forma FND se obtine din FCND prin eliminarea mintermilor ai c


aror coeficienti
au valoarea di = 0. Pentru exprimarea FND se introduce o reprezentare simbolic
a,
sub forma unei liste
f (xn1 , xn2 , . . . , x1 , x0 ) =

n
2X
1

(d0 , d1 , . . . , d2n 2 , d2n 1 )

(1.12)

i=0

care contine doar indicii acelor coeficienti ai functiei care au valoare d i = 1. De


exemplu, pentru o functie de patru variabile:
f (x3 , x2 , x1 , x0 ) =

15
X

(0, 3, 4, 5, 8, 9, 12, 14, 15)

i=0

aceast
a list
a enumer
a doar indicii coeficientilor binari d0 = 1, d3 = 1, d4 = 1, d5 = 1,
d8 = 1, d9 = 1, d12 = 1, d14 = 1 si d15 = 1.
Definitia 1.11 Forma normal
a conjunctiv
a, FNC, a unei functii de n
variabile este un produs numai de maxtermi ai c
aror coeficienti di = 0. 
Forma FNC se obtine din FCNC prin eliminarea maxtermilor ai c
aror coeficienti
di = 1. Pentru exprimarea FNC se introduce o reprezentare simbolic
a sub forma unei
liste
f (xn1 , xn2 , . . . , x1 , x0 ) =

n
2Y
1

(d0 , d1 , . . . , d2n 2 , d2n 1 )

(1.13)

i=0

care contine doar indicii acelor coeficienti ai functiei care au valoarea d i = 0. Lu


and
ca exemplificare functia dat
a la relatia 1.12 de data aceasta lista va fi
f (x3 , x2 , x1 , x0 ) =

15
Y

(1, 2, 6, 7, 10, 11, 13),

i=0

adic
a sunt enumerati doar indicii coeficientilor binari care au valoarea zero.
Uneori este avantajos s
a se lucreze cu negata formei normale conjunctive sau cu
negata formei normale disjunctive ale functiei care pot fi exprimate respectiv sub
formele
a)

f (xn1 , xn2 , . . . , x1 , x0 ) =

n
2Y
1

(di + Si )

(1.14-a)

i=0

b)

f (xn1 , xn2 , . . . , x1 , x0 ) =

n
2X
1

i=0

(di Pi )

(1.14-b)

Aceste forme de scriere se pot obtine pornind de la relatiile 1.10 si 1.11, prin
negarea ambelor p
arti, apoi aplicarea teoremei lui De Morgan si tin
and cont de relatiile
1.7, n felul urm
ator:

17

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

f (xn1 , xn2 , . . . , x1 , x0 ) =

n 1
2X

i=0

f (xn1 , xn2 , . . . , x1 , x0 ) =

(di Pi ) =

n 1
2Y

i=0

n
2Y
1

(di + P i ) =

i=0

(di + Si ) =

n
2X
1

i=0

n
2Y
1

(di + Si )

i=0

(di S i ) =

n
2X
1

i=0

(di Pi )

Aceste exprim
ari se pot deduce si prin rationament din relatiile 1.10 si 1.11. Din
FCND se obtine FND dac
a se consider
a numai termenii canonici produs care au
valoarea 1, relatia 1.12, respectiv din FCNC se obtine FNC, relatia 1.13, dac
a se
consider
a numai termenii canonici sum
a care au valoarea 0. Sub forma FND functia
are valoarea 1 pentru suma tuturor termenilor canonici care au coeficientii d i = 1 si
are valoarea 0 pentru suma tuturor termenilor canonici care au coeficientii d i = 0.
Evident c
a functia negat
a f va avea valoarea 1 pentru suma tuturor acelor termeni
canonici care produc valoarea 0 pentru f , adic
a pentru acei coeficienti d i care sunt
0; respectiv functia negat
a f va avea valoarea 0 pentru suma tuturor acelor termeni
canonici care produc valoarea 1 pentru f , adic
a pentru acei coeficienti d i = 1. Deci
functia negat
a f poate fi scris
a ca o form
a FND, relatia 1.14-b, de acei termeni produs
pentru care di = 1, adic
a pentru acei coeficienti di care au valoarea 0 la scrierea
functiei f sub form
a FND. Acelasi rationament se poate face si pentru forma FNC,
adic
a se scrie functia f pentru coeficientii di care au valoarea 0, iar functia f , relatia
1.14-a, pentru coeficientii care au valoarea 1, adic
a d i = 0.
O modalitate uzual
a de definire a unei functii logice este cea prin tabelul de adev
ar.
Definitia 1.12 Tabelul de adev
ar este un tabel care n prima coloan
a din
st
anga, coloana de intrare, listeaz
a toate configuratiile de valori ale variabilelor de
intrare X = {0, 1}n, iar n urm
atoarele coloane, coloane de iesire, sunt listate valorile,
din Y {0, 1}, corespunz
atoare iesirilor. 
Astfel de tabele de adev
ar au fost prezentate initial n Tabelul 1.1 pentru introducerea operatorilor booleeni NOT, AND, OR, iar apoi n Figurile 1.1, 1.2 si Tabelul
1.2, respectiv pentru functile logice de una, dou
a si trei variabile.
Exemplul 1.1 Pentru o celula sumator complet sa se deduca functia logica suma, si
si functia logic
a pentru transferul urm
ator, Ci .
Solutie. In sectiunea 2.5.2 se va analiza sumarea a dou
a cuvinte binare cu lungimea de n
biti A = An1 An2 . . . Ai . . . A1 A0 si B = Bn1 Bn2 . . . Bi . . . B1 B0 . Operatia de sumare a
celor dou
a cuvinte se realizeaz
a pentru fiecare pereche de biti (Ai , Bi ) ncep
and cu perechea
i = 0, de rangul cel mai putin semnificativ, (20 ), p
an
a la perechea i = n1, de rangul cel mai
semnificativ, (2n1 ). Pentru fiecare rang aceast
a sumare este efectuat
a cu o celul
a sumator
complet. O celul
a sumator complet pentru rangul i are trei intr
ari Ai , Bi , Ci1 care sunt
respectiv bitii celor dou
a cuvinte A si B si transportul anterior Ci1 ce a fost generat de
celula din rangul 2(i1) . Semnalele generate la iesire de c
atre celula sumator complet sunt
doi biti: si sum
a (= Ai + Bi + Ci1 ) si Ci transportul urm
ator care se aplic
a la celula
de rang 2(i+1)
ca
transport
anterior.
Celula
sumator
complet
este
notat
a
uneori
P
P cu
simbolul (3, 2), indic
and faptul c
a are trei intr
ari si dou
a iesiri. Exist
a si celula (2, 2)
care are numai dou
a intr
ari Ai si Bi (nu se consider
a transportul anterior Ci1 ) care este
referit
a ca celul
a semisumator. Pentru o celul
a sumator complet tabelul de adev
ar este
prezentat n Tabelul 1.6.

18

CAPITOLUL 1. PORT
I LOGICE
Tabelul 1.6
Tabelul de adev
ar pentru o celul
a sumator/sc
az
ator complet

Intrari

Adunare

Bi Ci1 / Ii1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1

Ai
0
0
0
0
1
1
1
1

si
0
1
1
0
1
0
0
1

Ci
0
0
0
1
0
1
1
1

gi
0
0
0
1
0
1
1
1

Scadere Numarator de 1
pi
0
0
1
1
1
1
1
1

di
0
1
1
0
1
0
0
1

Ii
0
1
1
1
0
0
0
1

Ci
0
0
0
1
0
1
1
1

si
0
1
1
0
1
0
0
1

(0)
(1)
(1)
(2)
(1)
(2)
(2)
(3)

Pentru iesirea sum


a si forma normal
a canonic
a disjunctiv
a, FNCD conform relatiei 1.10,
este :
si (Ai , Bi , Ci1 ) =

7
X
i=0

di Pi = d0 P0 +d1 P1 +d2 P2 +d3 P3 +d4 P4 +d5 P5 +d6 P6 +d7 P7

unde di , i = 0, 1, 2, . . . , 7 sunt coeficientii functiei din coloana si din Tabelul 1.6. Evident
c
a produsele pentru care di = 0 pot fi eliminate deoarece au valoarea 0 si se obtine forma
normal
a disjunctiv
a, FND.
si (Ai , Bi , Ci1 )

=
=

1 P1 + 1 P2 + 1 P4 + 1 P7 =

Ai B i Ci1 + Ai Bi C i1 + Ai B i C i1 + Ai Bi Ci1

Se observ
a c
a FND se poate scrie direct lu
and numai acei mintermi pentru care functia
are valoarea 1 n tabelul de adev
ar,
si (Ai , Bi , Ci1 ) =

7
X

(1, 2, 4, 7)

,,
de unde si expresia de sintez
a pe baz
a de 1 . Aplic
and axiomele si teoremele din Tabelul
1.2, si expresiile pentru XOR si NXOR, forma normal
a disjunctiv
a pentru si se transform
a
n felul urm
ator:
si (Ai , Bi , Ci1 )

=
=

Ai (B i Ci1 + Bi C i1 ) + Ai (B i C i1 + Bi Ci1 ) =
Ai (Bi Ci1 ) + Ai (Bi Ci1 ) = Ai Bi Ci1

(1.15)

Dar din Tabelul 1.6 se poate face si sinteza functiei negate si , aceasta va avea valori 1
(di = 1) acolo unde si are valori 0 (di = 0), relatia 1.14-b, deci forma normal
a disjunctiv
aa
functiei negate se scrie direct examin
and tabelul de adev
ar:
si (Ai , Bi , Ci1 )

7
X
(0, 3, 5, 6) =
i=0

=
=
=

Ai B i C i1 + Ai Bi Ci1 + Ai B i Ci1 + Ai Bi C i1 =
Ai (B i C i1 + Bi Ci1 ) + Ai (B i Ci1 + Bi C i1 ) =
Ai Bi C i1

19

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Se pune ntrebarea care cale se alege pentru sinteza functiei, cea prin FND pentru functia
negat
a sau cea prin FND pentru functia nenegat
a? R
aspunsul este evident: prin calea care
solicit
a mai putin efort, adic
a cea care duce la o form
a FND cu mai putini mintermi.
Pentru functia Ci sinteza se face din tabelul de adev
ar, de data aceasta pe baz
a de zerouri, adic
a prin formele conjunctive. Forma canonic
a normal
a conjunctiv
a, FCNC, conform
exprim
arii din relatia 1.11, se va scrie:
Ci (Ai , Bi , Ci1 )

7
Y

(di + Si ) =

i=0

(d0 + S0 ) (d1 + S1 ) (d2 + S2 ) (d3 + S3 ) (d4 + S4 ) (d5 + S5 )


(d6 + S6 ) (d7 + S7 )

unde di , i = 0, 1, . . . , 7 sunt coeficientii functiei din coloana Ci . Se pot elimina factorii pentru
care di = 1 deci se ajunge la forma normal
a conjunctiv
a FNC,
Ci (Ai , Bi , Ci1 ) =

7
Y

(0, 1, 2, 4)

,,
care se putea scrie direct prin inspectarea valorilor de zero (sintez
a pe baz
a de 0 ) si
scrierea produsului de maxtermi n felul urm
ator:
Ci

=
=

S 0 S1 S2 S4 =

(Ai + Bi + Ci1 ) (Ai + Bi + C i1 ) (Ai + B i + Ci1 ) (Ai + Bi + Ci1 )

Aplicarea propriet
atii de distributivitate la aceast
a expresie duce la 3 3 3 3 = 81
termeni produs care apoi sunt redusi prin aplicarea axiomelor si teoremelor algebrei Booleene.
A doua cale de sintez
a pe baz
a de zerouri se poate face pentru functia negat
a C i prin
inspectarea tabelului de adev
ar se aleg maxtermii pentru care functia are valoarea 1, relatia
1.14-a. Rezult
a forma normal
a conjunctiv
a, FNC, pentru functia negat
a
C i (Ai , Bi , Ci1 )

7
Y

(3, 5, 6, 7) =

(Ai + B i + C i1 ) (Ai + B i + Ci1 ) (Ai + B i + Ci1 )


(Ai + B i + C i1 )

si de data aceasta se pot obtine 81 de termeni produs care pot fi redusi. Uzual, se alege
ntre sinteza prin FNC pentru functia negat
a sau sinteza prin FNC pentru functia nenegat
a
prin observarea n tabelul de adev
ar care cale duce la mai putini maxtermi. Din aceste dou
a
tentative de sintez
a pe baz
a de zero se constat
a dificultatea aplic
arii formelor conjunctive,
acesta este unul din argumentele pentru care n practic
a se aplic
a aproape n exclusivitate
sinteza pe baz
a de 1, adic
a FND, fie pentru functia negat
a f , fie pentru functia nenegat
a f.
In consecinta
, revenind la sinteza pe baz
a de 1 rezult
a pentru Ci
a) Ci (Ai , Bi , Ci1 ) =

7
X

(3, 5, 6, 7) =

i=1

Ai Bi Ci1 + Ai B i Ci1 + Ai Bi C i1 + Ai Bi Ci1

(1.16)

o form
a rezonabil
a, fata
de sintezele anterioare prin FNC si care prin procedee analitice este
adus
a la urm
atoarele forme disjunctive FD:
b) Ci (Ai , Bi , Ci1 )

Ai (Bi Ci1 ) + Bi Ci1

c) Ci (Ai , Bi , Ci1 )

Ci1 (Ai Bi ) (Ai Bi )

20

CAPITOLUL 1. PORT
I LOGICE

1.1.5

Forme disjunctive si conjunctive

Forma disjunctiv
a FD a functiei este o sum
a de termeni necanonici de unde
si denumirea de sum
a de produse, iar forma conjunctiv
a FC a functiei este un
produs de termeni sum
a necanonici, denumit
a si produs de sume. Reducerea formelor
normale disjunctive (FND) sau normale conjunctive (FNC), respectiv la FD sau FC
este referit
a ca un procedeu de minimizare a functiei, desi uneori nu se obtine forma
minim
a sau se obtin mai multe expresii (neminime).
Exist
a trei modalit
ati de minimizare:
1 - analitic
a, utiliz
and axiomele si teoremele algebrei Booleene. Aceast
a cale este
eficient
a doar pentru functii cu num
ar mic de variabile si de termeni.
2 - prin metode grafice (de exemplu diagrama Veitch - Karnaugh), de asemenea
utilizabile pentru functii care nu au mai mult de 5-6 variabile.
3 - pe baza unor algoritmi sau abord
ari euristice . Exist
a algoritmi (de exemplu Quine - McQlusky) care pot fi aplicati unor functii cu zeci de variabile si
iesiri multiple. Acesti algoritmi stau la baza programelor de minimizare (de exemplu Espresso - MV) incluse n medii de Programare Automat
a n Electronic
a,
referite prin termenul tehnici EDA (Electronic Design Automation).
Minimizarea pe cale analitic
a implic
a putin
a practic
a n utilizarea axiomelor si
teoremelor algebrei booleene. Aceast
a practic
a nu se bazeaz
a pe un algoritm anume ci
mai mult pe intuitie. Astfel se pot ad
auga termeni (tautologia) care apoi se grupeaz
a
cu altii nc
at s
a se aplice (cel mai frecvent) axioma de existenta
a complementului
(x + x = 1), teorema absorbtiei sau absorbtia invers
a.
Exemplul 1.2 Pentru urmatoarea forma normala disjunctiva
F (A, B, C, D)

AB C D + AB C D + AB C D + AB C D + AB C D +
+A B C D + A B C D + A B C D + A B C D + A B C D

s
a se deduc
a forma minim
a.
Solutie. Se grupeaz
a c
ate doi termeni canonici pentru a se aplica axioma de existenta

a complementului (dar pentru aceasta unii termeni A B C D, A B C D se dubleaz


a) n felul
urm
ator:
F (A, B, C, D)

A B D (C + C) + (A B C D + A B C D) + (A B C D + A B C D) +

A B D + A B C (D + D) + B C D(A + A) + B C D(A + A) +

B D(A + A) + A B C + B C D + B C D + A B C =

B D + B D(C + C) + B(A C + A C) =

B D + B D + B(A C + A C)

+(A B C D + A B C D) + (A B C D + A B C D) + A B D(C + C) =
+A B C(D + D) + A B D =

pentru care aplic


and expresia functiei SAU EXCLUSIV NEGAT se obtine
F (A, B, C, D) = B D + B (A C)

21

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Uneori se pune problema de a se parcurge traseul invers adic


a pentru o form
a
minim
a s
a se deduc
a forma normal
a disjunctiv
a din care a provenit. In general,
pentru o astfel de extindere de la un termen produs la un termen canonic produs se
introduc n termenul produs variabilele care lipsesc sub forma x + x. De asemenea,
pentru ca o form
a disjunctiv
a s
a fie extins
a la forma normal
a conjunctiv
a (produse de
sume) suma de termeni produs trebuie transformat
a ntr-un produs de sume utiliz
and
axioma distributivit
atii A + B C = (A + B) (A + C), iar n termenii sum
a variabilele
care lipseau se introduc prin axioma de existenta
a complementului x x = 0.
Exemplul 1.3 Urmatoarea forma disjunctiva F (A, B, C) = A B + A C sa fie extinsa
la forma normal
a conjunctiv
a.
Solutie. In primul r
and termenii produs sunt convertiti n termeni sum
a utiliz
and
axioma de distributivitate.
F (A, B, C)

(A B + A) (A B + C) = (A + A) (B + A) (A + C) (B + C) =

(A + B) (A + C) (B + C)

Fiec
arui termen sum
a i lipseste o variabil
a care se introduce n felul urm
ator:
A+B

A + B + C C = (A + B + C) (A + B + C)

A+C

A + C + B B = (A + B + C) (A + B + C)

B+C

B + C + A A = (A + B + C) (A + B + C)

In final se obtine:
F (A, B, C)

(A + B + C) (A + B + C) (A + B + C) (A + B + C) =

7
Y

(0, 2, 4, 5)

Expresiile sub form


a de sume de produse sau produse de sume se pot modela
pe dou
a niveluri de operatori respectiv pe AND-OR sau OR-AND. De exemplu
urm
atoarele forme FD si FC:
F1 = A B + C D si F2 = (A + B)(C + D)
pot fi modelate ca n Figura 1.4-a si 1.4-b. Uneori se impune ca modelarea s
a se
fac
a fie numai cu operatorul NAND fie numai cu operatorul NOR. Pentru forme FD
modelarea se face usor pe baza operatorului NAND (not
am simbolic prin A B
% (A, B)) deoarece aplic
and sumei de produse teorema dublei negatii si apoi teorema lui DeMorgan se obtine tocmai un NAND de NAND-uri. In schimb pentru
forme FC modelarea se face mai usor pe baza operatorului NOR (not
am simbolic
prin A + B . (A, B)) deoarece aplic
and produsului de sume teorema dublei
negatii si apoi teorema lui DeMorgan se obtine tocmai un NOR de NOR-uri.
Astfel F1 si F2 devin:
F1

= AB +C D = AB C D

% (% (A, B), % (C, D))

F2

= (A + B) (C + D) = (A + B) + (C + D)

. (. (A, B), . (C, D))

22

CAPITOLUL 1. PORT
I LOGICE
A
B

F 1 = A. B + C. D

C
D

A
B
C
D

A.B

C .D

a)
A
B

F 2 = (A+B).(C+D)

A
B
C
D

C
D
b)

F 1 = (A. B) .(C. D)

c)

A+B
F 2 = (A+B)+(C+D)
C+D

d)

Figura 1.4 Implementarea formelor FD si FC: a,b) pe dou


a niveluri AND-OR, respectiv OR-AND; c,d) pe dou
a niveluri NAND-NAND, respectiv NOR-NOR.

Num
ar
and simbolurile % si . rezult
a c
a pentru fiecare functie sunt necesari trei
operatori NAND respectiv NOR cu c
ate dou
a intr
ari cum se poate vedea si n Figura
1.4-c si 1.4-d. Variabilele negate pot fi obtinute prin x % (x, x) sau . (x, x).
Uneori pentru conversia model
arii de tip AND-OR sau OR-AND, respectiv ntr-o
modelare de tip NAND-NAND sau NOR-NOR se pot utiliza anumite reguli grafice
de transformare, care rezult
a din axiomele si teoremele algebrei Booleene. Aceste
reguli sunt:
Regula 1. La iesirea unui operator se poate introduce un cerculet de negatie, dar
atunci trebuie introdus un cerculet de negatie si la intrarea operatorului imediat
,,
urm
ator (Dubla negatie este adev
ar ), deci pe conexiunea ntre cei doi operatori
variabila nu sufer
a modific
ari;
Regula 2. Introducerea unui cerculet de negatie pe iesirea unei functii trebuie urmat
a, tot pe iesire, de ad
augarea nc
a a unui cerculet de negatie (buffer inversor). Respectiv, introducerea la o variabil
a de intrare, ntr-un operator, a unui
cerculet de negatie trebuie precedat
a de negarea aceleiasi variabile de intrare
(aplicarea pe intrare a variabilei negate);
Regula 3. C
and se face conversia unui simbol grafic initial ntr-unul final,
AND/NAND OR/NOR, se pot introduce la simbolul final cerculete de negatie fie la intrare, fie pe iesire, fie at
at la intrare c
at si la iesire, dar numai dac
a
la terminalele corespunz
atoare ale simbolului initial nu a existat un cerculet de
negatie n felul urm
ator (de fapt aceast
a regul
a nu este dec
at o aplicare grafic
a
a teoremei lui DeMorgan):

AND

OR

NAND

NOR

23

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Exemplul 1.4 Pentru conversiile din Figura 1.4 sa se aplice regulile grafice de transformare.
Solutie. Aplic
and regulile de conversie grafic
a se obtin succesiunile de circuite ca n
Figura 1.5.
A
B
C
D

F = A. B + C. D

A
F
B
C
regula 1 D

F = (A.B). (C.D)

A
B
F
C
regula 3 D

a) Maparea AND OR in NAND NAND este o conversie naturala

A
B
C
D

F = A. B + C. D

A
F
B
C
regula 2 D

A
F
B
C
regula 3 D

F = (A+B)+(C+D)
F

b) Maparea AND OR in NOR NOR este o conversie nepotrivita


A
B
C
D

F = (A+B)(C+D)

A
F
B
C
regula 1 D

F = (A+B)+(C+D)
A
F
B
C
regula 3 D

c) Maparea OR AND in NOR NOR este o conversie naturala

A
B
C
D

F = (A+B)(C+D)

A
F
B
C
regula 1 D

F = (A B)(C D)
A
F
B
C
regula 3 D

d) Maparea OR AND in NAND NAND este o conversie nepotrivita

Figura 1.5 Exemple de conversii grafice de tipul AND-OR/OR-AND n NANDNAND sau NOR-NOR.

Uneori apare si problema invers


a model
arii, pentru o modelare dat
a s
a se determine expresia FD sau FC care l descrie, de fapt aceast
a abordare pentru un sistem
deja implementat este referit
a ca analiza sistemului. Se poate obtine functia logic
aa
modelului prin urm
atoarele trei modalit
ati:
1 - pentru fiecare configuratie de valori logice ale variabilelor de intrare se deduc
valori logice n punctele intermediare ale modelului si respectiv se calculeaz
a
valoarea logic
a de iesire si n felul acesta se construieste tabelul de adev
ar.
Apoi, din tabelul de adev
ar rezultat se deduce functia logic
a.
2 - se scriu expresiile logice dup
a fiecare simbol de operator logic, pornind de la
fiecare intrare nspre iesire, rezult
and dup
a ultimul operator expresia logic
aa
functiei. Aceast
a modalitate este asem
an
atoare cu prima: se merge de la intrare
schemei spre iesire din punct n punct, dar la prima modalitate cu valorile
functiei pe c
and la aceast
a modalitate cu expresiile functiei.

24

CAPITOLUL 1. PORT
I LOGICE

3 - utiliz
and conventiile prin cerculete de negatie.
A treia modalitate este recomandat
a doar atunci c
and operatorii au iesirile negate
(NAND, NOR) sau au intr
ari negate, deci parcurgerea de la intrare spre iesire ridic
a
anumite dificult
ati. De ce? pentru c
a suntem mai obisnuiti s
a oper
am cu operatorii
AND si OR cu intr
ari nenegate. De fapt, aceasta se reduce tot la a doua modalitate,
dar prin conversia operatorilor care contin cerculete de negatie n operatori f
ar
a aceste
cerculete, se ajunge la o reprezentare numai cu operatori AND si OR.
Exemplul 1.5 Pentru modelele de circuite din Figura 1.6-a, 1.6-c sa se deduca expresia
functiilor (aplic
and cerculetele de negatie).
A
B
C
A
B
C

a)

c)

regula 3

A
B
C

regula 3

D
A
B
C

d)

b)

F = A. (B+C)

regula 3
A
B
C

e)

F = (A+B). C+D

Figura 1.6 Exemple de conversie a modelelor logice spre structuri cu operatori


AND si OR pentru determinarea functiilor logice.
Solutie. Pentru modelul din Figura 1.6-a se aplic
a regula 3 si se obtin numai operatori
AND si OR, F = A (B + C). Pentru modelul din Figura 1.6-c se aplic
a de dou
a ori regula
3 si structura poate fi considerat
a ca fiind compus
a doar din operatori AND si OR pentru
care se scrie foarte simplu expresia logic
a, F = D + C (A + B).

Acest mod de transformare a modelelor logice este foarte indicat n depanarea


circuitelor deoarece pornind de la intrare spre iesire, dup
a fiecare nivel logic de OR
sau AND se poate verifica simplu corectitudinea semnalelor.
In ncheierea prezent
arii acestor notiuni de suport formal pentru sistemele digitale
accentu
am faptul c
a formele normale disjunctive, FND, sau formele disjunctive, FD,
(sum
a de produse) pot fi modelate pe dou
a nivele logice AND-OR. De asemenea,
formele normale conjunctive, FNC, sau formele conjunctive, FC, (produse de sume)


1.2. POARTA LOGICA

25

pot fi modelate pe dou


a nivele logice OR-AND. Aceste afirmatii sunt adev
arate n
mod teoretic c
and operatorii AND, OR se aplic
a pentru orice num
ar de intr
ari si
exist
a disponibile si variabilele negate. In practic
a, unde un operator este o poart
a
logic
a, trebuie luate cu precautie aceste afirmatii n functie de portile disponibile si
de num
arul de intr
ari ale acestora (adic
a de restrictiile electrice de conectivitate ale
acestor porti).

1.2

POARTA LOGICA

C
and se trece de la formele FND, FNC la FD, FC si de la modelele acestora
pe baz
a de operatori NOT, AND, OR, NOR, NAND, la implement
ari reale pe baz
a
de circuite electronice pentru operatorii logici se foloseste, n exprimare, termenul
de poart
a logic
a. Prin termenul de poart
a logic
a se face referire la orice circuit
electronic care implementeaz
a un operator logic, deci exist
a poarta inversor (NOT),
poarta AND, poarta OR, poart
a XOR, poarta NAND etc. Prin referirea tuturor circuitelor logice cu termenul de poart
a logic
a apare un abuz de limbaj care, totusi, are
o justificare din punct de vedere al transferului semnalului (variabile logice binare)
prin circuit. Consider
and operatorii logici prezentati n Tabelul 1.7, cu cele dou
a
intr
ari A,C si iesirea f , se poate analiza cum pentru transferul semnalului logic A
spre iesirea f , prin conditionarea de c
atre semnalul C (de control), circuitul electronic care implementeaz
a un astfel de operator are un comportament similar cu
,,
utilizarea/functionarea unei porti. Astfel, c
and circuitul poart
a este deschis las
a
semnalul A s
a treac
a modificat sau nemodificat spre iesirea f , iar c
and poarta este
,,
nchis
a semnalul A nu se transfer
a la iesirea f . Intuitiv, n aceast
a analogie, poarta
este nchis
a sau deschis
a de c
atre cineva, adic
a n cazul unui circuit de un semnal de
control, variabila C.
Tabelul 1.7
Interpretarea operatorilor logici ca circuite poart
a

INTRARI

AND

f A

OR

f A

NAND

f A

NOR

f A

XOR

f A

NXOR
f

Iesirea
este :

f=0 f=A f=1 f=A f=1 f=A f=0 f=Af=A f=A f=Af=A

Pentru
variabila C = 0 C = 1 C = 1 C = 0 C = 0 C = 1 C = 1 C = 0 C = 0 C = 1 C = 0 C = 1
de control :

26

CAPITOLUL 1. PORT
I LOGICE

De exemplu, pentru poarta AND c


and este deschis
a, C = 1, semnalul de intrare A
se transfer
a la iesire f = A, iar c
and este nchis
a, C = 0, semnalul de intrare A nu se
transfer
a la iesire, f este ncontinuu la valoarea logic
a 0. Poarta XOR, este putin mai
special
a, este permanent deschis
a, transfer
a la iesire semnalul de intrare nemodificat
pentru C = 0, f = A (A 0 = A), iar pentru C = 1 transfer
a spre iesire intrarea A
negat
a, f = A (A 1 = A); poarta XOR are o functionare de circuit inversor
comandat. O astfel de interpretare, de circuit poart
a, se poate g
asi pentru oricare
din operatorii prezentati n Tabelul 1.7.
Analiz
and n paralel poarta AND si poarta OR se poate observa c
a poarta AND
este deschis
a pentru C = 1, iar poarta OR este deschis
a pentru C = 0, astfel spunem
c
a una este deschis
a c
and semnalul C este activat n 1 logic, iar cealalt
a c
and semnalul
C este activat n 0 logic. P
an
a acum atasam valorii de adev
ar, pentru o variabil
a,
valoarea binar
a 1 si pentru valoarea de fals valoarea binar
a 0. Dar, n practic
a, se
poate atasa pentru starea de adev
ar a unei variabile acea valoare binar
a pe care
variabila o are n starea activ
a (adic
a starea care produce actiunea pentru care se
justific
a acea variabil
a), care poate fi: fie bitul 1, fie bitul 0. Iar valoarea de fals
variabila o are n starea de neactivare, care poate fi: fie pentru valoarea binar
a 1,
fie pentru valoarea binar
a 0.
In aceast
a interpretare, variabila A c
and este n stare activ
a pentru valoarea binar
a
and este n starea activ
a pentru
1 (activ High) se noteaz
a n felul urm
ator A H si c
valoarea binar
a 0 (activ Low) se noteaz
a A L. La fel, si o iesire OU T a unei porti
poate fi considerat
a n (adev
arat
a) fie c
and are valoarea binar
a 0 si se noteaz
a OU T L,
fie c
and are valoarea binar
a 1 si se noteaz
a OU T H. Cu aceste notatii tabelele de
adev
ar pentru portile logice se realizeaz
a nu pentru valorile binare 1 si 0 ci pentru
st
arile de activare (adev
arat) si neactivare (fals) ale intr
arilor si, respectiv, pentru
starea de activare (adev
arat) si neactivare (fals) a iesirii. Pe simbolurile grafice ale
portilor pentru semnalele de intrare si de iesire active n L se introduc cerculete de
negatie. In practic
a, dac
a un semnal este activ n starea High, de exemplu A H sau
OU T H, nu se mai adaug
a sufixul H si se reprezint
a numai A sau OU T nteleg
anduse c
a au valoarea de adev
ar (starea activ
a) n 1 logic, iar valoarea de fals n 0 logic.
In schimb, pentru semnalele active n starea Low se mentine sufixul L. Deci, poate s
a
apar
a aceast
a notare mixat
a, adic
a semnalele active n starea High nu mai au sufixul
H, dar cele active n starea Low au sufixul L. De exemplu, pentru poarta AND din
Figura 1.7-a iesirea este activ
a (valoare de adev
ar), OU T L = 0, se obtine c
and toate
intr
arile sunt activate (au valoare de adev
ar), adic
a: IN T R1 = 1, IN T R2 L = 0,
IN T R3 L = 0, IN T R4 L = 0 si IN T R5 = 1; iar pentru poarta OR din Figura

INTR1
INTR2_L
INTR3_L
INTR4_L
INTR5
a)

OUT_L

INTR1
INTR2_L
INTR3_L
INTR4_L
INTR5

OUT_L

b)

Figura 1.7 Reprezentarea mixat


a a semnalelor (pentru valoarea binar
a asignat
a
st
arii de adev
ar): a) pentru o poart
a AND; b) pentru o poart
a OR.


1.2. POARTA LOGICA

27

1.7-b iesirea nu este activ


a (nu are valoare de adev
ar, OU T L = 1) numai c
and nici
una din intr
ari nu este activat
a (este fals
a), adic
a: IN T R1 = 0, IN T R2 L = 1,
IN T R3 L = 1, IN T R4 L = 1 si IN T R5 = 0.
In practica circuitelor digitale pentru o variabil
a VAR, care este activ
a n starea
Low, se utilizeaz
a dou
a notatii: VAR sau VAR L; n aceast
a carte se va utiliza
at
at notatia de variabil
a negat
a, VAR, c
at si notatia de nivel Low, VAR L,
ambele av
and aceeasi semnificatie.
Exemplul 1.6 Sa se reprezinte tabelele de adevar si simbolurile grafice uniforme (vezi
Tabelul 1.1) pentru toate variantele de activare ale variabilelor de intrare si iesirii la o poart
a
AND cu dou
a intr
ari.
Solutie. Iesirea unei porti AND cu dou
a intr
ari este activ
a (are valoare de adev
ar)
numai c
and sunt active (au valori de adev
ar) ambele intr
ari; deci o aplicatie pe multimea
{adev
ar,fals} cu valori tot n aceast
a multime. Atasa
nd fiec
arei valori de adev
ar (activare),
pentru variabilele de intrare si pentru iesire, fie nivelul Low fie nivelul High rezult
a 8 variante
pentru tabelul de adev
ar, Figura 1.8. Realizati variantele pentru tabelul de adev
ar si pentru
poarta OR.
A
B
AB
A+B
Fals
Fals
Fals
Fals
Fals
Adevarat Fals
Adevarat
Adevarat Fals
Fals
Adevarat
Adevarat Adevarat Adevarat Adevarat
A
B

&

A
B_L

0
0
1
1

0
1
0
1

0
0
0
1

0
0
1
1

A
B

&

O_L

O_L

0
0
1
1

0
1
0
1

1
1
1
0

A
B_L

&

B_L O
0
1
0
1

0
0
1
0

&

O_L

A B_L O_L
0
0
1
1

A_L

0
1
0
1

1
1
0
1

&

A_L

0
0
1
1

0
1
0
1

0
1
0
0

A_L
B

&

A_L
B_L

&

A_L B_L O
0
0
1
1
O_L

A_L

O_L

0
0
1
1

0
1
0
1

1
0
1
1

A_L
B_L

0
1
0
1

1
0
0
0

&

O_L

A_L B_L O_L


0
0
1
1

0
1
0
1

0
1
1
1

Figura 1.8 Variante de asignare a valorilor binare pentru semnalele active la o


poart
a AND

In tehnic
a, de foarte mult timp, este utilizat un element ce prezint
a dou
a st
ari:
contactul unui releu. Un contact nchis prin lamela sa stabileste, ntre dou
a puncte

28

CAPITOLUL 1. PORT
I LOGICE

de circuit, un traseu de rezistenta


electric
a de valoare foarte mic
a, teoretic zero, iar
un contact deschis ntrerupe un circuit ntre dou
a puncte, deci realizeaz
a ntre cele
dou
a puncte o rezistenta
infinit
a. Celor dou
a st
ari ale contactului (nchis, deschis) li se
pot asocia elementele multimii binare {0, 1}. Rezult
a c
a pentru circuitele cu contacte,
denumite retele de comutatie, se poate aplica formalismul algebrei Booleene, B(2);
apare astfel posibilitatea de a formaliza proiectarea si analiza retelelor de comutatie.
Acest formalism a fost prima dat
a folosit de Claude Shannon n 1938 care a scos din
arhiva matematicilor algebra conceput
a de George Boole (1852) si a aplicat-o n acest
scop.
In Figura 1.9 este schitat
a o structur
a de circuit cu releu care, prin cele dou
a contacte ale sale, unul normal deschis cel
alalt normal nchis, realizeaz
a traseul circuitelor
de alimentare a dou
a becuri notate cu f1 si f2 . Un contact normal deschis este n
stare deschis
a c
and releul nu este comandat si trece n stare nchis
a c
and releul este
comandat. Invers, un contact normal nchis este n starea nchis
a c
and releul nu
este comandat si se deschide c
and releul este comandat. In aceast
a schita
, c
and releul
este necomandat tensiunea de alimentare a bobinei este 0, x = 0, arm
atura nu este
atras
a, contactul normal nchis este nchis, cel normal deschis este deschis, iar becul
f1 este stins si becul f2 este aprins. C
and se comand
a releul, tensiunea de alimentare
are o anumit
a valoare, pe care o putem nota cu 1, x = 1, contactul normal deschis se

f1

f2

x
x

x
y
z
x
y
z

y
x
y

f
f = x+y
d)

x
y
z
x
y
z

x
z

x
z

f = x. y
e)

f= x
c)

x
x

x
y

b)

f=x

a)

f =x y z +xy z + x z
f)

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


g)

Figura 1.9 Retele de comutatie: a) structur


a de circuit releu; b,c,d,e) retele de comutatie
pentru modelarea operatorilor de: identitate, negatie, sum
a logic
a si produs logic; f,g) retele
de comutatie pentru modelarea unei forme de sume-de-produse si produse-de-sume.


1.2. POARTA LOGICA

29

nchde, cel normal nchis se deschide deci becul f1 se aprinde si f2 se stinge. Atasa
nd
st
arii becurilor valoarea logic
a 1 (activ) c
and este aprins si valoarea logic
a 0 (inactiv)
c
and este stins rezult
a c
a aplicatia {0, 1} {0, 1}, conform Figurii 1.1, este functia
f11 , adic
a identitate pentru becul f1 , f1 = x si este functia f21 , adic
a negatie pentru
becul f2 , f2 = x. Evident, contactul normal deschis prin care se realizeaz
a functia
de identitate se va nota cu variabila x, Figura 1.9-b, iar contactul normal nchis prin
care se realizeaz
a functia de negatie se va nota cu variabila negat
a, x, Figura 1.9-c.
Rezult
a, intuitiv, c
a dou
a contacte nseriate realizeaz
a, pentru reteaua de comutatie
respectiv
a, modelarea produsului logic de dou
a variabile, Figura 1.9-e, iar dou
a contacte n paralel realizeaz
a modelarea sumei logice a dou
a variabile, Figura 1.9-d. O
retea de comutatie serie-paralel, Figura 1.9-f, modeleaz
a o functie disjunctiv
a (sum
a
de produse, FD), iar o retea de comutatie paralel-serie, Figura 1.9-g, modeleaz
a o
functie conjunctiv
a (produse de sume, FC).
Elementele logice de baz
a n structura unei porti sunt cele dou
a functii f11 (identi1
tate) si f2 (negatie) cu care se pot realiza diferite organiz
ari prin intermediul celor
patru tipuri de conectare: serie, paralel, serie-paralel si paralel-serie. In circuitele poart
a componentele fizice care pot modela functia identitate pot fi dioda sau
tranzistorul de trecere. O diod
a polarizat
a n sens direct este echivalent
a unui contact
nchis, iar polarizat
a n sens invers poate modela un contact deschis, Figura 1.10-a
(s-a considerat caracteristica de diod
a ideal
a). La fel, un tranzistor de trecere (vezi
ID

UD

K
UD

UD
S

K
b)

a)
V CC

V CC

RC

V DD

V DD

RC
pMOS
VO

Vin

VO
Vin

c)

Vin

VO

Vin

VO

nMOS

d)

Figura 1.10 Elemente fizice componente de baz


a pentru structurarea portilor
logice: a,b) elemente componente pentru modelarea functiei de identitate. c,d) elementele
componente pentru modelarea functiei de inversor n tehnologie bipolar
a si n tehnologie
CMOS.

30

CAPITOLUL 1. PORT
I LOGICE

Figura 1.51) poate fi echivalentul unui contact nchis/deschis dup


a cum tranzistorul
este comandat n conductie/blocare, Figura 1.10-b.
Pentru functia de inversor exist
a circuite simple n fiecare tehnologie. Structura
unui circuit inversor n tehnologie bipolar
a este reprezentat
a n Figura 1.10-c (vezi
sectiunea 1.5.2), iar pentru inversorul CMOS n Figura 1.10-d (vezi sectiunea 1.4.1).
Circuitul cu diode care produce la iesire tensiunea de valoare minim
a aplicat
a la
intrare, M IN (V1 , V2 , V3 ), Figura 1.11-a si circuitul cu diode care produce la iesire
tensiunea maxim
a aplicat
a la intrare, M AX(V1 , V2 , V3 ), Figura 1.11-b pot fi utilizate
ca structuri de poart
a AND sau OR n functie de conventia de logic
a folosit
a.
Prin conventia de logic
a pozitiv
a ntr-un circuit nivelului de tensiune ridicat
VH (High), n general tensiunea de alimentare VH = VCC , VH = VDD , i se atribuie
,,
valoarea logic
a 1 , iar nivelului de tensiune cobor
at VL (Low), n general tensiunea
,,
de mas
a VL = VSS = 0V , i se atribuie valoarea logic
a 0 . Invers, prin conventia de
,,
,,
logic
a negativ
a se fac urm
atoarele atribuiri VH 0 , VL 1 . Exist
a circuite
logice care sunt alimentate cu tensiuni negative (VEE ) fata
de mas
a, circuitele de
tip ECLEmitter Coupled Logic, si la acestea se p
astreaz
a atribuirile din conventiile
de logic
a pozitiv
a sau negativ
a; diferenta fata
de circuitele care se alimenteaz
a la
tensiune pozitiv
a este faptul c
a VH = 0V (tensiunea masei) si VL = VEE , Figura
1.13.
Vref =+5V

V1
V2
V3

D1

D2

VO

D3

V1 V2 VO
VL VL VL
VL VH VL
VH VL VL
VH VH VH

V High = +5V
V Low = 0V
V O = Min(V 1,V 2,V 3)

V2
V3

VO
0

V1 V2
1
1

D1
D2

VO

D3

R
Vref = 0V

V High = +5V
V Low = 0V
V O = Max(V 1,V 2,V 3)

VO
1

Logica pozitiva
"1"
VH
"0"
VL
Poarta AND

a)
V1

V1 V2
0
0

V1 V2 VO
VL VL VL
VL VH VH

V1 V2
0
0
0

VH VL VH
VH VH VH

VO

Logica negativa
"0"
VH
"1"
VL
Poarta OR
VO

V1 V2
1
1

Logica pozitiva
"1"
VH
"0"
VL
Poarta OR

Logica negativa
"0"
VH
"1"
VL
Poarta AND

b)

Figura 1.11 Echivalarea circuitelor MIN (a) si MAX(b) ca porti logice AND si
OR n functie de conventia de logic
a pozitiv
a sau negativ
a


1.2. POARTA LOGICA

31

Circuitul MIN, Figura 1.11-a, va genera pentru iesire VO = M IN (V1 , V2 , V3 ) deoarece va conduce numai dioda care are aplicat pe catod tensiunea cu valoarea cea
mai cobor
at
a, celelalte diode, cu catozii mai pozitivi, vor fi blocate. Consider
and
circuitul MIN realizat numai cu dou
a diode D1 si D2 , la catozii c
arora se aplic
a
numai tensiunile de valori VH sau VL , se poate construi tabelul pentru tensiunea de
iesire VO . Aplic
and acestui tabel conventia de logic
a pozitiv
a rezult
a c
a circuitul MIN
are o functionare de poart
a AND, iar n conventia de logic
a negativ
a are o functionare
de poart
a OR.
Circuitul MAX, Figura 1.11-b, va genera pentru iesire tensiunea maxim
a aplicat
a
pe intrare VO = M AX(V1 , V2 , V3 ) deoarece va conduce doar dioda care are aplicat pe
anod tensiunea cea mai ridicat
a, celelalte diode, cu potential mai cobor
at pe anod, vor
fi blocate. Aplic
and tabelului, care arat
a corespondenta dintre tensiunea de iesire V O
si tensiunile de intrare V1 , V2 (sunt considerate doar dou
a intr
ari), conventia de logic
a
pozitiv
a rezult
a c
a circuitul MAX are functionare de poart
a OR, iar n conventia de
logic
a negativ
a are o functionare de poart
a AND.
Teorema 1.1 Duala unei functii de variabile negate este egal
a cu negata
functiei de variabile nenegate.
f (x0 , x1 , . . . , xn1 ) = f D (x0 , x1 , . . . , xn1 )

(1.17)

Relatia 1.17 se poate verifica pe tabelele de adev


ar din Figura 1.11-a si 1.11-b
deoarece o conventie de logic
a se obtine din cealalt
a conventie prin negarea variabilelor, iar operatorii AND si OR sunt unul dualul celuilalt: V1 V2 = V1 + V2 si
V1 + V2 = V1 V2 . De fapt, relatia 1.17 este o generalizare a teoremei lui DeMorgan.
Exemplul 1.7 Sa se conceapa o organizare de circuit, folosind circuitele MIN si
MAX, care s
a produc
a toti maxtermii si mintermii de dou
a variabile. Se poate extinde
aceasta pentru generarea de sume de produse de dou
a variabile?
Solutie. Mintermii de dou
a variabile x1 x0 , x1 x0 , x1 x0 , x1 x0 pot fi produsi de patru
circuite MIN, ca n Figura 1.11-a, dar cu patru diode pe catozii c
arora se aplic
a variabilele
x1 , x1 , x0 , x0 . Cele patru circuite MIN se pun n paralel ca n Figura 1.12-a realiz
and o
matrice AND. Maxtermii de dou
a variabile x1 + x0 , x1 + x0 , x1 + x0 , x1 + x0 pot fi generati
de patru circuite MAX ca n Figura 1.11-b, cu variabilele de intrare x1 , x1 , x0 , x0 , iar cele
patru circuite sunt conectate n paralel realiz
and matricea OR din Figura 1.12-b. (Atentie
care catozi sunt conectati la linii pentru circuitele MIN si la coloane pentru circuitul MAX).
Evident c
a se pot obtine sume de produse de dou
a variabile dac
a cele patru iesiri de la matricea AND sunt conectate, fiecare, la c
ate o intrare la matricea OR realiz
and o configuratie
de circuit pe dou
a niveluri logice, AND-OR. C
and se realizeaz
a aceast
a nseriere de niveluri
logice apar dou
a probleme: prima, este c
aderea de tensiune pe jonctiunile n conductie, ceea
ce duce ca semnalul de iesire n stare logic
a 1 s
a fie sub valoarea VH , iar a doua, este lipsa
unei decupl
ari (izolare) ntre intrare si iesire. Pentru valorile urm
atoare VH = 5V , VL = 0V ,
VDon = 0, 7V , R1 = 1K, R2 = 10K rezult
a tensiunea de iesire n starea H egal
a cu

R1
VH (VH VDon )
= 3, 9V VH = 5V
(R1 + R2 )

32

CAPITOLUL 1. PORT
I LOGICE

Structura obtinut
a prin nserierea unei matrice AND cu o matrice OR poate fi suport pentru implementarea oric
arei functii sum
a de produse dac
a matricile respective
sunt programabile, adic
a pe nivelul AND se poate genera oricare termen produs, iar
pe nivelul OR se poate selecta oricare produs n obtinerea unei sume (vezi sectiunea
2.4.7). Fizic, generarea acestor termeni cu structura similar
a celei din Figura 1.12
se face, ntr-un nod al celor dou
a matrice, prin neconectarea sau conectarea diodei
la linie respectiv la coloan
a, ceea ce se reduce la arderea sau mentinerea unui fuzibil nseriat cu dioda dintr-un nod. Prin fabricatie, realiz
and n fiecare nod o diod
a
nseriat
a cu un fuzibil, i se ofer
a utilizatorului ca ulterior s
a aib
a posibilitatea de a
programa fiecare nod din matricea AND si matricea OR n functie de expresia particular
a a functiei exprimat
a ca sum
a de produse. In procesul de programare, cu ajutorul
unui aparat programator, utilizatorul poate selecta oricare nod din cele dou
a matrice
si prin aplicarea unei tensiuni de valoare 10 30V s
a ard
a fuzibilul. Dispozitivele
programabile de c
atre utilizator sunt foarte eficiente si flexibile n etapa de dezvoltare
a unui produs c
and se ncearc
a diferite variante p
an
a la obtinerea variantei finale.
Produc
atorii de dispozitive programabile produc aceste dispozitive cu toate nodurile
matricei nzestrate fie cu fuzibil fie cu un antifuzibil.
La dispozitivele cu fuzibil, prin programare, rezistenta conexiunii dintr-un nod este
modificat
a de la valoarea zero la valoara infinit
a (arderea fuzibilului). Un fuzibil din
tungsten-titan sau nichel-crom cu l
atimea de 0.15m necesit
a pentru ardere un curent
de 10 60mA timp de 1 10ms (Texas Instruments), iar un fuzibil din polisiliciu cu
,,
l
atimea de 25m se poate arde cu un curent de 20 80mA timp de 15s (AMD).
Dar, exist
a pericolul ca n timp, datorit
a efectelor termice din circuitul integrat, unele
fuzibile arse s
a duc
a la refacerea conexiunii.
La dispozitivele cu antifuzibil, prin programare, rezistenta conexiunii dintr-un
nod este modificat
a de la o valoare initial
a foarte mare de ordinul 100M la o valoare
sub 1K. Trasei de antifuzibil realizat
a fie dintr-un dielectric (de exemplu ONO,
Oxigen-Nitrur
a-Oxigen), fie din siliciu amorf, n procesul de programare, i se aplic
a un
+V
(+5V)

R1

R1

R1

x +y

x +y

x +y

y
xy

xy

Matricea AND
a)

x +y

R1

xy

R2

xy
pentru realizarea
AND OR

R2

R2

R2

Matricea OR
b)

Figura 1.12 Organizarea unei matrice programabile n logica pozitiv


a: a)pentru
termeni produs; b)pentru termeni sum
a.

1.3. PARAMETRII PORT


ILOR LOGICE

33

curent de ordinul zeci de mA cu durata sub 1s, prin aceasta produc


and modificarea
rezistentei. Conexiunile pe baz
a de antifuzibil, spre deosebire de cele pe baz
a de
fuzibil, nu se pot reface nt
ampl
ator (adic
a s
a revin
a la rezistente de 100M ).
Dispozitivele programabile at
at cele cu fuzibil c
at si cele cu antifuzibil sunt referite
ca dispozitive o singur
a dat
a programabile, OTP (One Time Programmable).

1.3

PARAMETRII PORT
ILOR LOGICE

P
an
a n prezent s-a parcurs traseul de la expresie logic
a la un model al acesteia
pe o retea de operatori care, fizic, sunt porti logice. Dar, ntr-o implementare de
sistem conectarea portilor logice nu este f
ar
a limite ci trebuie s
a se respecte anumite
restrictii care sunt exprimate prin anumite valori si care sunt referite prin termenul de
parametrii de catalog ai portilor logice. Prin parametrii (de catalog) ai unei porti
logice se nteleg acele valori care i caracterizeaz
a functionarea sa n interconectarea
cu alte porti din aceeasi familie sau n conditii de test. Uneori, poarta logic
a este
interconectat
a si cu alte porti din alte familii ceea ce impune o specificare unificat
aa
parametrilor pentru toate familiile de porti logice.
Parametrii unei porti trebuie s
a caracterizeze regimul de curent continuu, regimul
tranzitoriu si regimul de zgomot. Frecvent,
acesti parametri sunt dati n catalog ca valori
Logica
Logica
tipice (normale), precum si cu valorile pennegativa
pozitiva
tru cazul cel mai defavorabil. Cazul cel mai
VCC , VDD
defavorabil presupune c
a: circuitul cel mai
VH
VH
VH
defavorabil,
din
lotul
admis,
este n conditiile
"1"
"0"
cele mai defavorabile de functionare (temIntervalul
peratur
a, umiditate, tensiune de alimentare).
interzis
Gama uzual
a de temperatur
a este ntre 0 C

V
"0"
"1"
L
si 70 C, pentru aplicatiile civile, si se extinde la intervalul 55 C +125 C, penVL
masa
0V,V SS
tru aplicatiile militare. Conditiile defavoraVH
bile pentru tensiunea de alimentare se spe"1"
"0"
cific
a prin abaterile fata
de valoarea nomVH
inal
a
V
,
adic
a
prin
valorile
V V . In
Intervalul
interzis
proiectare, chiar si pentru cazul cel mai defavorabil,
poarta trebuie s
a realizeze valori
"1"
"0"
VL
pentru parametrii s
ai care s
a nu ias
a din
VL
VL
VEE
plaja valorilor prev
azute n catalog. C
and
functionarea portii se face n afara conditiilor
specificate mai sus se impune m
asurarea
Figura 1.13 Nivelurile de tensiune parametrilor s
ai si acesti parametri m
asurati
pentru valorile logice 0 0 10 0 si 00 00 0
s
a fie n limitele valorilor de catalog pentru
a putea fi interconectate cu alte porti.
Nivelurile de tensiune. Intr-un circuit logic se poate face referire la dou
a
niveluri constante de tensiune: tensiunea de alimentare VDD , VCC , VEE si tensiunea de mas
a 0V sau VSS ; aceste dou
a niveluri de tensiune sunt notate prin VH
si VL si li se pot asigna cele dou
a valori ale multimii binare B = {0, 1}, fie conform
conventiei de logic
a pozitiv
a, fie conform conventiei negative. De fapt, cele dou
a

34

CAPITOLUL 1. PORT
I LOGICE

niveluri de tensiune, practic, se extind la dou


a intervale de tensiune notate cu VH si
VL ca n Figura 1.13, deci oricare valoare a tensiunii din aceste intervale (reprezint
a
VH respectiv VL ) si corespunde cifrei binare 1 sau 0 conform conventiei de logic
a
adoptat
a. Prin extinderea de la o valoare fix
a de tensiune la un interval se insensibilizeaz
a variatiile produse de: modificarea tensiunii de alimentare, mb
atr
anirea
pieselor, temperatur
a, zgomot. Intre cele dou
a intervale de tensiune permise VH ,
VL exist
a un interval de tensiune interzis; pentru o poart
a cu functionare normal
a
valorile tensiunilor de intrare si de iesire nu pot s
a se situeze n intervalul interzis.
Detectarea doar a cifrelor logice de 1 sau 0 impune pentru o poart
a logic
a o com,,
portare procustian
a , deci de fiecare dat
a c
and semnalul trece printr-o poart
a logic
a
este readus la nivelul logic de 0 sau de 1, adic
a n interiorul intervalelor permise.
Deoarece fiecare poart
a readuce semnalul n intervalele permise VH , VL rezult
a c
a
la propagarea semnalului printr-un lant de porti zgomotul suprapus este eliminat n
fiecare nivel logic si nu se amplific
a, precum la circuitele cu functionare analogic
a.
Marginea de zgomot n curent continuu si imunitatea la perturbatii. O
poart
a logic
a are specificate n foaia de catalog nivelurile de tensiune garantate
la iesire si nivelurile de tensiune permise la intrare, Figura 1.14-a. Nivelurile
de tensiune garantate la iesire sunt acoperitoare n raport cu nivelurile de tensiune
permise la intrare, aceast
a acoperire fiind g
andit
a n scopul prent
ampin
arii influentei
zgomotelor. (Prin zgomot se ntelege orice semnal electric ce se suprapune peste
semnalul logic). Aceast
a acoperire se reflect
a n parametrii: margine de zgomot M H
n curent continuu pentru starea H si marginea de zgomot ML n curent continuu n
starea L.
Definitia 1.13 Marginea de zgomot pentru nivelul H n curent continuu, MH , este diferenta dintre tensiunea de iesire minim
a garantat
a n starea H,
VOHmin , si tensiunea de intrare minim
a permis
a n starea H, VIHmin . Marginea de
zgomot pentru nivelul L n curent continuu, ML , este diferenta dintre tensiunea de intrare maxim
a permis
a n starea L, VILmax , si tensiunea de iesire maxim
a
garantat
a n starea L, VOLmax . 
MH
ML

= VOHmin VIHmin ;

= VILmax VOLmax .

(1.18)

Valorile garantate la iesire si cele permise la intrarea unei porti pot fi corelate
cu caracteristica de transfer, VTC (Voltage Transfer Characteristic). Caracteristica de transfer VO = f (VI ) exprim
a grafic dependenta static
a ntre tensiunea
la iesirea portii, VO , si tensiunea aplicat
a la intrarea portii, VI . Pentru o poart
a inversor VTC-ul este reprezentat n Figura 1.14-b. Evident, c
a aceast
a caracteristic
a
de transfer a unei porti este situat
a n afara zonelor interzise (reprezentate hasurat)
n planul VI , VO si este desenat
a ca o band
a (punctat
a), pentru a indica faptul c
a
portile de acelasi tip din cadrul unei familii au caracteristici ce nu se suprapun ci sunt
dispersate n aceast
a band
a.
Imunitatea la perturbatii, IP + respectiv IP , se defineste prin tensiunile
proportionale cu urm
atoarele segmente din Figura 1.14-b:
IP + = VOLmax Ny [V ]
IP = VOHmin Ny [V ]

(1.19-a)

35

1.3. PARAMETRII PORT


ILOR LOGICE

V O1

V I1

sursa de
zgomot

(Valori
garantate) V O
V
Intervalul
garantat
V OH
pentru
V OHmin
V OH

VI
V
V IH
MH

Interval
interzis
V OLmax

Intervalul
garantat
pentru V OL

V I2

ML

V OL

V IHmin
V ILmax
V IL

V O2

(Valori
permise)
Intervalul
permis
pentru
V IH
Interval
interzis
Intervalul
permis
pentru V IL

a)

V
V OH
V OHmin
IP
Ny

VO

caracteristica
ideala

V O=V I

V O=f(V I )
Zona
interzisa
prin valori
garantate

IP +

Zona
interzisa
prin valori
garantate

V OLmax
V OL

VI
V/2
V IL
b)

V ILmax

V IH
V IHmin

Figura 1.14 Tensiunile de intrare si iesire la o poart


a logic
a: a) definirea
nivelurilor/(intervalelor) de tensiune H si L garantate la iesire si permise la intrare; b) caracteristica static
a de transfer VO = f (VI ) pentru o poart
a inversor.

36

CAPITOLUL 1. PORT
I LOGICE

Se presupune c
a tensiunea de iesire a unei porti este VOHmin si peste aceasta se
suprapune (se scade) o tensiune de zgomot cu amplitudinea cel mult egal
a cu IP ;
iar tensiunea rezultat
a aplicat
a, ca tensiune de intrare la intrarea portii urm
atoare
(comandat
a), nu produce pentru aceast
a poart
a deplasarea punctului de functionare
pe caracteristica de transfer dincolo de punctul N (tensiunea de intrare nu devine
mai mic
a dec
at V2 care ar corespunde trecerii tensiunii de intrare de la VIH la VIL ).
La fel se consider
a c
a si n starea L peste valoarea VOLmax se poate suprapune cel
mult tensiunea de zgomot IP + f
ar
a ca s
a se dep
aseasc
a pe caracteristic
a punctul
N. Punctul N este intersectia caracteristicii VO = f (VI ) cu prima bisectoare, care are
coordonatele ( V2 , V2 ) c
and caracteristica este simetric
a. Dac
a amplitudinile de zgomot
aplicate tensiunii de iesire n st
arile H sau L dep
asesc respectiv valorile IP sau
IP + atunci tensiunea de intrare la poarta comandat
a trece dincolo de coordonatele
punctului N si produce o comutatie eronat
a; coordonatele punctului N definesc pragul
logic de comutatie al portii (vezi Definitia 1.14).
Pentru aplicatiile din mediile cu zgomot, de amplitudine mare, se recomand
a porti
care au valori mari pentru IP + si IP ; astfel de porti denumite cu imunitate ridicat
a la zgomot au tensiuni de alimentare care pot ajunge la 30V. Pentru realizarea
unei posibilit
ati de comparatie a imunit
atii la perturbatii a diferitelor familii de porti
logice, care au valori diferite pentru nivelurile logice de tensiune VH , VL si pentru tensiunile de alimentare, se introduc coeficientii adimensionali factorii de imunitate
la perturbatii:
IP +
100
V
IP
100
(1.19-b)
F IP [%] =
V
,,
,,
unde V este saltul de tensiune ntre nivelurile logice 0 si 1 . Dac
a se consider
a
(cazul ideal) c
a V este egal
a cu tensiunea de alimentare VCC , VDD si IP + = 12 V ,
IP = 21 V rezult
a pentru F IP + = F IP = 50%, n general F IP < 50%. Caracteristica ideal
a de inversor este cea de tip releu f
ar
a histerezis trasat
a cu linie ntrerupt
a
ngrosat
a n Figura 1.14-b. Portile n tehnologie CMOS au caracteristica de transfer
care se apropie cel mai mult de cea ideal
a.
Timpul de propagare p . Timpul de propagare este un parametru care reflect
a
viteza de r
aspuns/comutatie a unei porti, altfel spus, este nt
arzierea n timp ntre
momentul aplic
arii semnalului logic la intrarea portii si momentul aparitiei semnalului
la iesirea portii. Deoarece, practic, m
asur
arile se fac pe formele de variatie n timp
ale semnalelor de intrare si iesire se vor defini unele puncte specifice fixate pe aceste
semnale.
In Figura 1.15-a sunt definite urm
atoarele m
arimi (pe semnalele de intrare si de
iesire de la o poart
a inversor):
F IP + [%] =

r - timpul de crestere (rise time); intervalul de timp ntre valorile 10% si 90% pe
frontul de crestere de la L la H al semnalului de intrare n poart
a;
f - timpul de descrestere (fall time); intervalul de timp ntre valorile 10% si 90% pe
frontul de descrestere de la H la L al semnalului de intrare n poart
a;
LH - durata frontului de crestere; intervalul de timp ntre valorile 10% si 90% pe
variatia de la L la H a semnalului de iesire din poart
a;

37

1.3. PARAMETRII PORT


ILOR LOGICE

VI

90%

V IH

50%
10%

V IL

Tciclu

pHL
VO

pLH
V OH

90%
50%

V OL

10%

HL

Tciclu

LH

a)
VI

V OH

Tciclu
V OL

VO

pHL

pLH

V OH
50%

50%

V OL

b)

Tciclu

Figura 1.15 Definirea parametrilor de timp pe variatia semnalelor de la intrarea


si iesirea unei porti inversor: a) modul de definire a intervalelor: r , f , HL , LH , pHL ,
pLH si Tciclu ; b) model simplificat pentru m
asurarea de pHL si pLH .

38

CAPITOLUL 1. PORT
I LOGICE

HL - durata frontului de c
adere; intervalul de timp ntre valorile 90% si 10% pe
variatia de la H la L a semnalului de iesire din poart
a;
pLH - timpul de propagare prin poart
a la comutarea iesirii de la L la H; m
asurarea se
face ntre punctele cu amplitudine 50% ale variatiei semnalului de intrare si de
iesire;
pHL - timpul de propagare prin poart
a la comutarea iesirii de la H la L; m
asurarea se
face ntre punctele cu amplitudine 50%;
Tciclu - perioada de ciclu este intervalul de timp ntre dou
a puncte identice pe dou
a
cicluri succesive de variatie ale unui semnal. In practica circuitelor digitale se
recomand
a s
a se lucreze cu semnale care ndeplinesc relatia:
Tciclu (15 40)p
(pentru circuitele care functioneaz
a la frecvente de peste 1GHz Tciclu scade sub
10p ).
Timpul de propagare este definit prin relatia:
p

pHL + pLH
2

(1.20)

De multe ori n practic


a, pentru usurarea m
asur
arii intervalelor de timp si f
ar
aa
de introduce erori semnificative, se consider
a pentru semnalul de intrare VI o variatie
dreptunghiular
a, Figura 1.15-b. Pentru acest semnal de intrare ideal, cu panta fronturilor infinit
a, valorile timpilor de propagare pHL si pLH se m
asoar
a de la aceste
fronturi p
an
a n punctul de amplitudine 50% de pe variatia semnalului de iesire.
Timpul de propagare este dependent de structura portii si sarcina comandat
a la
iesire. Dependenta de sarcina comandat
a este foarte puternic
a la portile CMOS.
Un model simplificat al circuitului de iesire al unei porti logice si a sarcinii comandate este reprezentat n Figura 1.16-a. In acest model rezistenta echivalent
a
R include rezistenta intern
a a etajului de iesire al portii (a generatorului G) plus
rezistenta sarcinii (a portii sau portilor comandate), iar capacitatea echivalent
a C
include capacit
atile interne ale etajului de iesire, capacitatea sarcinii comandate si
capacit
atile parazite ale conexiunilor. Conform acestui model rezult
a variatia tensiunii pe capacitatea de sarcin
a respectiv la inc
arcare si desc
arcare:


t
a)
v C = VO 1 e T
b)

vC

= V O e T

(1.21)

unde T = R C (variatiile n timp ale tensiunii de iesire de la 0V la VO si de la VO


la 0V sunt simetrice deoarece constantele de timp sunt egale). Timpul t 12 , la valoarea
tensiunii de iesire 50% VO , calculat cu relatiile 1.21, conform modelului simplificat
din Figura 1.15-b, este egal cu pHL , pLH .
t 12 = pHL = pLH = RCln2 = 0.69 RC

39

1.3. PARAMETRII PORT


ILOR LOGICE

VO

vO
t

vO C

G
VO

t1

vC
VO

vC

t2

t3

50%
t 1/2

a)

t
T

Figura 1.16 Modelul simplificat pentru circuitul de iesire al unei porti (a) si
variatia n timp a tensiunii pe o sarcin
a capacitiv
a conectat
a la iesire (b).

Variatia simetric
a a tensiunii vc determin
a valori egale si pentru r si f .
r = f = T = RC (ln10 ln

10
) = 2.2 RC
9

Exemplul 1.8 Rezistenta de iesire a unei porti n starea H este R1 = 2K, iar n
starea L este R2 = 25. Sarcina capacitiv
a pe iesire are valoarea de 100pF . Int
arzierea
intern
a pi este de 25ns. S
a se determine timpul de propagare p al portii.
Solutie:
pLH

pHL

pi + R1 C ln 2 = 25ns + (2 103 )(100 1012 ) ln2 160ns

pi + R2 C ln 2 = 25ns + (25)(100 1012 ) ln2 27ns


pHL + pHL
27 + 160
=
= 93.5ns
2
2

Factorii de nc
arcare la intrare si la iesire. Factorul de nc
arcare la intrare (fan-in, input loading factor) reprezint
a sarcina pe care o intrare o introduce
c
and este conectat
a la iesirea unei porti. Deoarece ntr-o familie de circuite logice
exist
a diferite porti cu num
ar diferit de intr
ari trebuie s
a se fixeze care tip de intrare
reprezint
a sarcina standard. In general, se admite c
a sarcin
a este standard sarcina
care corespunde unei intr
ari de la o poart
a NAND cu dou
a intr
ari (NAND2).
In functie de tehnologia de realizare a portilor sarcina de intrare se m
asoar
a n
m
arimi fizice diferite. Pentru tehnologia bipolar
a, unde comanda se face printr-un
curent pe baza unui tranzistor, sarcina de intrare se m
asoar
a n unit
ati de curent. Iar
pentru tehnologia CMOS, unde comanda se face n tensiune pe o capacitate (echivalent
a) de intrare, sarcina de intrare se m
asoar
a n unit
ati de capacitate.
In Figura 1.17 sunt prezentate notatiile si sensurile curentior de la intrarea si
iesirea portilor. Referitor la o born
a, care este un terminal al unei porti, unui curent
care intr
a prin acea born
a i se asociaz
a semnul plus (+I), iar unui curent care iese
din acea born
a i se ataseaz
a semnul minus (-I); evident, simbolurile celor doi curenti
care intr
a si ies, la o aceeasi born
a, au semne opuse. In foaia de catalog a unei porti
este specificat
a sarcina maxim
a (curent sau capacitate) pe care intrarea unei porti

40

CAPITOLUL 1. PORT
I LOGICE

Curentii la intrare
VI

Nivel L

+ I IH

V IHmin

IIL
VI

V ILmax

V ILmax

Nivel H

V I V IHmin

Curentii la iesire
Nivel L

Nivel H

IIL

+ IIH

VO

+ IOL

IOH

V OHmin

IIL

+ IIH
VO

IIL

V OLmax

VO

VOLmax

VOHmin
+ IIH

Figura 1.17 Explicativ


a pentru simbolurile si sensurile curentilor la intrarea (a)
si iesirea (b) unei porti

o prezint
a pentru nivelurile permise de tensiune H si L. O poart
a trebuie s
a poat
a
absorbi/genera la iesire un curent mai mare sau egal cu suma tuturor curentilor
necesari generati/absorbiti de c
atre toate intr
arile portilor care sunt conectate la acea
iesire, dar n acelasi timp poarta trebuie s
a asigure la iesire si nivelurile garantate de
tensiune pentru starea H si L. Cu aceste valori necesare pe o intrare si disponibile pe
o iesire se poate determina un factor de nc
arcare la iesire (fan-out, output loading
factor) at
at n starea L, F IL c
at si n starea H, F IH conform relatiilor:
IOLmax
;
IILmax
IOHmax
F IH =
;
IIHmax
F I = min {F IL , F IH }
F IL =

(1.22)

Rezult
a c
a factorul de nc
arcare maxim F I este egal cu valoarea minim
a dintre F IL , si F IH . In general, dac
a se consider
a c
a toate intr
arile portilor au aceeasi
sarcin
a atunci factorul de nc
arcare maxim exprim
a num
arul maxim de intr
ari comandate de iesirea unei porti f
ar
a deteriorarea nivelurilor normale de tensiune. Acelasi
rationament, ca si pentru curenti, se poate face c
and sarcina este capacitiv
a (se determin
a num
arul maxim de sarcini standard/unitare pe care le poate comanda o poart
a

41

1.3. PARAMETRII PORT


ILOR LOGICE

pe iesire).
Pentru o poart
a, ideal, F I ar trebui s
a fie infinit, dar n realitate are valori de
ordinul unit
atilor pentru tehnologia bipolar
a si de ordinul zecilor pentru tehnologia
,,
CMOS. Prin t
aria unui semnal se ntelege abilitatea de a absorbi sau genera un
curent. Cu c
at un semnal este mai puternic cu at
at curentul generat sau absorbit
este mai mare (prin conventie bara de alimentare VDD /VCC genereaz
a un curent, iar
bara de mas
a 0V/VSS absoarbe un curent). Pentru portile logice iesirile sunt surse de
nivelurile 1 sau 0 mai puternice dec
at intr
arile. Liniile de alimentare VDD , VCC sau
,,
VSS sunt sursele cele mai puternice de 1 logic si 0 logic. Un semnal poate fi nt
arit ,
adic
a s
a poat
a comanda mai multe intr
ari, prin intermediul unui buffer/driver. Un
buffer este un circuit care spre deosebire de poart
a nu proceseaz
a logic semnalul,
eventual l inverseaz
a - buffer inversor, dar prezint
a la iesire un F I mult m
arit. Ca
functie logic
a bufferul neinversor este functia identitate f11 , iar bufferul inversor este
functia f21 , vezi sectiunea 1.1.3 . Circuitele buffer, n general, sunt realizate n grup
de c
ate opt pe cip pentru a putea nt
ari un cuv
ant de 8 biti (1 byte). Unele porti au
,,
pe iesire un etaj circuit buffer, caz n care sunt referite ca porti bufferate .
Exemplul 1.9 Pentru seriile de porti logice din familia TTL sa se determine F I.
Solutie. Curentii de iesire si intrare n starea H si L, extrasi din catalog sunt prezentati
n Tabelul 1.8.
Tabelul 1.8
Valorile curentilor pentru seriile de porti logice din familia TTL

Seria
74
74S
74LS
74AS
74ALS

depinde de circuit

INTRARE
nivel H
nivel L
IIHmax , A IILmax , mA
40
-1.6
50
-2.0
20
-0.36
20
-2,0
20
-0.1

IES
IRE
nivel H
nivel L
IOHmax , mA IOLmax , mA
-0.4 / 0.8
16
-1.0
20
-0.4
8
-0.4
4/8
-0.4
8

Pentru seria 74 (o poart


a din seria 74 comand
a porti tot din seria 74):
IOLmax
16mA
= 10;
=
IILmax
1.6mA
800A
IOHmax
= 20;
=
F IH =
IIHmax
40A
F I = min {20, 10} = 10
F IL =

Pentru seria 74LS (o poart


a din seria 74LS comand
a porti tot din seria 74LS):
IOLmax
8mA
= 22;
=
IILmax
0.36mA
IOHmax
400A
F IH =
=
= 20;
IIHmax
20A
F I = min {20, 20} = 20
F IL =

42

CAPITOLUL 1. PORT
I LOGICE

In acelasi mod se pot calcula factorii de nc


arcare pentru seriile: 74S, 74AL si 74ALS.
De asemenea se pot calcula F I pentru cazurile c
and o poart
a dintr-o serie comand
a porti
din alt
a serie.

Exemplul 1.10 O poarta logica CMOS din familia 74HC cu o rezistenta de iesire
R = 300, genereaz
a o tensiune de iesire VO = 4.5V si are o nt
arziere intern
a pi = 5ns. S
a
se determine num
arul de porti de acelasi tip care pot fi comandate de aceast
a poart
a astfel
nc
at timpul de propagare p s
a nu fie mai mare de 40ns.
Solutie. Pentru portile CMOS sarcina pe intrare este capacitiv
a (o valoare aproape
standard a capacit
atii de intrare pentru o poart
a CMOS, realizat
a discret, este Cin = 5pF ),
curentul de intrare este neglijabil. De asemenea, se consider
a c
a procesul de nc
arcare si
desc
arcare al capacit
atii este simetric ca n Figura 1.16-b deci pHL = pLH = t 1 . Rezult
a:
2

p = pi +

pHL + pLH
= 40ns
2

t 1 = 40ns 5ns = 35ns


2

Pentru p = 35ns sarcina comandat


a de poart
a poate fi egal
a cu
t 1 = 35ns = 0.69 RC C = 170pF
2

Num
arul de porti comandate este 170pF
= 34.
5pF
Se observ
a c
a m
arimea sarcinii comandate de o poart
a CMOS determin
a valoarea timpului de propagare p . Cresterea timpului de propagare cu cresterea sarcinii comandate este
mult mai pregnant
a la portile CMOS dec
at la cele bipolare.

Consumul de putere. Consumul de putere Pd (puterea disipat


a) pentru portile
unei familii rezult
a ca o sum
a ntre dou
a componente una static
a Pdcc si una dinamic
a
Pdca , Pd = Pdcc + Pdca .
1. Consumul de putere n regim static (n c.c.) se defineste cu relatia:


ICCH + ICCL
PH + P L
=
Pdcc =
VCC
2
2

(1.23)

n care: ICCH , ICCL - sunt curentii absorbiti de poart


a de la surs
a n starea H,
respectiv L; VCC - tensiunea de alimentare a portii.
De remarcat, c
a Pdcc este componenta principal
a de putere disipat
a la familia
TTL (tipic, 1mW/poart
a pentru seria 74ALS si n jur de 8.5mW/poart
a pentru
seria AS) pe c
and la tehnologia CMOS aceast
a component
a este neglijabil
a
(tipic 2.5nW/poart
a pentru seria 74HC).
2. Consumul de putere n regim dinamic Pdca (n c.a.). Aceast
a component
a apare
numai pe durata intervalelor de comutatie ntre cele dou
a niveluri logice si se
evidentiaz
a sub dou
a forme:
(a) In prima form
a, puterea disipat
a apare prin nc
arcarea si desc
arcarea capacit
atilor din circuit care, uneori pentru simplificare, se substituie cu o
singur
a capacitate echivalent
a C = capacitate intern
a din circuit + capacitatea conexiunilor + capacit
atile de sarcin
a. Un circuit echivalent pentru

43

1.3. PARAMETRII PORT


ILOR LOGICE

V CC
iC

RC
T

C
RE

Figura 1.18 Circuit echivalent (simplificat) al unei porti pentru calculul puterii
Pdca

calculul acestei puteri este prezentat n Figura 1.18. C


and contactul T
(tranzistor) este comandat spre deschidere, iesirea comut
a din L n H, condensatorul C se ncarc
a prin rezistenta RC stoc
and o cantitate de energie
1
2
CV
.
Pe
durata
procesului
de

nc
a
rcare,
c
a
nd
variatia curentului este
CC
2
Tt
exprimat
a prin relatia ic = VRCC

e
,
energia
disipat
a pe rezistenta RC
C
se calculeaz
a n felul urm
ator:
Z
2 Z
VCC
2t
2
W =
ic RC dt =
e CRC dt =
R
C
0
0


2

t
1
R

C
VCC
C

2
CRC

e
=
= 2 CVCC
R C 0
2
0

rezult
a c
a energia nu depinde de valoarea rezistentei RC . La comanda
spre nchidere a contactului T, c
and iesirea comut
a din H n L, energia
1
2
CV
stocat
a
pe
condensatorul
C
este
disipat
a
pe
rezistenta echivalent
a
CC
2
a,
RC k RE . Pe durata unei perioade T = f1 , a semnalului de comand

2
2
energia consumat
a pe rezistentele RC si RE este 2 21 CVCC
= CVCC
.
Rezult
a c
a puterea disipat
a (energia n unitatea de timp) pentru nc
arcarea
si desc
arcarea capacit
atii echivalente este exprimat
a de relatia:
2
Pdca = CVCC
f

(1.24)

(b) A doua form


a pentru puterea disipat
a n regim dinamic apare datorit
a
scurtcircuit
arii sursei de alimentare la mas
a pe durata fronturilor de comutatie. Pe durata acestor fronturi, c
and unele tranzistoare din structura portii comut
a din blocat n conductie, iar altele din conductie n blocare, exist
a un interval scurt c
and toate tranzistoarele conduc (vezi Figura
1.22-e) ceea ce duce la scurtcircuitarea sursei la mas
a (pe unele trasee
put
and exista anumite rezistente), produc
and v
arfuri de curent (spike) n
linia (VCC ) de alimentare a portii. Aparitia acestor v
arfuri de curent pe
linia de alimentare pot s
a provoace comutatii false la alte porti care se
alimenteaz
a de la aceeasi linie. Puterea disipat
a de scurtcircuit pe poart
a
depinde de valoarea de v
arf a curentului de scurtcircuit, care este functie
de tensiunea de alimentare VCC , si depinde de frecventa f de aparitie a

44

CAPITOLUL 1. PORT
I LOGICE

comutatiilor. Se poate exprima puterea disipat


a de scurtcircuit printr-o
relatie tot de aceeasi form
a ca n 1.24, n care se introduce o capacitate echivalent
a de calcul a c
arei valoare nu dep
aseste 20% din valoarea
capacit
atii echivalente utilizat
a pentru puterea disipat
a la nc
arcarea si
desc
arcarea capacit
atilor. Practic, luarea n calcul si a puterii disipate de
scurtcircuit se face prin m
arirea valorii capacit
atii din relatia 1.24. Puterea disipat
a de scurtcircuit este cu at
at mai mic
a cu c
at semnalele de
comand
a au fronturi mai abrupte, adic
a f si r au valori c
at mai mici. O
regul
a practic
a spune c
a: durata fronturilor trebuie s
a fie cel mult a zecea
parte din timpul de propagare (r , f < 10p ), pentru ca puterea disipat
a
pe poart
a s
a nu o distrug
a prin cresterea de temperatur
a.
Pentru circuitele CMOS principala component
a de putere disipat
a este cea
dinamic
a, relatia 1.24. Reducerea acesteia se poate realiza prin micsorarea
factorilor din aceast
a relatie n special a tensiunii de alimentare care introduce o dependenta
p
atratic
a. S
i la portile n tehnologie bipolar
a exist
a
2
componenta dinamic
a CVCC
f , dar aceasta la frecvente joase si medii este
neglijabil
a fata
de cea disipat
a n regim static Pdcc , relatia 1.23.
Exemplul 1.11 Valoarea tipica a puterii disipate n c.c. pe o poarta CMOS din seria
HC este de 2, 5nW (la VDD = 5V si 25 C), iar n cazul cel mai defavorabil poate ajunge
la 30W . Dac
a aceast
a poart
a este comandat
a la frecventa de 100KHz si la iesire sunt
conectate zece porti de acelasi tip, F I = 10, s
a se determine c
at va fi puterea disipat
a pe
poart
a.
Solutie. Pentru portile din seria HC n catalog se specific
a sarcina pentru o intrare ca
fiind Cintr = 5pF , iar capacit
atile interne totale se dau ca fiind 22pF . Se obtine capacitatea
echivalent
a total
a care trebuie s
a fie nc
arcat
a si desc
arcat
a la iesirea portii
C = 22pF + 10 5pF = 72pF
Rezult
a puterea disipat
a n regim dinamic :
2
f = 72 1012 52 105 = 180W
Pdac = CVDD

Aceast
a valoare a puterii disipate este de 105 ori mai mare dec
at valoarea disipat
a tipic
a
n regim de c.c. (2, 5nW ) si de 6 ori mai mare dec
at n cazul cel mai defavorabil (30W ).

Factorul de merit. Factorul de merit notat PDP (Power Delay Product) este
un parametru sintetic, n sensul c
a poate caracteriza poarta at
at din punct de vedere
al puterii disipate c
at si din din punct de vedere al timpului de propagare si este
definit prin produsul dintre puterea disipat
a si timpul de propagare:
P DP [Joule] = Pd [W att] p [s]

(1.25)

Acest parametru poate fi interpretat ca fiind energia consumat


a pe decizie logic
a
(pe comutatie). Exist
a porti logice care au un factor de merit de ordinul pJ sau chiar
mai mic, situ
andu-se sub valoarea factorului de merit corespunz
ator unui neuron!
Dependenta ntre parametrii unei familii de circuite logice. Poarta logic
a
ideal
a ar trebui s
a prezinte simultan valori optime pentru toti parametrii: F I foarte
mare, F IP = 50%, p = 0, Pd = 0, VH = VCC sau VDD , VL = 0V , V = VCC sau


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA

45

VDD . Pentru o astfel de poart


a inversor VTC-ul din Figura 1.14-b ar fi o caracteristic
a
de tip releu (f
ar
a histerezis) cu panta infinit
a la tensiunea de intrare V2 . Cel mai
mult se apropie de o caracteristic
a ideal
a portile din tehnologia CMOS. In practic
a
optimizarea simultan
a a tuturor parametrilor este contradictorie.
M
arirea excesiv
a a lui F I atrage un curent absorbit de valoare mai mare de la
surs
a determin
and deci m
arirea lui Pd . Iar dac
a sarcinile comandate sunt capacitive,
o m
arime a acestora poate duce la cresterea lui HL si LH n semnalul de iesire.
Micsorarea lui p implic
a fortarea regimului de comutatie prin m
arirea tensiunii
VCC sau VDD sau prin micsorarea rezistentei circuitului, ceea ce duce la curenti mari
absorbiti de la surs
a si n consecinta
o crestere a lui Pd . Prin opozitie, micsorarea lui
Pd prin sc
aderea curentilor, ar duce la m
arirea lui p .
Cresterea factorului de imunitate la perturbatii ar necesita un salt logic de tensiune
cu valoare m
arit
a ceea ce este posibil prin m
arirea tensiunii de alimentare, deci,
implicit puterea disipat
a Pd creste foarte mult. Eventual, se poate mentine puterea disipat
a n limite nepericuloase, pentru a nu se distruge circuitul prin nc
alzire,
dac
a simultan cu m
arirea tensiunii de alimentare s-ar micsora curentul prin m
arirea
rezistentelor, dar aceasta ar duce la timpi de tranzitie foarte lungi deci cresterea lui
p .
Tendinta de optimizare simultan
a a tuturor parametrilor ntre anumite limite rezonabile pentru aplicatii eficiente a dus n cadrul unei familii de circuite logice la
crearea unei serii standard; parametrii standard au valori cvasioptimale. In paralel cu
seria standard, ntr-o familie de circuite logice, exist
a serii speciale care optimizeaz
a
doar un singur parametru, ceilalti parametrii fiind mentinuti n limite acceptabile.
Astfel, exist
a: seria de vitez
a ridicat
a, seria de putere redus
a, seria de vitez
a ridicat
a
si putere redus
a, seria cu imunitate sporit
a la perturbatii. Toate aceste serii ale unei
familii de circuite logice put
and fi n variante pentru aplicatii civile cu gama de temperatur
a admisibil
a 0 C 70 C c
at si n variant
a militar
a cu gama de temperatur
a
admisibil
a 55 C 125C.
Portile logice pot exista fie ca entit
ati separate sub forma unor circuite integrate
discrete, care sunt utilizate n realizarea unor sisteme mai complexe, fie pot exista
n interiorul unui sistem complex realizat n totalitate integrat. Pentru portile logice realizate discret, care se interconecteaz
a n exterior cu alte porti, respectarea
parametrilor este foarte strict
a. In schimb, pentru portile logice dintr-un sistem integrat unde interconexiunile ntre porti se fac n siliciu, valorile parametrilor pot fi mai
putin restrictive.

1.4

PORT
I LOGICE IN TEHNOLOGIA

BIPOLARA

Elementele componente de circuit, pe care se bazeaz


a tehnologia bipolar
a, sunt
jonctiunea semiconductoare (dioda) si tranzistoarele bipolare npn si pnp. Tehnologia
de integrare bipolar
a este caracterizat
a prin vitez
a ridicat
a, densitate de integrare relativ redus
a si consum de putere ridicat. Cu aceste caracterisitici tehnologia bipolar
a,
de la introducerea ei, la nceputul anilor 1960, a fost tehnologia cea mai uzual
a p
an
a
la nceputul anilor 1990. Incep
and cu mijlocul anilor 1980 au fost realizate progrese

46

CAPITOLUL 1. PORT
I LOGICE

n tehnologia MOS si mai ales n tehnologia CMOS ceea ce a dus ca n anii 1990
tehnologia bipolar
a s
a fie substituit
a cu cea CMOS. Desi, acum implement
arile n
tehnologia bipolar
a sunt reduse, totusi, minime cunostinte despre aceast
a tehnologie
sunt necesare pentru aplicatii ocazionale cum ar fi operatii de depanare a unor sisteme existente si pentru aspecte de interfatare TTL/CMOS. Pentru nsusirea acestor
minime cunostinte se vor prezenta n continuare urm
atoarele trei subiecte: inversorul
bipolar, porti TTL si porti pentru magistrale.

1.4.1

Inversorul bipolar

Circuitul inversor este elementul de baz


a n structura oric
arui circuit logic dintr-o
familie de porti logice. Structura de inversor se poate identifica n structura oric
arei
porti si oricare poart
a logic
a se obtine dintr-un circuit inversor prin completare. Se
vor studia dou
a aspecte ale circuitului inversor: caracteristica static
a de transfer si
timpul de comutatie.
VCC=5V
RC
1k

Vin

a)

Vin
p+

10k B

b)

10m

RB

Vout

RB

F =70
VBE(on) =0,7V
VBE(sat)=0,8V
VCE(sat)=0,1V

10m
5 m

n
Vout

p
E
p+

c)

VCC

substrat p
n (Emitor)
p (Baza)
n+ strat ingropat

RC

p+

n epitaxie
(Colector)

p
n
p+

Figura 1.19 Circuitul inversor: a) simbol; b) structura circuitului; c) layout-ul n siliciu


(substrat de tip p).


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA

47

Structura si caracteristica de transfer. Circuitul inversor, Figura 1.19-b, este


de fapt un etaj amplificator cu saturatie, cu sarcina n colector, n conexiunea emitor
comun. Layout-ul pentru implementarea n siliciu a inversorului este prezentat n
Figura 1.19-c. Tranzistorul npn este realizat, prin difuzie, ntr-o insul
a de tip n n
stratul epitaxial. La fel si rezistentele de baz
a RB si de sarcin
a RC sunt realizate prin
difuzie n insule de tip n din stratul epitaxial.
Caracteristica static
a de transfer VO = f (VI ) (f
ar
a nc
arcare la iesire, n gol) este
trasat
a prin linii drepte av
and ca puncte fixe tensiunea de alimentare VCC si cele dou
a
puncte de fr
angere P F 1 si P F 2, Figura 1.20. Punctele de fr
angere P F 1 si P F 2 se
situeaz
a tocmai la limita de trecere a punctului de functionare al tranzistorului de la
regimul blocat la regimul activ (PF1), respectiv de la activ la regimul de saturatie
(PF2).
VO[V]
Blocat
Activ
VCC=V OH
5
4
3
2
1

VOL =V CE(sat)

Saturatie

Av=

VOH = V CC

Vo
VI

PF1

VIH = V BE(sat) +

1 VCC VCE(sat)

R B

RC
VCE(sat)

PF2
1 VIH 2

VO

VI

PF1

VI [V]

VIH
VIL = V BE(on)

PF2
VOL= V CE(sat)

VIL =V BE(on)

Figura 1.20 Caracteristica de transfer, VO = f (VI ) pentru un inversor bipolar la


functionarea n gol

In intervalul de variatie a tensiunii de intrare VI = [0, VIL ) tranzistorul este blocat,


tensiunea de iesire este constant
a VO = VOH = VCC , iar caracteristica VO = f (VI )
este o dreapt
a orizontal
a.
In punctul de fr
angere P F 1 tensiunea de intrare devine egal
a cu VBE(on) , tranzistorul intr
a n conductie, iar caracteristica de transfer se aproximeaz
a n continuare cu
o dreapt
a ce uneste punctele P F 1 (VIL , VCC ), P F 2 VIH , VCE(sat) .
In punctul de fr
angere P F 2 este nceputul regimului de saturatie pentru care
tensiunea de intrare are valoarea:
VI = VIH = VBE(sat) +

VCC VCE(sat)
1

RB

RC

O crestere n continuare a tensiunii de intrare VI peste VIH produce o micsorare


nesemnificativ
a a tensiunii de iesire, caracteristica de transfer este o dreapt
a orizontal
a
VOL = VCE(sat) .
Panta caracteristicii VO = f (VI ) prezint
a numai dou
a valori. Valoarea zero c
and
O

n
zona
de
trecere
inversorul este n starea H sau L si o valoare ridicat
a AV = V
VI
ntre cele dou
a st
ari. In reprezentarea idealizat
a din figur
a punctele de fr
angere apar
la intersectia acestor drepte, dar ntr-o reprezentare exact
a aceste puncte s-ar afla pe

48

CAPITOLUL 1. PORT
I LOGICE

o curb
a, care ar racorda aceste drepte, unde panta ar fi unitar
a |AV | = 1. Aceast
a
caracteristic
a exact
a se plaseaz
a n interiorul benzii punctate din Figura 1.14-b.
Punctul de functionare al inversorului trebuie s
a fie doar n cele dou
a zone: blocat
sau saturat. Trecerea ntre cele dou
a zone c
and tranzistorul este n regimul activ,
specific function
arii n circuitele analogice, trebuie s
a se realizeze ntr-un timp c
at
mai scurt; de fapt, aceast
a trecere ar corespunde, pe Figura 1.13, intervalului interzis
de tensiuni.
Timpii de comutatie ai inversorului. Timpii de comutatie ai tranzistorului
din blocat n saturatie si din saturatie n blocat nu sunt egali, ceea ce determin
a
valori diferite pentru pHL , pLH (pLH > pHL ). In raport cu timpul de comutatie
direct
a, din regimul blocat nspre saturatie, timpul de comutatie invers
a, din regimul
de saturatie nspre blocare, este mai mare. Aceast
a diferenta
apare datorit
a procesului
de eliminare a sarcinii stocate n surplus n baz
a, c
and tranzistorul este n saturatie,
fata
de sarcina din baz
a c
and tranzistorul este n regim activ direct. In regim de
saturatie se injecteaz
a n baz
a purt
atori majoritari at
at din emitor c
at si, n surplus,
din colector deoarece ambele jonctiuni sunt polarizate n sens direct. Eliminarea
sarcinii n surplus din baz
a necesit
a un timp s (timp de saturatie). Deci timpul de
comutatie invers
a, la un tranzistor n saturatie, fata
de timpul de comutatie invers
a
al unui tranzistor n regim activ direct este mai mare cu valoarea s , vezi Figura
1.21-a. Figura reprezint
a variatia tensiunii de comand
a vI a inversorului (o variatie
dreptunghiular
a) si variatia tensiunii vO la iesirea inversorului. In aceast
a figur
a
timpii respectivi au urm
aroarele semnificatii:
- d = t1 t0 , timpul de nt
arziere. Este timpul necesar pentru cresterea tensiunii
aplicate pe jonctiunea emitoare si colectoare. Deoarece aceste jonctiuni sunt
zone s
ar
acite de purt
atori acestea se comport
a ca niste condensatoare, deci este
timpul de nc
arcare al acestor condensatoare;
- f = t2 t1 , timpul de cobor
are (fall time). Este determinat, mai ales, de timpul
de tranzit al purt
atorilor prin baz
a;
- s = t4 t3 , timpul de saturatie. Timpul necesar pentru eliminarea sarcinii n
surplus stocat
a n baz
a;
- r = t5 t4 , timpul de crestere. Similar cu f , dar acum trebuie anulati purt
atorii
din baz
a pentru c
a tranzistorul se comand
a spre blocare.
Micsorarea lui pLH se poate realiza n dou
a modalit
ati. Prima, const
a n fortarea
comenzii pe baza tranzistorului prin suprapunerea unei componente derivative de
curent peste curentul de baz
a de comand
a normal. Condensatorul C conectat n
paralel cu rezistenta de baz
a RB , Figura 1.21-b, formeaz
a cu rezistenta echivalent
a
baz
a emitor RBE a tranzistorului un circuit derivativ, deci genereaz
a componenta de
fortare (derivativ
a) n curentul de comand
a din baz
a.
A doua modalitate se realizeaz
a prin utilizarea unui tranzistor Schottky, care se
obtine prin conectarea ntre baz
a si colectorul unui tranzistor normal a unei jonctiuni
metal-semiconductor, adic
a o diod
a Schottky, DS, Figura 1.21-d. Implementarea
unei astfel de diode n acel loc se realizeaz
a, n procesul de fabricare al tranzistorului,
extrem de simplu si practic f
ar
a cost, prin extinderea metaliz
arii (Al aluminiu sau
Pt platin
a) de contact a terminalului bazei B si peste zona semiconductoare de tip n


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA
V CC

"1"
vI

vO

t1

50%

r
t5

vO

RB

vI

t4

t2

"0"

Valori
comparative [ns]
Tranzistorul:

RC

t3

"0" t 0 d
"1"

49

a)

DS

UBC = U DS

UBE

C
UCE
E

metalizare

t
t1

t3

UCE

cu DS

fara
DS

SiO 2
p

s
e)

B
E

d)

0,0
13

RC

vI

24
15

vI

V CC

0,8
4,4

c)

b)

DS

0,7
4,2

cu :
VOH (t 1) = VOH (t 5) = 5V
R C = 1K

pLH

pHL

saturat cu DS

d
f
s
r

n+

n+
Baza
Colector

n
DS

f)

Figura 1.21 Inversorul bipolar: a) definirea timpilor care caracterizeaz


a procesul de
comutatie; b) inversor cu fortarea comenzii prin producerea unei componente derivative
n curentul de baz
a; c) valori pentru parametrii de timp la un tranzistor normal si la un
tranzistor Schottky; d,e,f) realizarea unei structuri de tranzistor Schottky.

a colectorului. Extinderea metaliz


arii, zona ncercuit
a din Figura 1.21-f, formeaz
a la
interfata metal-colector o diod
a Schottky Aln sau P tn. Tensiunea la polarizare direct
a
a unei diode Schottky este VDS = 0, 4V . Conect
and o astfel de diod
a ntre baz
a si
colector (deci n paralel cu jonctiunea colectoare) tensiunea pe jonctiunea colectoare
nu va putea cobor cu mai mult de 0, 4V sub tensiunea bazei tranzistorului, rezult
a
c
a tranzistorul nu mai poate intra n saturatie, nu se mai injecteaz
a din colector
sarcin
a n surplus (fata
de regimul nesaturat) n baz
a, deci s devine zero. Cu valorile
tensiunilor din Figura 1.19-b se pot face urm
atoarele calcule:
- f
ar
a diod
a Schottky: VBC = VBE(sat) VCE(sat) = 0, 8V 0, 1V = 0, 7V ,
tensiune ce comand
a jonctiunea baz
a colector n conductie, tranzistorul este n
saturatie;
- cu diod
a Schottky VCE = VBE(sat) VDS = 0, 8V 0, 4V = 0, 4V tranzistorul
nu este n saturatie (tensiunea de deschidere a unei jonctiuni este de 0, 7V ).
Valori pentru timpii de comutatie, definiti mai sus, sunt prezentate n tabelul din
Figura 1.21-c, at
at pentru un tranzistor normal c
at si pentru un tranzistor Schottky.

50

CAPITOLUL 1. PORT
I LOGICE

In seriile de porti logice din tehnologia bipolar


a, cu exceptia seriei standard initial
a,
toate tranzistoarele de comutatie sunt tranzistoare Schottky ceea ce este indicat
prin litera S n codul seriei respective.

1.4.2

Porti logice TTL

Poarta NAND cu dou


a intr
ari. Seria standard 74XX de porti logice din
familia de circuite logice TTL (Transitor-Transitor-Logic) a fost introdus
a de firma
Sylvania n 1963, dezvoltat
a si comercializat
a de Texas Instruments. De fapt, la poarta
NAND cu dou
a intr
ari integrat
a s-a ajuns pornind de la structura de poart
a NAND
cu dou
a intr
ari DTL (Diode-Transistor-Logic) care era deja realizat
a cu componente
discrete, Figura 1.22-a. Poarta DTL este compus
a dintr-un circuit MIN cu diode, ca n
Figura 1.11-a, care realizeaz
a operatorul AND n logic
a pozitiv
a, si la iesirea c
aruia
s-a atasat un inversor realizat cu trazistorul T2. Diodele D3 si D4 sunt introduse
n divizorul format de R1 si R2 , conectat ntre +5V si 2V , pentru a produce o
cobor
are a nivelului de tensiune pe baza tranzistorului T2, asigur
and o blocare sigur
a.
Structura DTL a evoluat n structura TTL prin integrarea diodelor D1, D2, D3 sub
forma unui tranzistor multiemitor T1, Figura 1.22-b. La aceast
a structur
a s-a ad
augat
un etaj de iesire (totem-pole) compus din tranzistoarele T3 si T4, Figura 1.22-c,
obtin
andu-se structura standard de poart
a NAND cu dou
a intr
ari (7400). Aceast
a
structur
a se compune din circuitul AND de intrare, circuitul defazor, realizat pe
tranzistorul T2, pentru comanda tranzistoarelor T3 si T4 din etajul de iesire.
Diodele D4 si D5 pe intrare sunt pentru protectia mpotriva supratensiunilor negative care pot apare la intrare. Existenta acestor diode va produce scurtcircuitarea
la mas
a a oric
arei tensiuni negative fata
de masa aplicat
a pe intrare si care n valoare
absolut
a este mai mare dec
at tensiunea de deschidere a diodei ( 0, 7V ).
Caracteristica static
a de transfer a portii se poate trasa prin segmente de dreapt
a,
la fel ca cea a inversorului din Figura 1.20, calcul
and punctele de fr
angere. Calculul
acestor puncte de fr
angere este realizat n [Toacse 0 96]. Cu intrarea B legat
a la
VCC = 5V , iar tensiunea VA pe intrarea A parcurge intervalul [0, VCC ] se obtin
urm
atoarele puncte de fr
angere:
- c
and VA = 0. T1 conduce, T2 este blocat, T4 conduce, iar iesirea este n starea
H, VOH = 3, 6V ;
- P F1 (0, 6V ; 3, 6V ) c
and VA = 0, 6V . T1 conduce, iar T2 intr
a n conductie, T4
conduce;
- P F2 (1, 3V ; 2, 5V ) c
and VA = 1, 3V , T1 si T2 conduc, iar T3 intr
a n conductie,
T4 conduce;
- P F3 (1, 5V ; 0, 1V ) c
and VA = 1, 5V . T1 conduce n regim activ inversat, T2 si
T3 conduc n saturatie, iar T4 este blocat, iesirea este n nivel L.
In intervalul dintre P F2 si P F3 conduc toate tranzistoarele, sursa este conectat
a la
mas
a prin rezistentele circuitului, puterea disipat
a corespunde componentei dinamice
de scurtcircuit. Se recomand
a ca parcurgerea acestui segment de caracteristic
a s
a se
realizeze ntr-un interval de timp c
at mai scurt ceea ce impune ca fronturile tensiunii
de intrare VI s
a fie c
at mai abrupte.


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA
VCC = +5V
R1

VCC = +5V
R1

R3
4

D1

D3

D2

D4
R2
5

VCC = +5V
R1
4K

R3

F
T2

51

T1

D4

F
T2

D4

VO
5

T4

D5

T2

T3

R2
1K

Circuit
AND

b)

R4 130

T1

R2

V BB = 2V

a)

R3
1,6K

Defazor

c)

Etaj
de
iesire

[V]

V OH
3

PF1 (0,6V;3,6V)
T2 intra in conductie

V BE(on) = 0,7V
V BE(sat) = 0,8V
V CE(sat) = 0,1V

PF2 (1,3V;2,5V)
T3 intra in conductie

interval

T1

T2

T3

T4

VOH PF1

saturat

blocat

blocat

saturat

PF1 PF2

saturat

conduce

blocat

conduce

PF2 PF3

1
V OL

PF3 (1,5V;0,1V)
T3 intra in saturatie
1 V IH 2

d)

VI

PF3

Toate tranzistoarele conduc in


regim activ normal
activ
invers

saturat

saturat

blocat

5 [V]

e)

Figura 1.22 Poarta TTL standard: a) structura potii DTL; b) structura initial
a a
portii TTL; c) structura (standard) pentru poarta 7400-NAND2; d) caracteristica static
a de
transfer si regimurile de functionare ale tranzistoarelor pentru poarta 7400.

C
and T2 si T3 conduc n saturatie, tensiunea de comand
a pe T4 este VBET 4 =
VBE(sat)T 3 + VCE(sat)T 2 VCE(sat)T 3 = VBE(sat)T 3 = 0, 8V , ceea ce ar determina
intrarea n conductie si a acestui tranzistor. Pentru a mpiedica conductia lui T4, n
emitorul s
au, se introduce dioda D si astfel tensiunea de 0, 8V nu este suficient
a s
a
deschid
a cele dou
a jonctiuni nseriate (jonctiunea BE(T4) + dioda D).
In starea H, VOH = 3, 6V , poarta genereaz
a un curent la iesire, de la sursa VCC
prin R3 si T4, pentru intr
arile portilor comandate, iar n starea L, VOL 0, 1V , poarta
absoarbe la mas
a, prin tranzistorul T3, curentii de pe intr
arile portilor comandate.
Seriei standard 74XX i s-au adus mbun
at
atiri, pe baza progreselor din domeniul
tehnologic de integrare, obtin
andu-se serii cu performante mai ridicate. Prima nou
a
serie obtinut
a, dup
a cea standard, a fost seria Schottky 74SXX care utilizeaz
a
pentru comutatie tranzistoare Schottky. Apoi, combin
and tranzistoarele Schottky
simultan cu cresterea rezistentelor, pentru micsorarea curentilor, s-a obtinut seria
TTL Schottky de putere redus
a (Low-Power Schottky) notat
a prin 74LSXX.

52

CAPITOLUL 1. PORT
I LOGICE

Urm
atoarea serie a fost Schottky mbun
at
atit
a (Advanced Schottky TTL) notat
a prin 74ASXX, care ofer
a vitez
a dubl
a fata
de 74SXX, dar la aceeasi putere
disipat
a. Seria mbun
at
atit
a a fost perfectionat
a n contiuare pentru a se reduce
puterea disipat
a si s-a obtinut seria Schottky mbun
at
atit
a de putere redus
a
(Advanced-Low-Power-Schottky TTL) notat
a 74ALSXX. Cu performante de
mediere ntre seriile AS si ALS s-a realizat seria rapid
a (Fast TTL) notat
a 74FXX
si care este probabil cea mai popular
a din familia TTL, pentru cerintele de vitez
a
n noile sisteme, la ora actual
a. Sufixul XX din notatia acestor serii este un num
ar
zecimal si constituie codul portii respective, o poart
a cu acelasi XX, indiferent de
serie, realizeaz
a aceeasi functie logic
a. De exemplu, poarta logic
a NAND cu dou
a
intr
ari (NAND2) are urm
atoarele referiri n functie de seria n care este implementat
a: 7400 (seria standard), 74S00, 74LS00, 74ALS00,74F00. Parametrii portilor din
seriile familiei TTL sunt prezentati n Tabelul 1.9.
Tabelul 1.9
Parametrii seriilor din familia TTL

Simbol parametru
p [ns] (NAND2)
Pd [mW] (NAND2)
PDP [p] (NAND2)
VILmax [V]
VOLmax [V]
VIHmin [V]
VOHmin [V]
IILmax [mA]
IOLmax [mA]
IIHmax [ A]
IOHmax [ A]
pLHmax [ns]
pHLmax [ns]

74
10
10
100
0.8
0.4
2.0
2.8
-1.6
16
40
-800
22
15

Seriile familiei TTL


74S
74LS 74AS 74ALS
3
9
1.7
4
19
2
8
1.2
57
18
13.6
4.8
0.8
0.8
0.8
0.8
0.5
0.5
0.5
0.5
2.0
2.0
2.0
2.0
2.7
2.7
2.7
2.7
-2.0
-0.4
-0.5
-0.2
20
8
20
8
50
20
20
20
-1000 -400 -2000
-400
4.5
15
4.5
11
5
15
4
8

74F
3
4
12
0.8
0.5
2.0
2.7
-0.6
20
20
-1000

O alt
a famillie de circuite logice n tehnologia bipolar
a, si care se prezint
a la fel
sub form
a de circuite integrate discrete, contin
and diferite tipuri de porti este ECL
(Emitter-Coupled-Logic). Circuitele ECL sunt caracterizate prin viteze foarte ridicate ajung
and p
an
a la 0, 5ns pentru timpul de propagare. Viteza sporit
a la comutatie
se obtine tot prin evitarea regimului de saturatie al tranzistorului dar nu prin tranzistor Schottky ci prin comutarea de curent ntre dou
a canale. Structura de baz
a este
cea de amplificator diferential cu un generator de curent n emitor (de unde si denumirea de cuplaj prin emitor), iar curentul este comutat ntre cele dou
a ramuri ale
amplificatorului diferential [Toacse 1996].
In familia ECL exist
a dou
a serii: 10K si 100K, seria 100K av
and performante mbun
at
atite fata
de seria 10K. Iat
a valorile c
atorva parametrii din seria 100K: tensiunea
de alimentare VEE = 4, 5V ; salt de tensiune ntre niveluri V = 0, 8V , p = 0, 75ns,
Pd = 40mW , P DP = 30. In aplicatii portile acestei familii nu sunt compatibile cu
portile din familia TTL sau CMOS. Portile ECL si g
asesc locul n sisteme logice si
de interfata
de vitez
a foarte ridicat
a, evident cu un consum mare de putere, cum ar fi


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA

53

supercalculatoarele sau comunicatiile de mare vitez


a pe cablu sau fibr
a optic
a (retele
ATM-Asynchronous Transfer Mode, Gigabit Ethernet).
Tot o tehnologie bipolar
a este cea referit
a ca logic
a integrat
a de injectie, I 2 L
(Integrated Injection Logic) care n raport cu tehnologia TTL a permis o anumit
a
mbun
at
atire a compromisului vitez
a-putere disipat
a si a densit
atii de integrare pentru
circuitele VLSI, dar care n timp, s-ar p
area c
a, iese din utiliz
arile curente.
Tehnologii alternative non-silicon sunt cele n arseniur
a de galiu,GaAs, sau cele
cu jonctiuni Josephson. Dispozitivele n GaAs au vitez
a de comutatie cam de cinci
ori mai ridicat
a dec
at cele care se pot obtine n Si, sunt mai rezistente la radiatii,
dar au un proces de fabricatie mai complicat, n consecinta
sunt mai scumpe (mobilitatea electronului n siliciu poate ajunge p
an
a la n = 1500cm2/V s pe c
and n
GaAs este n = 8500cm2/V s). Caracteristici tipice pentru GaAs sunt p < 200ps,
Pd = 0, 2mW/poart
a; exist
a implement
ari de circuite integrate n GaAs, dar nu exist
a
serii de porti sub form
a de circuite integrate discrete. Dispozitivele Josephson ofer
a
p = 1 10ps,Pd = 1 10mW/poart
a, dar functioneaz
a la temperaturi foarte sc
azute.
Oricum, recentele dezvolt
ari de materiale semiconductoare la temperaturi obisnuite
promit utilizarea acestor dispozitive n viitor.

1.4.3

Porti pentru magistrale

Realizarea conect
arii, pentru comunicare, fiecare cu fiecare (punct-la-punct) a n
puncte dintr-un sistem, necesit
a n(n1)
leg
aturi distincte ntre aceste puncte. Evitarea
2
acestor multor leg
aturi distincte se poate prin realizarea unei magistrale. O magistral
a
este o cale de transfer a informatiei/semnalelor sub form
a de cuv
ant. Rezult
a c
a prima
caracteristic
a a magistralei este l
atimea sa egal
a cu lungimea cuv
antului, deci pentru
transferul paralel a cuv
antului de n biti magistrala este compus
a din n conductoare.
In general lungimile uzuale de cuv
ant sunt de: 8 biti-1byte, 16 biti-semicuv
ant, 32
biti-cuv
ant, 64 biti-dublu cuv
ant.
La o magistral
a de n biti se conecteaz
a toate elementele unui sistem at
at cele care
sunt emita
toare (talker) c
at si cele care sunt receptoare (listener); uneori un element
poate avea functionare at
at de emita
tor c
at si de receptor, dar nu simultan. Regula de functionare n magistral
a este: la un moment dat pe magistral
a poate exista
cel mult un singur emita
tor activ, dar nu este limitat, teoretic, num
arul receptorilor. Aceast
a regul
a impune: dac
a sunt mai multe emita
toare legate la magistral
a
c
and unul dintre acestea este activ (nscrie informatie pe magistral
a) celelalte s
a fie
inactive, adic
a din punct de vedere electric s
a fie deconectate. Pentru o astfel de
functionare portile de pe iesirea emita
torului trebuie s
a poat
a fi conectate sau deconectate la liniile magistralei dup
a cum emita
torul este activ sau inactiv. Pe o linie
de magistral
a, la care este conectat
a iesirea portii emita
torului activ, pentru iesirile
portilor emita
toarelor inactive si intr
arile portilor receptoarelor, conectate la aceeasi
linie, trebuie realizate specificatiile electrice care formeaz
a suportul nivelurilor logice
de 0 si 1. Pentru realizarea acestor specificatii poarta normal
a este modificat
a n
structura sa obtin
andu-se poarta cu colectorul n gol sau poarta TSL.
Poarta cu colectorul n gol. Prin conectarea iesirilor a dou
a sau mai multor
porti TTL, care au etajul de iesire n contratimp (totem pole), la aceeasi linie de
magistral
a, Figura 1.23-a, si dac
a dou
a sau mai multe dintre aceste porti au la iesire
st
arile logice opuse atunci sursa VCC va fi scurtcircuitat
a la mas
a pe un traseu format

54

CAPITOLUL 1. PORT
I LOGICE

V CC

Linii de
magistrala
V CC

Poarta 1
R4
130
T4

R4
130
T4

D
T3

Poarta 2

L
H

Traseu
de
scurtcircuit

a)

D
T3

Linie de
magistrala

Poarta cu
colectorul
in gol
Poarta 1 Poarta 2
L
L
L
H (scurt)
H
L (scurt)
H

T3

C
Simbol

b)

c)

Figura 1.23 Poarta cu colectorul n gol: a) traseul de scurtcircuitare la conectarea n


comun a iesirilor portilor TTL pentru conditiile logice specificate n tabelul (b); c) structura
etajului de iesire la poarta cu colectorul n gol.

din T4 si T3 de la porti diferite. Pentru eliminarea posibilit


atii de aparitie a traseului
de scurtcircuit, la conectarea mpreun
a a iesirilor de la mai multe porti, este necesar
a se modifica structura etajului de iesire. In acest sens, din etajul de iesire se elimin
a
repetorul pe emitor T4 r
am
an
and numai tranzistorul T3 al c
arui colector, la iesire,
este n gol obtin
andu-se poarta denumit
a cu colectorul n gol, Figura 1.23-c.
Colectorul n gol al tuturor portilor se leag
a mpreun
a (cableaz
a), Figura 1.24-a si
apoi se conecteaz
a printr-o rezistenta
comun
a la sursa de alimentare. Potentialul pe
colectorul comun, linia de magistral
a, va fi n starea H numai c
and toate portile au
iesirea n stare H si va fi n stare L c
and cel putin una din porti are iesirea n starea
L. Aceast
a conexiune (cablare), n conventia de logic
a pozitiv
a, realizeaz
a functia S
I,
de unde si denumirea de S
I-cablat (wired AND), iar n logic
a negativ
a functia SAUcablat. Se poate obtine si n logica pozitiv
a functia SAU-cablat, iar n logic
a negativ
a
,,
SI-cablat dac
a n etajul de iesire nu se elimin
a tranzistorul care trage n sus iesirea
,,
la nivelul H (pull-up transistor) ci se elimin
a tranzistorul care trage n jos iesirea la
nivelul L (pull-down transistor), ca n cazul portilor din familia ECL.
Calculul rezistentei comune R, din colector, Figura 1.24, se face pentru asigurarea
nivelurilor logice de tensiune garantate la iesire si a nivelurilor de tensiune permise
la intrare, cu respectarea marginilor de zgomot MH , ML n conditiile de variatie ale
tensiunii de alimentare VCC V . Pentru nivelul H la iesire, care se obtine c
and
toate cele m porti emita
toare au iesirea n starea H, c
aderea de tensiune V RH pe
rezistenta comun
a nu trebuie s
a produc
a o sc
adere a tensiunii de iesire sub valoarea
minim
a garantat
a VOHminim .


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA

V CC

Linie de R
magistrala

Poarta 1
T3

55
VI

VR

4K

VO

V CC +
V CC
V CC

R1

In starea
L
In starea
H
V
V

V RH

V OH min

T1

MH

V IH min

Poarta 1

V RL

Poarta N
Poarta m
T3

SI cablat

4K

R1

V IL max
V OL max

a)

ML

b)

Figura 1.24 Explicativ


a pentru calculul rezistentei comune R: a) cablarea portilor
cu colectorul n gol ntr-o conexiune S
I-cablat; b) reprezentarea c
aderilor de tensiune pe
rezistenta comun
a pentru starea H si L.

Rmax (m IOHmax + N IIHmax ) [VCC V (VIHmin + MH )]


rezult
a
Rmax

VCC V (VIHmin + MH )
m IOHmax + N IIHmax

(1.26-a)

Pentru nivelul L la iesire, care se obtine c


and cel putin o poart
a emita
toare este
n stare L, c
aderea de tensiune VRL trebuie s
a determine o sc
adere a tensiunii de
iesire sub valoarea maxim
a garantat
a VOLmax :
Rmin (IOLmax N IILmax ) [VCC + V (VILmax ML )]
rezult
a
Rmin

VCC + V (VILmax ML )
IOHmax N IILmax

(1.26-b)

Deci rezistenta comun


a de colector se alege n urm
atoarele intervale de valori:
Rmin R Rmax

(1.26-c)

O utilizare curent
a a portilor cu colectorul n gol este comanda unor sarcini externe
ca de exemplu becuri, LED-uri, bobine, relee sau rezistente.

56

CAPITOLUL 1. PORT
I LOGICE

Exemplul 1.12 O utilizare foarte frecventa a conexiunii SI-cablat apare la implementarea sistemului de ntreruperi multiple de la microprocesoare. Microprocesorul (P )
posed
a un singur terminal IRQ (Intrerupt ReQuest, cerere de ntrerupere) pe care este
nstiintat c
a unul sau mai multe din periferice solicit
a n acel moment o cerere de ntrerupere
a toate semnalele IRQi L se
prin activarea (n starea L) a semnalului IRQi L . Pentru c
aplic
a pe acelasi IRQ, acestea formeaz
a un S
I-cablat, deci toate iesirile corespunz
atoare de
la periferice trebuie s
a fie cu colectorul n gol, Figura 1.25.
Microprocesor ( P)
IRQ1_L
Periferic 1

V CC

IRQ

IRQ2_L

IRQ3_L
Periferic 3

Periferic 2

IRQ4_L

SI
cablat

Periferic 4

Figura 1.25 Sistemul de ntreruperi multiple, pe intrarea de cerere ntrerupere


IRQ a unui microprocesor, realizat printr-o conexiune SI-cablat a portilor cu
colector n gol de la iesirea perifericelor.

Exemplul 1.13 Folosind circuitul 74ALS136, patru porti SAU EXCLUSIV cu doua
intr
ari, cu colectorul n gol, s
a se realizeze un detector pentru cuv
antul de patru biti:
b3 b2 b1 b0 = 1001. Rezultatul operatiei de detectare comand
a 5 circuite 74ALS136.
V CC
74ALS136
b3
b2
b1

SI cablat
V CC
V CC

b0

Figura 1.26 Comparator pentru cuv


antul b3 b2 b1 b0 = 1001
Solutie. O poart
a SAU EXCLUSIV va avea iesirea n starea H numai c
and cele dou
a
intr
ari sunt diferite. In cazul c
and iesirile formeaz
a un S
I-cablat nivelul de iesire este H (se
detecteaz
a cuv
antul b3 b2 b1 b0 = 1001) numai dac
a pe cea de a doua intrare a portilor este
aplicat cuv
antul 0110, ceea ce rezult
a din relatia (b3 0) (b2 1) (b1 1) (b0 0) = 1, Figura
1.26.
Se dau urm
atoarele date VCCmin = 4, 5V , VCCmax = 5, 5V , MH = 0V , ML = 0V ,


1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA

57

m = 4, N = 5, iar din Tabelul 1.9 se citesc parametrii: IOLmax = 8mA, IOHmax = 400A,
IIHmax = 20A, IILmax = 0, 2mA, VOHmin = 2, 7V , VOLmin = 0, 5V .
Aplic
and relatiile 1.26 rezult
a pentru rezistenta comun
a o valoarea n intervalul
714 R 1050.

Exemplul 1.14 Circuitul 7406 este un hex buffer neinversor cu colectorul n gol ce
poate comanda tensiuni de maxim 30V si absorbi un curent IOLmax = 40mA. S
a se comande
un bec (cu filament) de semnalizare cu Un = 14V , In = 80mA c
and este alimentat de la o
tensiune V = 20V .
V = 20V
ON / OFF

14V
80mA

1/3 din 7406

R
75

C
0,33 uF

;0,5W

1/3 din 7406


Figura 1.27 Comand
a realizat
a cu bufferul cu colectorul n gol 7406
Solutie. Deoarece curentul In > IOLmax trebuie s
a se conecteze n paralel dou
a buffere
(1/3 din 7406), Figura 1.27. Pentru preluarea c
aderii de tensiune V = 20V 14V = 6V se
6V
nseriaz
a cu becul o rezistenta
R = 80mA
= 75, puterea disipat
a pe aceast
a rezistenta
este
V 2
=
0,
48W
,
deci
se
alege
o
rezistent

de
75
care
admite
o
putere
disipat
a
de
0,
5W
.
R
Pentru ca salturile de curent generate la comutarea bufferelor s
a nu produc
a zgomot,
pe linia de alimentare de la surs
a (vezi 1.6.2.4), se recomand
a conectarea, ca filtru, a unui
condensator cu tantal de 0, 33F pentru fiecare grup de 4 circuite 7406. In plus, pentru ca
inductivitatea filamentului L s
a nu produc
a supratensiuni periculoase pentru tranzistorul de
iesire al bufferului, se recomand
a ca n paralel cu becul s
a se conecteze o diod
a D de protectie
di
(supresoare, amplitudinea tensiunii electromotoare generat
a pe inductivitate, L dt
, va fi
limitat
a la valoarea tensiunii pe dioda de protectie, 0, 8V ).

Dezavantajele portilor cu colectorul n gol sunt:


- Deoarece impedanta de iesire n starea H este mare (R > RT 4 ) rezult
a pentru
durata fronturilor LH si a timpilor de propagare, pLH , la tranzitia din L n H,
valori mult mai mari dec
at la portile normale (care au tranzistorul T4).
- Imunitate mai sc
azut
a la zgomot si necesit
a o rezistenta
comun
a R calculat
a de
fiecare dat
a n functie de circuit, valori uzuale ntre 470 si 4, 7K.
Poarta cu trei st
ari logice, TSL (Three-State-Logic). Structura portii
TSL se obtine prin completarea portii normale TTL, Figura 1.22-c, cu dioda D1 si
a inversorului I ca n Figura 1.28-a. C
and semnalul de validare a iesirii, OE L
(Output Enable) este activ, pe emitorul E2 si pe catodul lui D1 tensiunea aplicat
a
este H, deci poarta functioneaz
a normal, iesirea este validat
a si poate fi n starea L
sau H dup
a cum este valoarea logic
a aplicat
a pe intrarea A. Dac
a OE L nu este activ,

58

CAPITOLUL 1. PORT
I LOGICE

este n nivelul H, atunci tensiunea de valoare L de la iesirea inversorului aplicat


a pe:
emitorul E2 va duce la blocarea tranzitorului T3 din etajul de iesire si aplicat
a pe
catodul diodei D1 va comanda conductia acesteia, deci semnal L pe baza lui T4, ceea
ce duce si la blocarea tranzistorului T4 din etajul de iesire; ambele tranzistoare din
etajul de iesire sunt blocate.
Poarta genereaz
a la iesire (numai!) cele dou
a st
ari logice H sau L c
and comanda de
validare este activ
a OE L = 0, iar c
and comanda de validare este inactiv
a OE L = 1
poarta are cele dou
a tranzistoare T 3, T 4 blocate. Ultima stare, cu T3, T4 blocate,
nu este o stare logic
a comandat
a, prin semnalele logice aplicate pe intr
arile portii,
aceasta este denumit
a stare de nalt
a impedant
a HZ (High Z). In starea HZ
potentialul pe iesirea portii este fixat de potentialul care exist
a pe linia de magistral
a
la care aceast
a iesire este conectat
a (si nu de c
atre poarta TSL). Potentialul pe linia
de magistral
a este fortat n 0 sau n 1 de c
atre o alt
a poart
a legat
a la aceea linie de
magistral
a, poart
a care este comandat
a n starea normal
a de functionare. Dac
a pe
linia de magistral
a nivelul fortat este H atunci trazistorul T4 de la o poart
a TSL n
HZ va genera un curent de maxim ordinul A, iar dac
a nivelul pe linia de magistral
a
este fortat n L atunci tranzistorul T3 de la o poart
a TSL n HZ va absorbi un curent
maxim de ordinul A. Cu aceste valori foarte mici ale curentilor absorbiti sau generati
de poarta TSL n HZ se poate considera c
a poarta, electric, este deconectat
a de la linia
de magistral
a. Poarta TSL poate fi echivalat
a cu o poart
a normal
a n a c
arei iesire
este nseriat un contact care este nchis c
and Output Enable este activ, OE L = 0,
si este deschis (n starea HZ), c
and Output Enable nu este activ, OEL = 1, Figura
1.28-b.
Pentru blocurile care sunt conectate la o magistral
a si care pot avea o functionare at
at de emita
tor c
at si receptor transferul spre linia de magistral
a trebuie s
a
fie bidirectional. Aceste blocuri bidirectionale trebuie s
a posede pe iesire un circuit TRANSCEIVER (TRANSmitter + reCEIVER) care este compus pentru fiecare
linie/bit a magistralei dintr-un buffer TSL si o poart
a SI conectate n paralel, Figura
V CC =+5V

R1
4K

E1

OE_L

a)

T1

R2
1,6K
T2

E2

D1
T3

F
+5V

OE_L
F

OE_L

T4

R2
1K
I

R4
130

A
0
1
0
1

OE_L F = A
0
0
1
1

1
0
HZ
HZ

b)

Figura 1.28 Poarta TSL: a) schem


a electric
a; b) echivalarea portii TSL cu o poart
a
normal
a av
and un contact pe iesire (comandat de semnalul de validare OE L).

1.5. PORT
I
IN TEHNOLOGIA CMOS

59
D7
D6

MAGISTRALA

D1
D0
R3

R2

R1

Transceiver #1

(READ)

Transceiver
#3

Transceiver
#2

(WRITE)
W1
D0

D7

W2

D0

D7

W3

D0

D7

Figura 1.29 Conectarea la magistral


a a trei blocuri bidirectionale de 8 biti prin
intermediul circuitelor transceiver

1.29. La magistrala din figur


a particip
a trei elemente fiecare av
and pe iesire un
transceiver de opt biti. Inscrierea pe magistral
a (WRITE) se face prin activarea, n
starea H, doar a unui singur semnal Wi (i = 1, 2, 3), la bufferele TSL, pentru a asigura
accesul doar a unui singur emita
tor la un moment dat. Citirea de pe magistral
a
(READ) se activeaz
a prin semnalul Ri (i = 1, 2, 3) la portile AND. La transceiverul i
semnalele Wi si Ri sunt exclusive adic
a nu pot fi active simultan Wi Ri = 0.
Avantajele utiliz
arii portilor TSL n raport cu utilizarea celor cu colectorul n gol
sunt:
- Ofer
a o impedanta
mic
a la iesire n H si L (ca la poarta normal
a);
- Nu necesit
a rezistenta
aditional
a;
- In starea de HZ ncarc
a insignifiant circuitele cu care sunt cuplate la iesire (la
un moment dat ncarc
a numai circuitul care forteaz
a potentialul pe linia de
magistral
a).

1.5

PORT
I IN TEHNOLOGIA CMOS

Componentele integrate n electronic


a, introduse la nceputul anilor 1960, au fost
realizate aproape n exclusivitate n tehnologia bipolar
a, timp de dou
a decenii, p
an
a la
nceputul anilor 1980. In deceniul al nou
alea a fost trecerea de la tehnologia bipolar
a
la tehnologia unipolar
a n special la cea CMOS. Incep
and cu anii 1990, aproape n
exclusivitate, circuitele integrate produse au fost CMOS. Schimbarea de tehnologie
s-a produs c
and au ap
arut circuitele integrate pe scar
a larg
a VLSI (Very Large
Scale Integration) care contineau de ordinul sutelor de mii de componente pe cip. La
acest ordin de m
arime al densit
atii de integrare, datorit
a puterii disipate ridicate, deci
regim termic solicitant pentru circuit (datorit
a puterii disipate ridicate), tehnologia
bipolar
a nu mai era corespunz
atoare, iar alternativa a fost tehnologia CMOS. Prin
valorile parametrilor: margine de zgomot ridicat
a, puterea disipat
a n curent continuu

60

CAPITOLUL 1. PORT
I LOGICE

aproape neglijabil
a, fan-out ridicat, vitez
a m
arit
a si nalt grad de automatizare n
proiectare si implementare, tehnologia CMOS s-a impus. Ast
azi circuitele CMOS
domin
a piata circuitelor integrate de la cele simple la cele mai complexe.

1.5.1

Tranzistorul MOSFET

1.5.1.1

Tehnologia de fabricatie a tranzistorului MOS

Tranzistorul MOS sau extinz


and la circuitul integrat, fizic, constau din zone difuzate de conductivitate p+ sau n+ incluse ntr-un substrat de siliciu, Si, ntre care
exist
a anumite conexiuni si la care, din exterior, se aplic
a tensiuni de polarizare.
Pentru obtinerea acestor zone de conductivitate p+ sau n+ este necesar nt
ai a se realiza ferestre pentru difuzie, n locurile respective, pe placheta de siliciu. Succesiunea
etapelor pentru realizarea acestor ferestre este descris
a succint n continuare.
Dintr-un lingou de Si, sub forma unui cilindru, cu rezistivitatea aproximativ
10 cm se taie discuri (wafer) cu grosimea n jur de 0.6mm, Figura 1.30-a. Aceste
discuri n tehnologia actual
a pot fi cu un diametru nu cu mult mai mare de 30 cm;
pe una din suprafetele waferului se realizeaz
a simultan un num
ar de zeci sau sute de

a)

Gravare uscata sau umeda

SubstratSi

 

        

Fotorezist
SiO2
(oxid)

SubstratSi

b)

2 m W1
c)
Masca

2m

W2

e)

3m

4 m

f)

 

 

SiO2

  

Fotorezist

SubstratSi
Ferestre pentru difuzie

SiO2
SiO2

Radiatie ultravioleta, UV

d)

Fotorezist

SubstratSi

SubstratSi

Fotorezist

SiO2

  

SubstratSi

g)
W1

W2

Figura 1.30 Etapele realiz


arii ferestrelor prin litografie optic
a: a) substrat (wafer);
b) ansamblu substrat + strat de SiO2 + fotorezist; c,d) ansamblu cu masc
a supus radiatiei
UV; e,f) nl
aturarea stratului de SiO2 prin gravare; g) substrat cu ferestrele (pentru difuzie)
realizate n stratul de oxid.

1.5. PORT
I
IN TEHNOLOGIA CMOS

61

circuite integrate identice, apoi prin t


aiere se obtin plachetele cu circuitul integrat.
Pe suprafata discului printr-un proces de oxidare se realizeaz
a un strat de bioxid
de siliciu, SiO2 , referit prin termenul de oxid. Exist
a dou
a procedee de oxidare:
umed
a si uscat
a. Oxidarea umed
a este un rapid proces de oxidare ntr-o atmosfer
a
care contine vapori de ap
a la temperaturi ntre 900 1000C. Oxidarea uscat
a se
realizeaz
a ntr-o atmosfer
a de oxigen pur la o temperatur
a n jur de 1200 C, viteza de
crestere a grosimii stratului de oxid este mai mic
a dec
at cea obtinut
a prin procedeul
de oxidare umed
a. Dou
a caracteristici fizice ale stratului de oxid sunt utilizate n
tehnologia circuitelor integrate: rezistivitatea electric
a mare, deci poate constitui
un strat izolator foarte bun si impenetrabilitatea impurit
atilor, deci poate constitui
un strat opac pentru difuzia de impurit
ati. Apoi, prin depunerea unei pic
aturi de
fotorezist peste stratul de oxid si centrifugarea ntregului wafer, se formeaz
a un strat
de fotorezist cu grosimea aproximativ 1m, Figura 1.30-b. Inc
alzit la o temperatur
a
de aproximativ 100C stratul subtire de fotorezist de pe suprafata
se nt
areste (devine
sticlos).
Urmeaz
a apoi confectionarea m
astilor pentru realizarea ferestrelor de difuzie, care
este o etap
a foarte complex
a si costisitoare. S
a presupunem c
a se doreste realizarea a
dou
a ferestre dreptunghiulare cu dimensiunile W1 = 2m 2m, W2 = 3m 4m
pentru care s-a confectionat masca din Figura 1.30-c. Aceast
a masc
a se aplic
a peste
stratul de fotorezist nt
arit (sticlos) si ntreg ansamblul este expus ntr-un fascicul de
radiatie ultraviolet
a UV, Figura 1.30-d. Fotorezistul de sub ferestrele m
astii (zonele
transparente) este penetrat de radiatia UV, polimerizeaz
a si devine solubil spre deosebire de cel din zonele opace ale m
astii unde fotorezistul r
am
ane nt
arit (sticlos). Apoi,
prin sp
alare cu solvent, este nl
aturat fotorezistul solubil din zonele de sub ferestre,
dar nu si cel nt
arit de pe restul suprafetelor. Acest tip de fotorezist este numit pozitiv, pentru c
a exist
a si fotorezist negativ care este initial solubil si devine insolubil
dup
a ce este penetrat de UV; evident pentru fotorezistul negativ masca trebuie s
a
aib
a transparenta
n zonele unde nu trebuie realizate ferestre pe substrat. M
astile
pentru cele dou
a tipuri de fotorezist sunt complementare.
In continuare, ansamblul obtinut este supus unui proces de gravare. Prin gravare
stratul de oxid de siliciu din zonele care au r
amas neacoperite de fotorezist este
nl
aturat (p
an
a la suprafata de substrat) obtin
andu-se fereastra, Figura 1.30-e si
1.30-f. Gravarea se poate face cu un solvent chimic (s
aruri ale acidului florhidric, HF ),
referit
a ca gravare umed
a, sau printr-o tehnologie cu plasm
a, referit
a ca gravare uscat
a. Apoi, se utilizeaz
a un alt tip de solvent care poate nl
atura stratul nt
arit
de fotorezist r
amas deasupra stratului de oxid, Figura 1.30-g, termin
andu-se astfel
aceast
a succesiune de operatii de realizare a ferestrelor denumit
a fotolitografie sau
litografie optic
a ce poate fi utilizat
a cu rezultate bune p
an
a la rezolutii de 0, 8m.
R = k /AN ; Rrezolutia, kun parametru al stratului de fotorezist, lungimea de
und
a a radiatiei utilizate, AN apertura numeric
a (puterea de rezolutie a aparatului
utilizat).
Tehnologia fotolitografic
a permite o reducere cu 30%, la fiecare doi ani, a valorii caracteristicii de proces. Dar, actual, s-a ajuns la valori ale caracteristicii de
proces care sunt sub lungimile de und
a utilizate n litografia optic
a. Pentru dep
asirea
limit
arilor litografiei optice au ap
arut alte variante, ca de exemplu litografia EUV
(Extreme Ultra-Violet), care utilizeaz
a lungimea de und
a de 13, 4nmlungime cu
peste un ordin de m
arime mai scurt
a dec
at lungimile de und
a din litografia optic
a

62

CAPITOLUL 1. PORT
I LOGICE

dar cu care se pot obtine linii de trasee de dimensiuni sub 50nm.


Fotolitografia se repet
a ori de c
ate ori este necesar
a realizarea unei noi ferestre;
evident ferestrele care sunt pentru utiliz
ari similare la diferite circuite si sunt pe acelasi
wafer se realizeaz
a n paralel (n Figura 1.30 au fost realizate simultan dou
a ferestre
W1 si W2 ).
Pentru rezolutii sub 0, 8m litografia optic
a, recent, este substituit
a de litografia
cu fascicol de electroni. Avantajele litografiei cu fascicol de electroni n realizarea
ferestrelor n raport cu cea optic
a sunt:
- fereastra poate fi generat
a direct digital f
ar
a confectionarea m
astii;
- nu exist
a succesiunea tuturor etapelor (m
asti, expunere UV etc.) procesul de
gravare este direct;
- modificarea formelor si dimensiunilor ferestrelor precum si plasarea lor pe suprafata waferului se pot realiza usor si repede.
Pentru realizarea unui tranzistor nMOS procesul este descris n continuare. Se
realizeaz
a pe un substrat de siliciu de conductivitate de tip p (conductivitate prin
goluri) o fereastr
a pentru zona activ
a, adic
a zona pe suprafata de Si unde se va
implementa tranzistorul, Figura 1.31-a. Stratul gros de oxid ( 5000
A,1
A= 1010 m)
denumit oxid de c
amp care nconjoar
a zona activ
a are rolul de a izola tranzistorul
de alte tranzistoare. Uneori, izolarea tranzistorului de cel vecin se face si n substrat
prin difuzarea ntre zonele active ale acestor tranzistoare vecine a unei zone de tip
p+ denumit
a zon
a de stopare (se pot vedea astfel de zone de stopare n structura
din Figura 1.19-c). Notatiile n+ sau p+ semnific
a faptul c
a exist
a o concentratie de
purt
atori de tip n respectiv de tip p mult mai mare dec
at concentratiile normale.
Apoi, ntreaga suprafata
este acoperit
a cu un strat subtire (aproximativ 200
A) de
oxid de calitate superioar
a, care va fi si stratul izolator de sub poarta viitorului tranzistor implementat n zona activ
a, Figura 1.31-b. Calitatea si grosimea acestui strat de
oxid determin
a foarte pronuntat tensiunea de deschidere/prag a viitorului tranzistor.
In continuare se depune un strat de polisiliciu, Figura 1.31-c, din care, dup
a un proces de gravare, se formeaz
a trasa ce va constitui poarta tranzistorului, Figura 1.31-d.
Acest strat depus cu grosimea aproximativ
a de 3000
A din polisiliciu se realizeaz
a
printr-un proces de depunere de vapori de Si. Materialul de substrat (waferul) este
un singur cristal, adic
a n ntreg volumul substratului structurarea cristalografic
a este
aceeasi. In schimb, materialul de polisiliciu al portii este format, dup
a cum si denumirea exprim
a, din mai multe zone fiecare cu dispunere cristalografic
a diferit
a. Zonele
de material policristalin, referite si prin termenul de polisiliciu, sunt utilizate pentru
realizarea electrodului de poart
a sau a unor trasee de conexiune. Totodat
a materialul
policristalin, ca si oxidul sau nitrura de siliciu, este utilizat si ca material de mascare
n procesul de difuzie al impurit
atilor; sunt impenetrabile la impurit
ati. Ansamblul
obtinut p
an
a n aceast
a etap
a are deja realizate dou
a ferestre pentru implementarea
zonelor de surs
a si dren ale tranzistorului.
Implementarea zonelor de dren si surs
a rezult
a n urma dop
arii cu impurit
ati donoare (Fosfor sau Arseniu) care schimb
a conductivitatea din tip p a substratului,
din zonele respective, n conductivitate de tip n+ . Doparea poate fi realizat
a prin
difuzie sau prin implantare ionic
a. Pentru difuzie este necesar
a o atmosfer
a ce contine
impurit
ati donoare la o anumit
a presiune si o temperatur
a de peste 800 C, impurit
ati

1.5. PORT
I
IN TEHNOLOGIA CMOS

SiO2
Strat de oxid de protectie

SiO2

n+

a)
SiO2

b)

Strat
de
polisiliciu
c)

-, -, ,- .01
-, -, -, /

Zona activa

oxid
de
camp

Strat
subtire
de
oxid

63

psubstrat, Si

         
         
 
 

 
 

 
 

 
 

n+

g)

  
   ! ! !   
        

h)

Poarta(polisiliciu)

SiO2

d)
Difuzie
impuritati
donoare
pentru
zonele de
Sursa
si Dren
e)

4 4 4
32 23 32 89 98 89 54 54 54
23 32 23 76 67 76 5 5 5

  <= =<CBBC


  =< =<BC

psubstrat, Si

$ $ $
#" #" "# &' &' &' %$ $% $%
#" #" #" () () )( % % %
n+

psubstrat, Si
Zone difuzate

n+

psubstrat, Si

<=CBCB =<BCCB CBCB >? CBBC >? CBCB >?


=<BC =<BC BC A@ BC @A BC A@

CB ;: BC :; BC ;: CB
CB :; CB :; BC :; CB
BC BC BC BC

Strat metalizat

n+

n+

psubstrat, Si
Strat metalizat gravat

L GF LM FG LM GF ML H H H ON ON ED ON ED DE
L GF ML GF LM GF ML JKI KJI KJI NO ON DE ON ED DE
L ML LM ML
ON ON NO
poarta

n+

psubstrat, Si

n+

n+

psubstrat, Si
Ferestre pentru
contactele
metalizate

f)

Oxidul de poarta

psubstrat, Si

.01 .01 *+ *+ *+
/ / *+ *+ *+

i)

  
  
  
  



n+

Contacte metalizate

V DD







  
  
  
  
V SS

Trasee metalice

Figura 1.31 Etapele n tehnologia de realizare a unui tranzistor nMOS

ce p
atrund n substrat pe o anumit
a ad
ancime. In procesul de difuzie stratul de
polisiliciu al portii mpreun
a cu stratul oxid nconjur
ator ndeplinesc rolul de masc
a
(impenetrabile pentru impurit
atile donoare difuzate) n jurul celor dou
a zone pentru
dopare, Figura 1.31-e. Utilizarea stratului de polisiliciu gravat adic
a poarta ca
masc
a duce la o foarte precis
a pozitionare a difuz
arii zonelor de surs
a si dren fata

de poarta tranzistorului, aceast


a procedur
a mai este referit
a ca proces de autoaliniere. Prin implantare ionic
a, folosind un spectrometru de mas
a si un c
amp
electric accelerator, se imprim
a ionilor de impuritate o energie (ntre 10 100KeV ,

64

CAPITOLUL 1. PORT
I LOGICE

1eV = 1, 6 1019 J) suficient


a ca prin impact cu suprafata de substrat s
a penetreze
n ad
ancime c
ativa microni si s
a schimbe n zona respectiv
a tipul de conductivitate.
Dup
a realizarea zonelor de conductivitate n+ pentru dren si surs
a se acoper
a ntreaga suprafata
cu un strat de oxid (de protectie), Figura 1.31-f, care apoi este gravat
pentru realizarea unor ferestre, realiz
andu-se acces p
an
a la suprafata de substrat de
conductivitate n+ , Figura 1.31-g; suprafetele acestor ferestre pe zonele dopate de tip
n+ , dup
a metalizare, vor forma contactele metalice la dren si surs
a. Printr-un proces
de evaporare n vid se depune pe ntreaga suprafata
un strat de aluminiu, Al, cu
grosimea de 50006000
A, Figura 1.31-h. Stratul metalic depus pe ntreaga suprafata

este apoi gravat astfel nc


at s
a formeze pe suprafata superioar
a a ansamblului traseele
metalice pentru interconexiuni, aceste trasee p
atrund prin contactele metalizate p
an
a
la suprafata zonelor difuzate de dren si surs
a.
Figura 1.31-i reprezint
a sectiunea si o vedere n plan a p
artii superioare a tranzistorului nMOS (realizat ntr-un substrat de tip p). Pe vederea n plan, a p
artii superioare a ansamblului (desenul de jos), sunt dou
a trasee metalice, pentru aducerea
potentialelor de surs
a VSS si de dren VDD , iar n interiorul acestor trasee sunt figurate
dou
a p
atrate nnegrite corespunz
atoare contactelor metalice care ajung la suprafetele
n+ de dren si de surs
a. In aceast
a figur
a nu este scos la suprafata
terminal de polisiliciu al portii (stratul de polisiliciu se vede doar n sectiune, cu hasur
a dubl
a, n desenul
de sus). Zona de sub poart
a este zona de canal (indus).
Pentru realizarea unui tranzistor pMOS se porneste de la un substrat de tip n;
etapele sunt identice cu deosebirea c
a impurit
atile utilizate n procesul de difuzie,
pentru obtinerea zonelor dopate de tip p+ pentru dren si surs
a, sunt de tip acceptor
(Bor).
In exemplul acesta pentru realizarea conexiunilor necesare pe suprafata superioar
a
a cipului/plachetei a fost suficient un singur strat metalic (zona caroiat
a pregnant din
Figura 1.31-h). Pentru circuitele VLSI complexe realizarea tuturor conexiunilor necesit
a mai multe straturi metalice suprapuse, n tehnologia actual
a pentru P s-a ajuns
p
an
a la opt straturi metalice, fiecare strat metalic fiind izolat de cel de sub sau de
cel de deasupra printr-un strat izolator de oxid. Trecerea conexiunilor ntre straturile metalice de niveluri diferite, sau ntre straturi si suprafata de substrat a zonelor
(difuzate) de diferite conductivit
ati, se face prin intermediul unor g
auri (vias) realizate pe vertical
a prin straturile izolatoare de oxid. Devine mult mai important
a si
mai complex
a operatia de realizare a straturilor/conexiunilor dec
at realizarea componentelor (tranzistoarelor) n substrat (circuitele integrate complexe sunt caracterizate
prin num
arul de straturi metalizate, iar pentru traseele metalizate, actual se utilizeaz
a
cuprul).
Activitatea de proiectare a unui circuit integrat poate fi complet separat
a n timp
si spatiu de procesul de fabricatie a circuitului integrat de la turn
atoria de siliciu.
Leg
atura ntre proiectant si inginerul de proces se face prin intermediul regulilor de
proiectare a layout-ului (geometria pe siliciu). Aceste reguli de proiectare exprim
a
anumite constr
angeri impuse de procesul de fabricatie de la o anumit
a turn
atorie de
siliciu. Constr
angerile pot fi referitoare la l
atimea minim
a a unei linii/trase realizabil
a
cu acel proces, distanta minim
a ntre dou
a linii, dimensiunile minime pentru o zon
a de
difuzie etc.; de exemplu n Figura 1.30-c se poate prescrie distanta minim
a dintre cele
dou
a zone de difuzie pentru un anumit proces. Respect
and aceste reguli geometrice
de proiectare proiectantul va proiecta m
astile necesare procesului care, probabilistic,

1.5. PORT
I
IN TEHNOLOGIA CMOS

65

duc la un procent de recolt


a ridicat (exprimare procentual
a a num
arului de circuite
functionale obtinute pe un wafer din num
arul total de circuite pornite initial pe un
wafer) si la circuite cu o siguranta
mare n functionare.
Regulile de proiectare a layout-ului pot fi exprimate n dou
a modalit
ati: micronic si
pe baz
a de . Regulile pe baz
a de lambda () cuprind toate constr
angerile referitoare
la optenabilitatea dimensiunilor geometrice ca multiplu ntreg (uneori fractionar) de
. Practic, acestea sunt un set de relatii, toate n functie de , cu care proiectantul
calculeaz
a dimensiunile layout-ului pentru un anumit circuit. Lambda este caracteristica de proces, adic
a rezolutia/dimensiunea minim
a garantat
a pe care o poate
realiza acel proces. De exemplu, n Figura 1.30-c distanta dintre cele dou
a zone
difuzate ar putea fi exprimat
a prin relatia d = sau l
atimea minim
a a trasei de
polisiliciu pentru poart
a este 2, etc. Avantajul exprim
arii pe baz
a de este p
astrarea
acelorasi relatii de proiectare c
and se trece de la un proces la unul mbun
at
atit, de
exemplu c
and se trece de la un proces cu = 1m la unul cu = 0, 6m (relatiile
a scalare a lui
geometrice de proiectare se nmultesc cu 0,6
1 = 0, 6). Teoretic, aceast
c
and se trece la un proces mbun
at
atit ar fi fezabil
a, dar practic, se constat
a c
a atunci
c
and procesul este submicronic (corespunde la lungimi de canal sub 1m) si n
special la procesele ad
anc submicronice (lungimi de canal sub 0, 35m) scalarea
lui nu mai este liniar
a si constant
a.
Exprimarea micronic
a a regulilor se reduce la exprim
ari n valori absolute, n m,
pentru dimensiunile layout-ului, ceea ce elimin
a inconsistenta care apare la regulile
pe baz
a de lambda c
and se aplic
a scalarea. Uneori cele dou
a modalit
ati, de exprimare
a informatiei necesare proiectantului pentru definirea layout-ului, sunt mixate.
1.5.1.2

Ecuatiile tranzistorului MOS

Structura tranzistorului MOS (Metal-Oxid-Semiconductor) este cea din Figura


1.31-i, iar pentru o explicare a function
arii este reprezentat, ntr-o nuanta
didactic
a,
n Figura 1.32-a. In principiu, un tranzistor MOS se reduce la un condensator metalsemiconductor, cele dou
a arm
aturi fiind una o plac
a G (Gate) din polisiliciu sau metal,
de dimensiuni W L, iar cealalt
a arm
atur
a este constituit
a din substratul de semiconductor B, ntre acestea dielectricul este format din stratul de SiO2 cu grosimea
Dox (< 200
A). C
and se aplic
a o tensiune pozitiv
a ntre poart
a si substrat VGC > 0
(gril
a - canal), deoarece densitatea de purt
atori de sarcin
a1 -electroni liberi- n placa
metalic
a este mult mai mare dec
at densitatea de purt
atori liberi n semiconductor,
c
ampul electric dintre pl
acile acestui condensator metal-semiconductor p
atrunde n
substrat, dar nu p
atrunde n placa metalic
a. Sarcina electric
a (pozitiv
a n cazul
acesta) de pe poarta (placa metalic
a) are o repartizare de suprafata
, iar sarcina negativ
a, indus
a n substratul de tip p, are o repartizare volumetric
a; la interfata cu oxidul
sunt atrasi electronii liberi din substrat care formeaz
a un strat de sarcin
a negativ
a
cu grosimea 50
A. Acest strat de sarcin
a liber
a, indus
a la suprafata substratului,
este referit prin (zona de) canal (indus). Cantitatea de sarcin
a negativ
a indus
a n
canal este determinat
a de intensitatea c
ampului dintre poart
a si substrat, deci de
valoarea tensiunii VGC (sau VGB ). Deoarece la cele dou
a capete ale canalului exist
a
,,
dou
a rezervoare de sarcin
a negativ
a liber
a, c
and VGC este este suficient de mare ca
1 Densitatea de electroni liberi
n: metale - 1028 /cm3 , izolatoare - 107 /cm3 , semiconductoare 2 1013 /cm3 pt Ge si 1, 45 1010 /cm3 pt Si

66

CAPITOLUL 1. PORT
I LOGICE

V GS

Q
_
Q
_
Q
_
_
Q
e
Q
e
Q
e
Q
e
Q
e
e
c dQc dc fQe fQe fQe feQ^]Q^Q] fQe ^Q]^Q] fe ^]^] _Q``Q_Q``Q\Q[ _Q``Q\Q[ _`` \[
dQ
c dQc rQ
dQ
dcc fQrQq fQrq fQfQ^Q]gh fQ^Q]gh f ^]gh kQl kQl ZQY\[ kQl ZQY\[ bQa kl ZY\[ bQa bQa jQi bQ
i bQ
jQ
jii bQ
a
a
c dQc qrQ
dQ
d
q
q
q
Q
r
r
]
]
]
Q
^
Q
^
^
i
i
Q
j
Q
j
Y
Y
Y
Q
Z
Q
Z
Z
W jij a XQ
W ba XW
Xj Q
cc dcQc rQ
cq c rQq rq hg^Q]hg hg^Q]hg hg^]hg \[ZQY\[ \[ZQY\[ \[ZY\[ iQj XWXW iQ
dQ
d
W ji oQXQ
W oQXW o
XQ
dQ
Q
d
d
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
Q
o
q
q
q
Q
r
Q
r
r
]
]
]
Q
^
Q
^
^
i
i
j
j
Y
Y
Y
Z
Z
Z
Q
W
Q
W
Q
W
W
XXQ
X
XXW po
cnm dQcnm rQ
cnm pQo rQq pQo rq pQo pQo hg^Q]hgTQS pQo hg^Q]hgTQS pQo hg^]hgTQS pQo TS pQo \Q[Y\Q[Z pQo \Q[Y\Q[Z pQo \[Y\[Z pQo jQi po XXW jQ
dQ
d
o
p
o
Q
p
o
Q
p
q
i
i
j
W
W
Q
X
nmdcQ
nQmdcnQm rQ
pQXQ
pQXQ
pQXWVU p
q nmdcnm pQrQq pQrq pQpQgQhRPTS pQgQhRPTS pQghRQPTS pQRPTS pQZY\Q[ pQZY\Q[ pQZY\[ pQji pQXQ
i
jjQi ijQ
j
W
W
W
U
U
U
V
V
V
nmQ
ZQY ZQY ZY XWVU i XQ
WVU ji XQ
WVU XWVU
m
m
nmQ
Q
n
n
UU VQ
UU VQ
UU VUU
VQ
m
m
nmQ
Q
n
n
Q
V
Q
V
m nQm nm
nQ
UU VQ
UU VQ
UU VVUU
VQ
Q
V
VQVQVQV

V SS

Placa din
polisiliciu
sau
metal

pSubstrat,

I DS [mA]

3.0

2
D

c)

D
G

I DS(sat) (V GS Vpn) 2

W/L=60/6
(canal lung)

V GS [V]
0

I DS(sat) V GS Vpn

nMOS
D
G

W/L=6/0,6
1 (canal scurt)

1.5

V DS =3,0V
I DS(sat) (V GS Vpn)

1.0
V DS [V]
1

2.0

V DS =V GS Vpn

I DS(sat) [mA]

2.5

Reg. de
saturatie

Si

canal W/L=6/0,6

V GS

n+

canal W/L=60/6

Reg.
liniara

SiO2

Canal indus
L

a)

V DS

DOX

n+

b)

V DS
+
D (Dren)

G (Poarta)

S (Sursa)

pMOS

D
G

d)

S
simbol cu
4 terminale

S
reprezentare
simplificata

S
simbol cu
4 terminale

S
reprezentare
simplificata

Figura 1.32 Tranzistorul nMOS: a) structur


a fizic
a de principiu pentru un tranzistor
nMOS; b) caracteristicile statice de iesire ID = f (VDS )VGS =const ; c) dependenta IDsat de
tensiunea VGS ; d) simbolurile de reprezentare pentru tranzistoarele nMOS si pMOS.

1.5. PORT
I
IN TEHNOLOGIA CMOS

67

s
a induc
a un canal cele dou
a rezervoare, obtinute prin difuzia de dren D si de surs
a S,
acestea vor fi unite printr-o cale conductiv
a - canalul indus n substrat, cu lungimea
L. Aplic
and o diferenta
de potential ntre cele dou
a zone de dren si de surs
a apare o
deplasare de electroni n canal, deci un curent de canal. In concluzie, se poate afirma
c
a tranzistorul MOS este un dispozitiv la care valoarea curentului de conductie n
canalul, dintre dren si surs
a, este controlat de tensiunea aplicat
a pe poart
a. Deci intensitatea curentului din canal este o functie de tensiune aplicat
a dintre dren si surs
a,
VDS , si tensiunea poart
a-canal VGC , Icanal = f (VDS , VGC ). Pornind de la aceast
a
explicatie calitativ
a a function
arii dispozitivului MOS, n continuare, vor fi deduse
relatii simple care pot exprima si cantitativ functionarea dispozitivului nMOS.
Tensiunea pozitiv
a VGC , pentru valori cresc
atoare pornind de la 0V, va respinge
sarcina mobil
a pozitiv
a din zona de interfata
oxid-substrat nspre masa substratului,
adic
a golurile care sunt purt
atori mobili majoritari n substratul de tip p. In urma
acestei respingeri n zona de interfata
a stratului r
am
ane doar sarcina negativ
a, fix
a
n reteaua cristalin
a, format
a din ionii negativi ai atomilor acceptori. Rezult
a c
a
n stratul de interfata
apare un regim de s
ar
acire de purt
atori majoritari si chiar la
aplicarea unei tensiuni ntre dren si surs
a curentul din canal este nul.
Dar c
and tensiunea VGC devine mai mare dec
at o valoare Vpn (valoare de prag/
deschidere pentru nMOS) c
ampul electric al condensatorului poart
a-substrat atrage,
din masa substratului, sarcini electrice minoritare mobile (electronii) determin
and
astfel n zona de interfata
o inversiune a sarcinilor mobile, adic
a conductivitatea
initial
a de tip p (goluri) devine de tip n. Electronii atrasi n zona de interfata
vor
constitui o sarcin
a mobil
a n zona de canal, deci apare posibilitatea unui curent de
canal. Cantitatea de sarcin
a poate fi exprimat
a prin relatia:
Q = C(VGC Vpn )

(1.27)

In aceast
a expresie C este capacitatea echivalent
a a condensatorului plan format ntre
plac
a-substrat (cu suprafata W L, stratul dielectric av
and grosimea D ox , iar ox
permitivitatea oxidului) a c
arei valoare este dat
a de relatia clasic
a:
C = ox

W L
= Cox W L
Dox

(1.28)

ox
unde Cox = D
este capacitatea pe unitatea de suprafata
a stratului de oxid de sub
ox
poart
a, care se obtine din relatia 1.28 c
and W = 1, L = 1. Cu valorile
ox 3, 45 1011 F m1 , Dox = 100
A = 108 m se obtine Cox 3f F/m2 . Capacitatea specific
a a stratului de oxid este o caracteristic
a a fiec
arui proces tehnologic si
trebuie luat
a de c
atre proiectantul de circuite ca o constant
a dat
a. Diferenta de tensiune VGC Vpn poate fi privit
a ca tensiunea efectiv
a care comand
a sarcina din canal,
deoarece p
an
a c
and tensiunea aplicat
a pe poart
a nu este mai mare dec
at tensiunea
de prag Vpn nu exist
a sarcin
a mobil
a n canal, deci nici curent n canal, tranzistorul
este blocat.
Prin existenta sarcinii induse, VGC Vpn > 0, si prin polarizarea zonelor de dren
si surs
a, n canal se produce deplasare de sarcin
a, deci curent. Polarizarea se face n
felul urm
ator: pe dren se aplic
a o tensiune pozitiv
a fata
de substrat VDB > 0, iar
sursa se conecteaz
a la substrat VSB = VSS = 0V ; n felul acesta potentialul sursei
este identic cu potentialul de substrat si este potentialul de referinta
(mas
a), iar V DB

68

CAPITOLUL 1. PORT
I LOGICE

devine VDS . Intr-o abordare simpl


a, pentru deducerea unui model matematic pentru
curentul din canal, se echivaleaz
a canalul cu o rezistenta
pe care sursa de tensiune V GC
produce o c
adere de tensiune gradual
a n functie de lungimea x din canal, VGC (x). Se
admite pentru aceast
a c
adere de tensiune o variatie liniar
a n functie de lungimea din
canal astfel: pentru x = 0, n zona de surs
a, VGC = VGS si pentru x = L (lungimea
canalului) n zona de dren VGC = VGS VDS . Calculul sarcinii din canal se face cu
relatia 1.27 n care se introduce c
aderea de tensiune ca o medie aritmetic
a a valorilor
tensiunilor de la capetele canalului:




1
(VGC Vpn )x=0 + (VGC Vpn )x=L )
= C (VGS Vpn ) VDS
(1.29)
Q=C
2
2
si utiliz
and expresia capacit
atii exprimat
a prin relatia 1.28 se obtine:


1
Q = Cox W L (VGS Vpn ) VDS
2

(1.30)

Sub actiunea c
ampului electric din canal Ex = VDS /L (se consider
a numai componenta Vx n lungul canalului) produs de tensiunea VDS electronii sunt deplasati de la
surs
a la dren cu viteza:
VDS
(1.31)
vx = n Ex = n
L
unde n este mobilitatea electronilor, cu valori ntre 500 1500cm2/V s; pentru
goluri valorile mobilit
atilor sunt p = 100 400cm2 /V s. Mobilitatea purt
atorilor
scade cu concentratia de dopare si cu cresterea tempteraturii.
Timpul de deplasare/tranzit al electronilor prin canal rezult
a simplu:
f =

L
L2
=
vx
n VDS

(1.32)

Aceast
a relatie exprim
a o dependenta
p
atratic
a a timpului de tranzit n canal n
functie de lungimea canalului; apare evidenta concluzie c
a scalarea (micsorarea dimensiunilor) duce la dispozitive mai rapide. In final, din relatiile 1.30 si 1.32, se
obtine expresia curentului dren - surs
a, IDS :


Q
1
W
IDS =
(VGS Vp ) VDS VDS =
= n Cox
f
L
2


(1.33)
W
1
= Kn
(VGS Vp ) VDS VDS
L
2
Constanta:
Kn = n Cox

(1.34)

denumit
a factorul de c
astig al procesului, la fel ca si tensiunea de prag Vpn , este o
constant
a de proces si are valori n intervalul 100100A/V 2 . Nu este neobisnuit ca n
cadrul aceluiasi proces, n functie de materialul initial utilizat ca substrat, de variatia
n grosime a stratului de oxid de sub poarta Dox , factorul de c
astig al procesului s
a
aib
a abateri de 10 20%.
Se defineste factorul de c
astig al tranzistorului, n :
n = K n

W
L

(1.35)

1.5. PORT
I
IN TEHNOLOGIA CMOS

69

Raportul dintre l
atimea canalului W si lungimea canalului L este referit ca factorul
de form
a al tranzistorului, de fapt conductanta canalului este proportional
a cu raportul dintre l
atimea si lungimea sa. Raportul W/L este unul din cei mai importanti
parametri asupra c
aruia proiectantul poate actiona n etapa de dimensionare a layoutului pentru a obtine caracteristicile dorite pentru tranzistor.
Ecuatia 1.33 este modelul matematic al tranzistorului MOS pentru regimul liniar
de functionare. Acest regim liniar, ntre variatiile IDS ale curentului de canal si
variatiile VGS ale tensiunii gril
a surs
a, se obtine c
and sunt ndeplinite conditiile
regimului liniar: VGS > Vpn si VDS < VGS Vpn .
C
and tensiunea dren-surs
a creste, peste valoarea efectiv
a a tensiunii de comand
a
a canalului, VDS > VGS Vpn , rezult
a o diferenta
de potential poart
a-dren de valoare
negativ
a VGD = (VGS Vp )VDS < 0, deci se inverseaz
a sensul c
ampului poart
a-dren.
Aceast
a inversare a sensului c
ampului determin
a o reducere a sarcinii din canal n zona
de dren (x = L) ceea ce este echivalent cu cresterea rezistentei canalului nspre dren,
cea mai mare parte a tensiunii VDS se va reg
asi pe acest segment de rezistenta
m
arit
a.
Lungimea efectiv
a, notat
a cu L0 , a canalului se micsoreaz
a (L0 < L) si chiar la m
arirea
tensiunii dren-surs
a, VDS , curentul n canal r
am
ane la o valoare constant
a, IDS(sat)
(n realitate IDS(sat) are o crestere usoar
a n functie de VDS ). Acesta este regimul de
saturatie al tranzistorului obtinut pentru conditiile: VGS > Vpn si VDS VGS Vpn ;
iar expresia curentului de saturatie se obtine din ecuatia regimului liniar 1.33 n care
se face substitutia VDS = VGS Vpn :
IDS(sat) =

(VGS Vpn )2
2

(1.36)

In Figura 1.32-b sunt reprezentate caracteristicile statice IDS = f (VDS )VGS =const
pentru dou
a tranzistoare nMOS unul cu canal lung W/L = 60m/6m, iar altul cu
canal scurt W/L = 6m/0, 6m realizate n tehnologie de 0, 5m. Se observ
a din
Figura 1.32-c c
a ecuatia 1.36 exprim
a mult mai exact curentul de saturatie I DS(sat)
pentru tranzistoarele cu canal lung dec
at pentru cele cu canal scurt.
Separarea zonei liniare de zona de saturatie n Figura 1.32-b este demarcat
a
printr-o linie ntrerupt
a, care este reprezentarea grafic
a a ecuatiei V DS = VGS Vpn .
Regimul blocat al tranzistorului IDS = 0, obtinut c
and UGS Vpn , este reprezentat
de axa absciselor (n realitate, IDS are valori foarte mici determinat n special de asanumitul curent de sub poart
a). Tranzistorul se deschide c
and tensiunea de comand
a
VGS devine VGS > Vpn .
In scheme echivalente, n functie de regimul de functionare, tranzistorul MOS
ntr-o abordare calitativ
a poate fi substituit n felul urm
ator: regimul blocat - contact
deschis, regimul liniar - rezistenta, regimul saturat - generator de curent.
Modelul matematic al dependentei curent-tensiune n curent continuu,
IDS = f (VDS )UGS =const , pentru tranzistorul MOS exprimat de ecuatia 1.33, pentru
regimul liniar si exprimat de ecuatia 1.36, pentru regimul n saturatie, sunt relatii simple, usor de utilizat, dar rezultatele pot diferi de cele reale. De exemplu, calcul
and
factorul de c
astig al procesului Kn , cu ajutorul ecuatiei 1.33, rezult
a o valoare de
dou
a ori mai mic
a dec
at valoarea lui Kn m
asurat
a pe tranzistor c
and este n regimul
liniar; explicatia const
a n faptul c
a Vpn si n nu sunt constante cum se consider
a n
ecuatie.

70

CAPITOLUL 1. PORT
I LOGICE

Un model matematic care s


a exprime exact functionarea tranzistorului este necesar
at
at proiectantului de tranzistoare c
at si proiectantului de circuite pe baza tranzistorului respectiv. Proiectantul de circuite doreste ca prin simul
ari pe baza unui model
matematic, n care introduce datele de catalog ale tranzistorului , s
a obtin
a caracteristicile dinamice la circuitului (pHL , pLH , HL , LH ). Iar proiectantul de tranzistoare
de la turn
atoria de Si doreste ca pe baza unui model n care s
a introduc
a valorile
parametrilor de proces (Vpn , Kn , Cox , Dox etc.) s
a fac
a predictia performantelor
tranzistorului nainte ca acesta s
a fie produs. Se pot obtine modele mult mai exacte
dac
a sunt luate n considerare efectele de ordinul doi (neglijate n deducerea ecuatiilor
1.33 si 1.36).
Programul de simulare SPICE (Simulation Program with Integrated Circuit
Emphasis) existent n toate mediile de proiectare automat
a n electronic
a, EDA, are la
baz
a diferite modele matematice pentru tranzistorul MOS (simulatoarele comerciale
pot avea p
an
a la zece modele matematice pentru tranzistor).
SPICE-ul poate simula pentru trei modele, acestea sunt selectabile prin identificatorul de nivel LEVELi. Nivelul LEVEL1 se bazeaz
a pe modelul matematic exprimat
prin relatiile 1.33, 1.36 n plus include si efectele de ordinul doi importante. Nivelul
LEVEL2 calculeaz
a curentii pe baza unui model analitic al fizicii dispozitivului. Iar
nivelul LEVEL3 este o abordare semi-empiric
a pe baza parametrilor de proces si o
,,
potrivire a expresiei ecuatiilor astfel nc
at acestea s
a se suprapun
a peste comportamentul real al tanzistorului. Evident, n nivelul 2 si 3 sunt incluse toate efectele de
ordinul doi.
In continuare vor fi expuse succint efectele de ordinul doi [Kang 0 96][Weste 0 92].
Efectul de substrat. In Figura 1.32-a s-a considerat c
a sursa se leag
a la substrat,
VSB = VSS = 0V , deci potentialul de referinta
este potentialul substratului. Se
poate ca fata
de potentialul de referinta
(de mas
a) al sursei, VSS , substratul
s
a fie polarizat cu o tensiune de substrat VSB 6= 0V . Polarizarea de substrat
duce la o crestere a tensiunii de prag Vp (aproximativ cu 0, 5V pentru fiecare
crestere a VBS cu 2 V). Cresterea tensiunii de prag Vp determin
a o micsorare a
curentului IDS ceea ce duce la un dispozitiv mai lent.
Modulatia lungimii canalului. C
and VDS > VGS Vp , adic
a n regim de saturatie
sarcinile din canal din zona de dren dispar, deci lungimea efectiv
a (electric
a) L0
0
a canalului devine mai mic
a dec
at lungimea geometric
a L a canalului (L < L).
Apare astfel o modulatie a lungimii canalului care este o functie de VDS . Odat
a
cu micsorarea lungimii canalului se modific
a raportul W/L deci valoarea lui
(relatia 1.35).La tranzistoarele cu canal lung aceast
a variatie a lui nu este
important
a, dar devine important
a la tranzistoarele cu canal scurt (deci odat
a
cu scalarea).
Variatia mobilit
atii. Mobilitatea at
at a electronilor n c
at si a golurilor p nu
este constant
a, acestea scad cu cresterea concentratiei de dopare cu impurit
ati
(deci cu scalarea) si cu cresterea temperaturii.
Saturatia vitezei. Din relatia 1.31 apare c
a viteza de drift a purt
atorilor poate
creste oric
at de mult n functie si de E. In realitate viteza ajunge la o valoare
de saturatie, de exemplu viteza electronului ajunge la valoarea vmax = 105 m/s

1.5. PORT
I
IN TEHNOLOGIA CMOS

71

care se atinge pentru E = 106 V /m (o c


adere de 1V pe lungimea de 1m) si care
nu se poate dep
asi chiar dac
a Ex creste n continuare.
Conductia de subprag IOH . In modul de aproximare gradual
a a canalului c
and
VGS < Vp curentul IDS = 0. Dar atunci c
and VDS are valori ridicate chiar dac
a
VGS < Vp apare totusi un curent de valoare relativ sc
azut
a n canal deci IDS 6= 0;
care are urm
atoarele dou
a componente: un curent de polarizare invers
a prin
jonctiunile formate ntre zonele difuzate si substrat; un curent de (conductie)
subprag. Odat
a cu scalarea dimensional
a (si a tensiunii VDD , scalare complet
a)
trebuie micsorat
a si valoarea tensiunii de prag Vp pentru a asigura vitez
a ridicat
a
de comutatie a tranzistorului si o margine de zgomot suficient
a. Curentul de
Vp
subprag este proportional cu e T , deci are o crestere odat
a cu micsorarea
tensiunii de prag si cu cresterea temperaturii (T ).
Injectia de purt
atori fierbinti. C
and, prin scalare, dimensiunile tranzistorului
sunt foarte mici si VDS este de valoare mare, componentele orizontale si verticale (Ex , Ey ) ale c
ampului n canal au valori ridicate sub a c
aror efect purt
atorii
,,
mobili de sarcin
a pot atinge energii cinetice ridicate (devin purt
atori fierbinti ).
,,
Electronii fierbinti pentru nMOS pot p
atrunde: n stratul de oxid de sub
poart
a modific
and distributia de sarcin
a de la interfata SiO2 -substrat sau n
zona de dren disloc
and goluri care sunt apoi atrasi nspre substrat. Efectul de
,,
injectie de purt
atori fierbinti este dezastruos mai ales pentru dispozitivele deja
n functionare care, n timp, se distrug scota
nd din functiune sistemul respectiv.
Scalarea, care nu este un efect de ordinul doi pentru tranzistor, dar prin reducerea dimensiunilor si a tensiunilor de alimentare, prin cresterea nivelurilor de
dopare cu impurit
ati donoare ND sau acceptoare NA creaz
a conditii ca efectele
explicate mai sus s
a apar
a mult mai pronuntat.
Tabelul 1.10
Reducerea m
arimii caracteristice (minime) la un proces tipic de matrice de porti CMOS

ANUL
Marimea
caracteristica
minima [u m]

1980 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005
5.0

3.5

2.5

1.75

1.25

0.8

0.6

0.35

0.25

0.18

0.13

0.009

Reducerea dimensiunilor n tehnologia de integrare este referit


a prin termenul de
scalare. Prin mbun
at
atiri, n timp, procesul tehnologic si micsoreaz
a caracteristica
de proces (dimensiunea minim
a care poate fi definit
a si realizat
a pentru procesul
respectiv); astfel s-a constatat c
a m
arimea caracteristic
a (minim
a) a procesului se
scaleaz
a/reduce aproximativ cu 1, 31, 5 n decurs de 2-3 ani, cum rezult
a din Tabelul
1.10. Scalarea este caracterizat
a prin factorul de scalare s, m
arimea cu care se divid
toate dimensiunile. Sunt referite dou
a cazuri de scalare: scalarea complet
a si scalarea
la tensiune constant
a.
Scalarea complet
a reduce toate dimensiunile cu factorul s, reduce tensiunile
cu factorul s, iar valorile densit
atilor de dopare sunt multiplicate cu s, toate acestea

72

CAPITOLUL 1. PORT
I LOGICE
Tabelul 1.11
Valorile unor parametrii electrici si geometrici dup
a scalare

M
arimea
Lungimea de canal
L
atimea de canal
Grosimea oxidului de sub
poart
a
Tensiunea de alimentare
Tensiunea de prag
C
ampul electric n oxid
Concentratia de
impurit
ati donoare
Concentratia de
impurit
ati acceptoare
Capacitatea specific
aa
portii
Curentul de dren-surs
a
Densitatea de curent
Puterea disipat
a
Puterea disipat
a/unitate
de arie

Inainte
de
scalare
L
W

Dup
a scalare
Scalare
Scalare la
complet
a
tensiune constant
a
L0 = Ls
L0 = Ls
W 0 = Ls
W = Ls
Dox
s
VDD
s
Vp
s

Dox 0 =

VDD
Vp
E

VDD 0 =
Vp 0 =
E0 = E

ND

ND 0 = N D s

ND 0 = ND s2

NA

NA 0 = N A s

NA 0 = NA s2

Cox

Cox 0 = Cox s

Cox 0 = Cox s

IDS
j
Pd

IDS 0 = IDS
s
j0 = j
Pd 0 = Ps2d

Pd
arie

Pd 0
arie0

Pd
arie

Dox 0 =

Dox
s

Dox

VDD 0 = VDD
Vp 0 = V p
E0 = E s

IDS 0 = IDS s
j 0 = j s3
Pd = P d s

Pd 0
arie0

Pd
= s3 ( arie
)

pentru a mentine c
ampul electric n dispozitiv nemodificat. Acest mod de scalare
apare atractiv din punct de vedere al puterii disipate, Tabelul 1.11, care se reduce de
s2 ori, desi puterea disipat
a pe unitatea de arie nu se modific
a.
Scalarea la tensiune constant
a reduce dimensiunile cu factorul s, m
areste densit
atile de dopare cu s2 , dar tensiunile de alimentare r
am
an nemodificate. Acest tip
de scalare este preferat, uneori, pentru a se putea interfata circuitul scalat cu alte
circuite (anterioare) care nu au fost scalate (se utilizeaz
a aceeasi valoare a tensiunii
de alimentare). Se observ
a c
a puterea disipat
a creste de s ori, puterea disipat
a pe
unitatea de arie de s3 ori, iar densitatea de curent j tot de s3 ori. Cresterea densit
atii de curent pe traseele metalice poate provoca, prin electromigratie, ntreruperea
acestora. Electromigratia metalului este efectul prin care, la densit
ati foarte mari,
ntr-un conductor atomii metalului sunt antrenati n sensul curentului. Prin scalare
la tensiune constant
a n unele puncte ale traseelor metalice pot apare ngust
ari,
unde densitatea de curent dep
aseste 105 A/cm2 (pentru Aluminiu), iar n timp, prin
electromigratie, traseul se subtiaz
a continuu p
an
a se ntrerupe n acele puncte.

1.5.2

Inversorul CMOS

Inversorul bipolar, din Figura 1.21-b, este compus dintr-un element de comutatie,
tranzistorul T, si o rezistent
a de sarcin
a RC . In aceeasi idee, se poate realiza un
circuit inversor la care un tranzistor nMOS este elementul de comutatie, iar sarcina
un tranzistor pMOS. Dar la fel, tranzistorul pMOS poate fi privit ca un element

1.5. PORT
I
IN TEHNOLOGIA CMOS

73

de comutatie ntr-un circuit inversor care are ca sarcin


a tranzistorul nMOS. Aceast
a
structur
a de circuit, format
a din dou
a tranzistoare n si pMOS nseriate n opozitie,
conectate ntre potentialele VDD si VSS , av
and un singur terminal de poart
a, este
referit
a ca inversor Complementar MOS, Figura 1.33-a. Cele dou
a tranzistoare sunt
realizate pe aceeasi plachet
a, Figura 1.35, dar au substraturi diferite, zonele de tip p +
ale tranzistorului pMOS (sursa si drenul) sunt implantate ntr-un substrat de tip n,
care este de fapt o insul
a difuzat
a n substratul de pe plachet
a, iar zonele n+ (sursa
si drenul) ale tranzistorului nMOS sunt implantate n substratul de tip p al plachetei.
Avantajele pe care le prezint
a inversorul CMOS n raport cu alte tipuri de inversoare
sunt:
puterea disipat
a, n regim static, teoretic este zero;
caracteristica de transfer VO = f (VI ) se apropie cel mai mult de caracteristica
ideal
a a unui inversor, Figura 1.14-b, cu tensiunea de prag (logic) de comutatie
la VDD /2, vezi Definitia 1.14.
1.5.2.1

Caracteristica static
a de transfer VO = f (VI )

In opozitie fata
de tranzistorul nMOS (prezentat anterior), care are zonele difuzate
de tip n+ si la care drenul se polarizeaz
a cu o tensiune pozitiv
a fata
de surs
a, iar
tensiunea de deschidere Vpn este pozitiv
a, la tranzistorul pMOS zonele difuzate
sunt de tip p+ , drenul se polarizeaz
a cu tensiune negativ
a fata
de surs
a, iar tensiunea
de deschidere Vpp este negativ
a, Figura 1.33-b. In structura de inversor CMOS prin
conectarea, pentru ambele tranzistoare, a zonelor de surs
a la substraturile corespunz
atoare nu se va lua n considerare efectul de polarizare a substratului, deci se pot
deduce urm
atoarele relatii:
VGSn = VI
VDSn = VO

(1.37)

VGSp = (VDD VI )
VDSp = (VDD VO )

(1.38)

si de asemenea

Caracteristica static
a, Figura 1.33-c, se va analiza pentru variatia tensiunii de
intrare pornind de la VI = VSS = 0V p
an
a la VI = VDD , iar iesirea inversorului se
consider
a n gol, deci pentru curentii celor dou
a tranzistoare exist
a relatia:
IDSn = IDSp

(1.39)

Regimul liniar de functionare este definit de relatiile:


VI > Vpn

si

VI < VDD + Vpp

si

VDSn < VI Vpn pentru nMOS

VDSp > VGSp Vpp pentru pMOS

iar tranzistoarele sunt echivalente unor rezistente.

(1.40)

74

CAPITOLUL 1. PORT
I LOGICE

I DS

V DD

V GSp
G

V DSp
pMOS

D
D

V I=V GSn

nMOS

Vpp

V pn

nMOS

V O=V DSn

V SS

a)

V DD

pMOS

b)
B

VO

V GS

nMOS
pMOS

B Blocat
L Liniar
S Saturat

V O=V IVpp
V O=V IVpn

V DD

c)
V DD

V pp

I DSp

V DD

I DSp

I DSn

VO
V SS

Regiunea A

V pn

I DSn=IDSp

VIL V VIH
T

VDD+Vpp V DD

V DD

I DSp

I DSn

VO
V SS

Regiunea B

VO
V SS

Regiunea C

V DD

V DD

I DSp

I DSn

VI

I DSp

I DSn

VO
V SS

Regiunea D

I DSn

VO
V SS

Regiunea E

d)
Figura 1.33 Inversorul CMOS: a) schema electric
a; b) caracteristicile de comand
a I DS =
f (VGS ) pentru nMOS si pMOS; c) caracterstica static
a VO = f (VI ); d) circuitele echivalente
pentru cele cinci regiuni ale caracteristicii statice.

1.5. PORT
I
IN TEHNOLOGIA CMOS

75

Regimul de functionare n saturatie este definit de relatiile:


VI > Vpn si VDSn VGSn Vpn VO VI Vpn pentru nMOS
VI < VDD + Vpp si VDSp VGSp Vpp VO VI Vpp pentru pMOS

(1.41)

iar tranzistoarele sunt echivalente unor generatoare de curent.


In caracteristica static
a de transfer VO = f (VI ), n functie de regimul de functionare al fiec
aruia din tranzistoarele nMOS si pMOS se disting cinci regiuni de functionare
( A , B , C , D , E ) pentru inversor. Pe aceast
a caracteristic
a se pot calcula
valorile tensiunii de intrare n stare L, VIL , si de intrare n starea H, VIH .
Regiunea A . 0 VI < Vpn deci nMOS este blocat, IDSn = 0 si este echivalent
unui contact deschis. Tranzistorul pMOS are VGSp < V pp si este n regiunea liniar
a
cu IDSp = 0, conform relatiei 1.39. Fiind n regiunea liniar
a cu IDSp = 0 rezult
a c
a
si VDSp = 0 ceea ce din relatia a doua 1.38 determin
a tensiunea de iesire n stare H:
VO = VOH = VDD

(1.42)

a n saturatie,
Regiunea B . VI Vpn , VDSn VDD > VI Vpn deci nMOS intr
iar pMOS continu
a n regimul liniar. In caracteristica de transfer VO = f (VI ) tensiunea ncepe s
a scad
a si, prin definitie, c
and panta caracteristicii de transfer este
egal
a cu 1 (dVO /dVI = 1), se consider
a pentru tensiunea de intrare VI = VIL .
Introduc
and n relatia 1.39 pentru nMOS exprimarea de regim de saturatie relatia
1.36, iar pentru pMOS exprimarea de regim liniar se obtine:

p 
n
(VI Vpn )2 =
2 ((VI VDD ) VP P ) (VO VDD ) (VO VDD )2
2
2

(1.43)

Din aceast
a expresie, prin derivarea lui VO n raport cu VI si apoi efectuarea
substituirilor dVO /dVI = 1, VI = VIL , se obtine expresia pentru VIL :
VIL =

2VO + Vpp VDD +


1+

n
p

n
p Vpn

(1.44)

Prin rezolavarea ecuatiilor 1.44 si 1.43 se obtine valoarea lui V O pentru VIL n
punctul caracteristicii cu panta -1.
Regiunea C . Tranzistorul nMOS r
am
ane n saturatie si dup
a punctul de intersectie al caracteristicii VO = f (VI ) cu dreapta VO = VI Vpp c
and intr
a n saturatie
si tranzistorul pMOS, VO VI Vpp (relatia 1.41). Teoretic, n aceast
a regiune caracteristica ar trebui s
a fie vertical
a, dar pentru c
a tranzistoarele n saturatie nu sunt
generatoare de curent ideale, IDS(sat) are o mic
a crestere cu VDS , aceast
a caracteristica are o mic
a abatere de la o pant
a infinit
a. In aceast
a regiune pentru variatii mici
VI se obtin variatii mari VO , exist
a un punct c
and tensiunea VI care creste devine
egal
a cu tensiunea VO care descreste si corespunde punctului (N ) de intersectie al
caracteristicii cu prima bisectoare (vezi si Figura 1.14-b).
Definitia 1.14 Pragul (logic) de comutatie VT al unei porti este aceea
valoare a tensiunii de intrare care produce la iesire o tensiune de valoare egal
a, adic
a

76

CAPITOLUL 1. PORT
I LOGICE

VT = V I = V O . 

Prin introducerea expresiilor curentilor de saturatie n relatia 1.39 se obtine:


p
n
(VI Vpn )2 =
[(VI VDD ) Vpp ]2
2
2

(1.45)

si prin substitutia VI = VT rezult


a

VT =

Vpn +

p
n (VDD

1+

+ Vpp )

p
n

(1.46)

Regiunea D . C
and caracteristica de iesire intersecteaz
a dreapta VO = VI Vpn ,
sub care VO < VI Vpn , tranzistorul nMOS intr
a n zona liniar
a de functionare, iar
pMOS r
am
ane n saturatie. In caracteristica de transfer tensiunea VOncepe s
a nu mai
O
descreasc
a puternic si, prin definitie, c
and panta are valoarea dV
=
1,
se
consider
a
dVI
pentru tensiunea de intrare VI = VIH . In mod asem
an
ator, ca n regiunea B , si
aici, egal
and expresia curentului de saturatie prin canalul p cu expresia n regim liniar
din canalul n se obtine:
 p
n 
2
[(VI VDD ) Vpp ]
2(VI Vpn )Vo Vo2 =
2
2

(1.47)

n care substituind VI = VIH si dVO /dVI = 1 rezult


a expresia pentru VIH :
VIH =

n
p (2VO
+ np

VDD + Vpp +
1

+ Vpn )

(1.48)

Prin rezolvarea sistemului de ecuatii 1.47 si 1.48 se obtin valorile pentru V IH si


VO n punctul caracteristicii cu panta -1.
Regiunea E . VI VDD Vpp deci pMOS este blocat, IDSn = 0 si este echivalent
unui contact deschis. Tranzistorul nMOS are VGS > Vpn si este n regiunea liniar
a cu
IDSn = 0, conform relatiei 1.39. Fiind n regiunea liniar
a cu IDSn = 0 rezult
a c
a si
VDSn = 0 adic
a:
VO = VOL = 0
(1.49)
1.5.2.2

Proiectarea inversorului CMOS

Proiectarea, sau sinteza, unui inversor CMOS const


a n determinarea dimensiunilor geometrice ale canalelor (W/L)n , (W/L)p necesare realiz
arii layoutului, pornind
de la parametrii caracteristici de proces (Vpn , Vpp , Dox , Cox etc.), astfel nc
at s
a
se obtin
a o caracteristic
a de transfer VO = f (VI ) si anumite performante dinamice
cerute. Poate fi parcurs si traseul invers, adic
a analiza, pentru un inversor deja realizat, ntr-un anumit proces si cu un anumit layout, s
a se determine caractersitica
de proces si performantele dinamice (eventual acestea s
a fie comparate cu valorile
obtinute experimental).

1.5. PORT
I
IN TEHNOLOGIA CMOS

77

Fiind date VDD , Vpn si Vpp si impus


a o anumit
a valoare a tensiunii de prag de
comutatie VT din relatia 1.46 se deduce expresia pentru raportul n /p :
n
=
p

VDD + Vpp VT
VT Vpn

2

(1.50)

Consider
and c
a inversorul este ideal, adic
a are tensiunea de prag logic de comutatie
la jum
atatea tensiunii de alimentare, ca n Figura 1.33-c,
VTideal =
se obtine:

n
p

=
ideal

1
VDD
2

(1.51)

0, 5VDD + Vpp
0, 5VDD Vpn

2

(1.52)

Caracteristica static
a VO = f (VI ) poate fi simetric
a dac
a tensiunile de prag ale
tranzistoarelor sunt egale n valoare absolut
a Vpn = |Vpp |. Astfel din relatia 1.52 se
obtine valoarea raportului n /p pentru inversorul ideal si cu o caracteristic
a simetric
a:
n
=1
(1.53)
p
Expresia explicit
a a raportului n /p este :

n Cox W
n
n
L n
 =
=
p
p Cox W
p
L p

W
L n

W
L p

(1.54)

n care s-a considerat c


a grosimea stratului de oxid de sub poart
a Dox , n consecinta

si Cox = ox /Dox , au aceleasi valori pentru ambele tranzistoare. Mobilitatea purt


atorilor, mai mare cam de dou
a ori a electronilor fata
de cea a golurilor, scade odat
a cu
doparea cu impurit
ati a substratului si cu cresterea temperaturii. Lu
and valori tipice
pentru mobilit
ati n = 580cm2/V s, p = 230cm2/V s si introduse n raportul
unitar din relatia 1.54 se obtine:

W

230cm2 /V s
L n
 = p =
(1.55)
W
n
580cm2 /V s
L p
Rezult
a relatia cantitativ
a ntre coeficientii de form
a ai celor dou
a canale:
 
 
W
W
2, 5
(1.56)
L p
L n
iar n cazul c
and se realizeaz
a aceeasi lungime pentru ambele canale, L n = Lp , rezult
a
relatia ntre l
atimea canalelor Wp = 2, 5Wn .
Din relatia 1.50 se observ
a c
a exist
a o dependenta
ntre raportul n /p si valoarea
tensiunii de prag logic de comutatie a inversorului. Pentru a obtine caracteristici
statice cu prag de comutatie VT mai ridicat trebuie micsorat
a l
atimea Wn a canalului
n n raport cu l
atimea Wp a canalului p (consider
and c
a lungimile de canal r
am
an
neschimbate), Figura 1.34.

78

CAPITOLUL 1. PORT
I LOGICE

[V]
6

VO
V DD =5V, V pn=1V, V pp=1V
n / p =0,25

n / p =1

n / p =4

3
2,5

V T1=2V

V T2=2.5V
V T3=3V

VI

45
0

2 2,5 3

6 [V]

Figura 1.34 Dependenta tensiunii de prag (logic) de comutatie a inversorului n


functie de valoarea raportului n /p .

Pentru inversorul ideal si caracteristica simetric


a (n /p = 1, Vpn = |Vpp |) din
relatia 1.44 se obtine expresia pentru VIL :
VIL =

1
(3VDD 2Vpn )
8

(1.57)

iar din relatia 1.49 relatia pentru VIH :


VIH =

1
(5VDD 2Vpn )
8

(1.58)

iar suma lor rezult


a
VIH + VIL = VDD

(1.59)

deci ntr-un inversor simetric suma VIH + VIL este constant


a.
Se pot calcula marginile de zgomot n curent continuu ML , MH :
ML
MH

= VIL VOL

= VOH VIH = VDD VIH

(1.60)

care sunt egale :


MH = ML = VIL

(1.61)

Exemplul 1.15 Pentru inversorul CMOS realizat cu urmatorii parametrii: VDD = 5V ,


Vpn = 1V , Vpp = 1, 2V , n = 100A/V 2 , p = 40A/V 2 s
a se calculeze valorile pentru
marginile de zgomot n curent continuu MH , ML .
Solutie. Problema nu este de sintez
a ci este de analiz
a. Se observ
a c
a nu este un inversor
simetric Vpn 6= |Vpp |; n /p = 2, 5.

1.5. PORT
I
IN TEHNOLOGIA CMOS

79

Valorile pentru VOL = 0V , VOH = VDD = 5V rezult


a din relatiile 1.42 si 1.49, iar cele
pentru VIL si VIH se calculeaz
a n felul urm
ator: din relatia 1.44 rezult
a VIL
VIL = 0, 57VO 1, 06
prin introducerea expresiei lui VIL n relatia 1.43 se obtine:
2, 5(0, 57VO 1, 06 1)2 = 2(0, 57VO 1, 06 5 + 1, 2)(VO 5) (VO 5)2
0, 66VO2 0, 46VO 13 = 0

Numai solutia pozitiv


a a ecuatiei corespunde fizic problemei (VO > 0) VO = 4, 8V cu care se
calculeaz
a VIL = 0, 57VO 1, 06 = 1, 68V .
Din relatia 1.49 rezult
a VIH
VIH = 1, 43VO + 1, 8
prin introducerea expresiei VIH n relatia 1.47 se obtine:

(1, 43VO 2)2 = 2, 5 2(1, 43VO + 1, 8 1)VO VO2


2, 61VO2 + 9, 72VO 4 = 0

La fel, numai solutia pozitiv


a a ecuatiei corespunde fizic problemei VO = 0, 37V cu care se
calculeaz
a VIH = 1, 43 0, 37 + 1, 8 = 2, 33V .
S
i ia n final :
ML = VIL VOL = 1, 68 0 = 1, 68V
MH = VOH VIH = 5 2, 33 = 2, 67V

Pe intervalul Vpn VI VDD + Vpp se observ


a din Figura 1.33-c c
a ambele
tranzistoare conduc, deci exist
a un curent de scurtcircuit ntre VDD si VSS . Durata
acestor impulsuri de curent de scurtcircuit, curba IDSn = IDSp trasat
a punctat n
Figura 1.33-c, depinde de durata de excursie a tensiunii de intrare n sens cresc
ator
ntre valorile Vpn si VDD + Vpp si n sens descresc
ator. Durata de excursie este cu at
at
mai scurt
a cu c
at panta fronturilor semnalelor de comand
a, aplicate pe poart
a, este
mai mare.
Puterea disipat
a Pd la inversorul CMOS are cele trei componente explicate n
sectiunea 1.3.
Pd = Pdcc + Pdca = Pdcc + Pdsc + Pdc
(1.62)
In regim static, regiunile A si E din caracteristica static
a, Figura 1.33-c,
teoretic, puterea disipat
a Pdcc este zero, deoarece fie tranzistorul nMOS, fie pMOS
sunt blocate, deci IDSn = IDSp = 0. In realitate exist
a o putere disipat
a de valoare
redus
a datorit
a unui curent rezidual IDS (= IDDQ ) care are dou
a cauze. Prima, c
and
VGS < |Vp | exist
a un curent n canal de ordinul A datorit
a conductiei de sub prag
Iof f . A doua, prin jonctiunile polarizate invers, formate ntre zonele difuzate n+ si
substratul de tip p la nMOS si zonele difuzate p+ si substratul de tip n la pMOS,
exist
a un curent de conductie spre substrat. Acest curent rezidual, notat prin IDDQ curentul ntre VDD si VSS n regim stationar, poate fi utilizat pentru o prim
a metod
a
simpl
a de testare a unui circuit integrat CMOS. Valoarea normal
a a lui IDDQ se poate
estima sau se poate m
asura la un circuit (verificat) care are o functionare normal
a.

80

CAPITOLUL 1. PORT
I LOGICE

Dac
a la un circuit prin m
asurare se determin
a, n regim stationar, pentru curentul
absorbit de la sursa de alimentare o valoare mai mare dec
at cea normal
a a lui I DDQ
atunci acel circuit prezint
a o cale de scurtcircuit de la VDD la VSS , deci este defect.
Puterea disipat
a n regim dinamic Pdca apare pe durata c
and inversorul are punctul de functionare n regiunile B , C , D , Figura 1.33-c, ca o putere de scurtcircuit
Pdsc si ca o putere consumat
a pentru nc
arcarea si desc
arcarea condensatoarelor interne si de sarcin
a, Pdc . Intr-o schem
a echivalent
a, similar
a celei din Figura 1.18,
toate capacit
atile sunt incluse ntr-o singur
a capacitate de sarcin
a C L conectat
a la
iesire, iar puterea disipat
a pe aceast
a capacitate echivalent
a, conform relatiei 1.24,
este egal
a cu :
2
Pdca = CL VDD
f

(1.63-a)

Reducerea puterii disipate se poate realiza prin reducerea oric


aruia din factorii
produsului din relatia 1.63-a. Cea mai indicat
a modalitate de reducere a puterii este
prin scalare complet
a, Tabelul 1.11 (actual, s-a ajuns la tensiuni de alimentare de
VDD = 0, 8V ).
Puterea disipat
a de scurtcircuit Pdsc , apare, ca si Pdc , pe durata tranzitiilor de la
H L si LH c
and VDD este scurtcircuitat
a la VSS . Reducerea valorii medii a puterii
Pdsc se poate obtine prin comanda inversorului cu semnale cu fronturi bine formate
(abrupte). Aceast
a component
a Pdsc de putere disipat
a este greu de calculat, practic
se estimeaz
a ca un procent din Pdc (uzual < 0, 2Pdc), n consecinta
se consider
a c
a
puterea total
a disipat
a n regim dinamic este Pdca 1, 2Pdc .
O relatie utilizat
a cu succes n evaluarea puterii disipate Pd este:
2
Pd = CL VDD
f + Iof f VDD

(1.63-b)

care tine cont si de componenta de putere disipat


a n curent continuu produs
a de
curentul de subprag Pdcc = Iof f VDD ; la dimensiuni sub 0, 1m si VDD < 1, 8V
curentul Iof f are o crestere pronuntat
a. - este coeficientul (mediu) al activit
atii de
comutatie (procentajul de timp n care dispozitivul este n functiune).
Micsorarea frecventei nu este o cale de reducere a puterii disipate deoarece se opune tendintei de crestere a vitezei sistemelor. Dar printr-o analiz
a a sistemului se
pot identifica anumite componente care pot functiona si la frecvente mai mici dec
at
frecventa maxim
a f
ar
a a reduce din performantele de vitez
a ale sistemului. In plus,
uneori, chiar componentele care functioneaz
a la frecvente ridicate pot fi oprite pe
anumite intervale de timp (1 ).
1.5.2.3

Tehnologia de fabricatie a inversorului CMOS

Tehnologia de fabricatie a inversorului CMOS, pentru explicatie, poate fi considerat


a o extensie a tehnologiei de realizare a tranzistorului MOS, Figura 1.31. Dificultatea care apare acum const
a n faptul c
a, de data aceasta, cele dou
a tranzistoare
complementare nMOS si pMOS ar trebui implementate n acelasi substrat. Solutia
pentru aceast
a incompatibilitate, de realizare n acelasi substrat, este difuzarea n
substratul initial a unei insule (well) care va constitui un al doilea substrat si astfel
unul din tranzistoare se implementeaz
a n substratul initial, iar cel
alalt n al doilea
substrat (insul
a). Dac
a substratul initial este de tip p se difuzeaz
a o zon
a (insul
a)

1.5. PORT
I
IN TEHNOLOGIA CMOS

81
intrare

a)

}~}~
}~



}~}~
}~

tstststs
tsts
tsts
ts

Sectiune AA

b)

n+





V DD

p+

PMOS






|{ |{ |{ |{
|{ |{ |{ |{
|{ |{ |{ |{
|{ |{ xwxw |{ xwxw |{
|{ |{ xw |{ xw |{
|{ |{ |{ |{
|{ |{ |{ |{

tsts stst stts tsts


tsts stst tsts tsts
tsts stst tsts tsts
tsts stst tsts tsts
tsts stst tsts tsts
tsts stst tsts tsts
ts ts st ts

V DD

tsts

tsts

n+

p+

NMOS

Intrare (polisiliciu)

p+

substrat n

contact
metalic
V DD

iesire

{| |{ {|
|{ |{ |{
|{ |{ |{
xwxw |{ xwxw |{ xwxw |{
xw |{ xw |{ xw |{
|{ |{ |{
|{ |{ |{

insula difuzata

p+

V SS

|{ vuvu vuvu vuvu vuvu vuvu


|{ vuvu vuvu vuvu vuvu vuvu
|{ vuvu vuvu vuvu vuvu vuvu
|{ vuvu vuvu vuvu vuvu vuvu
|{ vuvu vuvu vuvu vuvu vuvu
|{ vuvu vuvu vuvu vuvu vuvu
|{ vu vu vu vu vu

Iesire

n+

{| |{ |{
|{ |{ {|
|{ |{ |{
xwxw |{ xwxw |{ |{
xw |{ xw |{ |{
|{ |{ |{
|{ |{ |{

Intrare
(polisiliciu)

iesire n+
trasee metalice

n+

p+

substrat p
V SS

contact
substrat
V SS

n+

zz
yzy
y

p+

Figura 1.35 Inversorul CMOS: a) schema electric


a; b) layout-ul pe substratul de Si si
sectiunea vertical
a AA n substrat (tranzistorul pMOS este realizat n substratul (insula) de
tip n).

de tip n n care va fi implementat tranzistorul pMOS, ca n Figura 1.35-b, iar dac


a
substratul initial este de tip n se difuzeaz
a o zon
a de tip p n care va fi implementat
tranzistorul nMOS.
Dup
a realizarea insulei de substrat, etapele de fabricare a fiec
arui tranzistor sunt
cele descrise n sectiunea Tehnologia de fabricatie a tranzistorului MOS (1.5.1.1) cu
diferenta c
a atunci c
and se difuzeaz
a sursa si drenul tranzistorului nMOS se difuzeaz
a
si o zon
a n+ de contact VDD n fereastra pentru tranzistorul pMOS. Iar atunci c
and
se difuzeaz
a sursa si drenul tranzistorului pMOS se difuzeaz
a n plus si o zon
a p + de
contact VSS n fereastra pentru tranzistorului nMOS. Aceste difuzii de contact (cu
VSS la tranzistorul nMOS si cu VDD la tranzistorul pMOS) nu formeaz
a o jonctiune
cu substratul respectiv, de aceeasi conductivitate, ci un contact ohmic. Apoi, pe
deasupra stratului gros de oxid de c
amp se realizeaz
a prin trasee metalice conexiunile
ntre :
1- zona de dren nMOS cu zona de dren pMOS care constituie iesirea inversorului;
2- sursa nMOS cu zona p+ de contact VSS si mpreun
a la trasa pentru potentialul
VSS ;

82

CAPITOLUL 1. PORT
I LOGICE

3- sursa pMOS cu zona n+ de contact VDD si mpreun


a la trasa pentru potentialul
VDD .
De asemenea, nainte de difuziile de dren si surs
a de tip n+ si de tip p+ , pentru
cele dou
a tranzistoare, se realizeaz
a din polisiliciu traseul pentru poarta comun
a a
inversorului care va constitui intrarea.
Problema pe care o are proiectantul n siliciu este de a transforma schema electric
a
a circuitului n layout. Dar cum se poate face simplu aceast
a trecere? Liniile ntre
terminalele tranzistoarelor de pe schema electric
a vor reprezenta trasee metalice pe
layout, aceste trasee metalice au contacte metalizate la cele dou
a capete ca terminale.
La dou
a linii de conexiune n desenul electric, care nu trebuie s
a se intersecteze, le
corespund dou
a trasee, n planuri diferite, de metalizare.
C n+

V DD
Gp
Intrare

Iesire

D
Gn
V SS
a)

Gp

D
D

D
Gn

S
Cp+

Gp









b)

Poarta

Dren

V SS
e)

Gn

V SS

V DD

Contact la
substart
V DD

Gp

Intrare

Contact la
substart
V SS

Iesire

Gn

V SS

Cp+

d)

Poarta

Sursa

Iesire

nMOS















C n+

V DD

Dren

Intrare

V DD
S

c)

V DD

pMOS

Poarta

Sursa

Dren

pMOS

Sursa

Intrare

Iesire

Sursa

nMOS

Poarta

Dren

V SS
f)

Figura 1.36 Succesiunea etapelor de transformare a schemei electrice n layout


pentru un inversor CMOS

1.5. PORT
I
IN TEHNOLOGIA CMOS

83

Un exemplu simplu de trecere de la schema electric


a la layout este dat n Figura
1.36 pentru un inversor CMOS. Linia de conexiune ntre terminalele de dren ale
canalelor n si p de pe schema electric
a, Figura 1.36-a, este substituit
a cu o tras
a
metalic
a pe suprafata superioar
a a oxidului de c
amp evident, cu contacte la cele dou
a
capete (p
atratele nnegrite de la capetele trasei metalice), Figura 1.36-b. La fel, conexiunea zonelor de surs
a la liniile de VSS si VDD se realizeaz
a prin trase metalice, n
acelasi timp se conecteaz
a si contactele de substrat p+ si n+ respectiv la trasele VSS si
VDD , Figura 1.36-c. Si n final, conexiunea comun
a de poart
a este substituit
a cu trasa
de siliciu policristalin, Figura 1.36-d. Layout-ul este complet dac
a si simbolurile de
tranzistoare sunt substituite cu geometria acestora pe siliciu, Figura 1.36-e si 1.36-f
(s-au realizat dou
a variante de layout pentru tranzistoarele inversorului CMOS). Pentru circuite mai complexe exist
a reguli de trecere care genereaz
a p
arti de layout cu un
grad mare de repetabilitate (repetabilitatea este o caracteristic
a dorit
a n obtinerea
unui layout deoarece determin
a un cost mai sc
azut si poate duce la un circuit cu
fiabilitate mai ridicat
a).
1.5.2.4

Regimul dinamic al inversorului

Pe l
ang
a nivelurile de tensiune, definite n regimul static pe caracteristica
VO = f (VI ), n practica sistemelor digitale sunt necesari si parametrii de timp definiti
n regimul dinamic. Parametrii de timp pentru semnalul de iesire: timpul de crestere
LH si timpul de de descrestere HL sunt definiti ca n Figura 1.15-a, iar timpul de
propagare H L, pHL , si timpul de propagare L H, pHL , sunt definiti ca n
Figura 1.15-b. Timpul de propagare pe un nivel inversor se calculeaz
a cu relatia
1.20, p = (pHL + p LH )/2.
Se consider
a dou
a inversoare CMOS nseriate cu reprezentarea tuturor capacit
atilor parazite ale fiec
arui tranzistor, Figura 1.37-a. In aceast
a reprezentare CGD si
CGS sunt capacit
atile gril
a-dren si gril
a-surs
a datorate suprapunerii partiale a trasei
de gril
a peste zonele difuzate dren si surs
a, CDB si CSB sunt capacit
atile dependente
de tensiune ale jonctiunilor dren-substrat si surs
a substrat, CGB capacitatea gril
asubstrat este capacitatea stratului de oxid de sub poarta fiec
arui tranzistor, iar C cox
este capacitatea datorit
a conexiunilor (traselor) n polisiliciu sau metalice ntre iesirea
primului inversor si intrarea urm
atorului inversor. Calculul tensiunii de iesire vO ,
lu
and n considerare toate aceste capacit
ati, devine foarte complicat chiar si pentru un
circuit simplu. De foarte multe ori, n practic
a, pentru simplificarea calculului, toate
aceste capacit
ati sunt nglobate ntr-o singur
a capacitate echivalent
a C L , considerat
a
ca o capacitate de sarcin
a, conectat
a la iesirea inversorului, Figura 1.37-b, conform
relatiei:
(1.64)
CL = CGDn + CGDp + CDBn + CDBp + Ccox + CGB
In capacitatea de sarcin
a echivalent
a CL nu sunt incluse CSBn si CSBp deoarece
ambele surse sunt conectate la substraturile corespunz
atoare deci nu au un efect
n regim dinamic. De asemenea, nu sunt incluse n CL capacit
atile CGSn si CGSp
deoarece acestea sunt conectate ntre nodul de intrare si mas
a respectiv ntre nodul
de intrare si VDD .
Studiul regimului dinamic se face pe circuitul echivalent din Figura 1.37-b aplic
and
la intrare un semnal cu variatia dreptunghiular
a vI si determin
and variatia n timp a
tensiunii de iesire vO . Pentru variatia 0 1 la intrare, condensatorul CL nc
arcat la

84

CAPITOLUL 1. PORT
I LOGICE

V DD

pMOS

nMOS

D
vI

V DD

C SBp

C GSp

C DBp
C DBn

C GDp
C GDn

vO

iDp vO

vI
vI

pMOS

iC

iDn

S
C GSn

C COX

C SBn

a)

nMOS

C GB

CL

b)

Figura 1.37
Inserierea a dou
a inversoare CMOS: a) reprezentarea capacit
atilor interne
(parazite) pentru un inversor; b) schem
a echivalent
a simplificat
a.

tensiunea VDD se va desc


arca prin tranzistorul nMOS (pMOS este blocat), tensiunea
vO av
and o variatie exponential
a de la VOH la VOL . Din variatia n timp a tensiunii
vO se pot determina parametrii de timp HL si pHL . Iar pentru variatia 1 0 la
intrare, CL se ncarc
a p
an
a la tensiunea VDD prin tranzistorul pMOS (nMOS este
blocat), tensiunea vO av
and o variatie exponential
a de la VOL la VOH ; din variatia n
timp a tensiunii vO se pot determina parametrii de timp LH si pLH . Pentru calculul
acestor parametri de timp se vor expune succint urm
atoarele patru metode:
1- Simulare n SPICE;
2- Metoda curentului constant;
3- Metoda analitic
a;
4- Metoda empiric
a.
1. Simularea n SPICE (NIVEL2 si NIVEL3, vezi 1.5.1.2 si exemplul de simulare, ANEXA A din vol. II) se poate face pe baza circuitului din Figura 1.37-a, cu
luarea n considerare a tuturor efectelor de ordinul al doilea n modelul matematic
IDS = f (VDS , VGS ) al tranzistorului si a parametrilor de proces, n consecinta
valorile
obtinute pentru parametrii de timp au abateri minime fata
de cele reale. In practic
a,
de multe ori, pentru determin
ari f
ar
a precizie ridicat
a, dar efectuate simplu si rapid,
sunt utilizate una din celelalte (urm
atoare) trei metode.
2. Metoda curentului constant. Aceast
a metod
a, dup
a cum si denumirea indic
a,
consider
a valori constante pentru curentul de nc
arcare si desc
arcare ale condensatorului CL , aproximate prin valori medii ImHL si ImLH . In consecinta
, cu aceste valori
medii, se pot calcula simplu parametrii pHL si pLH n felul urm
ator:
pHL =

CL VHL
CL (VOH V50% )
=
ImHL
ImHL

(1.65)

1.5. PORT
I
IN TEHNOLOGIA CMOS

85

CL VLH
CL (V50% VOL )
=
(1.66)
ImLH
ImLH
Iar valorile ImHL si ImLH se calculeaz
a ca medie aritmetic
a ale curentilor prin tranzistoarele nMOS respectiv pMOS n punctele de nceput si de sf
arsit ale tranzitiei:
pLH =

1
[iC (pentru vI = VOH , vO = VOH ) + iC (pentru vI = VOH , vO = V50% )]
2
(1.67)
1
ImLH = [iC (pentru vI = VOL , vO = V50% ) + iC (pentru vI = VOL , vO = VOL )]
2
(1.68)
3. Metoda analitic
a. Variatia tensiunii vO n timp poate fi determinat
a prin
rezolvarea ecuatiei de stare pentru nodul de iesire al circuitului din Figura 1.37-b
ImHL =

CL

dvO
= i C = i Dp i Dn
dt

(1.69)

n care pentru iDp si iDn sunt considerate exprim


arile date prin relatiile 1.33 si 1.36.
La excursia H L a tensiunii de iesire (pMOS este blocat) tranzistorul nMOS la
nceput este n regimul de saturatie, iar c
and vO VDD V pn trece n regimul liniar.
Pentru excursia L H a tensiunii de iesire (nMOS este blocat) tranzistorul pMOS
la nceput este n regim de saturatie si apoi c
and vO VDD + Vpp trece si n regimul
liniar. In rezolvarea ecuatiei 1.69 se jonctioneaz
a intervalul de timp c
and tranzistorul
este n regim liniar de functionare, se utilizeaz
a relatia 1.33, cu intervalul de timp
c
and tranzistorul este n regimul de saturatie, se utilizeaz
a relatia 1.36. Se obtin
urm
atoarele expresii pentru HL si LH [Weste 0 92].
HL

CL
K

VDD n

(1.70)

LH

K
CL

VDD p

(1.71)

n care K = 3 4 pentru VDD = 3 5V , si Vpn si |Vpn | au valori ntre (0, 5 1)V .


Pentru
un inversor la care factorii de form
a ai celor dou
a tranzistoare sunt egali

W
W
a din relatia 1.54 c
a n = 2p , pentru c
a n = 2p ) se obtine
L n =
L p (rezult
din 1.70 si 1.71 o relatie uzual
a cunoscut
a n practica proiect
arii:
HL =

LH
2

(1.72)

adic
a n semnalul de iesire vO (t) tranzitiile nu sunt egale, durata tranzitiei de la
L H este aproximativ de dou
a ori mai lung
a dec
at durata tranzitiei de la H L.
Pentru obtinerea unui semnal de iesire cu tranzitii H L si L H simetrice, la
iesirea inversorului, trebuie ca n /p = 1 ceea ce implic
a, pentru lungimi egale de
canal, s
a se realizeze canalul p cu o l
atime cam de dou
a p
an
a la trei ori mai mare
dec
at l
atimea canalului n (n 2p ).
Wp (2 3)Wn

(1.73)

4. Metoda empiric
a. Prin simulare n SPICE, pentru o variant
a de inversor, se
determin
a valoarea exact
a a constantei K din relatiile 1.70 si 1.71. Apoi utiliz
and

86

CAPITOLUL 1. PORT
I LOGICE

aceast
a valoare determinat
a pentru K, pentru alte variante de inversor, realizate n
aceeasi tehnologie, se calculeaz
a HL si LH cu relatiile 1.70 si 1.71.
Exemplul 1.16 Pentru o turnatorie de siliciu care are un proces cu urmatorii parametrii: n Cox = 30A/V 2 , p Cox = 10A/V 2 , L = 1m at
at pentru canal n c
at si pentru
canal p, Vpn = 1, 0V , Vpp = 1, 5V , Wmin = 2m s
a se dimensioneze un inversor CMOS,
l
atimile de canal Wn si Wp , nc
at s
a se obtin
a urm
atoarele caracteristici:
1. VT = 2V pentru VDD = 5V ;
2. Durata timpului de c
adere HL s
a fie de 2ns c
and tensiunea vO are variatia de la 4V
la 1V .
Solutie. Consider
and saltul n vI instantaneu de la 0 la 5V rezult
a c
a atunci c
and
vO = 4V tranzistorul nMOS trece din regimul de saturatie n regimul liniar (VDS = 4V
VGS VP = 5V 1V = 4V ) deci n ecuatia 1.69 se introduce exprimarea din relatia 1.33:
CL

1
Wn
dvO
2
2(VOH Vpn )vO vO
= n Cox
dt
2
Ln

iar prin integrare se obtine


HL

=
=

2 1016 = 2C

vO =1

vO =4

1 1012
n
30 1016 W
4
Ln

n Cox

Wn
Ln

dvO
=
2
[2(VOH Vpn )vO vO
]

din care se obtine pentru canalul n

Wn
= 8, 1
Ln
si pentru Ln = 1m rezult
a Wn = 8, 1m
Conditia impus
a VT = 2V ne ajut
a s
a obtinem dimensiunea inversorului. Conform
relatiei 1.46 se poate scrie:
q
2=

Vpn +

p
(VDD
n

1+
iar raportul n /p se obtine ca fiind

+ Vpp )

p
n

n
n Cox W
n
9
Ln
=
=
Wp
p
4
p Cox Lp

rezult
a l
atimea Wp (pt Lp = 1)
Wp =

n W n
4
p
3

= 8, 1 = 10, 8m
n
p
9
1

Deci inversorul cu dimensiunile L = 1m, Wn = 8, 1m si Wp = 10, 8m satisface


conditiile impuse.

Exemplul 1.17 Pentru un oscilator n inel sa se determine frecventa de oscilatie.


Solutie. Un oscilator n inel, dup
a cum si denumirea indic
a, se obtine prin conectarea n
inel a unui num
ar n impar de inversoare. Inchiderea buclei peste un singur inversor vI = vO
determin
a o instabilitate deoarece av
and variatii permanent opuse se comand
a ca intrarea

1.5. PORT
I
IN TEHNOLOGIA CMOS

87

s
a se modifice din 1 0 si invers, la fel si iesirea din 0 1 si invers. Singurul punct de
functionare c
and vI = vO , este la tensiunea de prag de comutatie a inversorului VT , dar
dup
a cum s-a v
azut din Figura 1.33-c acesta nu este un punct stabil de functionare. Acelasi
rationament se poate extinde c
and sunt cuprinse n bucl
a un num
ar impar de inversoare,
Figura 1.38-a. Consider
and inversoarele identice cu HL = LH si pHL = pLH = p variatiile
tensiunilor vO1 , vO2 si vO3 sunt reprezentate n Figura 1.38-b. Perioada T a oscilatiilor se
poate calcula simplu :
T = pHL1 + pLH1 + pHL2 + pLH2 + pHL3 pLH3 = 2p + 2p + 2p = 6p
iar frecventa oscilatiilor rezult
a (pentru un num
ar n de inversoare)

vO1

vO2

2
C L1

vO
V OH

vO2

vO1

vO3

C L2

vO3

vO2

C L3
vO1

vO3
V 50%
t

V OL
pLH2 pLH3 pHL1 pHL2 pHL3 pLH1

Figura 1.38 Oscilatorul n inel: a) structur


a cu trei inversoare; b) formele de variatie ale
tensiunilor vO1 , vO2 , vO3

f =

1
1
=
T
2np

(1.74)

Aceast
a relatie poate fi utilizat
a pentru determinarea timpului de propagare p pentru un
inversor. In tehnologia respectiv
a, pe o plachet
a se realizeaz
a pentru test un num
ar impar
de inversoare, n general un num
ar mai mare de trei, care se conecteaz
a n inel. In urma
m
asur
arii frecventei de oscilatie se poate determina, cu relatia 1.74, timpul de propagare.
Pentru tehnologia respectiv
a, apoi, se poate exprima timpul de propagare al circuitelor mai
complexe ca multiplii de p (vezi metoda efortului logic).

1.5.3

Familia de porti logice CMOS

Circuitul inversor CMOS, ca si inversorul bipolar pentru portile TTL, este celula
de baz
a n structurarea portilor CMOS; portile CMOS pot fi obtinute prin extensia

88

CAPITOLUL 1. PORT
I LOGICE

circuitului inversor, respectiv portile CMOS pot fi reduse la o structur


a echivalent
a
de inversor.
Inversorul CMOS prin cele dou
a canale n si p are o complementaritate n modul
de a fi comandat, o comand
a de 1 logic pentru canalul n este o comand
a de 0 logic
pentru canalul p si invers, ceea ce permite ca ramura p a inversorului s
a fie privit
a ca
duala ramurii n si reciproc. Dar, realiz
and conexiuni (retele) care pot fi serie, paralel,
serie-paralel si paralel-serie cu ramuri de tip n n conceptul dualit
atii nseamn
a c
a
reteaua corespunz
atoare format
a din ramuri p trebuie s
a fie respectiv paralel, serie,
paralel-serie si serie-paralel. Duala unei relatii logice se obtine conform relatiei 1.2,
iar pentru axiomele si teoremele algebrei booleene formele duale sunt prezentate n
Tabelul 1.2 (duala lui AND este OR si invers).
Mai multe tranzistoare n conductie, fie cu canal n fie cu canal p, toate av
and
aceeasi tensiune de prag si neglij
and efectul de polarizare a substratului, c
and sunt
ntr-o retea, conectate n paralel sau n serie, pot fi substituite cu un singur tranzistor echivalent n conductie. Deoarece conductanta canalului este proportional
a cu
coeficientul de form
a al tranzistorului W/L, dimensiunile canalului tranzistorului
echivalent al retelei se calculeaz
a cu relatii similare conect
arii n serie sau n paralel a conductantelor. Astfel, coeficientul de form
a al tranzistorului echivalent pentru
conectarea a k tranzistoare n paralel se calculeaz
a cu relatia:
 

k 
X
W
W
=
(1.75)
L echivalent i=0 L i
respectiv pentru conectarea a k tranzistoare n serie:
 
1
W
= Pk
1
L echivalent
i=0 ( W )
L i
1.5.3.1

(1.76)

Poarta NOR si NAND cu dou


a intr
ari

Amintind faptul c
a operatorul OR poate fi modelat prin conexiunea paralel
aa
elementelor de comutatie, iar operatorul AND prin conexiunea serie, apare foarte
simpl
a modalitatea de a structura portile NOR si NAND.
Structura portii NOR cu dou
a intr
ari (NOR2), Figura 1.39-a, const
a din dou
a
inversoare la care ramurile canalelor n formeaz
a o retea paralel
a, iar ramurile canalelor
p formeaz
a o retea serie. C
and cel putin una din intr
arile A sau B este n starea H
reteaua n creaz
a o cale de conductie a nodului de iesire spre mas
a, VO =VOL , reteaua
complementar
a p nu este n conductie. Iar c
and ambele intr
ari sunt n starea L,
reteaua p creeaz
a o cale de conductie ntre VDD si nodul de iesire, VO = VOH , reteaua
n nu este n conductie. Pentru determinarea tensiunii de prag (logic) de comutatie
a portii VT (VA = VB = VO = VT ) poarta NOR cu dou
a intr
ari este substituit
a
cu structura echivalent
a a unui inversor cu coeficientii n /2 si 2p , Figura 1.39-b.
Rescriind relatia 1.46 pentru acesti coeficienti rezult
a expresia pentru tensiunea de
prag de comutatie a portii NOR2.
q

Vpn + 4pn (VDD |Vpp |)


q
(1.77)
VT (N OR2) =

1 + 4pn

1.5. PORT
I
IN TEHNOLOGIA CMOS

89
Linie de difuzie p+

V DD

V DD
T3
A

T4

V DD

p
p/2

p
VO

VI

VO

T2

2 n

V SS
a)

V SS
b)

T4

T1

T2

Insula n

B
T1

T3

V SS
c)

VO

A
B
Linie de difuzie n+

Figura 1.39 Poarta NOR cu dou


a intr
ari: a) stuctur
a; b) schema inversorului echivalent
portii; c) layoutul portii structurat pe o linie de difuzie n+ si o linie de difuzie p+ .

Dac
a n = p si Vpn = |Vpp | tensiunea de prag de comutatie a inversorului CMOS
este VDD /2 pe c
and a portii NOR2 din relatia 1.77 rezult
a
VT (N OR2) =

VDD + Vpn
3

(1.78)

care este diferit


a de VDD /2. De exemplu, pentru VDD = 5V si Vpn = |Vpp | = 1V se
obtine VT (IN V ERSOR) = 2, 5V si VT (N OR2) = 2V .
Relatia 1.77 pote fi utilizat
a pentru proiectarea portii NOR2 n care dac
a se impune
tensiunea de prag (logic) de comutatie VT rezult
a relatia ntre n si p . De exemplu,
pentru VT = VDD /2 si Vpn = |Vpp | rezult
a p = 4n (cu Ln = Lp Wp = 4Wn ).
,,
Layoutul portii NOR2 este compus dintr-o linie de difuzie de tip p+ pentru zonele
de surs
a si dren ale celor dou
a tranzistoare T3 si T4 realizate n insula difuzat
a de tip
n si la fel o linie de difuzie de tip n+ n substrat care realizeaz
a zonele de dren si surs
a
ale tranzistoarelor T1 si T2. Poarta comun
a pentru nMOS T1, pMOS T3 si poarta
comun
a pentru nMOS T2 si pMOS T4 sunt sub forma a dou
a bare (trase) verticale
realizate din polisiliciu. La extremitatea de sus si extremitatea de jos a layoutului
sunt trasele metalice pentru VDD si VSS (mas
a) cu conexiunile metalizate (p
atr
atele
negrite) corespunz
atoare la zonele (liniile) de difuzie p+ si n+ respectiv din insula
difuzat
a n si din substrat. Trasa de iesire VO , metalic
a sau din polisiliciu, conecteaz
a
ntre ele cele dou
a linii difuzate de canal n+ si p+ . Realizarea tranzistoarelor n linii
de difuzie paralele simplific
a at
at layoutul c
at si tehnologia; toate zonele de tip n + se
realizeaz
a cu o singur
a difuzie la fel si toate zonele de tip p+ , iar barele verticale ale
portilor de polisiliciu servesc si ca m
asti cu autoaliniere n procesul de difuzie. Acest
mod de organizare structurat
a constituie o conditie n conceperea unor metode de
generare automat
a a layoutului.
Poarta NAND cu dou
a intr
ari (NAND2), Figura 1.40-a, poate fi privit
a ca fiind

90

CAPITOLUL 1. PORT
I LOGICE

format
a din dou
a inversoare la care canalele n formeaz
a o retea serie, iar canalele p
formeaz
a o retea paralel
a. Se creeaz
a o cale de conductie de la nodul de iesire spre
mas
a, VO = VOL , prin tranzistoarele T1 si T2 n serie numai c
and ambele intr
ari A,B
sunt n nivelul H, iar tranzistoarele T3 si T4 ale retelei complementare p sunt blocate.
Pentru toate celelalte trei combinatii ale nivelurilor intr
arilor A,B unul sau ambele
tranzistoare ale retelei p conduc, reteaua n nu conduce, iar tensiunea de iesire are
valoarea VO = VOH .
Linie de difuzie p+
V DD

V DD

T3

T4

2p

V DD

VO

VI
T2

VO

V SS

V SS
a)

b)

T4

T1

T2

Insula n

n/2

T1

T3

VO

V SS
c)

Linie de difuzie n+

Figura 1.40 Poarta NAND cu dou


a intr
ari: a) stuctur
a; b) schema inversorului echivalent portii; c) layoutul portii structurat pe o linie de difuzie n+ si o linie de difuzie p+ .

Tensiunea de prag (logic) de comutatie a portii, relatia 1.46, aplicat


a pentru inversorul echivalent din Figura 1.40-b, are expresia:
q

Vpn + 2 np (VDD |Vpn |)


q
(1.79)
VT (N AN D2) =

1 + 2 np
Pentru valorile n = p , Vpn = |Vpn |, la care pragul logic de comutatie al inversorului CMOS este VDD /2 , portii NAND2 i corespunde o tensiune de prag logic de
comutatie:
2VDD |Vpp |
VT (N AN D2) =
(1.80)
3
Din relatia 1.79 rezult
a c
a pentru a obtine un prag logic de VDD /2 c
and Vpn = |Vpp |
este necesar
a ndeplinirea conditiei n = 4p ; relatia 1.80 poate fi utilizat
a pentru
dimensionarea layoutului portii NAND2 c
and se impune o anumit
a valoare pentru
VT .
Layoutul portii NAND2, Figura 1.40-c, este structurat si realizat pe dou
a linii de
difuzie, n mod asem
an
ator cu cel al portii NOR2 din Figura 1.39-c.

1.5. PORT
I
IN TEHNOLOGIA CMOS

91

Trecerea de la schema electric


a a circuitului la layout se poate face conform succesiunii de pasi prezentati n Figura 1.36. Totusi, pentru circuite complexe, aceast
a
trecere direct
a poate fi dificil
a, n consecinta
se utilizeaz
a initial o form
a simplificat
a/intermediar
a de layout (stick diagram). Forma simplificat
a contine informatii
despre plasarea relativ
a a tranzistoarelor si a conexiunilor dintre acestea, Figura 1.41.
In aceste forme simplificate suprafetele difuzate (liniile de difuzie n+ si p+ ) sunt
reprezentate sub forma unor dreptunghiuri (Wn si Wp ), traseele metalice sunt simple
linii de conexiune av
and pentru contacte punctele evidentiate, iar barele de polisiliciu pentru porti sunt coloane hasurate. Conform acestor reguli pentru trecerea din
Figura 1.39, de la circuitul portii NOR2 la layoutul corespunz
ator, se poate realiza
initial layoutul simplificat din Figura 1.41-a, iar pentru trecerea din Figura 1.40, corespunz
ator portii NAND2, este realizat initial layoutul simplificat din Figura 1.41-b.
Apoi de la layoutul simplificat se trece la forma complet
a de layout.

Wp

Wn
V SS
a)

Q
QQ
QQ
Q
QQ
Q

NOR

V DD

V DD
Wp
VO

Linii de
difuzie
Wn
V SS
b)


Q

Q
Q

Q
Q

Q

Q
Q
Q
A


Q

Q
Q

Q
Q

Q

Q
Q
Q

NAND

VO

Figura 1.41 Layoutul simplificat / intermediar: a) pentru port


a NOR2; b) pentru
poart
a NAND2.

1.5.3.2

Porti logice complexe

La implementarea portilor complexe, care contin multe variabile de intrare, aspectele implicite care se impun a fi optimizate sunt: micsorarea num
arului de tranzistoare folosite si micsorarea ariei utilizate pe placheta de siliciu.Evidentierea acestor aspecte va rezulta prin exemplificarea implement
arii unei porti care realizeaz
a
urm
atoarea relatie logic
a:
Z = A(D + E) + BC
Pentru expresia nenegat
a a relatiei se va construi o retea/graf similar ca la modelarea
acesteia cu contacte (prin structura sa o poart
a CMOS modeleaz
a o expresie negat
a).
(De fapt, se poate porni de la desenarea unei retele cu contacte, care modeleaz
a
functia respectiv
a, ca n Figura 1.9, si din care se deduce graful expresiei nenegate).
Deoarece n locul contactelor se utilizeaz
a tranzistoare (canale) n sau p, pentru o
linie ce ar contine un contact (n reteaua de contacte), acum n graf, se va desena un
simplu arc pe care se noteaz
a variabila de comand
a a portii tranzistorului respectiv.
(Un tranzistor este echivalent unui contact). Conexiunea dintre liniile cu contacte va

92

CAPITOLUL 1. PORT
I LOGICE

Z=A(D+E)+BC
V DD

VO

A
B

V DD
D
D

VO

A
E

VO

C
D

a)

b)

c)

Figura 1.42 Explicativ


a pentru obtinerea unei structuri de retea CMOS pentru
relatia Z = A(D + E) + BC: a,b) realizarea grafului pentru reteaua n si deducerea grafului
pentru reteaua dual
a p; c) structura portii obtinute prin maparea grafurilor pentru reteaua
n si reteaua p.

reprezenta acum nodurile grafului. Astfel se obtine graful pentru reteaua n, conturul
ngrosat din Figura 1.42-a.
Pe baza grafului retelei n se va construi graful retelei duale p n felul urm
ator:
n fiecare suprafata
nchis
a sau seminchis
a format
a de graful retelei n se fixeaz
a un
nou v
arf (punctele cerculete), se unesc c
ate dou
a din aceste v
arfuri prin c
ate un nou
arc astfel nc
at aceste arce noi s
a intersecteze doar o singur
a dat
a un arc al retelei
initiale n, fiec
arui arc nou i se asigneaz
a aceeasi variabil
a ca aceea a arcului pe care l-a
intersectat - graful nou obtinut este graful retelei duale p, desenat cu linie ntrerupt
a n
Figura 1.42-a. Av
and, acum, cele dou
a grafuri desenate separat, n Figura 1.42-b, se
poate, printr-o mapare unu-la-unu, trece de la aceste grafuri la retele de tranzistoare n
si p, Figura 1.42-c. Fiec
arui arc din graf i corespunde un tranzistor pe poarta c
aruia
se aplic
a variabila nscris
a pe acel arc; punctelor cerculete le corespund conexiunile
ntre tranzistoarele respective.
Urmeaz
a transformarea circuitului electric n layout pe siliciu. Se obtine o arie
minim
a c
and, at
at pentru toate tranzistoarele n c
at si pentru toate tranzistoarele
p, se poate realiza c
ate o difuzie n linie nentrerupt
a pentru canalele n si pentru
canalele p. Pentru realizarea unei difuzii n linie nentrerupt
a, n care o zon
a din

1.5. PORT
I
IN TEHNOLOGIA CMOS

93

V DD

A
x
y

E
D

S D

S S

D D

nMOS

D
Z

Drumul eulerian

VO

EDABC

x
y

a)

D S

D D

A
D

pMOS
V ss

C
b)

Figura 1.43 Explicativ


a pentru layoutul portii Z = A(D + E) + BC: a) identificarea
drumului eulerian n graful retelei n si retelei p; b) pe liniile continue de difuzie de tip n+
si p+ s-au ordonat portile din polisiliciu (barele verticale hasurate) ale tranzistoarelor n
ordinea g
asit
a la parcurgerea drumului eulerian.

aceast
a linie de difuzie dintre dou
a bare de polisiliciu (porti) s
a fie un terminal comun
la dou
a tranzistoare vecine, este necesar a se g
asi ordinea de nl
antuire (plasare) a
fiec
arui tranzistor al retelei n linia difuzat
a. Aceast
a ordine poate fi determinat
a prin
identificarea unui traseu eulerian comun at
at n graful retelei p c
at si n graful retelei
n.
Definitia 1.15 Un drum care parcurge nentrerupt o singur
a dat
a toate arcele
dintr-un graf se numeste eulerian. 
Pentru grafurile duale din Figura 1.42-b s-a identificat drumul eulerian comun
EDABC din Figura 1.43-a. Cunosc
and acum ordinea de jonctionare/al
aturare
a tranzistoarelor (care este aceeasi cu ordinea de parcurgere n drumul eulerian) se
poate realiza succesiunea portilor din polisiliciu (barele hasurate) pe liniile de difuzie
n+ si p+ ca n layoutul simplificat din Figura 1.43-b. Dac
a n grafuri nu se poate
identifica un singur drum eulerian distinct, pentru toate tranzistoarele circuitului, ci
mai multe drumuri distincte care acoper
a graful, atunci sunt necesare at
atea linii de
difuzie n+ si p+ ntrerupte c
ate drumuri euleriene distincte au fost identificate.
O functie logic
a poate fi sub forma sum
a de produse (FD) sau produse de sum
a
(FC); forma negat
a a acestor functii este potrivit
a pentru implementarea n tehnologia
CMOS deoarece se pot realiza usor porti de tipul AND-OR-NOT si OR-AND-NOT.
Portile AND-OR-NOT au pentru reteaua n o structurare paralel-serie si o structurare
serie - paralel pentru reteaua p dual
a, Figura 1.44-a, iar portile OR-AND-NOT au
o structurare serie-paralel pentru reteaua n si paralel-serie pentru reteaua p, Figura
1.44-b.

94

CAPITOLUL 1. PORT
I LOGICE
V DD
Reteaua
Duala p

A1
A2
A3

VO
VO

B1
B2

A1

C1
C2
C3

C1
B1

A2
AND OR NOT

C2

B2

A3

C3

V SS

a)

V DD
Reteaua
Duala p

A1
A2
A3

B2

B1

C1
OR AND NOT

A1

b)

VO

C1

VO

B1
B2

A2

A3

V SS

Figura 1.44 Modalit


ati de structurare a portilor CMOS complexe: a) structurare
pentru implementarea functiilor logice de forma AND-OR-NOT; b) structurare pentru implementarea functiilor logice de forma OR-AND-NOT.

Exemplul 1.18 Pentru circuitul cu layoutul desenat n Figura 1.45 sa se deduca


structura de circuit apoi s
a se determine circuitul inversor CMOS echivalent pentru cazul
c
and toate intr
arile comut
a, presupun
and c
a: (W/L)p = 15 pentru toate tranzistoarele
pMOS si (W/L)n = 10 pentru toate tranzistoarele nMOS.
Solutie. Fata
de prezent
arile anterioare aici se face o trecere invers
a, de la layout la
structura de circuit. Inspect
and n linia de difuzie n+ trasele si contactele metalice, rezult
a c
a
exist
a grupul de tranzistoare D, E, A legate n paralel si grupul de tranzistoare B, C legate
n paralel, iar cele dou
a grupuri sunt nseriate. Reteaua n a portii modeleaz
a urm
atoarea
relatie: (D +E +A)(B +C), deci iesirea Z este (D + E + A)(B + C), pentru care corespunde
circuitul poart
a CMOS din Figura 1.45-b.
Rapoartele echivalente, (W/L)n,IN V si (W/L)p,IN V , ale inversorului echivalent, c
and

1.5. PORT
I
IN TEHNOLOGIA CMOS

Linia de difuzie p+
A
B
C

95
V DD

Z
D

V DD

E
C

p+

Z
B

n+

D
V SS

V SS
Linia de difuzie

n+

Figura 1.45 Trecere de la layout de circuit la schema electric


a.

comut
a toate intr
arile se obtin cu relatiile 1.75 si 1.76 n felul urm
ator:

1
1
W
=
= 12
= 1
1
1
1
L n,IN V
+
+
W
W
W
W
W
30
20
( L ) D +( L ) E +( L ) A
( L )B +( L )C

W
1
=
=
1
L p,IN V
+ W1 + W1 + W1 + W1
W
( L )D
( L )E
( L )A
( L )B
( L )C
1
1
=
1
1 + 1
1 = 12, 5
1
+
+
+
15
15
15
15
15

Pseudo poarta CMOS. Portile CMOS complexe, cu n intr


ari, necesit
a pentru
fiecare intrare dou
a tranzistoare, deci n total 2n tranzistoare plus nc
a dou
a tranzistoare (un inversor) pentru fiecare din intr
arile negate. Rezult
a c
a reducerea num
arului
de tranzistoare, c
and num
arul de intr
ari n este mare, se impune. O variant
a de reducere a num
arului de tranzistoare, de la 2n la n + 1, se obtine la structura denumit
a
pseudo poart
a CMOS. Pseudo poarta CMOS, pentru un anumit operator, se obtine
din poarta normal
a care implementeaz
a acel operator, prin substituirea retelei p cu
un singur tranzistor pMOS a c
arui poart
a se conecteaz
a la potentialul de mas
a (deci
este permanent n conductie), Figura 1.46-a. De fapt, tranzistorul pMOS are rolul de
sarcin
a (rezistenta
) pentru reteaua nMOS.
Dezavantajul pseudo portii CMOS const
a n consumul mare de putere n regim
static datorat unui permanent curent prin canalul p at
at timp c
at VO < VDD . De

96

CAPITOLUL 1. PORT
I LOGICE
V DD

V DD
RC

Linie de
magistrala

VO
retea n

a)

V SS

T1

T2

e)

b)

V DD

Circuit de
mentinere

V DD
EN

EN

T1
f=A

EN
f
A

EN

EN

V SS
f

c)

T2

0
0
1
1

V SS
A (EN .A) EN

A EN+A

0
1
0
1

0
1
0
1

1
1
1
0

1
1
0
0

0
0
1
0

f
HZ
HZ
0
A
1

d)

Figura 1.46 Porti CMOS speciale: a) structurarea unei pseudo porti CMOS;
b) structur
a pentru poarta cu drenul n gol; c) structura si simbolul de reprezentare ale
unei porti de tip TSL; d) structura unui buffer TSL neinversor; e) evitarea aparitiei unui
potential flotant pe o linie de magistral
a prin conectarea acesteia la un circuit (celul
a) activ
de mentinere a nivelului (bus holder).

asemenea, VOL si marginea de zgomot sunt determinate de raportul ntre transconductanta tranzistorului de sarcin
a si transconductanta echivalent
a din reteaua n.
Poarta cu drenul n gol. Restrictia impus
a de a nu se conecta mpreun
a iesirile
portilor TTL, Figura 1.23-a, are valabilitate si pentru portile CMOS. Conectarea
iesirilor mpreun
a a mai multor porti poate crea o cale de scurtcircuit ntre V DD si
VSS prin retelele n sau p de la diferite porti.
Excluderea acestei restrictii se poate obtine prin eliminarea retelei p din structura
portilor din etajul de iesire, deci aceste porti au numai reteaua n. Aceste porti
(similare portilor cu colectorul n gol) sunt denumite cu drenul n gol, Figura 1.46-b.
Poarta devine functional
a numai c
and drenul n gol este conectat la tensiunea V DD
printr-o rezistenta
RD atasat
a exterior portii. Portile cu drenul n gol (open-drain)
sunt necesare pentru urm
atoarele aplicatii: comanda unor sarcini externe (LED-uri,
relee, rezistente, bobine etc), realizarea conexiunii SI-cablat si comanda unor linii de
magistral
a, Figura 1.24-a; pentru calculul rezistentei RD atasat
a n exteriorul portii
se utilizeaz
a relatiile 1.26.
Poarta TSL. Aceast
a poart
a prezint
a pe l
ang
a cele dou
a st
ari logice normale H si

1.5. PORT
I
IN TEHNOLOGIA CMOS

97

L, existente la o poart
a obisnuit
a, si starea c
and iesirea este n nalt
a impedanta
, HZ.
Structura unei porti TSL se obtine din cea a unei porti normale la care se nseriaz
a
c
ate un tranzistor n si p respectiv cu reteaua n si p, Figura 1.46-c. C
and semnalul
de validare EN (ENable) este activ, EN=1, poarta are functionarea unei porti normale, iar c
and validarea nu este activat
a, EN=0, cele dou
a tranzistoare nseriate sunt
blocate, at
at calea de conductie prin reteaua n c
at si cea prin reteaua p nu sunt n
conductie, deci iesirea este n HZ. O alt
a variant
a de poart
a CMOS TSL este cea cu
structura din Figura 1.68-a. La o poart
a CMOS TSL c
and este n HZ iesirea sa este
fortat
a, de o alt
a poart
a care comand
a n acel moment linia de magistral
a, pe nivelul
H sau pe nivelul L si genereaz
a respectiv absoarbe curenti la iesire p
an
a la 10A.
Pentru cazurile c
and sarcina ce trebuie comandat
a este relativ mare sunt utilizate
buffere; o astfel de structur
a de buffer TSL este prezentat
a n Figura 1.46-d. Un
buffer TSL se compune din dou
a tranzistoare complementare T1 si T2 comandate,
prin portiile NAND si NOR, fie ambele tranzistoare simultan n blocare (starea HZ),
fie un tranzistor n blocare si cel
alalt n conductie sau invers (ca la inversorul CMOS).
Din tabelul de adev
ar, atasat bufferului, se observ
a c
a pentru EN=0 iesirea este n
HZ, iar pentru EN=1 iesirea este identic
a cu intrarea (buffer neinversor).
Bufferele CMOS TSL sunt utilizate pentru comanda liniilor de magistrale; o linie
de magistral
a poate fi comandat
a, la un moment, de cel mult un buffer (emita
tor).
Dac
a toate iesirile bufferelor conectate la o linie de magistral
a sunt n HZ atunci
potentialul pe linie este flotant, iar dac
a acest potential este aproape de valoarea
de prag de comutatie ( Definitia 1.14 ) al portilor receptoare acestea consum
a un
curent de valoare relativ mare sau pe linie pot ap
area oscilatii. Se pot elimina aceste
inconveniente dac
a linia de magistral
a se conecteaz
a la VDD printr-o rezistenta
Rpu ,
,,
deci c
and linia devine flotant
a potentialul acesteia va fi tras n sus (pull-up) n
intervalul de tensiune H. Dar aceast
a solutie prezint
a unele inconveniente:
1. dac
a Rpu este de valoare mare (atunci c
and linia din L r
am
ane n stare flotant
a)
si fortat
a imediat n H de Rpu , datorit
a faptului c
a prezint
a o constant
a de
timp mare Rpu C, timpul de crestere r devine lung. Un r lung face ca durata
excursiei, n zona tensiunilor interzise, pentru tensiunile de intrare ale portilor
receptoare s
a fie de asemenea lung
a; deci un consum m
arit de putere;
2. dac
a Rpu este de valoare mic
a atunci bufferul care va comanda linia n starea L
va trebui s
a absoarb
a un curent mai mare.
Inconvenientele anterioare pot fi eliminate prin conectarea la linia de magistral
a
a unui circuit (celul
a) activ de mentinere a nivelului (bus holder) cu structura din
Figura 1.46-e. Se va vedea n sectiunea 3.3.1 c
a aceast
a celul
a activ
a de mentinere nu
este altceva dec
at un circuit latch. C
and linia de magistral
a r
am
ane n HZ, deci va
trece din L sau din H n starea flotant
a, celula va forta mentinerea liniei n aceeasi
stare L sau H pe care a avut-o anterior. Bufferul de magistral
a care comut
a linia din
starea H n starea L sau din starea L n H va absorbi sau va genera un surplus de
curent pentru comanda celulei de mentinere n starea L sau H, dar numai pe durata
comutatiei st
arilor. In general, un buffer de magistral
a are integrat pe iesirea sa o
astfel de celul
a de mentinere a nivelului pe linia de magistral
a.
Celula de mentinere a nivelului pe linia de magistral
a nu este eficient
a c
and la
magistral
a sunt conectati receptori de tip TTL. Portile TTL necesit
a curenti de intrare
de valoare ridicat
a, mai ales n starea L (IIL ), care nu pot fi generati de c
atre celula de

98

CAPITOLUL 1. PORT
I LOGICE

mentinere dac
a la aceast
a celul
a rezistenta R nu este de valoare mic
a, iar o rezistenta

de valoare mic
a duce la o nc
arcare puternic
a a liniei de magistral
a.
1.5.3.3

Seriile de porti ale familiei CMOS

In cadrul tehnologiei CMOS, portile, elemente de baz


a pentru realizarea unor
sisteme, pot fi celulele cu care se realizeaz
a sistemul sub form
a de circuit integrat
(monolitic) sau pot fi celule discrete (independente, integrate pe plachete separate)
cu care se realizeaz
a sistemul pe o plac
a de circuit imprimat. Parametrii unei porti
logice, sectiunea 1.3, sunt mult mai restrictivi pentru o poart
a implementat
a ca circuit
independent dec
at pentru o poart
a inclus
a ntr-un circuit integrat. Pentru portile discrete acesti parametri sunt specificati de fabricant n fisa tehnic
a ce nsoteste poarta.
In cadrul familiei de porti CMOS discrete exist
a mai multe serii de porti. Aaceste
serii au ap
arut n functie de optimizarea parametrilor pentru anumite aplicatii si mai
ales ca urmare a perfection
arii n timp a tehnologiei de integrare.
Prima serie de porti discrete a familiei CMOS a fost seria 4000. In prezent,
portile din aceast
a serie nu se mai utilizeaz
a deoarece au ap
arut alte serii mult mai
performante. Exist
a n cadrul fiec
arei serii varianta civil
a (0 70 C) si varianta
militar
a (55 125C), notate respectiv cu 74 sau 54. Cuv
antul de cod al unei porti
este de forma 74SERXX/54SERXX, unde SER sunt dou
a sau trei litere (abreviatie)
din denumirea SERiei n care este implementat
a poarta, iar XX este codul portii. De
exemplu, aceeasi poart
a NAND cu dou
a intr
ari (NAND2) care are codul 7400 poate
fi specificat
a prin cuvintele: 74HC00, 74HCT00, 74VHC00, 74VHCT00, n functie de
seria c
areia i apartine (la prima privire, se poate spune, dac
a poarta este din familia
CMOS deoarece n abreviatia seriei intr
a totdeauna litera C).
Seriile HC si HCT. Seria HC (High-speed CMOS) este optimizat
a pentru
realizarea n special de sisteme numai cu porti CMOS. Utilizeaz
a o alimentare n
gama de la 2 6V ; valorile mai mici ale tensiunii de alimentare sunt recomandate
c
and se doreste o putere disipat
a mai mic
a, iar valorile mai ridicate c
and este necesar
a
o vitez
a mai ridicat
a. O comparatie a seriei HC cu seriile din familia TTL arat
a c
a
ntre acestea nu exist
a compatibilitate a tensiunilor de iesire si a celor de intrare.
Pentru a se putea intermixa, n sisteme, portile CMOS cu portile TTL s-a conceput
seria HCT (High-speed CMOS, TTL compatible). Valorile tensiunilor de iesire
garantate (VOHmin , VOLmax ) si de intrare admise (VIHmin , VILmax ) de la seria HCT
sunt identice cu cele de la familia TTL, deci portile pot fi interconectate. Seriile
HC si HCT au aceiasi parametrii pe iesire, dar parametrii diferiti pe intrare, aceast
a
diferenta
a fost creat
a la HCT pentru ca aceast
a serie s
a devin
a compatibil
a cu TTL.
Ambele serii au comanda pe iesire simetric
a, adic
a exist
a egalitate ntre curentul
absorbit de poart
a n stare L cu cel generat de poart
a n starea H (simetria aceasta
de curenti pe iesire nu exist
a la TTL).
Seria FCT (FCT-T). Prin introducerea seriei FCT (Fast-CMOS, TTL compatible) la nceputul anilor 1990 s-a urm
arit realizarea n CMOS a urm
atoarelor
performante: atingerea unei capabilit
ati de comand
a pe iesire (valori m
arite pentru
IOHmax , IOLmax ), vitez
a ridicat
a ca la cele mai performante porti TTL, dar n acelasi
timp reducerea puterii consumate si, evident, o complet
a compatibilitate (pe nivelurile
de tensiune) cu portile TTL. Totusi seria FCT realizat
a cu aceste performante era
afectat
a de dou
a deficiente: fiind alimentat
a la VDD = 5V , saltul tensiunii de iesire

1.5. PORT
I
IN TEHNOLOGIA CMOS

99

Tabelul 1.12
Parametrii portilor familiei CMOS (prezentare simplificat
a)
Denumire parametru
Timpul de propagare tipic
Curentul in regim static
Puterea disipata in regim static
Capacitatea interna a circuitului

p [ns]
IDDQ [ A ]
Pdcc [mW]
[pF]

Conditia
de test
Vin=0 sau VDD
Vin=0 sau VDD

Puterea disipata in regim dinamic Pdca [mW/MHz]


f=100KHz
Puterea disipata totala

Pd [mW]

Factorul de merit

Pd p [pJ]

Tensiunea de intrare permisa


Tensiunea de intrare permisa

VILmax [V]
VIHmin [V]

Curentul de iesire in starea L

IOLmax [mA]

Curentul de iesire in starea H

IOHmax

Tensiunea de iesire in starea L


Tensiunea de iesire in starea H

f=1MHz
f=10MHz
f=100KHz
f=1MHz
f=10MHz

incarcare CMOS

incarcare TTL
incarcare CMOS
[mA]
incarcare TTL

HC

HCT

Seria
VHC VHCT FCTT
5,5
5,2
5,8
5
200
5

9
10
2,5
2,5
0,0125 0,0125 0,025 0,025
17
22
15
19
0,38
0,55
0,48 0,43
0,068 0,050 0,073 0,068
0,50 0,45
0,39
0,56
5,5
0,61
5,1
50
1,35
3,85
0,02
4,0

3,8
0,50

4,8
0,38

3,9
38
0,8

2,6

2,0
0,02
4,0

0,6
0,60

4,3

1,06
1,6

0,37
2,5

6,15
9,3

2,5

24

41

1,35
3,85

0,8
2,0
0,05

0,8
2,0

0,05

VOLmax [V]

Iout IOLmax CMOS


Iout IOLmax TTL

0,1
0,33

VOHmin [V]

|Iout IOLmax CMOS|


|Iout IOLmax TTL |

8,0
8,0
0,02 0,05 0,05
4,0 8,0 8,0
0,1
0,1
0,1
0,33 0,44 0,44

4,4
3,84

4,4
3,84

0,02
4,0

64

15
0,55

4,4
3,80

2,4

4,4
3,80

la comutatie era de aproape 5V, ceea ce ducea la o putere disipat


a (CL V 2 f ) foarte
mare la frecvente de peste 25M Hz si, n plus, aceste salturi rapide genereaz
a zgomot
n sistem. Pentru nl
aturarea acestor deficiente s-au introdus anumite perfection
ari
n structura de circuit FCT obtin
andu-se astfel seria FCT-T (Fast CMOS, TTL compatible with TTL VOH ). Cele dou
a deficiente amintite anterior, de la FCT au fost
atenuate la seria FCT-T n primul r
and prin reducerea VOH 5V la valoarea tipic
a
de VOH = 3, 3V . Varianta FCT-T datorit
a performantelor sale este n prezent foarte
popular
a. Aplicatii uzuale pentru portile FCT-T sunt comanda liniilor de magistral
a
sau comenzi pentru sarcini mari (comparativ cu alte porti CMOS poate absorbi si
genera pe iesire valori foarte mari de curenti, IOLmax 60mA). Seria FCT (FCT-T)
nu are implementate portile simple ci numai porti complexe (zeci de tranzistoare).
Selectiv, unii din parametrii portilor logice din seriile familiei CMOS sunt prezentati
n Tabelul 1.12. Pentru seriile HC, HCT, VHC si VHCT (abrevierea VH este de la
Very High-speed) au fost selectate unele din valorile parametrilor portilor NAND2
(74XX00), iar pentru seria FCT-T au fost selectate unele din valorile parametrilor
portii 74FCT138T, care este un circuit decodificator 3 : 8.
1.5.3.4

Interfatarea TTL-CMOS si CMOS-TTL

Interfatarea ntre cele dou


a familii se poate face cu conditia respect
arii compati-

100

CAPITOLUL 1. PORT
I LOGICE

bilit
atii nivelurilor de tensiune si a factorilor de nc
arcare la iesire, fan-out. Respectarea nivelurilor de tensiune nseamn
a realizarea unor margini de zgomot n curent
continuu, MH , ML , calculate cu relatia 1.18, care pot avea anumite valori pozitive acceptabile, dar n nici un caz valori negative. Valorile nivelurilor de tensiune pe intrare
si pe iesire pentru ambele familii sunt reprezentate n Figura 1.47 [Wakerly 0 00]. Evident, exist
a compatibilitate pe nivelurile de tensiune ntre seriile HCT, VHCT, FCT
si familia TTL, dar nu exist
a comptibilitate complet
a ntre HC, VHC si familia TTL.
De exemplu, la interfatarea HC sau VHC cu TTL rezult
a ML = 0, 8 0, 33 = 0, 47V
si MH = 3, 84 2, 0 = 1, 84V , iar la interfatarea TTL cu HC sau VHC rezult
a
ML = 1, 35 0, 4 = 0, 95, MH = 2, 7 3, 85 = 1, 15V !; ar trebui ca VOHmin de la
TTL s
a fie ridicat
a cu cel putin 1, 15V . O solutie de compromis n realizarea si a acestei interfata
ri ar fi ridicarea valorii tensiunii VOHmin prin conectarea unei rezistente
R ntre iesirea TTL si VCC (trebuie verificat dac
a aceast
a rezistenta
de tragere n
,,
sus nu distruge, prin c
aderea de tensiune R IOLmax , nivelul de tensiune garantat
VOLmax c
and poarta TTL este comandat
a pe iesire n L).
Respectarea factorului de nc
arcare (n curent) la iesire, relatia 1.22, impune ca
valoarea maxim
a a curentului absorbit sau generat la iesirea portii s
a fie mai mare sau
egal cu suma curentilor respectiv generati sau absorbiti de intr
arile tuturor portilor
comandate. Interfatarea TTL-CMOS nu ridic
a nici un fel de problem
a, deoarece
portile CMOS aproape c
a nu necesit
a curent de intrare, at
at n H c
at si n L curentii
de intrare au valori maxime < 50A. In schimb, pentru interfatarea CMOS-TTL
trebuie calculat
a valoarea de fan-out a portii CMOS, de exemplu, portile HC sau HCT
pot comanda 10 porti 74LSXXTTL, dar pot comanda numai dou
a porti 74SXXTTL.
La interconectarea portilor CMOS factorul de nc
arcare se calculeaz
a nu n functie
de un curent de intrare, ca sarcin
a standard, ci n functie de o sarcin
a capacitiv
a
standard prezentat
a pe intrare de o poart
a. In general, se consider
a capacitatea de
5pF ca sarcin
a standard care aproximeaz
a capacitatea de intrare medie la o poart
a
CMOS. Factorul de nc
arcare la iesire se exprim
a prin num
arul de sarcini standard
(nr de intr
ari) pe care le comand
a la iesire.Cu m
arirea sarcinii capacitive conectate pe
IESIRI
VOHmin , VOLmax

INTRARI

5.0
HIGH

HC,HCT 3.84
VHC,VHCT 3.80
LS,S,ALS,AS,F

3.85

2.7

FCT 0.55
LS,S,ALS,AS,F 0.5
VHC,VHCT 0.44
0.33

(HC,VHC)
Margine de zgomot (M H)
in c.c. pentru starea H

VALORI
INTERZISE

HC,HCT

VIHmin , VILmax

LOW

2.0

LS,S,ALS,AS,F
HCT,VHCT,FCT

1.35

(HC,VHC)

0.8

LS,S,ALS,AS,F
HCT,VHCT,FCT
Margine de zgomot (M L )
in c.c. pentru starea L

Figura 1.47 Nivelurile de tensiune pentru seriile familiei TTL si familiei CMOS

1.5. PORT
I
IN TEHNOLOGIA CMOS

101

iesire timpul de propagare al portii creste (aproximativ cu 1ns pentru fiecare sarcin
a
de 5pF ad
augat
a) .
Interfatarea CMOS de tensiune redus
a. Dou
a sunt argumentele pentru care
tensiunea de alimentare VDD a circuitelor CMOS tinde a fi redus
a:
1. Puterea disipat
a se reduce (Pd = CV 2 f )
2. Scalarea determin
a si micsorarea grosimii Dox (Figura 1.32-a) a oxidului de
sub poart
a care, evident, pentru evitarea str
apungerii, impune si o tensiune de
valoare mai mic
a aplicabil
a pe poart
a.
Au fost selectate tensiunile de alimentare: 3, 3V 0, 3V ; 2, 5V 0, 2V , 1, 8V 0, 15V ca
valori pentru viitoarele standarde. Evident, n cadrul fiec
arei tensiuni de alimentare
au fost definite si nivelurile logice de intrare si de iesire. Migrarea spre valori mai
reduse de tensiuni de alimentare se face treptat, n etape, ceea ce impune ca unele
din noile porti logice CMOS discrete de 3.3V care apar s
a poat
a tolera nc
a tensiunile
mai mari de intrare si de iesire TTL si CMOS de la seriile alimentate la 5V ; aceast
a
toleranta
fiind necesar
a pentru realizarea de sisteme cu porti cu tensiuni diferite de
alimentare. Necesitatea de intermixare a circuitelor CMOS de tensiuni reduse cu
alte circuite de tensiuni mai ridicate exist
a si n cazul circuitelor integrate cum sunt
P si ASIC-urile (Application Specific Integrated Circuits), numai c
a rezolvarea
se face ntr-un alt mod. Aceste circuite fiind mari justific
a alimentarea cu dou
a
tensiuni de alimentare, de exemplu cu 2, 5V (1, 8V )si 3, 3V , vezi sectiunile 4.5. si 4.6.
Tensiunea sc
azut
a de 2, 5V alimenteaz
a nucleul de procesare, iar tensiunea ridicat
a de
3, 3V alimenteaz
a componentele de interfatare cu circuitele exterioare. In interiorul
circuitului integrat exist
a circuite buffer speciale, alimentate la cele dou
a tensiuni
3, 3V si 2, 5V , care fac deplas
arile de nivel de la tensiunea cobor
at
a la cea ridicat
a si
invers.
Nivelurile logice de tensiune pentru familia CMOS la alimentare cu 5V precum
si la valorile reduse sunt prezentate n Figura 1.48. Nivelurile logice de tensiune,
Figura 1.48-a, corespund seriilor HC si VHC ale familiei CMOS de 5V , adic
a acelor
porti CMOS care s
a fie interconectate numai cu porti CMOS. In Figura 1.48-b sunt
prezentate nivelurile logice de tensiune pentru seriile HCT, VHCT, FCT si TTL
(compatibile ntre ele ca niveluri de tensiune), care evident pot fi substituite ntre ele
dac
a sunt satisf
acute si conditiile de nc
arcare la intrare si iesire.
Familia CMOS la 3, 3V . Pentru alimentarea cu 3, 3V se definesc dou
a seturi
de niveluri logice de tensiune. Primul set de niveluri, abreviat prin LVCMOS (LowVoltage CMOS), este definit pentru portile CMOS care se interconecteaz
a numai
cu porti CMOS. Aceasta nseamn
a c
a valorile de nc
arcare n regim static sunt foarte
reduse (mai putin de 100A) astfel c
a VOL si VOH se mentin la diferente de maximum 0, 2V fata
de 0V respectiv fata
de VDD = 3, 3V . De fapt, nivelurile LVCMOS
corespund seriilor HC si VHC la 3, 3V .
Al doilea set de niveluri logice de tensiune, abreviat prin LVTTL (Low-Voltage
TTL) reprezentat n Figura 1.48-c este definit pentru portile CMOS care sunt utilizate
n aplicatii cu sarcini m
arite si care pot produce pentru tensiunea de iesire valorile
VOL = 0, 4V , VOH = 2, 4V . Deoarece n timp, la asignarea nivelurilor de tensiune
pentru portile TTL si pentru cele CMOS compatibile TTL, s-au ales valori de lucru
sub 2, 4V (f
ar
a a se lua n considerare evolutia ulterioar
a spre tensiuni standard de
alimentare sub 5V ), aceast
a potrivire a f
acut ca mai t
arziu s
a fie posibil
a asignarea

102

CAPITOLUL 1. PORT
I LOGICE
HC, VHC

5.0 V

VCC

4.44 V

VOH

3.5 V

VIH

2.5 V

VT

1.5 V

0.5 V

VIL

VOL

GND
0.0 V
Familiile 5 V CMOS

a)

HCT,TTL
5.0 V

VCC

3.3 V

VCC

2.4 V

VOH

2.4 V

VOH

2.5 V

VCC

2.0 V

VIH

2.0 V

VIH

1.5 V

VT

1.5 V

VT

2.0 V
1.7 V

VOH
VIH

1.2 V

VT

0.8 V

VIL

0.8 V

VIL

0.7 V

VIL

0.4 V

VOL

0.4 V

VOL

0.4 V

VOL

0.0 V

GND

0.0 V

GND

Familiile 5 V TTL

b)

Familiile 3.3V LVTTL

c)

GND
0.0 V
Familiile 2.5 V CMOS

d)

1.8 V

VCC

1.45 V
1.2 V
0.9 V

VOH
VIH
VT

0.65 V
0.45 V

VIL
VOL

GND
0.0 V
Familiile 1.8 V CMOS

e)

Figura 1.48 Nivelurile logice de tensiune pe intrare si iesire pentru toate familiile
CMOS

si pentru LVTTL a acelorasi niveluri de tensiune ca si pentru TTL, a se compara


reprezent
arile din Figura 1.48-b si 1.48-c. Astfel portile CMOS cu nivelurile LVTTL
(cu VCC = 3, 3V ) pot comanda la iesire porti TTL (cu VCC = 5V ) at
at timp c
at
nc
arcarea nu dep
aseste valorile IOLmax , IOHmax si, la fel, iesirile portilor TTL pot
comanda intr
arile LVTTL (dac
a aceste intr
ari sunt realizate tolerante la 5V ). De
fapt, nivelurile LVTTL corespund cu nivelurile de lucru de la seriile HCT, VHCT si
FCT ale familiei CMOS de 5V .
De ce portile LVTTL trebuie s
a fie realizate tolerante 5V la intrare? In general, pe
intrare portile au conectate diodele D1 si D2, care au rolul de a sunta supratensiunile
ce pot ap
area la intrare, Figura 1.49-a. Dioda D1 sunteaz
a la mas
a supratensiunile
care au amplitudinea negativ
a, iar D2 sunteaz
a la bara de alimentare V DD supratensiunile care au amplitudinea mai mare de 3, 3V . Dar la portile logice TTL valorile
tipice pentru VOH dep
asesc 3, 3V , ceea ce nseamn
a c
a o poart
a TTL care comand
ao
poart
a LVTTL poate avea iesirea scurtcircuitat
a prin dioda D2 la bara V DD = 3, 3V
(deci un curent foarte mare). Solutia? La structura de poart
a LVTTL netolerant
a pe
intrare la 5V , Figura 1.49-a, se elimin
a dioda D2 si se obtine structura tolerant
a pe
intrare la 5V, Figura 1.14-b. Evident, tranzistorul acestei structuri tolerante trebuie
s
a reziste la o tensiune de str
apungere de minimum 5V .
Dar portile TSL de tip LVTTL trebuie s
a fie tolerante la 5V si pe iesire. S
a consider
am c
a un buffer LVTTL de tip TSL are iesirea conectat
a la o linie de magistral
a
la care sunt conectate si alte porti TTL de tip TSL, Figura 1.49-c. Bufferul LVTTL
este n HZ c
and tensiunea aplicat
a pe poarta tranzistorului pMOS este VDD = 3, 3V ,
iar pe poarta tranzistorului nMOS este 0V . Dac
a linia de magistral
a este comandat
a de o poart
a TTL n stare H nseamn
a c
a tensiunea de iesire V O a bufferului
LVTTL este fixat
a de linia de magistral
a la 5V, tensiune care este aplicat
a si pe

1.5. PORT
I
IN TEHNOLOGIA CMOS
V DD = 3,3V

V DD = 3,3V
D2

pMOS

VI

TTL

103

VO

V 3,3V

pMOS
VI

TTL

V 3,3V

nMOS

D1

b)

Linie de magistrala

Linie de magistrala
V DD = 3,3V

V DD = 3,3V
Q

nMOS

buffer
LVTTL

c)

pMOS
VO

0V

nMOS

D1

a)

V DD

VO

EN

V DD

Q1
0V

buffer TSL
de tip TTL

pMOS
VO

nMOS

EN

buffer TSL
de tip TTL

d)

Figura 1.49 Porti CMOS de 3.3V : a) structur


a de poart
a netolerant
a la 5V pe intrare
si tolerant
a la 5V (b); structur
a de buffer TSL netolerant la 5V pe iesire (c) si tolerant pe
iesire la 5V (d).

drenul tranzistorului pMOS notat cu Q. Tranzistorul Q av


and o tensiune pe dren de
5V, fata
de tensiunea de 3, 3V aplicat
a pe poarta sa, va conduce deci creaz
a o cale
de scurtcircuit de la sursa de 5V la sursa de 3, 3V . Se poate mpiedica intrarea n
conductie a tranzistorului Q dac
a ntre poarta sa si dren se introduce un tranzistor
pMOS notat cu Q1, Figura 1.49-d. Pe poarta tranzistorului Q1 se aplic
a o tensiune
constant
a VDD = 3, 3V . C
and tensiunea de iesire VO > VDD , tranzistorul Q1 intr
a n
conductie, realiz
and o cale de impedanta
mic
a ntre iesire si poarta tranzistorului Q.
Rezult
a c
a potentialul pe poarta tranzistorului Q nu poate s
a scad
a sub potentialul
VO aplicat pe drenul s
au, deci este blocat. O astfel de structur
a aplicat
a circuitului
buffer LVTTL de tip TSL (alimentat la VDD = 3, 3V ) l face tolerant la 5V pe iesire.
Concluzion
and, interfatarea TTL/LVTTL se poate realiza n conditiile:
1. Interfatarea LVTTL-TTL se poate face direct cu respectarea conditiilor de
nc
arcare la iesire (nedep
asirea valorilor pentru IOHmax si IOLmax );
2. Interfatarea TTL-LVTTL se poate realiza dac
a intr
arile pe partea de LVTTL

104

CAPITOLUL 1. PORT
I LOGICE

sunt intr
ari tolerante la 5V;
3. Portile TTL si LVTTL de tip TSL pot comanda mpreun
a linii de magistral
a
dac
a iesirile LVTTL sunt tolerante la 5V.
CMOS la 2, 5V si 1, 8V . Migrarea de la 3, 3V la 2, 5V nu va fi simpl
a. Iesirile
de la familia CMOS de 3, 3V pot comanda intr
arile de la familia CMOS de 2, 5V at
at
timp c
at intr
arile pe partea de 2, 5V sunt tolerante la 3, 3V . Dar, compar
and nivelurile
logice de tensiune din Figura 1.48-c si 1.48-d se observ
a c
a tensiunea VOH = 2V de
la VDD = 2, 5V este egal
a cu VIH = 2V de la VDD = 3, 3V deci MH = 0 c
and CMOS
de 2, 5V comand
a CMOS de 3, 3V . Solutionarea acestei deficiente ar fi integrarea
mpreun
a cu poarta de 2, 5V a unui circuit de deplasare de nivel spre 3, 3V , solutie
ce se aplic
a n prezent doar la P si ASIC-uri. Probabil c
and familia de porti logice
CMOS la 2, 5V va deveni popular
a atunci si portile discrete vor avea nglobat si o
component
a standard - circuitul de deplasare de nivel.
Urm
atorul pas va fi tranzitia de la 2, 5V la 1, 8V . Analiz
and nivelurile logice de
tensiune din Figura 1.48-d si 1.48-e, c
and CMOS de 1, 8V comand
a CMOS de 2, 5V ,
rezult
a o valoare negativ
a pentru MH = 1, 45 1, 7 = 0, 25V deci, de asemenea,
este necesar un circuit de deplasare de nivel.

1.5.4

Poarta de transmisie CMOS

Poarta de transmisie CMOS este compus


a din dou
a tranzistoare complementare,
nMOS si pMOS, av
and conectate n comun drenurile, la fel si sursele, iar portile lor
sunt comandate separat. Semnalele de comand
a pe cele dou
a porti ale tranzistoarelor
sunt complementare, deci semnalul S pentru poarta tranzistorului pMOS se obtine
de la iesirea unui inversor la a c
arui intrare s-a aplicat semnalul S pentru comanda
portii tranzistorului nMOS. Aceast
a structur
a cu reprezent
arile simbolice din Figura
1.50 are o functionare de comutator bidirectional care este trecut n starea deschis
a
(ambele canale sunt blocate) prin semnalul de comand
a S = 0, S = 1, respectiv
trecut n stare nchis
a (cel putin un canal conduce) prin semnalul de comand
a S = 1,
S = 0. Pentru ntelegerea function
arii acestui dispozitiv compus dintr-un tranzistor
(de trecere) nMOS si un tranzistor (de trecere) pMOS, conectate ntre potentialele
Vin si VO se va analiza functionarea separat
a a fiec
arui tranzistor. Se va considera
potentialul de alimentare VDD ca fiind 1 logic, iar potentialul de mas
a VSS ca 0
logic. Reamintim c
a ambele tranzistoare sunt blocate c
and |VGS | |Vp | si sunt n
conductie c
and |VGS | |Vp |. Tranzistoarele n conductie sunt n zona liniar
a c
and
|VDS | < |VGS Vp | si n zona de saturatie c
and |VDS | |VGS Vp |, Figura 1.32-b
S
A

S
B

S
B

A
S

S
B

B
S

Figura 1.50 Diferite simboluri de reprezentare pentru poarta de transmisie


CMOS.

1.5. PORT
I
IN TEHNOLOGIA CMOS

105

(dac
a relatiile sunt exprimate n modul atunci sunt corecte at
at pentru nMOS c
at si
pentru pMOS).
Pentru tranzistorul nMOS, Figura 1.51-a, c
and semnalul pe poart
a are valoarea
S = 0 canalul este blocat si este trecut n conductie pentru S = 1. Pentru comanda
trecerii n conductie, S = VDD , la momentul t = 0, perechea de tensiuni vI(0) , vO(0)
poate fi: VDD , VSS ; VSS , VDD ; VSS , VSS ; VDD , VDD . Consider
and c
a la terminalele
tranzistorului este aplicat
a prima pereche de valori, vI (0) = VDD , vO (0) = VSS ,
atunci la nceput canalul conduce n saturatie, vDS = VDD vO (0) = VDD VSS =
VDD > VGS Vpn = VDD Vpn , condensatorul de sarcin
a CL se ncarc
a p
an
a la
tensiunea vO () = VDD Vpn c
and tranzistorul se blocheaz
a vGS = VDD vO () =
VDD (VDD Vpn ) Vpn . Valoarea 1 logic de la intrare este transmis
a degradat
a la
iesire vO () = VDD Vpn ; se spune c
a tranzistorul nMOS transmite slab 1 logic.
Pentru perechea de valori, vI (0) = VSS , vO (0) = VDD Vpn , canalul intr
a n conductie
n regim liniar vGS = VDD vI (0) = VDD VSS = VDD , vDS = (VDD Vpn ) VSS =
VDD Vpn < vGS = VDD p
an
a c
and se ajunge la vDS = VSS , vGS = VDD si IDS = 0;
condensatorul CL se descarc
a p
an
a la vO () = VSS . Rezult
a c
a valoarea 0 logic
la intrare este transmis
a f
ar
a degradare la iesire; se spune c
a tranzistorul nMOS
transmite bine 0 logic. Valorile tensiunilor de iesire vO (t = ) pentru toate cele
patru combinatii initiale ale perechii vI (0), vO (0) sunt redate n tabelul din Figura
1.51-b.
vI

vO

I DS

CL
I DS

VGS
Vpn
vI (0)

vO (0)

vO ( )

VDD
VSS
VSS
VDD

VSS
VDD Vpn

VSS

VDD Vpn

VDD Vpn
VSS
VSS
VDD Vpn

c)
vI (0)

S
VDD

Canalul n blocat

VSS

b)

VGS

a)

VDD

Vpn

vO

CL

vI

VSS

d)

vO (0)

vO ( )

Canalul p blocat
VDD
VSS
VSS
VDD

VSS

VDD

Vpp
VDD

VDD

Vpp
Vpp
VDD

Figura 1.51 Tranzistoare de trecere: a) tranzistorul de trecere nMOS si caracteristica de comand


a IDSn = f (VGS ); b) analiza modului de transfer al semnalului printr-un
canal nMOS; c) tranzistorul de trecere pMOS si caracteristica de comand
a IDSp = f (VGS );
d) analiza modului de transfer al semnalului printr-un canal pMOS.

Tranzistorul de trecere pMOS, Figura 1.51-c, este blocat pentru S = 1 si comandat


n conductie pentru S = 0. Dac
a la comanda n conductie, S = VSS , la terminalele
tranzistorului perechea vI (0), vO (0) are valorile VDD , VSS , atunci la nceput canalul
conduce n saturatie |VDS | = |VSS VDD | > |VGS | = |VSS Vpp | p
an
a c
and vO creste
la valoarea |VDD Vpp | si apoi n regim liniar p
an
a c
and vO () = VDD , deci CL

106

CAPITOLUL 1. PORT
I LOGICE

se ncarc
a p
an
a la tensiunea vO () = VDD . Nivelul 1 logic este transmis prin
canalul pMOS f
ar
a degradare. Pentru cazul c
and vI (0) = VSS , vO (0) = VDD
condensatorul se descarc
a prin rezistenta canalului n conductie p
an
a c
and v O = Vpp ,
sub aceast
a valoare |VGS | < |Vpp | canalul se blocheaz
a VO () = |Vpp |. Canalul
pMOS transmite cu degradare nivelul de 0 logic. Tabelul din Figura 1.51-d
prezint
a modul cum se transmite semnalul prin tranzistorul pMOS pentru toate cele
patru combinatii de perechi vI (0), vO (0).
Poarta de transmisie CMOS, care este un comutator format din cele dou
a canale
n si p conectate n paralel comandate cu semnale complementate, elimin
a dezavantajul de transmisie, degradarea de semnal, a fiec
arui tranzistor de trecere, astfel c
a
realizeaz
a o transmisie bun
a at
at pentru 1 logic, prin canalul p, c
at si pentru 0 logic
prin canalul n, Figura 1.52-b.
Desi inversorul CMOS transmite bine nivelurile de 1 si 0 logic, ntr-un lant de
transmisie pentru un transfer corect este necesar ca si semnalele s
a fie suficient de
puternice. In acest sens s
a consider
am c
a semnalul logic Vm , din punctul A de pe
condensatorul Cm (de valoare mic
a) vrem s
a-l transmitem prin intermediul portii de
transmisie CMOS n punctul B unde este conectat condensatorul CM (de valoare
mare) pe care exist
a semnalul logic VM , Figura 1.52-a. Tensiunea rezultant
a, c
and
poarta conduce, este :
C M VM + C m Vm
VR =
(1.81)
CM + C m
Dac
a Cm = 0, 02pF (o sarcin
a standard n tehnologia integrat
a de 0, 5m) si V m = 5V ,
iar CM = 0, 2pF (zece sarcini standard) si Vm = 0V , cu relatia 1.81, rezult
a tensiunea
pe ambele capacit
ati egal
a cu VR = 0, 45V . Aceasta nsemn
a c
a semnalul din punctul
A cu valoarea logic
a 1 nu s-a transmis corect n punctul B, mai mult, semnalul din
B a deteriorat semnalul din A si aceasta pentru c
a semnalul Vm nu a fost suficient
de puternic s
a forteze semnalul VM din B. Corectitudinea transferului prin poarta de
transmisie se poate realiza prin:
1- izolarea nodului A de nodul B prin introducerea unui buffer;
2- realizarea unui semnal n punctul A suficient de puternic. Uzual, realizarea
unui semnal destul de puternic la intrarea unei porti de transfer CMOS rezult
a prin
VDD

Transmisie
"1" fara degradare
S

"0"
Vm
Cm

a)

"1"

VM

VI

CM

b)

S
Transmisie
"0" fara degradare

VI

VO

VO
CL

VSS

c)

Figura 1.52 Poarta de transmisie CMOS: a) utilizarea portii pentru controlul conexiunii ntre dou
a puncte; b) poarta transmite f
ar
a degradare at
at nivelul de 1 logic c
at si
nivelul de 0 logic; c) nserierea portii de transmisie la iesirea unei porti CMOS inversor este
modalitatea normal
a de utilizare.

1.5. PORT
I
IN TEHNOLOGIA CMOS

107

obtinerea semnalului de intrare la poarta de transfer de la iesirea unui inversor CMOS,


ca n Figura 1.52-c. In implementarea sistemelor logice se intermixeaz
a portile de
transmisie cu cele pe baz
a de inversor CMOS; prin utilizarea si a portilor de transmisie
rezult
a un num
ar mai redus de tranzistoare.
Implementarea operatorilor logici pe baz
a de porti de transmisie CMOS se face
ntr-un mod similar ca la realizarea schemelor logice pe baz
a de contacte. Dac
a variabila de intrare n poarta de transmisie (variabila de trecere) este x, iar poarta este
comandat
a n deschidere cu variabila de control y, se obtine produsul logic xy, iar dac
a
variabila de control este y, se obtine produsul logic xy. In acest mod de implementare,
pentru functia xy = xy +xy, consider
and x ca variabila de trecere, iar y ca variabil
a
de control, se obtine structura din Figura 1.53-a. Implement
arile de baz
a de tranzistoare de trecere se fac la fel de simplu ca si cele cu relee, de exemplu, n Figura 1.53-b
este implementat operatorul XOR. Bazat pe aceast
a simpl
a implementare a operatorului XOR se poate realiza un circuit pentru calculul identit
atii a dou
a cuvinte (de
exemplu X = x3 x2 x1 x0 si Y = y3 y2 y1 y0 ca n Figura 1.53-d). Acest circuit realizeaz
a
functia de identificare cuvinte Idc = (x3 y3 ) + (x2 y2 ) + (x1 y1 ) + (x0 y0 ),
gener
and Idc = 1 numai c
and exist
a identitate. Structural este o pseudopoart
a NOR
(Figura 1.46-a) ale c
arei intr
ari se obtin de la porti XOR.
Extinz
and aceste reguli simple se poate obtine o structur
a de circuit pe baz
a de
porti de transmisie care poate modela toate cele 16 functii de dou
a variabile x, y.
Fiecare functie de dou
a variabile fi2 (x, y) se poate obtine, din tabelul de adev
ar din
Figura 1.2-a, ca o form
a canonic
a normal
a disjunctiv
a (relatia 1.10) sau pentru o
VDD
y
x
y

xy + xy

y
x

a)

di

di

y
x

di

xy + xy

di

y3
0

A
1

b)

f i2 (x,y)

y2

y2

c)

y3

y1
y1
y0
y0

x3

I dc

x3
x2
x2
x1
x1
x0
x0

d)

Figura 1.53 Exemple de circuite implementate cu porti de transmisie CMOS si


tranzistoare de trecere: Operatorul XOR cu porti de transmisie (a) si cu tranzistoare
de trecere (b); c) structur
a programabil
a pentru toate cele 16 functii de dou
a variabile,
fi2 (x, y); d) structur
a de circuit pentru determinarea identit
atii a dou
a cuvinte de patru biti
(X = x3 x2 x1 x0 , Y = y3 y2 y1 y0 ).

108

CAPITOLUL 1. PORT
I LOGICE

exprimare sintetic
a se poate folosi

2
f0 (x, y)

2
f1 (x, y)
0 0 0




..
0 0 0


. . .
2 .
fi (x, y) =
.. .. ..




.

..
1 1 1



f 2 (x, y) 1 1 1

14
f 2 (x, y)
15

relatia matriceal
a:








0

1
0
1
..
.

x1 x0
x1 x0
x1 x0
x1 x0






fi2 = kdij k kP k


(1.82)

adic
a matricea functiilor kfi2 k este produsul dintre matricea coeficientilor kdij k,
i = 0, 1, , 15, j = 0, 1, 2, 3 ai functiei cu matricea termenilor produs de dou
a variabile kP k. Functia fi2 (x, y) are forma:
fi2 (x1 , x0 ) = di0 x1 x0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0

(1.83)

Analiz
and aceast
a relatie, se deduce c
a implementarea const
a din patru ramuri n
paralel, la fiecare din ramuri se aplic
a unul din coeficentii binari ai functiei (di0 , di1 , di2 ,
di3 ), iar pe fiecare ramur
a sunt c
ate dou
a porti de transmisie nseriate care realizeaz
a unul din termenii canonici produs (x1 x0 , x1 x0 , x1 x0 , x1 x0 ), Figura 1.53-c. De
exemplu, pentru setul de coeficienti: (d0 = 0, d1 = 1, d2 = 1, d3 = 0) ai functiei
f62 (vezi Figura 1.2) circuitul va implementa operatorul XOR, iar pentru setul: d0 =
0, d1 = 1, d2 = 1, d3 = 0 se obtine modelarea operatorului NAND. Pentru fiecare
combinatie de patru biti aplicat
a la intr
arile acestui circuit se va modela una din cele
16 functii de dou
a variabile. Se va vedea n sectiunea 2.4.4 c
a acest circuit este, de
fapt, o structur
a de multiplexor, MUX 4:1.

1.5.5

Circuite logice dinamice

La circuitele logice prezentate p


an
a acum functia logic
a realizat
a corespunde regimului static de functionare, adic
a este asociat
a cu punctul static de functionare.
La o poart
a logic
a dup
a un timp de propagare (nt
arziere pe poart
a), de la aplicarea
intr
arilor, se obtine la iesire o stare logic
a stabil
a care se mentine at
at timp c
at se
mentin valorile intr
arilor si tensiunea de alimentare se p
astreaz
a. Implement
arile
acestea, referite ca statice, n general necesit
a un num
ar mare de tranzistoare si care,
n plus, pot determina timpi de nt
arziere considerabili.
Pentru implement
arile de nalt
a performanta
si de densitate mare de integrare,
unde puterea disipat
a, nt
arzierea pe circuit si aria consumat
a pe siliciu sunt cerinte
majore, se recomand
a asa numitele circuite logice dinamice care ofer
a unele avantaje
n raport cu circuitele logice statice. Totusi, aceste avantaje pot fi umbrite de faptul c
a, n raport cu circuitele statice, imunitatea la zgomot este mai sc
azut
a, ceea
ce a determinat ca unele circuite dinamice s
a fie modificate pentru o functionare
pseudostatic
a. Functionarea circuitelor logice dinamice se bazeaz
a pe stocarea temporar
a (tranzistorie) a unei sarcini electrice pe o capacitate parazit
a a unui nod de
circuit. Tensiunea tranzitorie pe acea capacitate parazit
a, n intervalele de timp c
and
se situeaz
a n intervalele VIH , VIL , este considerat
a ca semnal logic de intrare pentru comanda circuitului a c
arui intrare este conectat
a la acel nod (n aceste intervale
de timp nu mai este necesar s
a se aplice semnal de intrare din exterior).

1.5. PORT
I
IN TEHNOLOGIA CMOS

vx

VI
nMOS

VGS =0

VDD

CLK

canal
initial

CLK

I DS

VDD

109

VO

Vpn 0

VGS

vx

VI

T1
Cx

a)

CL

Cx

CLK

CL

VO

b)

VDD
CLK
VSS

t
t1
VDD

t2

t3

vx

VDD Vpn
Vp inversor

c)

t
t1

t2

t4

Figura 1.54 Circuite logice dinamice: a) structur


a de inversor dinamic (cu sarcin
a
tranzistor cu canal initial) si comutator pe intrare tranzistor de trecere; b) structur
a de
inversor dinamic CMOS cu comutator pe intrare poart
a de trecere; c) diagramele de timp
pentru semnalul de ceas, CLK, si pentru variatia tensiunii vx pe capacitatea parazit
a Cx a
nodului de intrare.

Circuitele logice dinamice de baz


a, pentru portile dinamice nMOS si pentru cele
CMOS, sunt reprezentate respectiv n Figura 1.54-a si 1.54-b. Pentru ambele circuite tensiunea Vx , care va comanda n intervalele tranzitorii inversorul cu tranzistor
de comand
a nMOS si sarcina cu canal initial (depletion-load nMOS) sau inversorul
CMOS, este tensiunea rezultat
a pe capacitatile parazite Cx ale portilor de intrare.
Inversorul cu tranzistor de comand
a nMOS (sau pMOS) are o structur
a de principiu
similar
a ca si inversorul bipolar (Figura 1.21-d), un element comandat tranzistorul
si o sarcin
a. La fel ca si cel bipolar, sarcina se poate realiza cu o rezistenta
de sarcin
a
n dren, dar n tehnologia integrat
a o rezistenta
de sarcin
a obtinut
a prin difuzie ocup
a
o suprafata
pe siliciu echivalent
a cu suprafata consumat
a, pentru implementarea, a
zeci de tranzistoare. Evitarea unui astfel de consum mare de suprafata
de siliciu
poate fi obtinut
a prin utilizarea ca rezistenta
de sarcin
a rezistenta unui canal nMOS
n conductie, deci un tranzistor utilizat ca rezistenta
. Exist
a dou
a modalit
ati de realizare a sarcinii pe baz
a de tranzistor: fie cu un tranzistor nMOS cu canal indus n
regim de saturatie, fie un tranzistor nMOS cu canal initial.
Inversorul cu rezistenta de sarcin
a canal n saturatie se obtine prin conectarea ntre tranzistorul inversor (de comand
a) si bara VDD a unui tranzistor (de
sarcin
a) nMOS a c
arui poart
a se conecteaz
a la VDD . Prin aceast
a conexiune poarta

110

CAPITOLUL 1. PORT
I LOGICE

si drenul fiind echipotentiale, VGS sarcina = VDD VS = VDD VO , VDS sarcina =


VD VS = VDD VO rezult
a c
a totdeauna VGS sarcina = VDS sarcina , iar VDS sarcina >
VGS sarcina Vpn sarcina , deci canalul este permanent n saturatie (Figura 1.32-b).
C
aderea de tensiune pe canal (VDS sarcina ) nu poate sc
adea sub valoarea de prag
de deschidere (Vpn sarcina ) deoarece atunci canalul s-ar bloca (s-a explicat n 1.5.4
c
a tranzistorul nMOS transmite deteriorat 1 logic). Aceasta nseamn
a c
a tensiunea
maxim
a de iesire n starea H nu poate atinge valoarea barei de alimentare V DD ,
VOmax = VDD Vpn sarcina < VDD .
Inversorul cu tranzistor inversor nMOS si cu sarcin
a tranzistor
nMOS cu canal initial poate genera la iesire o tensiune maxim
a egal
a cu VDD .
Tranzistorul nMOS cu canal initial are, chiar si c
and VGS = 0, permanent o sarcin
a
electric
a negativ
a n canal (canalul initial), deci exist
a un curent dac
a V DS > 0;
aceast
a stare se poate observa din caracteristica de comand
a I DS = f (VGS ), desenat
a
l
ang
a tranzistor n Figura 1.54-a. Se observ
a c
a din aceast
a caracteristic
a valoarea
tensiunii de prag de deschidere a tranzistorului este negativ
a, Vpn , iar c
and grila
este conectat
a la surs
a, VGS = 0, canalul este n conductie, IDS 6= 0. Deci atunci
c
and tranzistorul inversor este blocat tensiunea de iesire VOH nu mai este limitat
a la
valoarea VDD Vpn (ca la inversorul cu sarcin
a tranzistor saturat) ci poate creste p
an
a
la valoarea VDD . Canalul initial se obtine n procesul tehnologic printr-o difuzie suplimentar
a, n zona canalului, de impurit
ati donoare care genereaz
a (permanent) canalul
initial; m
arind tensiunea de comand
a pe poart
a VGS peste valoarea zero sarcina negativ
a a canalului initial este nt
arit
a suplimentar printr-o sarcin
a indus
a n canal.
Pentru cele dou
a tipuri de inversoare, din Figura 1.54-a si 1.54-b, tensiunea de
intrare VI se aplic
a pe grilele de intrare prin intermediul unui comutator, care este un
tranzistor de trecere nMOS pentru inversorul cu sarcin
a cu canal initial, iar pentru
inversorul CMOS este o poart
a de transmisie CMOS. Comutatorul este comandat
periodic cu un semnal de ceas, CLK; deci c
and CLK = 1 comutatorul este nchis,
iar tensiunea de intrare VI va forta nc
arcarea sau desc
arcarea capacit
atii parazite
Cx p
an
a la un potential vx = VDD sau vx = 0 dup
a cum la intrare VI a avut
valorile 1 sau 0 logic. Aceste valori pentru Vx se obtin doar pentru comutatorul
poarta de transmisie, dar pentru comutatorul tranzistor de trecere se obtin valorile
vx = VDD Vpn , vx = 0 (tranzistorul de trecere nMOS transmite cu deteriorare 1 logic
si f
ar
a deteriorare 0 logic, iar poarta de transmisie transmite f
ar
a deteriorare at
at 1
logic c
at si 0 logic). C
and semnalul de ceas devine inactiv CLK = 0, comutatorul
este deschis, condensatorul Cx r
am
ane nc
arcat sau desc
arcat, iar tensiunea sa Vx va
comanda iesirea inversorului respectiv n starea logic
a 0, VO = VOL sau 1, VO = VOH .
Sarcina stocat
a pe Cx scade n timp datorit
a unui curent de desc
arcare. Curentul de desc
arcare spre mas
a nu este prin stratul de oxid de sub poarta tranzistorului/tranzistoarelor inversorului, care prezint
a o rezistenta
extrem de mare ( 10 14 )
ci prin comutatorul de pe intrare. Curentul de desc
arcare prin acest comutator are
dou
a componente: 1- curentul prin jonctiunea pn polarizat
a invers, format
a ntre zona
difuzat
a a terminalului tranzistorului de trecere legat
a la Cx si substratul n care este
realizat
a aceast
a zon
a; 2- curentul de conductie de sub prag; dar preponderent
a este
prima component
a. C
and CLK = 0 vx = VDD sau VDD Vpn(tranzistor de trecere) inversoarele genereaz
a la iesire VOL si aceast
a valoare logic
a se p
astreaz
a p
an
a c
and v x descreste p
an
a la tensiunea de prag a tranzistorului inversor Vp(inversor) , adic
a momentul
t4 din Figura 1.54-c. Evident, functionarea corect
a a inversorului dinamic se realizeaz
a

1.5. PORT
I
IN TEHNOLOGIA CMOS

111

numai atunci c
and semnalul CLK devine activ nainte ca vx s
a scad
a la Vp(inversor) ,
t3 < t4 . At
at pentru comutatorul tranzistor de trecere c
at si pentru comutatorul
poart
a de transmisie, variatia n timp a tensiunii vx (t), deci a intervalului c
and aceasta
ajunge la pragul Vp(inversor) , se poate determina analitic pe baza circuitelor echivalente
din Figura 1.51-a, 1.51-b sau printr-o modelare n SPICE. Dar un calcul orientativ
se poate efectua foarte rapid; de exemplu pentru Cx = 0, 1pF , Idescarcare = 0, 1pA
rezult
a o variatie Vx /t = I/C = 0, 1 1012 pA/0, 1 1012 pF = 1V /s, deci o
5V
sc
adere de la 5V la 0V n 5s ( 1V
a vitez
a de sc
adere de 1V /s a
/s = 5s). La aceast
tensiunii Vx o frecventa
de exemplu 500Hz (T = 2ms) pentru semnalul de ceas, ca
s
a remprosp
ateze sarcina pe condensator, este cu mult peste suficient. Semnalul de
ceas mai este referit, n acest caz, si ca semnal de remprosp
atare (refreshment).
Exemplul 1.19 Pentru lanturile de tranzistoare de transmisie nMOS din Figura
1.55-a si 1.55-b s
a se determine tensiunea la iesire.
VI = V DD

T1

(V DD Vpn1)

T2

V1

VDD

(V DD Vpn2)

T3

V2

VDD

VI = V DD
VI = V DD
T1

VI = V DD

V3

VDD

a)

T2

T4 V4max = (V DD Vpn4)
V4

(V DD Vpn3)
VDD
T3

V3max = V DD Vpn1 Vpn2 Vpn3

V2max = V DD Vpn1 Vpn2

V1max = V DD Vpn1

VDD

b)
Figura 1.55 Structuri de lanturi cu tranzistoare de trecere nMOS
Solutie. Pentru lantul obtinut din nserierea a patru tranzistoare de trecere nMOS
identice (Vpn1 = Vpn2 = Vpn3 = Vpn4 ) se consider
a c
a VI = VDD si toate cele patru noduri
sunt desc
arcate (V1 = V2 = V3 = V4 = 0). Cu aceste consideratii tranzistorul T1 opereaz
a n
saturatie VDS1 > VGS1 Vpn1 deci c
aderea de tensiune pe primul canal nu poate fi mai mic
a
dec
at Vpn1 ; rezult
a c
a tensiunea V1 n nodul 1 nu poate dep
asi valoarea V1max = (VDD Vpn1 ).
Tranzistorul T2 functioneaz
a la limita de saturatie deci tensiunea maxim
a n nodul 2 va fi
V2max = (VDD Vpn2 ). Extinz
and la T4, tensiunea n nodul 4 va fi mai mic
a cu Vpn4
dec
at VDD . Rezult
a c
a indiferent c
ate tranzistoare sunt nseriate c
and la intrare se aplic
a
VI = VDD tensiunea pe fiecare nod intern se va stabiliza la o valoare egal
a cu Vpn sub VDD
oricare a fost tensiunea initial
a pe nod. Ca o imagine intuitiv
a se poate considera un singur
tranzistor de trecere, cu de n ori lungimea de canal, pe care este o c
adere egal
a cu Vp .
Pentru structura din Figura 1.55-b c
and iesirea de la tranzistorul anterior se aplic
a pe
poarta tranzistorului urm
ator, fiecare tensiune de iesire poate creste doar p
an
a la valoarea
egal
a cu Vpn sub tensiunea aplicat
a pe poart
a deci V1max = VDD Vpn , V2max = VDD
Vpn Vpn , V3max = VDD Vpn Vpn Vpn . . . Vnmax = VDD nVpn .

112

CAPITOLUL 1. PORT
I LOGICE

Circuite CMOS dinamice. Implementarea urm


atoarei functii de opt variabile
F = AB + (C + D)(E + F ) + GH pe o structur
a CMOS static
a conventional
a necesit
a
16 tranzistoare ca n Figura 1.56-a. Aceeasi implementare pe o structur
a CMOS
dinamic
a, reprezentat
a n Figura 1.56-b, necesit
a doar 10 tranzistoare; structura are
asem
anare cu cu pseudo-poarta CMOS din Figura 1.46-a. Aceast
a poart
a dinamic
a
const
a dintr-o retea de n tranzistoare al c
arui nod de iesire y, caracterizat de o
capacitate parazit
a Cy , este prenc
arcat la tensiunea VDD prin tranzistorul pMOS, Tp .
Apoi, condensatorul Cy este desc
arcat/evaluat conditionat (de intr
arile de comand
a
ale portii) prin unele din tranzistoarele retelei nMOS si prin tranzistorul nMOS, Te .
Alternativ, se poate realiza o structur
a cu un nMOS tranzistor pentru prenc
arcare
la VDD , un pMOS tranzistor pentru desc
arcare la VSS si o retea de p de tranzistoare.
Faza de prenc
arcare a capacit
atii Cy prin tranzistorul Tp p
an
a la tensiunea vO =
VDD se realizeaz
a pe intrevalul de timp c
and semnalul de ceas are valoarea CLK = 0,
Figura 1.55-c, totodat
a se aplic
a si valorile variabilelor pe intr
arile portii. Apoi, pe
intervalul de timp c
and semnalul de ceas are valoarea CLK = 1, iar Tp este blocat,
dar Te conduce, se realizeaz
a evaluarea valorii functiei. In functie de valorile logice
ale variabilelor de intrare se poate realiza sau nu o cale de scurtcircuit la mas
a pentru
tensiune vO = VDD , deci valoarea functiei este evaluat
a la 0 sau 1 logic. Pe nodul de
iesire y poate obtine doar o tranzitie de la 1 la 0 sau r
am
ane n starea 1 logic.
VDD

CLK

VDD
Tp

VDD

A
B

G
H

E
C

VDD
Te
VO

b)

F
D

Preincarcare
VDD
VSS

a)

vO

Cy

VDD
VSS

Preincarcare
Evaluare

CLK
vO

Conduce:

Tp

Te

Tp

c)

Figura 1.56 Porti CMOS pentru implementarea functiei F = AB + (C + D)(E +


F ) + GH: a) cu o structur
a static
a; b) cu o structur
a dinamic
a; c) diagramele de semnale
pentru fazele de prenc
arcare si evaluare n functionarea portii dinamice.

1.5. PORT
I
IN TEHNOLOGIA CMOS
VDD
CLK
Tp1

VDD

vO1
Intr1
RETEA
nMOS

VDD
CLK
VSS

Evaluare

vO1

Te1

Te2

Poarta 1

Poarta 2

VDD
vO2

b)

VDD
Tp1
CLK

VDD
vO1

VDD

Intr2

a)

Preincarcare

Tp2
vO2

113

Tp2

RETEA
nMOS

RETEA
nMOS

Te1

Te2

Poarta 1

Poarta 2

vO2

Corect
Eronat

c)

Figura 1.57 Porti CMOS dinamice: a) nserierea portilor si diagrama semnalelor la


iesirea lor (b); c) nserierea portilor de tip domino.

Functionarea unei singure porti CMOS dinamice (ca n Figura 1.56-b) este corect
a,
dar c
and sunt nseriate mai multe porti ca n Figura 1.57-a poate apare o functionare
eronat
a. In aceast
a nseriere Poarta2 se consider
a a fi un NAND cu dou
a intr
ari
(Intr1, Intr2). Pe durata fazei de prenc
arcare, prin tranzistoarele Tp1 si Tp2 , tensiunile de iesire vO1 si vO2 ajung la valoarea VDD , iar valorile variabilelor de intrare sunt
aplicate la Poarta1, a doua intrare (Intr2) pentru Poarta2 se consider
a c
a are aplicat
a
valoarea 1 (pe prima intrare (Intr1) a Portii2 se aplic
a vO1 ). Se presupune c
a intr
arile
pentru Poarta1 determin
a pentru aceasta, prin unele tranzistoare n conductie din
reteaua n si prin Te1 , o cale de scurtcircuit la mas
a pe durata fazei de evaluare, deci
vO1 devine 0 logic, valoare evaluat
a corect pentru Poarta1.
Dar, la nceputul fazei de evaluare tensiunea de iesire, care se aplic
a pe prima
intrare de la Poarta2, este nc
a la nivelul vO1 = vDD deci iesirea vO2 a portii NAND
va fi comandat
a n valoarea zero, vO2 = 0. Aceast
a valoare logic
a 0 de la iesirea
portii NAND este eronat
a deoarece la sf
arsitul fazei de evaluare ar trebui s
a fie 1
logic (vO2 = VDD ) pentru c
a iesirea corect
a de la Poarta1 este 0 logic, Figura 1.57-b.
Rezult
a c
a posibilitatea de functionare eronat
a la aceast
a poart
a c
and este nseriat
a
cu alte porti s-ar p
area c
a elimin
a celelalte avantaje (putere disipat
a redus
a, valoarea
ridicat
a pentru marginea de zgomot, num
ar redus de tranzistoare si vitez
a ridicat
a).
Pentru eliminarea posibilit
atii de functionare eronat
a au fost realizate o multime de
structuri [Weste 2001][Kang 1996] CMOS dinamice de mare performanta
, dar care
nu prezint
a acest dezavantaj, dintre acestea se va prezenta doar structura de poart
a
CMOS (dinamic
a) domino.
O poart
a logic
a CMOS domino se compune dintr-o poart
a CMOS dinamic
a
la care se conecteaz
a pe iesire un inversor CMOS static, Figura 1.57-c. S
a explic
am
necesitatea introducerii inversorului. Poarta1 poate realiza la iesire doar o comutatie
de la 1 la 0 si trebuie s
a comande tranzistorul Portii2 numai c
and are evaluat
a pentru
iesire valoarea 0. Deoarece tranzistorul nMOS al Portii2 se comand
a cu 1 logic este
normal ca ntre iesirea Portii1 si intrarea Portii2 s
a se introduc
a un inversor CMOS

114

CAPITOLUL 1. PORT
I LOGICE

static; cu aceast
a completare Poarta2 este comandat
a numai atunci c
and, dup
a evaluare, Poarta1 comut
a din 1 n 0. C
and Poarta1 comut
a din 1 n 0, comand
a,
prin inversor, ca Poarta2 s
a poat
a comuta din 1 n 0, care la fel comand
a Poarta3 s
a
comute din 1 n 0 si asa mai departe p
an
a la poarta n-a (propagare de tip domino!).
,,
Evident, aceast
a succesiune de c
aderi ale tensiunilor de iesire ale portilor din 1 n
0 similar ca la un lant domino trebuie s
a se propage ntr-un interval de timp care
s
a nu fie mai lung dec
at faza de evaluare, CLK = 1. Dar si poarta domino prezint
a
inconveniente: primul, poarta este la iesire (din inversorul static CMOS) o structur
a
neinversoare (necesar
a pentru un lant domino), iar dac
a este necesar
a o inversare
trebuie introdus nc
a un inversor static; al doilea, distributia sarcinii Cy pe nodurile
intermediare ale tranzistoarelor nMOS nseriate (din reteaua nMOS) n timpul fazei
de evaluare, poate produce o iesire eronat
a.
CLK

VDD

VDD

Tp1

Tp2

CLK

VDD
Tp1

Tm
vy

T1
T2

vO

Cy
C1
C2

Retea
nMOS

Retea
nMOS

Retea
nMOS
Te1

a)

Poarta 1

Te1

Te2
Poarta 2

b)

Figura 1.58 Poarta CMOS domino: a) dac


a nu se respect
a aplicarea semnalelor de
intrare, numai n faza de prenc
arcare, atunci redistributia sarcinii de pe Cy poarta produce
o functionare eronat
a pentru o poart
a domino; b) eliminarea posibilit
atii de functionare
eronat
a prin introducerea unui circuit cu reactie (tranzistorul Tm ) pentru mentinerea vy =
VDD .

Distributia sarcinii nodului de iesire pe nodurile intermediare din reteaua


nMOS apare n felul urm
ator. S
a consider
am poarta domino din Figura 1.58-a. In
intervalul de timp de prenc
arcare tensiunea vy n nodul de iesire y, pe capacitatea
parazit
a Cy , atinge valoarea VDD . Se poate ca unele semnale de comand
a pe portile
tranzistoarelor nMOS nseriate s
a nu fie aplicate corect; semnalele de intrare pe portile
tranzistoarelor trebuie aplicate numai pe durata fazei de prenc
arcare (este incorect
a
modificarea valorii acestor semnale pe durata fazei de evaluare). S
a presupunem c
a
n faza de evaluare pe portile primelor dou
a tranzistoare nMOS de l
ang
a nodul de
iesire y al Portii1 se aplic
a semnalele 1 logic care comand
a aceste dou
a tranzistoare
n conductie; restul tranzistoarelor nseriate din reteaua nMOS sunt comandate n
blocare, Te1 conduce, deci nu exist
a o cale de scurtcircuit a sarcinii de pe Cy la
mas
a, iesirea Portii1 nu comut
a din 1 n 0. Deoarece primele dou
a tranzistoare T1

1.5. PORT
I
IN TEHNOLOGIA CMOS

115

si T2 conduc, sarcina de pe Cy se distribuie si pe condensatoarele parazite C1 si C2


din nodurile dintre tranzistoarele T1 si T2 respectiv T2 sih T3. In urma
i distribuirii
C
sarcinii tensiunea n nodul de iesire va avea valoarea vy = Cy +Cy1 +C2 VDD . Pentru
VDD = 5V , Cy = C1 = C2 rezult
a Vy = 1, 66V . Valoarea tensiunii vy = 1, 66V , c
and
tensiunea la iesirea Portii1 ar fi trebuit s
a r
am
an
a la valoarea v y = VDD = 5V , este
sub valoarea de prag de comutatie ( 2, 5V ) a inversorului CMOS static, deci iesirea
acestuia comut
a din 0 n 1 si se comand
a intrarea Portii2. Iat
a c
a prin distributia de
sarcin
a sc
aderea tensiunii vO1 produce o comand
a eronat
a pentru Poarta2.
Pentru eliminarea comutatiei eronate datorat
a distributiei sarcinii din nodul de
iesire se poate aplica una din urm
atoarele solutii:
1. Se realizeaz
a inversorul CMOS static cu un prag de comutatie foarte sc
azut;
2. Se utilizeaz
a c
ate un tranzistor de prenc
arcare, similar lui Tp1 , pentru fiecare
nod din reteaua de tranzistoare nMOS, n felul acesta capacitatea din fiecare
nod se ncarc
a la tensiunea VDD (deci sarcina de pe Cy nu se mai distribuie).
3. Se realizeaz
a un tranzistor pMOS de mentinere Tm ca n Figura 1.58-b. Acesta
,,
este un tranzistor slab , adic
a forteaz
a un curent foarte mic n nodul de iesire
deoarece are un raport de forma W/L de valoare foarte mic
a, deci poate mentine
tensiunea vy n starea H n acest nod numai dac
a nu exist
a o cale putenic
a de
scurtcircuit de la nod la mas
a prin lantul de tranzistoare din reteaua nMOS. Se
observ
a c
a tranzistorul Tm este n conductie doar c
and tensiunea n nod este
de nivel H; prin reactia invers
a, realizat
a prin intermediul inversorului static, se
aplic
a un semnal de nivel L pe poarta lui Tm mentin
andu-l n conductie.
Performantele tranzitorii ale portii domino pot fi mbun
at
atite prin reducerea timpului de desc
arcare a capacit
atii Cy la mas
a prin linia de tranzistoare nMOS nseriate.
O solutie n acest sens este realizarea layoutului tranzistoarelor nseriate ca n Figura
1.59-b, unde l
atimea de canal creste, n sensul de la tranzistorul conectat la nod, spre
tranzistorul conectat la mas
a, desi aceast
a geometrie pare a fi contraintuitiv
a. Prin
micsorarea raportului de form
a W/L al unui tranzistor capabilitatea de a furniza
curent scade (rezistenta echivalent
a a canalului creste), la fel scad si capacit
atile
parazite. Explicatia n cazul prezentei geometrii este: dac
a lungimea canalelor nMOS
nseriate este destul de mare, cresterea rezistentei prin micsorarea unor l
atimi de canal
este nensemnat
a, pe c
and sc
aderea capacit
atii parazite este semnificativ
a si deci per
total rezult
a o constant
a de timp micsorat
a pentru desc
arcare. In plus, se poate realiza pentru inversorul static de pe iesire, care dup
a faza de evaluare poate comuta
de la 0 la 1, o vitez
a m
arit
a a comutatiei L H de la iesirea sa, prin dimensionarea
tranzistorului nMOS al s
au cu W m
arit.
Poarta domino, de fapt, este realizat
a din dou
a etaje, poarta dinamic
a urmat
a de
inversorul CMOS static, Figura 1.59-a. Uneori poarta domino nu este sincronizat
a
n faza de evaluare, deci tranzistorul Te este eliminat; acest tranzistor ncetineste
procesul de desc
arcare al capacit
atii Cy , dar elimin
a n faza de prenc
arcare orice cale
de conductie ntre VDD si VSS . Tipic o poart
a domino este de 1, 5 2 ori mai rapid
a
dec
at o poart
a CMOS static
a.

116

CAPITOLUL 1. PORT
I LOGICE
VDD
CLK

Tp1

CLK

Tp1

Te1
a)

Te1
b)

Figura 1.59 Poarta CMOS dinamic


a: a) structur
a tipic
a de poart
a domino; b) variant
a
de layout (simplificat) care poate realiza un timp redus n etapa de evaluare pentru poarta
domino.

1.5.6

Metoda efortului logic

Metoda efortului logic a fost conceput


a de c
atre Ivan Sutherland si Bob Sproull
(1991), ca un instrument n proiectarea circuitelor CMOS n functie de nt
arzierea
pe circuit; ulterior a fost publicat
a o monografie pe acest subiect [Sutherland 0 99].
Prezentul material este o sintez
a a metodei efortului logic bazat
a pe aceast
a monografie.
Metoda efortului logic n raport cu alte metode de proiectare (simulare si corectare,
fan-out egal pe etaj, optimizarea numeric
a, nt
arziere egal
a pe nivel) este usor de
aplicat pentru c
a se bazeaz
a pe un simplu model RC al portii, permite o leg
atur
a
cu structura intern
a a circuitului, deci se poate alege topologia optim
a de circuit.
Prin aplicarea metodei se pot proiecta circuite care realizeaz
a abateri ale timpului de
propagare cu cel mult 10% fata
de timpul minim. Este foarte important faptul c
a,
prin utilizarea metodei efortului logic, se poate selecta n prima etap
a cu certitudine
care dintre variantele de circuit luate n considerare pentru analiz
a este mai rapid
a;
valoarea absolut
a a nt
arzierii pe circuit nu este chiar asa de important
a n prima
etap
a, deoarece pentru o variant
a de circuit selectat se pot face apoi simul
ari exacte
de timp. Desi metoda efortului logic conduce la proiectarea unui circuit CMOS rapid
apare totusi ca lacunar
a prin faptul c
a nu este corelat
a cu obtinerea pentru acel circuit
si a unui minim pentru aria consumat
a si pentru puterea disipat
a.
1.5.6.1

Determinarea nt
arzierii pe o poart
a logic
a

Primul pas n modelarea nt


arzierilor este concentrarea tuturor efectelor de nt
arziere, ale unui circuit de referinta
realizat ntr-o anumit
a tehnologie, sub forma

1.5. PORT
I
IN TEHNOLOGIA CMOS

117

unei unit
ati etalon de nt
arziere. In fiecare tehnologie se alege ca circuit de referinta
,
dintre toate portile realizate n tehnologia respectiv
a, poarta cea mai simpl
a, adic
a
poarta inversor. Iar ca unitate etalon de nt
arziere, notat
a cu , este nt
arzierea
introdus
a de poarta inversor c
and se consider
a c
a nu are capacit
ati interne parazite si
comand
a doar o poarta inversor identic
a. Astfel, se va exprima nt
arzierea absolut
a,
dabs , a unei alte porti din aceeasi tehnologie ca produsul dintre nt
arzierea etalon a
inversorului si o nt
arziere adimensional
a d (specific
a fiec
arei porti)
dabs = d

(1.84)

Pentru o tehnologie cu caracteristica de 0, 6m si VDD = 3, 3V valoarea nt


arzierii
etalon este = 50ps. De fapt, caracteristica de vitez
a a procesului respectiv se
exprim
a printr-o singur
a valoare, .
Int
arzierea pe o poart
a logic
a cuprinde dou
a componente, una constant
a, notat
a
cu p, datorat
a capacit
atilor interne parazite si alta notat
a cu f , referit
a ca efortul pe poart
a/nivel (stage effort) dependent
a de sarcina comand
a la iesire si de
structurarea/topologia portii. Rezult
a c
a nt
arzierea adimensional
a a portii, care indic
a de c
ate ori este mai mare dec
at a inversorului, poate fi exprimat
a prin relatia:
d=f +p

(1.85)

La efortul pe poart
a f contribuie efortul electric, h, ce caracterizeaz
a sarcina
comandat
a de poart
a si efortul logic, g, ce nglobeaz
a particularitatea structurii
portii n raport cu structura portii etalon (inversorul), acestea dou
a sunt n relatia:
f =hg

(1.86)

Efortul electric, h, reflect


a cum m
arimea sarcinii conectate la iesire afecteaz
a nt
arzierea pe poarta logic
a si cum dimensiunile portilor tranzistoarelor determin
a capabilitatea de a produce curenti pentru sarcina conectat
a la iesire si se exprim
a prin
raportul:
CO
h=
(1.87)
Cin
n care Cin este capacitatea prezentat
a de poart
a la intrare, iar CO este toat
a capacitatea comandat
a de poart
a la iesire. Evident, dac
a se consider
a la iesire numai
capacit
atile prezentate de intr
arile portilor comandate, efortul electric poate fi referit
si prin fan-out (num
arul de intr
ari de porti comandate la iesire de c
atre o poart
a). Mai
mult, este foarte uzual
a nc
arcarea unei porti la iesire cu patru sarcini etalon, adic
a
realizarea unei comenzi pentru patru inversoare, notat
a cu FO4 (fan-out 4), vezi
Exemplul 1.20. Dar, n general n valoarea lui CO pe l
ang
a capacit
atile de intrare ale
portilor comandate intr
a si capacit
atile conexiunilor dintre iesirea portii de comand
a
si intr
arile comandate (Ccox n relatia 1.64), deci n cazul metodei efortului logic se
va considera valoarea lui h obtinut
a prin raportul dat de relatia 1.87 si care numai n
cazuri particulare coincide cu fan-out-ul (c
and nu se consider
a capacit
atile conexiunilor). Uneori at
at Cin c
at si CO se exprim
a n unit
atile n care se m
asoar
a l
atimea
canalului W , adic
a n m, pentru c
a la aceeasi lungime de canal L, a tuturor tranzistoarelor, capacit
atile fiind proportionale cu suprafata portilor tranzistoarelor, W L,
rezult
a c
a sunt proportionale cu W ; dar n acest caz si componenta de capacitate a

118

CAPITOLUL 1. PORT
I LOGICE

conexiunilor, Ccox , care intr


a n CO , trebuie convertit
a n m. Pentru capacitatea de
poart
a a tranzistorului si pentru capacitatea de conexiune valori uzuale sunt: respectiv 2f F/m si 0, 2f F/m, valori care r
am
an cam aceleasi pentru multe generatii de
proces atunci c
and se scaleaz
a identic dimensiunile, dar simultan si grosimea stratului
de oxid (Dox , Figura 1.32-a).
Din relatiile 1.85, 1.86, 1.87 se obtine expresia nt
arzierii pe o poart
a n unit
ati :
d = gh + p

(1.88)

care reflect
a faptul c
a efortul electric, h, si efortul logic, g, contribuie la cresterea
nt
arzierii n aceeasi manier
a. Pentru un inversor care comand
a un inversor identic,
Cin
=
1,

s
i
nu
se
consider
a
capacit
a

t
ile
interne
parazite,
p = 0, pentru a se
h = C
in
obtine o nt
arziere adimensional
a egal
a cu unitatea d = 1, se consider
a efortul logic
g = 1 (rezult
a din relatia 1.88). Consider
and n = 2p (desi la tehnologiile ad
anc
submicronice n /p tinde spre 1, 5), pentru un inversor care s
a comande un curent egal
pentru sarcin
a, at
at n tranzitia H L, c
at si n tranzitia L H, este necesar raportul
Wn /Wp = 0, 5. Un inversor cu raportul Wp = 2Wn prezint
a la intrare o capacitate
Cinv proportional
a cu 3 unit
ati de capacitate (de l
atime de canal W): o unitate de
capacitate pentru poarta de canal nMOS si dou
a unit
ati de capacitate pentru poarta
de canal pMOS, Figura 1.60; evident s-a considerat capacitatea minim
a, cea a portii
nMOS, ca unitate de capacitate.
V DD
2 unitati (de capacitate)

2
pMOS

C inv

nMOS

1
V SS

C inv

C inv
1 unitate
(de capacitate)

C inv = 2+1 = 3 unitati

(de capacitate)

Figura 1.60 Exprimarea capacit


atii de intrare a unui inversor C inv n unit
ati
echivalente de capacitate (minim
a).

Efortul logic exprim


a informatia despre topologia portii adic
a reteaua de tranzistoare care realizeaz
a conectarea iesirii portii la tensiunea VDD si la tensiunea VSS
(mas
a) necesar
a pentru determinarea nt
arzierii pe poart
a. Se vor prezenta trei
definitii echivalente ale efortului logic, fiecare definitie exprim
and o alt
a perspectiv
a
de abordare.
Definitia 1.16 Efortul logic al unei porti, g, este raportul dintre capacitatea de
intrare a unei porti, Cin , si capacitatea de intrare a unei porti inversor, Cinv , pentru
care ambele porti au aceleasi valori ale curentilor pe iesire:
g=

Cin
Cinv

(1.89)

1.5. PORT
I
IN TEHNOLOGIA CMOS

119


2+1=3

VDD
2 I O,LH

VDD

2+2=4
C in=4

4+1=5
2

A
B
C in=4

A
C in=3
1

I O,LH

I O,HL

I O,HL
g= 4/3

2
I O,HL=I O,LH

C in=5

40

I O,LH

48

30
30

48
C in=60

30
3/ I
4 O,HL

30
I O,LH=I O,HL

e)

3/ I
5 O,LH

3/ I
4 O,LH

C in=60
I O,HL

g= 5/3

VDD

VDD
C in=60
A

I O,HL

c)

B
C in=60

20

A
B
C in=5

b)
VDD

d)

I O,LH
2

g= 3/3=1

a)

VDD

12

A
B

3/ I
5 O,HL

12

C in=60

f)

Figura 1.61 Efortul logic pentru portile inversor, NAND si NOR: a,b,c) c
and toate
aceste porti au aceeasi capabilitate de comand
a la iesire; d,e,f) c
and toate aceste porti au
aceeasi capacitate Cin pe intrare.

Conform acestei definitii, din Figura 1.61-a, 1.61-b si 1.61-c se calculeaz


a pentru
portile inversor, NAND si NOR valorile capacit
atilor pe fiecare intrare, fiind egale
respectiv cu 1 + 2 = 3, 2 + 2 = 4 si 4 + 1 = 5; rezult
a deci valorile efortului logic:
3/3 pentru inversor, 4/3, pentru NAND si 5/3 pentru NOR. In Tabelul 1.13 sunt
prezentate valorile efortului logic pentru portile foarte uzuale n functie de num
arul
de intr
ari si de valorile raportului = Wp /Wn .
Definitia 1.17 Efortul logic al unei porti, g, este num
arul care exprim
a de
c
ate ori este mai redus curentul pe iesirea portii dec
at curentul pe iesirea unei porti
inversor c
and ambele porti au aceeasi capacitate de intrare. 
Orice topologie de poart
a logic
a prezint
a o mai mic
a capabilitate de a produce un
curent de iesire dec
at o poart
a inversor c
and ambele au aceeasi capacitate pe intrare.
Reducerea curentului pe iesirea portii nseamn
a un timp de propagare mai lung, deci
efortul logic exprim
a de c
ate ori este mai lent
a poarta n efectuarea comenzii unei
sarcini dec
at poarta inversor n efectuarea aceleiasi comenzi.
Din Figura 1.61-e si Figura 1.61-f rezult
a de c
ate ori sunt mai redusi curentii la

120

CAPITOLUL 1. PORT
I LOGICE

iesirea portilor NAND si NOR dec


at curentii la iesirea portii inversor, Figura 1.61-d,
c
and toate trei portile au aceeasi capacitate la intrare, egal
a cu 60 de unit
ati.
Definitia 1.18 Efortul logic al unei porti, g, este egal cu raportul dintre panta
dreptei care reprezint
a dependenta nt
arzierii pe poart
a n functie de fan-out si panta
dreptei care reprezint
a dependenta nt
arzierii portii inversor n functie de fan-out. 

Aceast
a definitie sugereaz
a si o metod
a de m
asurare a efortului logic din dependenta grafic
a nt
arziere - fan-out obtinut
a experimental sau prin simulare, Figura
1.62.
Se poate defini un efort logic gb si pentru un grup de b intr
ari, analog relatiei 1.89,
n felul urm
ator:
Pb
Ci
Cb
= i=1
(1.90)
gb =
Cinv
Cinv
n care Cb este suma capacit
atilor Ci , ale fiec
arui semnal aplicat pe o intrare i din
cele b intr
ari. De fapt, rezult
a
c
a
g
este
suma
eforturilor logice gi pentru toate cele
b
P
b semnale de intrare gb = bi=1 gi .
Din Tabelul 1.13 rezult
a c
a pentru o poart
a cu c
at este mai complex
a functia logic
a
realizat
a cu at
at este mai mare efortul logic si, mai mult, efortul logic al portilor creste
cu num
arul de intr
ari ale portii, deci concluzia este c
a portile mai complexe sau mai
mari (ca num
ar de intr
ari) vor prezenta nt
arzieri mai mari. Aceast
a concluzie este
un ghid n selectarea (alegerea) unei structuri logice. Proiectarea care urm
areste
minimizarea num
arului de niveluri logice va necesita mai multe intr
ari pentru fiecare
poart
a logic
a si astfel efortul logic pe poart
a devine mai mare. In schimb proiectarea
care urm
areste mai putine intr
ari, si astfel cu un efort logic mai mic pe nivel logic,
va necesita mai multe niveluri logice. De fapt, acest aspect n proiectarea unui sistem
este vesnicul compromis care trebuie f
acut ntre ad
ancimea (nt
arzierea), D(n), si
Tabelul 1.13
Valorile efortului logic pentru portile uzuale

Tipul de
poart
a

Efortul logic

Inversor

NAND

Total
Pe intrare

NOR
Multiplexor
XOR,
XNOR
Latch

Num
arul de intr
ari

Formula

Total
Pe intrare
Total
Pe date, selector
Total
Pe intrare pereche
Total
Pe date, clock

de calcul
1+
1+
n(n+)
1+
n+
1+
n(n+n)
1+
1+n
1+

4n
2, 2
n2 2n1
n 2n1
4
2, 2

n=1

n=2

n=3

n=4

8/3
4/3

5
5/3

8
2

10/3
5/3
8
2, 2
8
4

7
7/3
12
2, 2
36
12

12
3
16
2, 2
128
32

=2

1.5. PORT
I
IN TEHNOLOGIA CMOS

121

dimensiunea, S(n), aspect ce va fi permanent n atentie n capitolele 2 si 3 ale acestei


lucr
ari.
Calculul nt
arzierii p, datorit
a capacit
atilor interne parazite, nu este asa de usor
de efectuat cum este pentru efortul logic. Principala contributie la aceast
a capacitate
parazit
a o au capacit
atile zonelor difuzate ale tranzistoarelor si care sunt conectate la
semnalul de iesire. Pentru calculul unei astfel de capacit
ati este luat
a n considerare
at
at suprafata zonei difuzate c
at si peretii laterali ai zonei difuzate si care depind de
layout si parametrii de proces. Consider
and o capacitate de difuzie specific
a pentru
proces, Cd , atunci o aproximare grosier
a pentru capacit
atile zonelor difuzate de dren
si surs
a poate fi exprimat
a prin produsul W Cd . Cu aceast
a aproximare se poate
concepe un model pentru inversor n felul urm
ator. Semnalul de iesire din poarta
inversor este conectat la dou
a zone difuzate: una corespunde c
aii nspre mas
a prin
canalul n pentru care se consider
a W = 1 si atunci aceast
a capacitate este C d si alta
corespunde c
aii nspre VDD , prin canalul p, pentru care capacitatea este Cd deci
suma lor este (1 + )Cd . Capacitatea de intrare n inversor este egal
a cu produsul
dintre suprafata portilor celor dou
a canale (1 + ), pentru W = 1, si capacitatea
specific
a de poart
a Cox , adic
a (1 + )Cox . Int
arzierea datorat
a capacit
atilor interne
parazite ale inversorului pinv este egal
a cu raportul dintre capacit
atile parazite si
(1+)Cd
d
capacitatea de intrare, pinv = (1+)C
= CCox
. Se consider
a pentru pinv ca fiind o
ox
m
arime adimensional
a egal
a cu unitatea pinv = 1.
Int
arzierea pentru o poart
a se poate calcula din nt
arzierea inversorului p inv , consider
and c
a poarta are reguli de layout similare cu cele ale inversorului. Int
arzierea
pentru poart
a, p, este mai mare dec
at a inversorului, pinv , cu raportul dintre suma
tuturor l
atimilor acelor zone difuzate Wd ale tranzistoarelor care sunt conectate la
semnalul de iesire si l
atimea corespunz
atoare a inversorului, cu conditia c
a poarta
logic
a este dimensionat
a s
a aib
a acelasi curent de iesire ca si inversorul:

P
Wd
pinv
(1.91)
p=
1+
Aplic
and aceast
a aproximare pentru poarta NAND cu n intr
ari care au n calea
spre mas
a o singur
a zon
a difuzat
a conectat
a la iesire cu l
atimea nW d si n calea spre
tensiunea VDD un num
ar de n zone difuzate de l
atimea Wd , deci suprafata total
a
n(1 + )Wd , rezult
a p = n pinv . La fel, se poate calcula pentru poarta NOR si rezult
a
p = n pinv . Tabelul 1.14 prezint
a, pentru c
ateva porti uzuale, aceste calcule.
Tabelul 1.14
Estimarea nt
arzierilor p pentru unele porti

Tipul de
poart
a
NAND
NOR
Multiplexor
XOR

Formula
n pinv
n pinv
2n pinv
n 2n1 pinv

n=2
2
2
4
4

pinv = 1.0
n=3 n=4
3
4
3
4
6
8
12

Estimarea componentei de nt
arziere p are serioase limit
ari c
and se consider
a c
a
aceast
a nt
arziere creste liniar cu num
arul de intr
ari ale portii. Deoarece nt
arzierea

122

CAPITOLUL 1. PORT
I LOGICE

datorat
a capacit
atilor interne parazite este dependent
a de layout, cea mai bun
a cale
pentru determinarea acesteia este prin simularea circuitului cu datele exacte de layout.
Dar o determinare exact
a pentru nt
arzierea p, datorit
a capacit
atilor interne parazite,
nu este necesar
a n etapa de dimensionare a tranzistoarelor deoarece aceast
a dimensionare se face n functie doar de efortul pe poarta f = g h care este independent de
p.
dabs
[ps]

IN

ER

SO

NA
ND
2

dabs= gh+ p
dabs= .h+ pinv
=tg 1

g=tg 2

pinv
0

2
3
4
Efortul electric

Figura 1.62 Utilizarea diagramei dabs = f (h) pentru calculul parametrilor si p.

Valorile n unit
ati de timp [ps] ale parametrilor si pinv pentru inversor si, n
extensie pentru fiecare poart
a, pot fi determinate din reprezentarea grafic
a a nt
arzierii
absolute a portii inversor dabs = (h + pinv ), sau a unei porti dabs = (g h + p) n
functie de efortul electric h, Figura 1.62. Aceast
a dreapt
a poate fi trasat
a doar prin
cunoasterea a dou
a puncte care pot fi determinate prin simulare, prin experiment sau
din foaia de catalog a circuitului. Panta dreptei pentru inversor determin
a nt
arzierea
unitar
a = tg1 , iar t
aietura pe ordonat
a este egal
a cu produsul pinv , deci rezult
a
pinv . O metod
a pentru determinarea nt
arzierii absolute dabs pentru inversor este
expus
a n Exemplul 1.17. Prin m
asurarea frecventei f a unui oscilator n inel compus
din n inversoare, dabs = (h + p) cu h = 1, pinv = 1 rezult
a dabs = 2 si din egalitatea
2 = 1/2nf se obtine cu n = 1, = 1/4f .
Exemplul 1.20 Sa se estimeze ntarzierea d pe un inversor care comanda patru
inversoare identice, inversor FO4 (fan-out 4), Figura 1.63-a.
Solutie. Deoarece toate inversoarele sunt identice CO = 4Cin deci h = 4. Pentru
inversor efortul logic este unitar g = 1. Conform relatiei 1.88 rezult
a d = gh + p = 1 4 +
pinv = 4 + 1 = 5. Adesea, nt
arzierea pe o poart
a este exprimat
a n raport de nt
arzierea
inversorului cu patru sarcini inversor, pentru c
a ntr-un proces este cunoscut
a nt
arzierea
F O4, adic
a nt
arzierea de 5 . Int
arzierile pentru alte circuite vor fi multipli de 5 (de FO4).

1.5. PORT
I
IN TEHNOLOGIA CMOS

123

Exemplul 1.21 O poarta NOR4 (cu patru intrari) comanda alte 10 porti NOR4
identice, Figura 1.63-b. Care este nt
arzierea d pe poarta de comand
a?

d
x

a)
b)

Figura 1.63 Calculul nt


arzierii pe poart
a: a) Pentru inversor cu nc
arcare patru porti
inversor,FO4; b) Pentru NAND4 care comand
a 10 porti NAND4.
Solutie. Capacitatea Cin pe o intrare a portii NOR4 este x, iar capacitatea conectat
a
pe iesire CO = 10x deci efortul electric este h = 10. Efortul logic g pentru poarta cu patru
intr
ari, obtinut din Tabelul 1.13, este g = 9/3 = 3, iar nt
arzierea p rezult
a din Tabelul 1.14.
Int
arzierea pe poarta de comand
a este d = gh + p = 3 10 + 4 1 = 34 unit
ati de nt
arziere.
Se observ
a c
a atunci c
and sarcina este mare nt
arzierea p datorat
a capacit
atilor parazite
interne este nesemnificativ
a n raport cu efortul pe poart
a.

Exemplul 1.22 Sa se structureze o poarta XOR si sa se calculeze efortul logic.


Solutie. Exprim
and A B ca o functie negat
a, pentru implementare n CMOS,
A B = A B = AB + AB = AB + A B
rezult
a expresia logic
a AB + A B, pentru reteaua nMOS, si prin complementarea acesteia
se obtine expresia logic
a AB + AB, pentru reteaua pMOS, cu structurarea din Figura 1.64.
Fiecare intrare este o pereche de semnale deoarece se genereaz
a at
at variabila c
at si variabila
negat
a.
Efortul total al portii este (8 + 8)/(1 + ) = 8, iar efortul logic pe o intrare (A, A, B,
B) este de patru ori mai mic, adic
a 2. Evident c
a efortul logic pe o intrare pereche A, A sau
B, B este de dou
a ori mai mare, adic
a 2 2 = 4. De la structura XOR cu dou
a variabile,
prin extensie, se poate obtine o structur
a cu n variabile; n Figura 1.64-b, este prezentat
a
o structur
a XOR pentru trei variabile A B C. O poart
a XOR de n variabile va avea
pentru reteaua nMOS un num
ar de 2n1 ramuri n paralel, fiecare ramur
a fiind compus
a
din n tranzistoare nseriate de l
atime n.Pentru reteaua pMOS sunt, la fel, 2n1 ramuri n
paralel, fiecare ramur
a fiind compus
a din n tranzistoare nseriate de l
atime n. Efortul logic
total este 2n1 n(n + n)/(1 + ) = n2 2n1 , iar efortul logic pe o intrare va fi de 2n ori
mai mic adic
a n 2n2 , efortul logic pe o intrare pereche este de dou
a ori mai mare n 2n1
( a se vedea Tabelul 1.13).
Cu aceast
a organizare simetric
a a portii XOR pentru n 3 nu se obtine cel mai mic efort
logic, de exemplu pentru n = 3 efortul logic este 36. Analiz
and semnalele pentru comanda

124

CAPITOLUL 1. PORT
I LOGICE
V DD

A A

B B

V DD
B

AB + AB

3
A

b)
V DD
A

AB + AB

a)

c)

Figura 1.64 Structurarea portii XOR n tehnologia CMOS: a) poarta XOR cu


dou
a intr
ari; b) structurare simetric
a pentru poarta XOR cu trei intr
ari; c) o modalitate de
structurare asimetric
a pentru poarta XOR cu trei intr
ari.

tranzistoarelor se observ
a c
a unele dintre acestea pot fi comune pentru c
ate dou
a ramuri, at
at
n reteaua nMOS c
at si n reteaua pMOS, astfel se obtine o organizare asimetric
a prezentat
a
n Figura 1.64-c.
La organizarea asimetric
a calcul
and efortul logic total, pentru n = 3, rezult
a valoarea
de 24, valoare mai mic
a fata
de organizarea simetric
a (32). Rezult
a valoarea 6 pentru
efortul logic al intr
arilor pereche A si C, iar pentru intrarea pereche B valoarea 12 (ca si la
organizarea simetric
a deoarece nici un tranzistor conectat la B sau B nu a fost eliminat).
Din organizarea portii XOR cu dou
a intr
ari rezult
a imediat cea a portii XNOR cu dou
a
intr
ari prin nlocuirea variabilei A cu A si invers a variabilei A cu A.

1.5. PORT
I
IN TEHNOLOGIA CMOS

1.5.6.2

125

Calculul nt
arzierii n retelele de porti logice

Intr-o retea de porti logice, metoda efortului logic permite evaluarea num
arului
optim de porti pentru obtinerea nt
arzierii minime pe un anumit traseu, precum si
repartizarea nt
arzierilor partiale pe fiecare poart
a din acel traseu. Notiunile de efort
logic si efort electric, de porti, se obtin prin generalizarea acestor notiuni definite
pentru o singur
a poart
a.
Efortul logic pentru un traseu, notat cu G, se obtine ca un produs al efortului
logic gi al tuturor portilor de-a lungul acestui traseu:
Y
G=
gi
(1.92)
Efortul electric pentru un traseu, notat cu H, se obtine ca un raport ntre
capacitatea total
a care ncarc
a iesirea ultimei porti a traseului si capacitatea de intrare
de la prima poart
a din traseu:
CO
H=
(1.93)
Cin
Dar n anumite puncte ale traseului considerat se pot ramifica si alte trasee (colaterale) deci n acele puncte curentul de iesire al portii respective se ramific
a ntre
traseul considerat si traseul/traseele colaterale; pentru aceste situatii este necesar a se
lua n considerare si nc
arc
arile colaterale. Aceste nc
arc
ari colaterale sunt continute
n notiunea de efort de ramificatie la iesirea portii cu indexul i din traseu si este notat
cu bi . Efortul de ramificatie bi (n punctul de ramificatie) se defineste ca raportul
dintre suma capacit
atii de intrare a portii urm
atoare din traseu, Cit , cu a capacit
atilor
de intrare de la portile de pe traseul/traseele de ramificatie, Cir , si Cit .
bi =

Cit + Cir
Cit

(1.94)

Intr-un punct de neramificatie al traseului rezult


a bi = 1, deoarece Cir = 0. Efortul
de ramificatie pe ntregul traseu, B, se obtine ca un produs al tuturor eforturilor de
ramificatie bi de-a lungul traseului:
Y
B=
bi
(1.95)
Similar cu relatia 1.86 se poate defini un efort al traseului, notat cu F , ca produsul
dintre efortul electric, H, efortul logic, G, si efortul de ramificatie, B, de-a lungul
traseului:
F = GBH
(1.96)
Se observ
a c
a F depinde numai de topologia (G) si de nc
arcarea traseului (H) si
nu de dimensiunea tranzistoarelor din portile de pe acest traseu. Mai mult, efortul
traseului nu se schimb
a dac
a se introduc sau se scot inversoare deoarece acestea au
efortul logic egal cu 1.
Pentru traseu, produsul dintre efortul electric H si efortul de ramificatie B este
egal cu produsul efortului electric hi al tuturor portilor de pe traseu:
BH =

Y
CO Y
bi =
hi
Cin

(1.97)

126

CAPITOLUL 1. PORT
I LOGICE

aceast
a relatie este important
a deoarece pentru un traseu se cunoaste C in , CO si
eforturile de ramificatie bi deci proiectantul va trebui s
a dimensioneze efortul electric
pentru fiecare poart
a hi astfel nc
a s
a realizeze produsul BH.
Int
arzierea pe traseu D este egal
a cu suma nt
arzierilor portilor din traseu si, la
fel ca n relatia 1.88, are dou
a componente: una, nt
arzierea de efort a traseului D F
si cealalt
a nt
arzierea datorat
a capacit
atilor interne parazite ale portilor din traseu,
P , deci se pot scrie relatiile:
X
D =
di = DF + P
(1.98)
X
DF =
g i hi
(1.99)
X
P =
pi
(1.100)
Se demonstreaz
a c
a int
arzierea pe traseu are valoarea minim
a c
and fiecare poart
a
din cele N ale traseului are acelasi efort, notat cu f, a c
arui valoare se obtine cu
relatia:

N
f = gi hi = F
(1.101)
Din relatiile 1.101 si 1.98 se deduce principalul rezultat al metodei efortului logic,
ce se poate obtine pentru
adic
a relatia care exprim
a nt
arzierea minim
a,notat
a cu D,
un traseu:
= N F N1 + P
D
(1.102)
Pentru un traseu a c
arui topologie este dat
a se poate calcula efortul F si repartiz
and un efort egal pe fiecare poart
a, din relatia 1.101, rezult
a c
at trebuie s
a fie
efortul electric
hi pe fiecare poart
a din traseu
1

N
i = F
h
gi

(1.103)

iar, apoi, cu valoarea lui


hi cunoscut
a, se pot determina dimensiunile tranzistoarelor
din fiecare poart
a logic
a din traseu. De fapt, calculul ncepe cu dimensionarea tranzistoarelor din ultima poart
a a traseului, pentru care se cunoaste: nc
arcarea la iesire
CO , efortul logic si valoarea f, deci rezult
a capacitatea de intrare a ultimei porti
(care este capacitatea de iesire a penultimei porti atunci c
and efortul de ramificatie
n acest punct este 1). Apoi, dup
a dimensionarea tranzistoarelor din ultima poart
aa
traseului se dimensioneaz
a, succesiv, si celelalte porti n sensul invers de parcurgere
a portilor din traseu, adic
a de la penultima poart
a p
an
a la poarta de intrare. Relatia
de dimensionare pentru poarta cu indicele i din traseu este:
Cini =

g i C Oi
f

(1.104)

din care rezult


a capacitatea Cini de intrare n poarta i, care apoi se distribuie potrivit
la toate tranzistoarele de pe acea intrare a portii. COi a rezultat deja de la dimensionarea (anterioar
a a) portii urm
atoare din traseu, (i + 1).
Exemplul 1.23 Un traseu A B ca n Figura 1.65-a este compus prin nserierea a
trei porti NAND2; capacitatea de intrare a primei porti este C, iar nc
arcarea ultimei porti

1.5. PORT
I
IN TEHNOLOGIA CMOS

127
V DD

C/2
y

C/2

B
C/2

C/2
a)

b)

Figura 1.65 Explicativ


a pentru exemplul 1.23

este tot C. Care este nt


arzierea minim
a pe traseu si care sunt dimensiunile tranzistoarelor
acestor porti?
Solutie. Pentru a determina efortul traseului B trebuie calculate efortul electric H, de
ramificatie B si logic G, de-a lungul traseului. Efortul logic este produsul efortului logic
al celor trei porti NAND2, G = g0 g1 g2 = (4/3)(4/3)(4/3) = (4/3)3 = 2, 37 . Efortul de
ramificatie B are valoarea 1 deoarece nu exist
a nici o ramificatie pe traseu. Efortul electric
al traseului este H = C/C = 1, deci
F
=
GBH
= 2, 37 . C
and efortul pe fiecare poart
a

arzierea minim
a care se poate obtine pe
are aceeasi valoare egal
a cu f = 3 F = 4/3 nt
3
= 3
traseu se calculeaz
a cu relatia 1.102, D
2, 37 + 3(2pinv ) = 10 unit
ati de nt
arziere.
Pornind dimensionarea tranzistoarelor de la ultima poart
a care are capacitatea pe iesire
C si aplic
and relatia 1.104 se obtine capacitatea de intrare pentru a treia poart
a NAND2,
z = (c 4/3)/(4/3) = C. Similar rezult
a capacitatea de intrare pentru a doua poart
a
NAND2, y = (z 4/3)/(4/3) = z = C. Rezult
a c
a toate portile au aceleasi dimensiuni pentru
tranzistoare, adic
a portile sunt identice, ceea ce nu este surprinz
ator deoarece fiecare poart
a
are aceeasi sarcin
a si acelasi efort logic, iar pentru obtinerea timpului minim toate trebuie
s
a aib
a acelasi efort. F
ac
and dimensionarea pentru n /p = 2 rezult
a o poart
a NAND2 cu
dimensiunile pentru portile tranzistoarelor specificate n Figura 1.65-b.

Exemplul 1.24 Pentru traseul A B, Figura 1.65-a de la Exemplul 1.23, sa se


determine nt
arzierea minim
a si dimensiunile tranzistoarelor c
and sarcina la iesire este 8C.
3
Solutie. G = (4/3) , H = 8C/C = 8, B = 1 deci F = GBH = (4/3)3 8 = 18, 96,
= 3(18, 96) 13 + 3(2pinv ) = 14 unit
iar nt
arzierea minim
a care se poate obtine este D
ati
de nt
arziere. Se observ
a c
a desi efortul electric este de 8 ori mai mare dec
at n Exemplul
1.23 nt
arzierea minim
a a crescut numai cu 40 %. Pentru efort egal pe fiecare poart
a f =

3
18, 96 = 8/3 se determin
a dimensiunile tranzistoarelor pornind cu ultima poart
a z =
(8C 4/3)/(8/3) = 4C, y = (z4/3)/(8/3) = 2C, iar ca o verificare se calculeaz
a si capacitatea
de intrare pentru prima poart
a (y 4/3)/(8/3) = y/2 = C. Fiecare poart
a are capacitatea
de intrare dubl
a fata de capacitatea portii anterioare, deci dimensiunile tranzistoarelor se
dubleaz
a pe fiecare nivel n sensul de parcurgere a traseului de la A la B, tranzistoare cu
l
atime de canal mai mare n etaje succesive au capabilitate mai mare de a comanda curenti
n sarcin
a.

128

CAPITOLUL 1. PORT
I LOGICE

Exemplul 1.25 Sa se dimensioneze tranzistoarele portilor de pe traseul A B din


Figura 1.66-a pentru a obtine timpul minim de nt
arziere c
and efortul electric al traseului
este H = 4, 5.
Solutie. Efortul de ramificatie la iesirea primei porti este b1 = (y+y)/y = 2, iar la iesirea
celei de-a doua porti este b2 = (2 + 2 + 2)/2 = 3 deci B = 2 3, G = (4/3)3 , iar H = 4, 5,
= 3 64 13 + 3(pinv ) = 18
rezult
a F = GBH = 64. Int
arzierea minim
a pe traseu se obtine D

a
unit
ati de nt
arziere. Se calculeaz
a un efort egal pe fiecare poart
a f = 3 64 = 4. Rezult
z = (4, 5 4/3)/4 = 1, 5, y = (b2 z 4/3)/4 = z = 1, 5C, iar pentru prima poart
a se poate
face o verificare (b1 y 4/3)/4 = 2/3y = C, deci se pot dimensiona tranzistoarele pe intrare
ale portilor NAND2.
z

10 m (latime de poarta)
4,5C

y
A

a)

z
4,5C

20 m (latime
de poarta)

B
4,5C

b)

Figura 1.66 Explicativ


a pentru: a) Exemplul 1.25; b) Exemplul 1.26.

Exemplul 1.26 Sa se dimensioneze circuitul din Figura 1.66-b pentru a realiza o


nt
arziere minim
a. Se consider
a c
a sarcina de iesire CO este capacitatea unei porti logice
cu l
atimea (de poart
a) de 20m, iar capacitatea de intrare corespunde unei porti de l
atime
10m.
Solutie. Presupun
and aceeasi lungime pentru toate tranzistoarele rezult
a c
a valoarea
capacit
atii lor este proportional
a cu l
atimea portilor lor deci se poate exprima valoarea
capacit
atii si prin m. Se calculeaz
a pentru traseu: efortul logic G = 1 (5/3) (4/3) 1 =
20/9, efortul electric H = 20/10 = 2, efortul de ramificatie B = 1 1 1 = 1 rezult
a
=
F
=
GBH
=
40/9,
deci
efortul
egal
pe
fiecare
poart
a
,
pentru

nt
a
rziere
minim
a
,
este
f
p
4
40/9 = 1, 45. Parcurg
and traseul n sens invers, pornind cu ultima poart
a, rezult
a l
atimea
total
a a portilor tranzistoarelor de intrare de pe nivelul respectiv: z = (201)/1, 45 = 14m,
y = (144/3)/1, 45 = 13m si x = (135/3)/1, 45 = 15m; apoi aceste valori de capacitate
se distribuie potrivit pentru fiecare poart
a de tranzistor din nivelul respectiv. Se observ
a,
c
a rezult
a l
atimi mai mari pentru portile tranzistoarelor din inversoare dec
at pentru portile
tranzistoarelor din celelalte porti logice ceea ce este normal deoarece inversoarele au o mai
bun
a capabilitate de a comanda sarcini.
Se observ
a c
a n dimensionarea tranzistoarelor pentru obtinerea nt
arzierii minime pe
traseu, relatia 1.102, am neglijat nt
arzierea P deoarece aceasta este fix
a, iar ajustarea
dimensiunii portii nu modific
a nt
arzierea parazitic
a. De fapt, se poate neglija totdeauna
nt
arzierea P c
and nu se doreste o precizie ridicat
a n determinarea nt
arzierii pe traseu sau
c
and se compar
a dou
a trase care contin porti logice diferite ori contin un num
ar diferit de
porti logice.

1.5. PORT
I
IN TEHNOLOGIA CMOS

1.5.6.3

129

Alegerea num
arului optim de niveluri pe un traseu

C
and num
arul N de niveluri n traseu este dat cu relatia 1.101 se calculeaz
a
1
valoarea efortului ,f = F N ,egal pe fiecare nivel, care va determina nt
arzierea minim
a
pe traseu. Dar pentru un traseu, la care se cunoaste efortul F , dar nu si num
arul de
,
niveluri, s-ar putea ca num
arul dat N s
a nu fie egal cu cel optim, num
ar notat cu N
care s
a genereze cea mai mic
a nt
arziere. C
and num
arul de etaje pentru un efort dat
, atunci cel mai bun efort egal pe etaj, notat cu , se
pentru traseu este cel optim N
1

N
atoarei ecuatii:
calculeaz
a cu relatia = F si care este solutia urm
pinv (1 ln) = 0

(1.105)

ntr-un traseu pentru obtinerea


Tabelul 1.15 prezint
a num
arul optim de niveluri N
celei mai mici nt
arzieri pe traseu, c
and pinv = 1.
Tabelul 1.15
n functie de efortul pe traseu F , pentru
Num
arul optim de niveluri N
pin = 1

Efortul de
traseu F
0

Num
arul optim

de etaje N

Int
arzierea
minim
aD
1
6,8

0 5, 8

11,4

2.4 4, 7

16,0

2, 8 4, 4

20,7

3, 0 4, 2

25,3

3, 1 4, 1

29,8

3, 2 4, 0

34,4

3, 3 3, 9

39,0

3, 3 3, 9

43,6

3, 3 3, 9

48,2

3, 4 3, 8

52,8

3, 4 3, 8

57,4

3, 4 3, 8

1
5,83
2
22,3
3
82,2
4
300
5
1090
6
3920
7
14200
8
51000
9
184000
10
661000
11
2380000
12
8560000

Efortul pe
etaj f

130

CAPITOLUL 1. PORT
I LOGICE

Pentru un traseu cu N etaje se calculeaz


a efortul F , iar din inspectia Tabelului
etaje, deci este necesar a se
1.15 rezult
a c
a nt
arzierea cea mai mic
a necesit
a N
etaje
ad
auga sau a se sc
adea etaje din num
arul de etaje N p
an
a se ajunge la N
n traseu. Informatia tabelului este corect
a numai c
and se m
areste sau se scade
num
arul de niveluri prin introducerea sau scoaterea de etaje inversor, deoarece se
consider
a c
a numai aceste etaje au nt
arzierea parazitic
a p = 1. Evident, pentru
a nu se schimba functia logic
a calculat
a pe traseu trebuie introduse sau scoase un

num
ar par de inversoare. Unul sau dou
a niveluri diferenta
fata
de valoarea optim
aN
modific
a nesemnificativ nt
arzierea pe traseu, dac
a acest traseu este destul de lung,
numai la trasee scurte introducerea sau scoaterea a unui etaj sau dou
a poate provoca
abateri semnificative fata
de nt
arzierea cea mai mic
a.
Exemplul 1.27 Se considera trei variante de trasee inversoare compuse din nserierea
de respectiv 1,3 si 5 inversoare, fiecare traseu comand
a la iesire o sarcin
a capacitiv
a egal
a
cu de 25 de ori capacitatea de intrare. Care dintre aceste variante este optim
a si c
at este
nt
arzierea cea mai mic
a?
Solutie. Pentru fiecare din trasee rezult
a valori egale de G = 1, B = 1, si H = 25.
Int
= N (25) N1 + N pinv , cu N = 1
arzierea pe fiecare traseu este dat
a de ecuatia 1.102, D
= 25 unit
= 11, 8
,3 si 5. Pentru N = 1 rezult
aD
ati de nt
arziere; pentru N = 3 rezult
aD

unit
ati de nt
arziere, iar pentru N = 5 rezult
a D = 14, 5 unit
ati de nt
arziere. Varianta
cu trei inversoare nseriate contine num
arul optim de inversoare n consecinta
realizeaz
a
nt
arzierea cea mai mic
a D = 11, 8 unit
ati de nt
arziere, fiecare etaj suport
a un efort egal cu

3
25 = 2, 9, deci fiecare inversor va fi dimensional de 2, 9 ori mai mare dec
at predecesorul
inversor. Se poate constata si din Tabelul 1.15 c
a pentru F = 25, 22, 3 < 25 < 82, 2 num
arul
= 3, adic
optim de etaje este N
a exact cel calculat prin acest exemplu.

Exemplul 1.28 Un sir de inversoare n tehnologia 0, 6 (3, 3V, = 50ps) comanda


un semnal conectat la un terminal de iesire al circuitului integrat (pad). Capacitatea terminalului de iesire este de 40pF care este echivalent
a cu o capacitate de poart
a de 20000m.
Presupun
and capacitatea de intrare n sirul de inversoare de 7, 2m s
a se dimensioneze sirul
de inversoare cel mai rapid.
Solutie. Se calculeaz
a B = 1, G = 1 si H = 20000/7, 2 = 2777. Din Tabelul 1.15 rezult
a
= 6, 1090 < 2777 < 3920. Efortul cel mai bun pe
c
a num
arul optim de inversoare este N
1
etaj este f = (2777) 6 = 3, 75 deci fiecare inversor are capacitatea de intrare de 3, 75 ori mai
= 6 3, 75 + 6 pinv = 28, 5
mare dec
at a inversorului precedent, iar nt
arzierea este D
unit
ati de int
arziere, adic
a 28, 5 50ps = 1, 43ns.
In acest exemplu s-a g
asit c
a cel mai bun raport de multiplicare a dimensiunilor de
la un nivel la urm
atorul nivel este de 3, 75. Unele referinte indic
a pentru acest raport
de multiplicare valoarea de 2, 71, adic
a constanta e, care este corect numai c
and
nt
arzierea parazitic
a p este nul
a. Pe m
asur
a ce p creste, raportul de multiplicare
creste peste valoarea lui e, iar num
arul de niveluri scade . Dac
a efortul pe nivel
variaz
a n intervalul de 2 p
an
a la 8, abaterea nt
arzierii realizat
a fata
de cea mai mic
a
nt
arziere este 35%, iar dac
a efortul pe nivel variaz
a n intervalul de 2, 4 p
an
a la 6
abaterea este doar de 15%. Pentru pinv = 1 cel mai bun efort pe nivel este de 3, 59.
A intrat n uz ca cel mai bun efort pe nivel s
a fie considerat 4, pentru c
a este un
,,
num
ar rotund si este usor de calculat mental num
arul de niveluri, aceast
a alegere

1.5. PORT
I
IN TEHNOLOGIA CMOS

131

de efort 4 pe nivel duce la o abatere de 1% fata


de nt
arzierea cea mai mic
a pentru
de niveluri rezult
pinv = 1. Consider
and efortul pe nivel 4 num
arul N
a prin relatia
log4 F , iar nt
arzierea F O4, pe un nivel cu nc
arcarea 4, este cunoscut
a ca fiind egal
a
= 5log4 F .
5 (vezi Exemplul 1.20), deci nt
arzierea se calculeaz
a simplu cu relatia D
Cuadrupl
and, efortul pe traseu atrage dup
a sine o nt
arziere egal
a cu cea a unui
inversor care comand
a alte patru inversoare identice.
Un caz particular de structur
a de circuit, dar foarte des utilizat, este asa numita
,,
furc
a ce se compune din dou
a ramuri de inversoare, pe o ramur
a num
arul inversoarelor nseriate fiind impar, iar pe cealalt
a ramur
a num
arul inversoarelor nseriate
fiind par, astfel c
a la iesiri se genereaz
a valoarea negat
a respectiv nenegat
a a semnalului comun aplicat la intrare, Figura 1.67. Pentru circuitul furc
a se cunosc cele
dou
a capacit
ati de iesire Ca , Cb , n general egale Ca = Cb , de la cele dou
a ramuri,
CO = Ca + Cb . De asemenea, se cunoaste capacitatea total
a de intrare n furc
a,
Cin , care este sarcina suportat
a de semnal la intrarea n furc
a, pe care va trebui s
ao
repartiz
am pe cele dou
a intr
ari Cina , Cinb , Cin = Cina + Cinb , astfel nc
at nt
arzierile
pe cele dou
a ramuri s
a fie egale. Se poate defini un efort electric total pentru circuitul
furc
a H = CO /Cin si, respectiv, c
ate un efort electric individual pentru fiecare ramur
a Ha = Ca /Cina , Hb = Cb /Cinb , aceste eforturi electrice individuale, n general,
nu sunt egale chiar dac
a nc
arc
arile la iesire sunt egale.

C ina

N niveluri

C in

Ca
C inb

C ina= C in
C inb=(1 )C in

N1 niveluri

Cb
C o=C a+C b

Figura 1.67 Structura general


a a circuitului furc
a :

Pentru proiectarea circuitului furc


a se porneste cu determinarea coeficientului de
repartizare a capacit
atii de intrare, Cin , ntre cele dou
a ramuri, Cina = Cinb ,
coeficient care rezult
a din egalitatea nt
arzierilor, ecuatia 1.102, pe cele dou
a ramuri.
Ramura care suport
a un efort electric mai mare, uzual cea cu amplificatoare mai
multe, are o capacitate de intrare mai mic
a < 0, 5, deci i se repartizeaz
a o parte
mai mic
a din curentul semnalului de intrare dec
at celeilalte ramuri. Evident, c
a
oricare ramur
a poate fi dimensionat
a s
a devin
a mai rapid
a, prin reducerea efortului
electric al s
au ceea ce implic
a m
arirea dimensiunilor tranzistoarelor de la primul etaj,
adic
a m
arindu-i curentul repartizat n detrimentul celeilalte ramuri care va deveni
mai lent
a.
Un circuit furc
a particular este referit prin num
arul de inversoare continut n
fiecare ramur
a, n general diferenta este de un singur inversor, deci pot fi circuite: 21,
3 2, 4 3, 5 4 , . . . . In functie de valoarea efortului electric total H = CO /Cin din
Tabelul 1.16 se obtine ce structur
a de circuit furc
a este indicat s
a se utilizeze (pentru
pinv = 1).

132

CAPITOLUL 1. PORT
I LOGICE
Tabelul 1.16
Circuitul furc
a recomandat n functie de efortul electric total (p inv = 1)

H
De la

Circuitul furc
a

P
an
a la
9,68
38,7
146
538
1970
7150

9,68
38,7
146
538
1970

2-1
3-2
4-3
5-4
6-5
7-6

Exemplul 1.29 Sa se proiecteze un circuit furca 2 1 cu capacitatea de intrare


Cin = 10, iar capacitatea de iesire, pe fiecare ramur
a, este Ca = Cb = 100. Care este
nt
arzierea introdus
a de circuit?
Solutie. Coeficientul de repartizare a capacit
atii de intrare Cin ntre ramura cu dou
a
inversoare, Cina = Cin si ramura cu un singur inversor Cinb = (1 )Cin , rezult
a din
egalizarea nt
arzierilor, ecuatia 1.102, pe cele dou
a ramuri.
2

100
10

1
2

+ 2pinv =

100
10(1 )

+ pinv

Prin rezolvare numeric


a rezult
a = 0, 258, deci Cina = 10 = 2, 6 si Cinb = 10(1 ) = 7, 4.
Al doilea inversor din ramura cu dou
a inversoare are capacitatea de intrare, conform ecuatiei
1
1.104, egal
a cu Ca2 = 2, 6 (100/2, 6) 2 = 16, 1. Int
arzierea n ramur
a cu un singur inversor,
arzierea n ramura
conform ecuatiei 1.98, este Cb /Cinb + pinv = 100/7, 4 + 1 = 14, 5. Iar nt
cu dou
a inversoare este Ca2 /Cina + Ca /Ca2 + 2pinv = 16, 1/2, 6 + 100/16, 1 + 2 = 14, 5.

Exemplul 1.30 Sa se proiecteze un circuit furca pentru comanda de validare/acces


a 64 buffere tristate la o magistral
a, Figura 1.68-b. Capacitatea de intrare la circuitul
furc
a este de 12 unit
ati, iar un buffer tristate are dimensiuni de sase ori mai mari dec
at
cele ale structurii de referinta
de circuit poart
a tristate. Structura de referinta
de circuit
poart
a tristate este prezentat
a n Figura 1.68-a, acest circuit are aceeasi functionare ca si
circuitul din Figura 1.52-c, care este format dintr-un inversor CMOS static av
and pe iesire o
poart
a de transmisie CMOS (dar de data aceasta, tranzistoarele complementare ale portii de
transmisie sunt nseriate/incluse n coloana portii CMOS static
a si comandate cu semnalele
complementare s si s).
Solutie. Sarcina pe iesire pentru fiecare din semnalele de validare/ENable, EN , EN
este 64 6 2 = 768 unit
ati de capacitate. Efortul electric pentru ntregul circuit furc
a este
H = (768 + 768)/12 = 128, iar din Tabelul 1.16 rezult
a c
a structura de 4 3 este cea optim
a.
Coeficientul de repartizare a capacit
atii de intrare pe cele dou
a ramuri rezult
a din relatia
4

768
12

1
4

+ 4pinv = 3

768
12(1 )

+ 3pinv

Prin rezolvare numeric


a se obtine = 0, 46. Capacitatea de intrare pe ramura cu patru
inversoare este 12 0, 46 = 5, 5, iar pe ramura cu trei inversoare este 12 5, 5 = 6, 5, n
consecinta efortul electric pe ramur
a este respectiv egal cu 768/5, 5 = 140, 768/6, 5 = 118,

1.5. PORT
I
IN TEHNOLOGIA CMOS

133
dimensiune x6

4
(EN) S

V DD

12

linii de
magistrala
d63 d0

12
d63

d
(data)
6,5

V DD

(EN) S

a)

24

(data)

12

2
32

156

EN

Validare
EN
5,5

19

6,5

224

24

V DD

12
12
d0
b)

(data)

12

Figura 1.68 Explicativ


a pentru exemplul 1.30

la fel si efortul pe nivel este 4 140 = 3, 44, 3 118 = 4, 90. Pornind cu dimensionarea, de la
capacitatea de sarcin
a de iesire spre capacitatea de intrare, rezult
a capacit
atile de intrare n
fiecare nivel egale cu 224, 65,19 si 5, 5 pentru ramura cu 4 inversoare si 156, 32 si 6,5 pentru
1
ramura cu 3 inversoare. Int
arzierea pe fiecare ramur
a este 4(140) 4 + 4pinv = 4 3, 44 + 4 =
1
17, 7 si 3 (118) 3 + 3pinv = 3 4, 90 + 3 = 17, 7. Se observ
a c
a efortul electric total al
circuitului H = 128 ((118 + 140)/2 = 128) este balansat inegal pe cele dou
a ramuri prin
mbun
at
atirea nt
arzierii pe ramura mai lent
a n detrimentul celei mai rapide astfel nc
at
fiecare s
a ajung
a la nt
arzierea de 17, 7.

Modul de analiz
a pentru circuitul furc
a se poate extinde si pentru circuite mai
complexe cu mai multe ramuri, unde fiecare ramur
a contine un num
ar diferit de
niveluri, fiecare ramur
a realizeaz
a o functie logic
a diferit
a si unde fiecare ramur
a
comand
a sarcin
a diferit
a. Totusi aceast
a extindere la circuite mai complexe necesit
a
unele artificii ceea ce arat
a unele deficiente si limit
ari ale metodei.
Metoda efortului logic este o procedur
a de proiectare pentru obtinerea celui mai
mic timp de nt
arziere pentru un traseu dintr-o retea. Aceast
a metod
a combin
a
ntr-un singur calcul at
at capabilitatea de a comanda sarcini electrice mari c
at si
realizarea unei functii logice. Expresiile de calcul n cadrul metodei sunt concentrate
n Tabelul 1.17, iar procedura de calcul parcurge urm
atoarele etape:
1. Se calculeaz
a efortul F = GBH pentru traseul din reteaua de analizat. Efortul
logic pe traseu, G, este produsul efortului logic al tuturor portilor logice de pe
traseu, efortul logic al portilor este dat n Tabelul 1.13; efortul de ramificatie pe
traseu, B, este produsul efortului de ramificatie al tuturor portilor de pe traseu;

134

CAPITOLUL 1. PORT
I LOGICE
Tabelul 1.17
Relatiile utilizate de metoda efortului logic

Denumire
Expresia pe nivel
Expresia pe traseu
Q
Efortul logic
g (Tabelul 1.13)
G = gi
COtraseu
O
Efortul electric
h = CCin
H = Cin
Qtraseu
Efortul de ramnificatie
B = bi Q
Efortul
f = gh
F = GBH = fi
P
1
Int
f
DF = fi minimizat c
and f = F N
arzierea de efort
Num
arul de niveluri
1
N (Tabelul 1.15)
P
Int
P =
pi
arzierea parazitic
a p (Tabelul 1.14)
Int
arzierea total
a
d =f +p
D = DF + P
efortul electric pe traseu, H, este raportul dintre capacitatea de sarcin
a total
a
a ultimului nivel si a capacit
atii de intrare la primul nivel.
, pentru efortul F calculat, care pro2. Se estimeaz
a num
arul optim de niveluri N
duce cel mai mic timp de nt
arziere; pentru aceast
a estimare se utilizeaz
a fie
log4 F .
Tabelul 1.15, fie relatia N
P
= NF
N1 + pi , folosind pentru nt
arzierea
3. Se estimeaz
a nt
arzierea minim
a, D
datorit
a capacit
atilor interne parazite datele din Tabelul 1.14. Procedura se
opreste aici dac
a se urm
areste doar compararea nt
arzierilor diferitelor structuri.
Pentru o proiectare se parcurg si punctele urm
atoare:
4. Se adaug
a sau se elimin
a niveluri p
an
a c
and num
arul de niveluri N atinge
.
valoarea N
1
5. Se calculeaz
a efortul suportat pe fiecare nivel: f = F N .

6. Se dimensioneaz
a tranzistoarele
 din
 fiecare etaj, succesiv, pornind de la ultimul
nivel folosind relatia Cin = gi /f CO p
an
a la primul nivel; valoarea calculat
a
Cin a unui etaj i devine capacitatea de iesire a etajului i1 (eventual modificat
a
prin efortul de ramificatie); indicele etajului n traseu creste ncep
and cu etajul
de intrare nspre etajul de iesire.

Metoda efortului logic poate indica rapid proiectantului care dintre structurile
analizate trebuie a fi aleas
a si pentru structura aleas
a se poate obtine o proiectare
aproape optim
a, iar apoi aceast
a structur
a poate apoi fi mbun
at
atit
a prin simulare cu
un program de simulare. De asemenea, aceast
a metod
a introduce notiuni cantitative
foarte necesare n cooperarea si comunicarea celor care proiecteaz
a circuite rapide
CMOS.

1.6

REJECT
IA ZGOMOTELOR

Prin semnal de zgomot se ntelege orice semnal electric nedorit care apare n
sistem. Zgomotul este tolerat n sistem at
at timp c
at suprapus peste semnalul logic

1.6. REJECT
IA ZGOMOTELOR

135

nu se ajunge la o amplitudine de semnal care s


a duc
a la o functionare incorect
aa
sistemului. In sistemele digitale, spre deosebire de cele analogice, zgomotul nu se
cumuleaz
a c
and se trece de la un nivel logic (poart
a) la urm
atorul nivel logic; aceast
a
,,
eliminare a zgomotului se datoreaz
a function
arii procustiene a portilor logice, adic
a
o poart
a dac
a este comandat
a n limita valorilor de intrare permise va genera la iesire
numai semnale n limita valorilor garantate.
O prim
a cale prin care portile pot tolera zgomotul, p
an
a la o anumit
a valoare, se
obtine, intrinsec, prin fixarea de valori garantate si de valori permise. Amplitudinea
semnalului de zgomot tolerat de c
atre o poart
a logic
a se poate exprima prin parametrii: marginea de zgomot n curent continuu n starea high, MH , si n starea low,
ML , relatia 1.18; imunitatea la perturbatii IP + , IP , relatia 1.19-a si factorul de
imunitate la perturbatii F IP + si F IP , relatia 1.19-b.
Pentru tehnologia TTL valorile tipice pentru tensiunile de iesire garantate si cele
de intrare permise sunt: VOHmin = 2, 4V , VOLmax = 0, 4V si VIHmin = 2V , VILmax =
0, 8V deci rezult
a:
MH = 2, 4V 2V = 0, 4V, ML = 0, 8V 0, 4V = 0, 4V.
De fapt, zgomotul tolerat de poart
a are valori mai mari dec
at marginile calculate (de
0, 4V ) deoarece valorile tipice de iesire sunt VOH = 3, 4V , VOL = 0, 25V . Consider
and
tensiunea de prag de comutare a portii VT = 1, 7V rezult
a
IP = 3, 4V 1, 7V = 1, 7V, IP + = 1, 7V 0, 25V = 1, 45V
si pentru V = 5V se pot calcula factorii de imunitate la zgomot




1, 7
1, 45

+
F IP [%] =
100 = 34%, F IP [%] =
100 = 29%
5
5
deci, circuitul este mai bine protejat la zgomot n starea H dec
at n starea L.
Tehnologia CMOS, c
and comand
a tot porti CMOS, are urm
atoarele valori tipice:
VOHmin = VDD 0, 1V , VOLmax = VSS + 0, 1V si VIHmin = 70% din VDD , VILmax =
30% din VDD , iar pentru VDD = 5V si VT = 2, 5V rezult
a
MH = 4, 9V 3, 5V = 1, 4V, ML = 1, 5V 0, 1V = 1, 4V.
IP = 4, 9V 2, 5V = 2, 4V, IP + = 2, 5V 0, 1V = 2, 4V




2, 4
2, 4
F IP [%] =
100 = 48%, F IP + [%] =
100 = 48%
5
5
In mediile puternic perturbative este recomandat
a utilizarea portilor cu imunitate
ridicat
a la zgomot, la care IP + si IP au valori absolute destul de mari, pentru c
a
tensiunile de alimentare sunt destul de ridicate (se poate ajunge p
an
a la 30V ).
O a doua cale de a tolera zgomotele de c
atre portile logice const
a n dotarea portilor
cu circuit trigger Schmitt. Pentru portile TTL, circuitul trigger Schmitt se introduce
dup
a tranzistorul T1 si va comanda tranzistorul inversor T2, Figura 1.22-c, iar pentru
cele CMOS triggerul Schmitt va fi plasat naintea unui inversor CMOS. Capacitatea
de a tolera zgomot, de amplitudine destul de ridicat
a, rezult
a din caracteristica static
a
de releu cu histerezis a circuitului trigger Schmitt, VO = f (VI ), Figura 1.69-a. Din

136

CAPITOLUL 1. PORT
I LOGICE

caracteristica static
a (cadranul I) se observ
a c
a pentru sensul cresc
ator al tensiunii de
intrare VI numai c
and aceast
a tensiune atinge pragul superior Vp+ , iesirea triggerului
va bascula n starea 1; iar la descresterea tensiunii de intrare bascularea iesirii din
1 n 0 nu se produce la pragul superior Vp+ ci la pragul inferior Vp ( Vp < Vp+ ),
valoarea histerezisului fiind = Vp+ Vp .
vO
V OH

b)
vI

V OL
vO

a)

V OH

V IL

V OL

V p
V p

V p+ V IH
V p+

vI

Figura 1.69 Triggerul Schmitt: a) caracteristica de releu cu histerezis (cadranul I),


variatia tensiunii de intrare (cadranul IV) si variatia corespunz
atoare a tensiunii de iesire
(cadranul III); b) simbolul de reprezentare a unui buffer neinversor cu trigger Schmitt.

La o poart
a logic
a cu trigger Schmitt tensiunea de intrare, VI , va fi nc
a interpretat
a ca 1 logic p
an
a c
and aceast
a tensiune (peste care, eventual, se suprapune semnal
an
ator,
de zgomot cu faz
a opus
a) scade sub valoarea VIH p
an
a la valoarea Vp . Asem
tensiunea de intrare (eventual cu semnal de zgomot suprapus) va fi nc
a interpretat
a ca
0 logic peste VIL p
an
a c
and se ajunge la valoarea Vp+ . Intervalele tensiunilor de intrare
n 1 si 0 logic se suprapun pe intervalul de histerezis . Marginile statice de zgomot
pentru o poart
a cu trigger Schmitt se calculeaz
a cu relatiile: MH = VOHmin Vp ,
at la o poart
a obisnuit
a.
ML = Vp+ VOLmax , care, evident, sunt mai mari dec
Portile trigger Schmitt sunt recomandate n aplicatiile pentru care imunitatea la
zgomot este o cerinta
principal
a, cum ar fi receptoarele de magistral
a sau pentru
receptia unor semnale lent variabile (cazul semnalelor de intrare n sisteme, semnale
,,
obtinute de la diverse traductoare care trebuie formate ). In Figura 1.69-a n cadranul IV este reprezentat
a variatia n timp a unui semnal oarecare vI = f (t) aplicat
la intrarea unui buffer neinversor trigger Schmitt, iar n cadranul III este desenat
a
variatia corespunz
atoare a tensiunii la iesirea din buffer; pragurile de basculare fiind
am s
a desenati forma de variatie a tensiunii de iesire vO = f (t),
Vp si Vp+ . (Suger
obtinut
a pentru aceeasi tensiune de intrare, dar c
and bufferul nu este un circuit trigger

137

1.6. REJECT
IA ZGOMOTELOR

Schmitt si apoi s
a comparati tensiunea obtinut
a cu forma de variatie a tensiunii de
iesire deja desenat
a n cadranul III).
Semnalele de zgomot nu trebuie considerate numai ca surse potentiale de producere a unor function
ari eronate ci si ca posibile cauze de distrugere fizic
a a portilor,
mai ales c
and aceste semnale vin din exterior si sunt aplicate pe intr
ari. Supratensiunile aplicate pe terminalele de intrare pot duce la str
apungerea unor jonctiuni sau,
pentru CMOS, la str
apungerea stratului de oxid de sub poart
a, ori la aparitia efec,,
tului de z
avor
are (latch-up ). Aceste supratensiuni pot apare la intr
arile portilor
datorit
a: reflexiilor pe liniile neadaptate, tensiunilor induse, alimentarea sistemului
cu mai multe niveluri de tensiune, desc
arc
arilor electrostatice.
Cea mai simpl
a si uzual
a cale de a proteja o poart
a pe terminalele de intrare sau
pe pad-uri (la sistemele integrate) const
a n conectarea unor diode de desc
arcare nspre
cele dou
a bare de alimentare: VSS (mas
a), VDD /VCC . Pentru portile TTL diodele
D4 si D5 pe intr
ari, Figura 1.22-c, limiteaz
a supratensiunile negative la valoarea de
0, 7V (tensiunea de conductie a diodei) sub potentialul masei. Pentru terminalele
de intrare n tehnologia CMOS este utilizat
a pentru protectie structura de circuit din
Figura 1.70-a care pentru tensiuni de intrare peste VDD sau sub VSS , prin diodele
D1, D2, produce o limitare n interiorul intervalului 0, 7V < vI < VDD + 0, 7V .
La aceast
a structur
a de protectie prin C se consider
a orice capacitate existent
a pe
intrare, iar rezistenta R se realizeaz
a prin difuzie sau, mai indicat, din polisiliciu;
evident, constanta de timp RC care apare pe intrare poate introduce o limitare a
vitezei pentru circuitele de vitez
a ridicat
a.
V DD
Pad

D1

Intrare

V DD
D1

vI

D2

Data

D2
C

V DD

T2
Pad

T1

VT

VT

D (Data)

V DD
D1
Pad
D2
a)

vI
R
C

OE

VT

0
1
1

X
0
1

0
1
1

VT
1
1
0

Validare
OE Iesire

Iesire

Pad
HZ
0
1

terminal de
intrare
terminal de
iesire

b)

Figura 1.70 Terminale (paduri) la un circuit integrat: a) circuite de protectie la un


terminal de intrare; b) structur
a de circuit pentru utilizarea unui pad at
at pentru semnale
de iesire c
at si semnale de intrare.

138

CAPITOLUL 1. PORT
I LOGICE

Distrugerea unei porti CMOS prin desc


arcare electrostatic
a poate apare nu
numai n conditii de utilizare a portii ci si n situatia de manipulare sau transport.
O persoan
a merg
and pe un covor, n conditiile de 80% umiditate relativ
a, se ncarc
a
electrostatic care, apoi, prin atingerea intr
arii unei porti logice poate genera o tensiune
de ordinul sutelor de volti aplicat
a pe stratul de oxid de sub poart
a (tensiunea de
str
apungere a stratului de oxid este ntre 40 100V ). De exemplu, pentru o astfel
de atingere, cu urm
atoarele valori C = 0, 3pF , I = 100A, t = 1s, se genereaz
a
pe stratul de oxid o tensiune egal
a cu V = I t/C 330V ; evident, poarta ar fi
distrus
a f
ar
a circuitul de protectie cu diode de desc
arcare pe intrare. Ca m
asuri de
precautie la portile CMOS se recomand
a:
1. manipularea/transportul se face numai n pungi, tuburi sau spum
a care sunt
conductivi;
2. n timpul asambl
arii sau depan
arii sistemelor, persoana executant
a s
a fie conectat
a cu un fir spre p
am
ant.
Efectul de z
avor
are se manifest
a prin aparitia n interiorul plachetei de siliciu
a unui traseu de scurtcircuitare ntre VDD si mas
a care, dac
a nu este eliminat, poate
duce la distrugerea cipului; acest efect este cel mai negativ efect al tehnologiei CMOS.
Efectul de z
avor
are are ca explicatie formarea unei structuri (parazite) de tiristor.
Intre zonele difuzate (surs
a, dren, contacte metalice) si substrat se formeaz
a structuri
care, atunci c
and sunt polarizate corespunz
ator, au functionare de tranzistor npn sau
pnp. Structurile de tranzistoare complementare parazite npn si pnp mpreun
a pot
determina o functionare de tiristor care, n anumite conditii de functionare anormal
a
ale portii, poate intra n conductie; deci are loc scurtcircuitarea barei VDD spre mas
a.
Tiristorul parazit odat
a amorsat nu mai poate fi comandat spre blocare de unde si
denumirea de z
avor
are pentru acest efect; eliminarea unei astfel de c
ai de scurtcircuit,
prin blocarea tiristorului, se poate face doar prin deconectarea tensiunii de alimentare.
Circuitele logice CMOS sunt fabricate n structuri care previn efectul de z
avor
are
[Weste 0 00],[Kang 0 97].
Intrarea n z
avor
are poate fi determinat
a de:
aplicarea, la pornire, a tensiunii de alimentare VDD cu un front de crestere cu
pant
a foarte mic
a (lent variabil
a);
variatii mari ale semnalului de intrare peste VDD sau VSS ;
intr
arile unui sistem/subsistem sunt comandate de iesirile unui alt sistem/subsistem, iar cele dou
a sisteme au surse de alimentare diferite (semnalele de intrare
la sistemul comandat ar putea fi aplicate nainte ca sistemul comandat s
a fie
alimentat la VDD );
curenti de scurgere prin jonctiunile insulei de izolare, particule , radiatii X sau
cosmice.
Padurile circuitelor integrate sunt mari consumatoare de suprafata
de siliciu, apoi
conexiunile de la paduri la pinii (terminalele) circuitului integrat ocup
a spatiu relativ
mare; n plus comanda unui pad necesit
a un superbuffer, vezi Exemplul 1.28. Cu
cresterea complexit
atii circuitelor creste si num
arul de pini (de ordinul sutelor) la

1.6. REJECT
IA ZGOMOTELOR

139

circuitele integrate desi exist


a permanenta tendinta
de a tine acest num
ar c
at se poate
de mic. O variant
a practic
a, n acest sens, este cea prin care un terminal este dedicat
(multiplexat) at
at pentru semnalele de intrare c
at si pentru semnale de iesire, Figura
1.70-b. Din tabelul de adev
ar atasat acestei figuri rezult
a c
a atunci c
and semnalul
de validare iesire OE (Output Enable) este activ data interioar
a D este transmis
a la
pad; deci padul constituie un terminal de iesire. Pentru OE = 0, ambele tranzistoare
T1 si T2 sunt blocate, iesirea nspre pad, din interiorul circuitului, este n starea de
nalt
a impedanta
HZ, pe pad se poate aplica un semnal din exterior, deci este un
terminal de intrare. Evident, aplicarea semnalului din exterior si aplicarea semnalului
din interior trebuie s
a fie operatii disjuncte.
Terminalele circuitelor integrate neutilizate n sistemul respectiv nu trebuie
l
asate flotante pentru c
a pot s
a capteze zgomote, mai ales la CMOS unde impedantele
de intrare sunt mai mari, iar circuitul poate manifesta o functionare hazardat
a. Problema terminalelor de intrare neutilizate poate fi solutionat
a n trei modalit
ati:
1. Se leag
a mpreun
a cu un alt terminal de intrare conectat la iesirea unei porti
logice (evident c
a poarta respectiv
a este nc
arcat
a suplimentar pe iesire);
2. Se leag
a la tensiunea de alimentare VDD /VCC (1 logic) printr-o rezistenta
pentru
portile AND sau NAND;
3. Se leag
a la potentialul masei (0 logic) printr-o rezistenta
pentru poartile OR,
NOR.
Valoarea rezistentei de conectare la mas
a sau la alimentare a intr
arilor neutilizate,
poate fi n intervalul 1 10K pentru portile CMOS, dar trebuie calculat
a exact
pentru portile TTL. La portile TTL, care au curentii de intrare mult mai mari dec
at
la CMOS, este necesar ca valoarea c
aderilor de tensiune pe rezistenta conectat
a la
mas
a sau VCC s
a situeze nivelul de tensiune produs pe intrare n plaja tensiunilor
garantate VOLmax , VOHmin . De exemplu, pentru portile LS-TTL care pe intrare
n starea L au un curent de 0, 4mA rezisteta de conectare la mas
a Rcm a n intr
ari
neutilizate se calculeaz
a cu relatia n 0, 4mA Rcm VOLmax ; respectiv rezistenta de
conectare la VCC , Rca , c
and pe intrare n starea H se absoarbe un curent de 20A se
calculeaz
a cu relatia n 0, 02mA Rca < VCC VOHmin .
Majoritatea sistemelor integrate sunt realizate n tehnologia CMOS, dar n exterior
unde, uneori, curentii necesari au valori ridicate, se utilizeaz
a si circuite n tehnologie
TTL, deci adesea apare o comand
a de tip TTL pe o intrare a unui circuit CMOS.
Valorile garantate pe iesirile TTL sunt VOLmax = 0, 4V , VOHmin = 2V , iar pentru
CMOS valorile permise pe intrare sunt VILmax = 0, 8V , VIHmin = 3, 5V ; se observ
a
c
a nu exist
a compatibilitate pentru nivelul H, tensiunea generat
a de TTL ar trebui
s
a fie ridicat
a cu cel putin 1, 5V . Solutia pentru compatibilizare const
a n realizarea
inversorului CMOS de pe intrare, dup
a circuitele de protectie, Figura 1.70-a, cu o
tensiune de prag VT situat
a la mijlocul intervalului ntre 0, 8V si 2V adic
a VT = 1, 4V .
Cunosc
and valoarea lui VT se pot calcula dimensiunile portilor Wp si Wn astfel nc
at
deplasarea de nivel de tensiune, de la 3, 5V la 2V , s
a se realizeze n jos, c
atre 2V , de
c
atre inversorul de intrare CMOS.
Se poate defini si o m
arime margine dinamic
a de zgomot, aceasta fiind o
amplitudine de zgomot mai mare dec
at MH sau ML , cu o durat
a mai mic
a dec
at timpul de propagare minim prin poart
a, dar care nu provoac
a comutarea iesirii portii.

140

CAPITOLUL 1. PORT
I LOGICE

Impulsurile de amplitudine mare, dar de durat


a mai mic
a dec
at timpul de propagare,
,,
nu sunt simtite la iesire. Marginea dinamic
a de zgomot nu este garantat
a pentru o
poart
a de c
atre fabricant. Este foarte greu s
a se garanteze valoarea minim
a a timpului
de propagare, pmin ; n catalog pentru o poart
a este dat
a doar valoarea maxim
aa
timpului de propagare, pmax .
Pentru eliminarea sau atenuarea zgomotului ntr-un circuit este necesar a se cunoaste natura si locul sursei de zgomot. Primul pas necesar spre aceast
a cunoastere
este o clasificare a zgomotului dup
a locul unde se afl
a sursa de zgomot; n acest sens
trebuie s
a distingem dac
a sursa de zgomot este intern
a sau extern
a circuitului si, apoi,
pentru aceast
a surs
a s
a se identifice natura fenomenului produc
ator de zgomot.

1.6.1

Rejectia zgomotelor externe

Zgomotul extern are ca surs


a: instalatiile de electronic
a de putere, motoarele electrice, motoarele termice, comutatiile n cablurile electrice de forta
, supratensiunile pe
linia electric
a, instalatiile de nalt
a frecventa
de putere , transmisiunile emita
toarelor
RTV si alte surse de radiatii electromagnetice si este introdus n sistem prin inductie
electromagnetic
a sau prin conductie pe firele de alimentare de la retea.
Zgomotul de conductie. Acest zgomot ce poate intra n sistem prin firele de
alimentare de la retea, se poate elimina sau atenua prin: separare galvanic
a si/sau
filtrare (folosite, n general, mpreun
a).
Separarea galvanic
a a sistemului de reteaua de alimentare se face prin transformatorul redresorului de alimentare. Chiar dac
a adaptarea nivelurilor de tensiune ntre
reteaua electric
a si sursa de alimentare (redresor stabilizat) nu necesit
a un transformator, totusi se recomand
a introducerea separ
arii printr-un transformator cu raportul
de transformare 1 : 1.
Prin filtrare se pot elimina at
at frecventele joase c
at si cele ridicate generate de
c
atre sursa de alimentare. In acest sens se recomand
a conectarea la intrarea pe
placa de circuit imprimat, ntre barele de alimentare VCC /VDD si mas
a, a unui filtru
capacitiv. Cu c
at capacitatea conectat
a pe intrare are valoare mai mare cu at
at este
mai bine, dar evident, o valoare mare a capacit
atii poate fi limitat
a de pret si volumul
ocupat. Practic, aceast
a capacitate conectat
a la intrarea pe placa de circuit imprimat
a sistemului se realizeaz
a cu dou
a condensatoare: unul electrolitic, de valori uzuale
n gama 50 100F , pentru filtrarea frecventelor joase si medii si unul ceramic, de
capacitate n gama zecimi de F , pentru filtrarea frecventelor nalte. De asemenea,
pentru placa de circuit imprimat a sistemului o leg
atur
a bun
a la p
am
ant, care
s
a aib
a o rezistenta
c
at mai mic
a chiar si pentru domeniul frecventelor radio, dar
separat
a de mp
am
antarea la retea, este foarte recomandat
a.
Zgomotul electromagnetic. Acest tip de zgomot p
atrunde n sistem prin
inductie electromagnetic
a deci poate fi anulat sau atenuat prin ecranarea sistemului supus inductiei cu ajutorul unui ecran din materiale feroase cusc
a Faraday si
legarea acestui ecran la priza de mp
am
antare si printr-un filtru capacitiv si la sursa de
alimentare. P
atrunderile de c
amp ce pot ap
area n sistem prin zonele de ntrerupere
ale ecranului, fante pentru acces, orificii pentru cablurile cu exteriorul pot induce n
interiorul sistemului zgomote.
Dar cel mai pregnant efect al inductiei electromagnetice const
a n tensiuni de
zgomot induse n conexiunile exterioare ecran
arii care leag
a diferite p
arti ale sistemului

141

1.6. REJECT
IA ZGOMOTELOR
Intrare
date

Zgomot indus pe linie


vz1

Emitator

Receptor

Iesire
date

vzm
a)

Masa A

V CC
+5V

0.1 F

Masa A
b)

Emitator

Legaturi de
masa cat mai
apropiate

x
x

Masa B

0.1 F

Cablu ecranat

Semnale pe
linia
diferentiala

Emitator
Intrare
date

Zgomot indus pe linia de masa

vz1

Legaturi de
masa cat mai
apropiate

Zgomot
indus pe
linie

Masa B
Receptor

Receptor
Iesire
date

vz1
vzm

Masa A

Zgomot indus pe linia de masa

Masa B

c)

Figura 1.71 Zgomote externe: a) exemplificare pentru inducerea semnalelor de zgomot


pe o linie de conexiune;b) eliminarea posibilit
atii de inducere a zgomotului de inductie prin
utilizarea de cablu ecranat; c) eliminarea zgomotului suprapus peste semnal prin utilizarea
modului de transmisie diferential
a.

cu exteriorul. La transmisia unui semnal pe un singur fir si rentoarcerea prin traseul


de mas
a, tensiunea obtinut
a la receptor se compune din tensiunea de la emita
tor
plus oricare semnal de zgomot indus pe linia de leg
atur
a vzl sau pe linia de mas
a
vzm , Figura 1.71-a. Evident c
a, pentru o functionare corect
a, marginea de zgomot a
receptorului trebuie s
a fie mai mare dec
at amplitudinea maxim
a a zgomotului indus
pe linie. Ideal, se recomand
a ca leg
aturile exterioare s
a se fac
a prin cablu coaxial, iar
mbr
ac
amintea (ecranarea) acestuia, la ambele capete, s
a fie legat
a la p
am
ant si s
a
se decupleze la surs
a, Figura 1.71-b. Iar c
and leg
aturile exterioare sunt realizate prin
cablu plat se recomand
a ca ntre dou
a fire de transmisie pentru semnal, s
a fie utilizat
un fir ca mas
a si aceste fire de mas
a s
a fie legate la carcas
a (ecran).
O solutie foarte eficient
a n eliminarea zgomotului indus const
a n transmisia diferential
a a semnalului. Semnalul digital x ce trebuie transmis este convertit la emita
tor
si n complementul s
au, x, iar aceste dou
a semnale complementare, x si x, sunt
transmise pe dou
a linii torsodate, Figura 1.71-c. Orice zgomot vzl indus pe cele dou
a

142

CAPITOLUL 1. PORT
I LOGICE

linii sau pe traseul de mas


a este un semnal de mod comun, deci semnalele la receptor
sunt: x+vzl si x+vzl . Receptorul diferential va realiza la iesire un semnal proportional
cu diferenta celor dou
a semnale aplicate la intrare, adic
a elimin
a semnalul de mod
,,
comun. Prin transmisia diferential
a se poate obtine la receptor un semnal curat
chiar cu circuite care nu posed
a imunitate ridicat
a la zgomot; at
at emit
atorul c
at si
receptorul sunt alimentate la tensiunea standard de +5V .

1.6.2

Rejectia zgomotelor interne

Zgomotul intern, dup


a cum si denumirea spune, este produs chiar de nsusi sistemul respectiv, iar n functie de natura fenomenului care l genereaz
a pot fi identificate urm
atoarele tipuri: zgomotul de mas
a, zgomotul datorit
a neadapt
arii liniilor,
zgomotul indus prin cuplaj electromagnetic si zgomotul datorit
a curentilor de alimentare. In general, zgomotul intern poate cauza mai multe probleme dec
at cel ex,,
tern (r
aul este n noi! ). Este bine demonstrat c
a o proiectare si o executie corect
a si
ngrijit
a a sistemului sunt premise sigure pentru evitarea aparitiei zgomotului intern.
1.6.2.1

Zgomotul de mas
a.

Prin mas
a electronic
a ntr-un circuit se ntelege potentialul de referinta
pentru toate tensiunile din circuit. Fizic, masa electronic
a este materializat
a printr-un
conductor/traseu la care se conecteaz
a toate componentele circuitului; evident acest
traseu trebuie s
a fie echipotential pentru toate componentele. Aplicarea unui semnal
sau culegerea unui semnal de prelucrat se face pe un traseu compus din conductorul
de semnal (firul cald) cu ntoarcere prin conductorul de mas
a. Conductorul de mas
a
fiind comun pentru toate circuitele de aplicare sau de culegere a semnalelor, rezult
a
c
a acest conductor este parcurs de toti curentii de ntoarcere ai semnalelor. Dac
a
rezistenta conductorului de mas
a nu este nul
a, curentii de ntoarcere produc c
aderi
de tensiune, iar diferitele puncte ale traseului de mas
a nu mai sunt echipotentiale, deci
componentele circuitului au potentiale de mas
a diferite. Consider
and punctul unde
se conecteaz
a masa sursei de alimentare la masa circuitului/sistemului alimentat ca
punct initial de mas
a, n cazul n care traseele de mas
a pornind din punctul initial
nu au rezistenta
zero, potentialul de mas
a al fiec
arei componente va fi diferit fata
de
potentialul punctului initial de mas
a n functie de valorile curentilor de ntoarcere.
De exemplu, pentru circuitul din Figura 1.72-a, c
and iesirea portii1 (TTL) comut
a
din 1 n 0, curentul de la surs
a spre mas
a creste cu valoarea I. Deoarece, ntre
punctul initial de mas
a si punctul de conectare la mas
a al portii 1, traseul de mas
a
prezint
a o impedanta
Z, se va produce un salt al c
aderii de tensiune V pe aceast
a
impedanta
egal cu V = I Z. Punctul de mas
a al portii 3 fiind foarte aproape de
cel al portii 1, saltul de tensiune produs V poate comanda poarta 3 s
a genereze la
iesire un impuls fals care, apoi, este format (adus la nivelul 0) de c
atre poarta 4, deci
o functionare eronat
a a circuitului.
Remediu pentru zgomotul de mas
a apare prin realizarea unui traseu de mas
a
echipotential pentru toate componentele circuitului, ceea ce practic const
a n:
1. Realizarea unui plan de mas
a n cazul utiliz
arii unei pl
aci multistrat, Figura
1.72-b. La o plac
a multistrat poate fi utilizat n totalitate un strat numai
pentru masa sistemului implementat, la fel, un alt strat numai pentru tensiunea

143

1.6. REJECT
IA ZGOMOTELOR
VCC

VCC
1
4

Z
Traseu de masa

a)

Circuit integrat

Masa
Plan de
alimentare

Plan de
masa

Punct initial
de masa

Planuri pentru traseele


de conexiuni

b)

Figura 1.72 Zgomot de mas


a: a) exemplificare pentru o posibil
a aparitie a semnalului
de zgomot de mas
a datorit
a unei impedante, Z, pe traseul de mas
a; b) solutie de eliminare a
zgomotului de mas
a prin utilizarea unui plan separat de mas
a si altul separat de alimentare
(pe o plac
a multistrat).

de alimentare, iar restul straturilor pentru conexiunile necesare (actual, exist


a
pl
aci cu p
an
a la 12 straturi metalizate);
2. La folosirea unui suport unistrat s
a se aloce traseului de mas
a o suprafata
conductiv
a c
at mai mare. Se recomand
a ca traseul de mas
a, cu o l
atime c
at mai
mare, n functie de suprafata
disponibil
a pe plac
a, s
a nconjoare toate traseele
de conexiuni, si acest traseu/suprafata
de mas
a s
a fie la ambele capete legat de
masa sursei de alimentare.
1.6.2.2

Zgomotul datorit
a neadapt
arii liniilor.

In toate analizele de p
an
a acum s-a considerat c
a transferul semnalului pe traseul
de conexiune ntre poarta care comand
a si o poart
a comandat
a se face n timp zero,
adic
a instantaneu, dar n realitate nu este asa chiar dac
a viteza de propagare v p pe
traseul de conexiune ar fi egal
a cu viteza luminii. Un traseu de conexiune, pe o plac
a
de circuit imprimat, este caracterizat de m
arimi electrice distribuite pe lungimea x a
traseului. Astfel se definesc valorile, pe lungimea infinitezimal
a dx, pentru inductivitate, Ldx, si pentru capacitate, Cdx, unde L si C sunt valori pe unitatea de lungime.
Viteza de propagare pe un astfel de traseu se poate exprima prin relatia:
vp =

dx
1
=
[m/s]
dt
LC

(1.106)

c
1
= [m/s]
0 r 0
r

(1.107)

sau n functie de viteza luminii, c:


vp =

unde 0 si 0 sunt respectiv permitivitatea electric


a si permeabilitatea magnetic
aa
vidului, iar r este permitivitatea electric
a relativ
a (pentru pl
acile de sticlotextolit
este n jur de r = 4, 5). Rezult
a viteza de propagare vp pentru circuitele imprimate
n domeniul 15cm/ns 25cm/ns respectiv timpi de propagare pe metru n domeniul
7ns/m4ns/m. Pentru ca semnalul s
a parcurg
a traseul de lungime l ntre dou
a porti

144

CAPITOLUL 1. PORT
I LOGICE

de dou
a ori, de la iesirea portii de comand
a la intrarea portii comandate si reflectat
napoi la iesirea portii de comand
a, este necesar timpul 2T = 2l/vp . Pentru cazurile
c
and, Figura 1.15, fronturile de tranzitie ale semnalelor logice, HL , LH , sau timpii
de propagare p prin porti (relatia 1.20) sunt de acelasi ordin sau mai mici dec
at
2T nu se mai poate utiliza analiza n curent continuu pentru procesul de tranzitie al
semnalului. Se poate utiliza si analiza n curent continuu, dar numai c
and procesul
de transfer a ajuns n regim static, adic
a nu mai exist
a variatii, ceea ce practic ar
corespunde parcurgerii lungimii l cam de cinci ori (5T ).
Pentru analiza procesului tranzistoriu pe traseu este necesar s
a se utilizeze teoria
liniilor de transmisie. Conditia ca o linie de lungime l, care este parcurs
a cu viteza
vp , s
a fie considerat
a linie lung
a, pentru un impuls cu durata , este exprimat
a prin
relatia 2l/vp = 2T ; adic
a durata semnalului este mai mic
a dec
at timpul necesar
de parcurgere dus si ntors a traseului de conexiune (amintim c
a un semnal cu c
at
are variatii mai rapide cu at
at spectrul s
au de frecventa
, B, este mai larg, ceea ce
se poate exprima simplu cu relatia B T = 1, unde T este perioada semnalului
respectiv). Cu c
at viteza portilor creste cu at
at lungimea de traseu care determin
a
ncadrarea n linie lung
a se micsoreaz
a, de exemplu, pentru dou
a porti cu p1 = 4ns,
p2 = 1ns linia lung
a se reduce respectiv la lungimile de tras
a de (4ns15cm/ns)/2
30cm, (1ns 15cm/ns)/2 7, 5cm.
Un traseu de transmisie este caracterizat prin impedant
a caracteristic
a, Z 0 .
Impedanta
caracteristic
a este definit
a ca raportul dintre tensiunea tranzistorie v, pe
linie si curentul tranzistoriu i, generat n linie si poate fi calculat
a prin relatia:
r
v
L
[]
(1.108)
Z0 = =
i
C
Valori uzuale pentru impedanta caracteristic
a sunt: tras
a de circuit pe plac
a de
textolit pentru circuit imprimat 50 150, cablu coaxial 50, cablu bifilar torsodat
120, cablu plat 80 120.
Pe un traseu de transmisie ori de c
ate ori pentru impedanta liniei exist
a o discontinuitate apar reflexii ale semnalului, adic
a o parte din energia semnalului incident
este ndreptat
a napoi, Figura 1.73-a. Intr-un punct al traseului c
and se trece de la
impedanta liniei Z0 la impedanta Zr (Z0 6= Zr )se defineste un coeficient de reflexie,
kr , prin relatia:
Zr Z 0
kr =
(1.109)
Zr + Z 0
Dac
a semnalul incident V ajunge n punctul de reflexie, de coeficient de reflexie
kr , atunci n urma reflexiei se propag
a napoi pe linie un semnal reflectat vr = kr V .
Imediat dup
a reflexie n punctul de reflexie semnalul rezultat (total), vt , prin aplicarea
principiului superpozitiei, este egal cu semnalul incident V plus semnalul reflectat vr :
vt = V + vr = (1 + kr )V
(1.110)
In punctele de traseu, c
and tensiunea reflectat
a se propag
a n sens invers, tensiunea
rezultant
a este egal
a cu tensiunea care exista n acel punct, n acel moment, plus
tensiunea reflectat
a vr . Pentru plaja de impedante Zr [0, ], care pot fi nt
alnite
ntr-un punct de reflexie, rezult
a, din relatia 1.109, pentru coeficientul de reflexie c
a
are valori n intervalul kr = [1, 1].

145

1.6. REJECT
IA ZGOMOTELOR
Poarta emitatoare
VG

Linia de transmisie

Zs

Zr

Zo

vp

Zr

Zo

Poarta receptoare

vt

vr

a)

vt

vp
Distanta

Capatul liniei

vt

Tensiunea
pe linie
dupa o reflexie
la capat
pentru :

vr

V
Zr>Zo

Distanta
Emitator

V
Zr<Zo

Capatul liniei

b)

vt
Distanta
Emitator

c)

vt

vr
vt
Capatul liniei

B
Poarta B (receptoare)

Poarta A (emitatoare)
d)

Figura 1.73 Reflexia semnalului pe liniile de conectare ntre porti(a): b) reflexia


pentru cazul c
and Zr > Z0 ; c) pentru cazul c
and Zr < Z0 ; d) exemplu de forme de semnale
la transferul dintre dou
a porti.

Pentru o linie de transmisie se vor analiza trei cazuri (limit


a) de reflexie dup
a cum
linia se termin
a pe impedantele Zr = 0, Zr = Z0 sau Zr = .
Linia de transmisie terminat
a n scurtcircuit, Zr = 0. Rezult
a kr = 1,
vr = kr V = V , iar vt = V V = 0. Imediat dup
a reflexia semnalului incident
V , n punctul de terminare pe impedanta
Zr , tensiunea rezultat
a este zero si n
continuare devine zero tensiunea pe linie pe m
asur
a ce tensiunea reflectat
a vr
,,
se propag
a napoi pe linie (semnalul se stinge ).
Linia de transmisie terminat
a pe impedant
a caracteristic
a , Zr = Z0 (linie
adaptat
a). Rezult
a kr = 0, vr = 0V = 0, iar vt = V +0. Pentru o linie adaptat
a
nu exist
a component
a reflectat
a. Dup
a timpul T de propagare a semnalului pe
linie p
an
a la punctul de impedanta
Zr , procesul devine stationar, iar tensiunile
se pot calcula dup
a legea lui Ohm.

146

CAPITOLUL 1. PORT
I LOGICE

Linie de transmisie terminat


a n gol, Zr = . Rezult
a kr = +1, vr = kr V =
V , vt = V + vr = 2V . Deoarece semnalul reflectat are amplitudinea egal
a
cu V , tensiunea pe linie devine egal
a cu 2V pe m
asur
a ce tensiunea reflectat
a
se propag
a napoi, ncep
and cu punctul de reflexie (liniile care se termin
a pe
intr
arile portilor CMOS, care au impedanta de intrare foarte mare R > 10 12 ,
pot fi considerate ca linii n gol).
Pentru dou
a cazuri Zr > Z0 si Zr < Z0 , n Figura 1.73-b si c se reprezint
a
simplificat modul cum se obtine tensiunea total
a pe linie vt , prin sumarea tensiunii
incidente V (spre poarta receptoare) cu tensiunea reflectat
a vr (de c
atre impedanta
de intrare Zr de la poarta receptoare).
Poarta generatoare
R 0=Z0/3

l/2
kr=1/2

v0

v1

v0

l/2

R in1=Z0
kr1=0

R in2=3Z0
kr2=+1/2
v2

R in1

R in2

Poarta 1

0,93V 0,89V

0,75V

1,125V
v1
0,93V
0,84V
0,75V

t
T

2T

3T

4T

Poarta 2

1,125 V

v2

0,84 V

t
T

2T

3T

4T

t
T

2T

3T

4T

Figura 1.74 Variatia tensiunii pe o linie de transmisie cu puncte de reflexie la


ambele capete.

In Figura 1.74 este reprezentat


a schema echivalent
a a unei porti a c
arei iesire, prin
intermediul unei linii de transmisie de impedanta
Z0 si lungime l, comand
a n punctul
terminus intrarea unei alte porti. Poarta de comand
a este echivalat
a cu un generator
de tensiune V si o rezistenta
de iesire RO = Z0 /3, iar intrarea portii comandate din
punctul terminus este echivalat
a numai prin rezistenta de intrare Rin2 = 3Z0 . La
mijlocul liniei de transmisiune, l/2, mai este conectat
a o poart
a care are rezistenta
de intrare Rin1 = Z0 . Se va analiza variatia tensiunii vO la iesirea portii de comand
a
si a tensiunilor v1 si v2 la intr
arile portilor comandate, c
and tensiunea generatorului
are un salt de la zero la valoarea V .
La momentul t = 0 tensiunea generatorului se aplic
a pe divizorul rezistiv format
din R0 si Z0 (semnalul nu a nceput s
a se propage
pe

 linie) deci la iesirea portii de
V
comand
a rezult
a tensiunea egal
a cu vO = Z0 +Z
Z0 = 3/4V = 0, 75V . Dup
a
0 /3
timpul (l/2)/vp = T /2 semnalul cu amplitudinea 3/4V ajunge la Poarta1 la a c
arei
intrare se va aplica tensiunea v1 (T /2) = 3/4V ; deoarece nu exist
a reflexie, intrarea
fiind adaptat
a, kr = 0. Dup
a nc
a un interval T /2, semnalul ajunge la intrarea
Portii2 de la cap
atul terminus unde sufer
a o reflexie cu un coeficient de reflexie k r2 =
(3Z0 Z0 )/(3Z0 + Z0 ) = 1/2. Tensiunea reflectat
a este vr = 1/2 3/4V = 3/8V ,
iar tensiunea total
a aplicat
a portii rezult
a v2 (T ) = 3/4V + 3/8V = 9/8V = 1, 125V .

1.6. REJECT
IA ZGOMOTELOR

147

Unda de tensiune reflectat


a dup
a intervalul de timp T /2 ajunge la Poarta1 la a c
arei
intrare se aplic
a tensiunea v1 (3T /2) = 3/4V + 3/8V = 9/8V = 1, 125V , iar dup
a
nc
a un interval de T /2 atinge punctul de reflexie de la iesirea portii de comand
a
unde coeficientul de reflexie este kr = (Z0 /3 Z0 )/(Z0 /3 + Z0 ) = 1/2. Tensiunea
reflectat
a n acel punct este vr = (1/2) 3/8V = 3/16V ; tensiunea rezultat
a
v0 (2T ) se compune din tensiunea existent
a 3/4V , din tensiunea incident
a 3/8V si
din tensiunea reflectat
a, deci v0 (2T ) = (3/4 + 3/8 3/16)V = 15/16V = 0, 93V .
Urmeaz
a a doua parcurgere spre cap
atul terminus al traseului de c
atre semnalul
reflectat vr = 3/16V c
and se obtin la Poarta1: v1 (5T /2) = (9/8 3/16)V =
15/16V = 0, 93V si la Poarta2: v2 (3T ) = (9/8 3/16 3/32)V = 27/32V = 0, 84V ;
n punctul terminus 9/8V este tensiunea existent
a, 3/16V este tensiunea incident
a,
iar 1/2(3/16)V = 3/32V este tensiunea reflectat
a. Se ncepe a doua parcurgere
napoi nspre nceputul traseului de c
atre semnalul reflectat vr = 3/32V ; se obtin
la Poarta1: v1 (7T /2) = (15/16 3/32)V = 27/32V = 0, 84V , la poarta generatoare
v0 (4T ) = (15/16 3/32 + 3/64)V = 57/64V = 0, 89V . In punctul de nceput, de
la poarta generatoare, se produce acum un semnal reflectat egal cu vr = (1/2)
(3/32)V = +3/64V . La urm
atoarea parcurgere nspre cap
atul terminus se obtin la
Poarta1: v1 (9T /2) = (27/32 + 3/64)V = 57/64V = 0, 89V si la Poarta2: v 2 (5T ) =
(27/32 + 3/64 + 3/128)V = 117/128V = 0, 91V si un semnal reflectat v r = 3/128V .
In final, se ajunge n regimul stationar c
and tensiunea aplicat
a la cap
atul linei de
transmisiuni v2 () = (V /(Z0 /3 + Z0 + 3Z0 )) (Z0 + 3Z0 ) = 0, 92V .
Se observ
a din diagramele din Figura 1.74 c
a tensiunile v1 , v2 , intr
arile portilor
comandate, pot avea valori mai mari dec
at V . C
and la intrarea liniei de transmisiune
se aplic
a un salt de la 1 logic la 0 logic pot ap
area la intr
arile portilor comandate
tensiuni (negative) sub nivelul masei. Protectia mpotriva acestor supratensiuni la
intrarea portilor se face prin diode de desc
arcare ca n Figura 1.22-c si Figura 1.70-a.
In plus, n intervalele scurte c
and diodele de pe intrare conduc, realizeaz
a o impedanta

de intrare la mas
a de valoare foarte mic
a, deci un coeficient de reflexie care tinde spre
1, ceea ce duce la atenuarea regimului tranzistoriu.
Eliminarea reflexiilor pe liniile de transmisie se poate realiza n dou
a modalit
ati.
Prima modalitate const
a n conectarea la cap
atul terminus a unui circuit terminator
(Th
evenin) format din rezistentele R1 si R2 ca n Figura 1.75-a.
Teorema 1.2 Teorema Th
evenin: O retea liniar
a si activ
a, cu dou
a borne de
iesire A si B si f
ar
a cuplaje inductive cu exteriorul poate fi substituit
a cu un generator
ideal de tensiune VT hev nseriat cu o rezistenta
RT hev : VT hev este egal
a cu valoarea
tensiunii la bornele retelei la mers n gol VT hev = VAB0 , iar RT hev = VT hev /IABsc .
IABsc este curentul generat de retea c
and bornele A si B sunt scurtcircuitate. 
Schema echivalent
a Thevenin
este
a n Figura 1.75-b. Rezult
a pentru ten desenat

siunea echivalent
a VT hev = RV1 CC
R
,
iar
I
=
V
/R
deci
R
=
VT hev /Isc =
2
sc
CC
1
T
hev
+R2
(R1 R2 )/(R1 +R2 ) adic
a cele dou
a ramuri n paralel. In alegerea valorilor de rezistent
a
ale terminatorului se tine seama de urm
atoarele [Wakerly 0 00]:
- Valoarea rezistetei RT hev trebuie s
a fie c
at mai aproape de Z0 ;
- Valoarea tensiunii VT hev trebuie aleas
a nc
at s
a optimizeze curentul absorbit si
generat de poarta care comand
a linia de transmisie. Pentru portile simetrice

148

CAPITOLUL 1. PORT
I LOGICE

Poarta
generatoare

V CC
R1

Linie de transmisie

Terminator
Thevenin
R Thev
V Thev

R2

a)

Zo R i

Ri

b)

Porti receptoare

Poarta generatoare

Linie de
transmisie

Ri
Porti receptoare
c)
V CC

d)

R1

R1

R2

R2

V CC

e)

Figura 1.75 Modalit


ati de adaptare a liniilor: a) adaptarea unei linii de magistral
a
prin conectarea la cap
at a unui terminator Thevenin; b) schema echivalent
a a terminatorului;
c) adaptarea iesirii unei porti (la linia de magistral
a) prin nserierea unei rezistente de valoare
Z0 Ri ; d,e) variante de adaptare a conexiunilor dintre dou
a porti.

pe iesire, care au valori egale pentru curentul absorbit si generat (cazul portilor
CMOS, dar nu si cele CMOS compatibile TTL), se recomand
a VT hev = (VOL +
VOH )/2. Pentru portile asimetrice pe iesire la care IOL > IOH (portile TTL si
CMOS compatibile TTL), se recomand
a VT hev > (VOL + VOH )/2; prin aceasta
se ajut
a poarta (c
and iesirea sa este n H) printr-o generare suplimentar
a de
curent de c
atre terminator pe linia comandat
a de poart
a, dar cu costul cresterii
curentului pe care trebuie s
a-l absoarb
a poarta de pe linie n starea L;
- C
and linia de transmisie este o linie de magistral
a tip TSL va trebui ca, atunci
c
and magistrala nu este comandat
a de c
atre nici un emita
tor, tensiunea V T hev a
terminatorului s
a fixeze un potential pe linie care s
a fie n intervalele de tensiuni
de iesire garantate (si nu n intervalul de tensiuni interzise). Dac
a tensiunea
fixat
a pe linia de magistral
a este aproape de tensiunea de prag de comutatie
VT (Definitia 1.14 ) a portilor receptoare, atunci pot s
a apar
a oscilatii pe linie
sau curentii la intr
arile portilor receptoare s
a creasc
a cu mult peste valorile
normale. (Mai recent, (portile) buffere de magistrale au deja integrat pe iesire
un circuit activ de mentinere bus holder, Figura 1.46-e a nivelului pe linia

1.6. REJECT
IA ZGOMOTELOR

149

de magistral
a pentru intervalele c
and magistrala este n HZ.
Valori uzuale pentru rezistentele terminatorului sunt cele standard n plaja 150,
220, 270, 330, 390, 470. O pereche, aproape standard, pentru aplicatii TTL este
R1 = 220, R2 = 330 pentru care se obtine RT hev = 132 si VT hev = 3V , iar poarta
care comand
a linia trebuie s
a absoarb
a n starea L un curent egal cu (3V /132) =
22, 7mA si nu trebuie s
a genereze curent n starea H deoarece tensiunea H este
mentinut
a de terminator. Dezavantajul principal al terminatoarelor Thevenin este
consumul permanent de putere; uneori se utilizeaz
a ca terminator un circuit asimetric
n care exist
a numai R1 , iar R2 = .
A doua modalitate de eliminare a reflexiilor const
a n nserierea unei rezistente
n linia de transmisie imediat n apropierea portii care comand
a linia, de valoare
R = Z0 Ri , Figura 1.75-c. Pentru generatorul de tensiune al portii, n schema
echivalent
a, apare o nc
arcare de 2Z0 (adic
a Ri + Z0 Ri + Z0 = 2Z0 ). Aceast
a
modalitate este eficient
a pentru portile la care valorile lui Ri , rezistenta de iesire n
stare H si rezistenta de iesire n stare L, sunt apropiate (cazul portilor CMOS), iar
portile comandate sunt toate grupate spre cap
atul terminus al liniei de transmisie.
Pentru impedanta caracteristic
a n intervalul Z0 = 50 150 se recomand
a Ri =
15 40.
Pentru portile TTL(LS) rezistentele de iesire sunt: n jur de 30 n stare L si
n jur de 300 n stare H, iar cele de intrare n jur de 100 pentru Vin 1, 5V si
10K pentru Vin > 1, 5V . Circuitele CMOS prezint
a o impedanta
foarte mare pe
intrare, care pentru o linie de transmisiune este echivalent
a cu o terminare n gol. Din
dispersia acestor valori se poate constata c
a este foarte greu a se realiza o adaptare
pentru toate conexiunile dintre dou
a porti.
La circuitele actuale (complexe) care functioneaz
a la frecvente ridicate (CPLD,
FPGA, memorii, microprocesoare vezi capitolul 4) exist
a posibilitatea de a ajusta
impedanta de iesire a unui driver care comand
a o linie si la fel impedanta de intrare
la un circuit receptor care receptioneaz
a semnalul de la o linie. Aceast
a ajustare
se face electronic n functie de valoarea impedantei caracteristice Z 0 , se introduc
sau se scot rezistente fixe, nc
at rezistenta echivalent
a rezultat
a s
a coincid
a cu Z 0 .
Fizic, introducerea sau scoaterea de rezistente se realizeaz
a prin nserierea cu fiecare
rezistenta
fix
a a unui tranzistor care se comand
a respectiv n conductie sau n blocare.
Se poate ca si pentru conexiunile dintre porti s
a se adopte modalit
atile de adaptare
utilizate pentru liniile de magistral
a ca n Figura 1.75-d, 1.75-e, dar de cele mai multe
ori se fac conexiuni ntre porti f
ar
a a se face o astfel de adaptare. Pentru astfel de
situatii de neadaptare a conexiunilor dintre porti se recomand
a ca pe durata fronturilor de tranzitie ale semnalelor de comand
a s
a se asigure ca linia de conexiune, de
lungime l, s
a fie parcurs
a de cel putin 5 ori. Se consider
a c
a dup
a cinci parcurgeri (5T )
,,
regimul tranzitoriu se stinge; si n acest fel rezult
a crestat variatia de semnal doar
n intervalul tranzitoriu, Figura 1.74, nu si pe durata de regim static. Conform acestei
recomand
ari, consider
and vp = 20cm/ns pentru cinci parcurgeri pe durata frontului
de c
adere HL (uzual HL < LH ), rezult
a lungimea maxim
a lmax (vp HL )/5
a conexiunii neadaptate ntre dou
a porti, dar pentru care se asigur
a o functionare
corect
a. Aplic
and aceast
a recomandare rezult
a urm
atoarele valori maxime pentru
trasee: ECL, HL 2ns, lmax = 8cm; TTL-S, HL 3 4ns, lmax = 12 16cm;
TTL, HL = 5 7ns, lmax = 20 30cm.

150

CAPITOLUL 1. PORT
I LOGICE

Se estimeaz
a c
a n viitor si n interiorul unui sistem digital, similar ca n telecomunicatii, ntre circuitele integrate chiar si n interiorul circuitelor integrate, interconectarea va fi realizat
a prin trase pentru semnal optic. Avantajul fizic al semnalului
optic fata
de cel electric este imunitatea la perturbatii electromagnetice si eliminarea
constantelor de timp datorit
a nc
arc
arii capacitive. Estim
arile zic c
a, fata
de 2002,
va fi curent
a comunicatia optic
a ntre cipuri n 5-10 ani, iar cea n interiorul cipului
cam n jur de 15 ani.
1.6.2.3

Zgomotul datorat cuplajului electromagnetic (diafonia)

Diafonia (cross-talk), adic


a inductia semnalului dintr-un traseu n altul vecin pe
durata fronturilor, este o consecinta
a cuplajului inductiv si capacitiv dintre trasee.
Evident, cu c
at frecventa semnalului printr-un traseu este mai ridicat
a cu at
at tensiunea indus
a n traseele vecine poate fi de valoare mai mare.
Definitia 1.19 Nivelul de diafonie, D, este raportul dintre tensiunea (parazit
a) indus
a ntr-un traseu (perturbat) si tensiunea care o genereaz
a (perturbatoare).
D=

Vperturbata
Vperturbatoare

Se consider
a, n Figura 1.76, dou
a trasee: unul compus din Poarta1, ce comand
a
pe o linie cu impedanta caracteristic
a Z0 intrarea Portii2 si al doilea traseu compus
din Poarta3 ce comand
a Poarta4 pe o linie cu impedanta caracteristic
a Z 0 ; ntre cele
dou
a trasee exist
a o impedanta
de cuplaj Zc . Cuplajul electromagnetic realizat prin
impedanta de cuplaj Zc apare ca o rezultant
a a cuplajelor formate prin capacit
atile
distribuite Cm si cuplajului prin inductivit
atile distribuite L. Pentru analiza cuplajului electromagnetic al celor dou
a trasee se impune ca impedanta de iesire a portilor

CL

Zo

1
Poarta 1 C
m
Poarta 3
Zo

3
CL
V O3

CL
L
M

CL
L

Cm

L
Cm

L
CL

CL

Zo

CL
L

Cm
M Linii paralele
Zc
(cuplate
L
L electromagnetic)
Zo

V I2
L

2
Poarta 4

M
L

ZI

Poarta 2

CL

Figura 1.76 Explicativ


a pentru procesul de generare a diafoniei

ZI

1.6. REJECT
IA ZGOMOTELOR

151

de comand
a Zout s
a ndeplineasc
a conditia Zout  Z0 (poarta este un generator ideal
de tensiune). Atunci, cu aceast
a conditie, tensiunea indus
a VI2 n linia 1-2, ce se
aplic
a la Poarta2, de c
atre tensiunea din linia 3-4, VO3 , generat
a la iesirea portii 3 va
fi exprimat
a prin relatia:
VI2 =

VO3
VI2
1
D=
=
1 + Zc /Z0
VO3
1 + Zc /Z0

(1.111)

Calitativ, relatia 1.111, sugereaz


a ce modalit
ati pot duce la atenuarea diafoniei:
M
arirea impedantei de cuplaj Zc prin ndep
artarea traseelor (distanta uzual
a
ntre traseele de circuit imprimat este de 0, 20, 4mm), sau micsorarea lungimii
portiunilor de paralelism ntre trasee sau ambele simultan;
Micsorarea impedantei caracterisitice Z0 prin intercalarea unei trase de mas
a
ntre trasele de circuit cuplate, sau utilizarea unui plan de mas
a;
Utilizarea unor materiale care prezint
a un coeficient de permeabilitate magnetic
a r care se diminueaz
a odat
a cu cresterea frecventei semnalului, deci se
reduce cuplajul inductiv (polietilene utilizate pentru realizarea cablurilor plate);
Micsorarea spectrului de frecventa
al semnalelor prin reducerea pantei fronturilor de comutatie. Aceasta se poate obtine prin conectarea la iesirea portilor a
unor condensatoare de ordinul zeci sute pF . Modalitatea aceasta este referit
a
ca reducerea lui di/dt, care intervine n relatia tensiunii induse V = L di/dt.
Cresterea frecventei semnalelor n sistemele digitale (la nivelul anului 2004 s-a
ajuns la frecventa de ceas pentru microprocesoare n jur de 3GHz, perioada
fiind de 333ps) creaz
a dificult
ati n realizarea magistralelor; o magistral
a de 64
de biti are 64 de trasee care merg n paralel pe lungimi destul de mari. Pentru
astfel de aplicatii exist
a circuite de comand
a (drivere de magistral
a) care transmit pe magistral
a doar fronturile semnalelor digitale, dar cu o pant
a di/dt 1;
teoretic, un front al unui semnal digital (ideal) este di/dt .
Structura de driver de magistral
a, Figura 1.77-a, este de fapt un driver CMOS
TSL (Figura 1.46-d) a c
arei tensiune de iesire la linia de magistral
a, c
and este n
stare HZ, este fixat
a la nivelul median VDD /2 prin divizorul echilibrat format cu
valori de impedanta
egale cu 2Z0 . Un semnal digital x(t) si semnalul negat, dar
nt
arziat cu 3p , x(t3p ), obtinut prin nserierea a trei inversoare, aplicate la intrarea
unei porti NAND va genera la iesire un impuls negativ de l
atime 3p , dar numai pe
fronturile pozitive ale semnalului x(t). Similar, aceleasi semnale aplicate la intrarea
unei porti NOR va genera la iesire un impuls pozitiv de l
atime 3p , dar numai pe
fronturile negative ale semnalului x(t), Figura 1.77-b. Pe frontul pozitiv al semnalului
de intrare x(t), tranzistorul pMOS intr
a n conductie, iar tensiunea de iesire vO creste
liniar de la VDD /2 la VDD /2 + V , iar c
and tranzistorul se blocheaz
a scade liniar de
la VDD /2 + V la VDD /2. Similar, pe frontul negativ al semnalului x(t) va conduce
tranzistorul nMOS, iar tensiunea de iesire va avea variatia liniar
a de la V DD /2 la
VDD /2 V , iar la blocarea tranzistorului, de la VDD /2 V la VDD /2. Semnalul
vO (t) cu variatii liniare cu panta n jur de unitate, aplicat pe o linie de magistral
a, va
induce n liniile vecine tensiuni de valoare mult mai mic
a dec
at un semnal cu fronturi
foarte abrupte. La receptie, un circuit trebuie s
a sesizeze sensul frontului semnalului

152

CAPITOLUL 1. PORT
I LOGICE
3 p

V DD
vB

x(t)

x(t 3 p )
vA

2Zo
Linie de
vO magistrala
Zo

2Zo

a)
x(t)

3 p

x(t 3 p )
vB

vA
vO
V DD /2

tf

tr
+ V

+ V

b)

Figura 1.77 Driver de magistral


a cu di/dt redus: a) structur
a circuit; b) explicativ
a
prin diagrame de semnal pentru obtinerea pe linia de magistral
a a unui semnal numai cu
panta egal
a cu 1.

x(t) si s
a refac
a amplitudinea si durata acestui semnal, adic
a o deplasare de la V DD /2
fie la VDD fie la VSS .
Exemplul 1.31 a) Daca liniile de transmisiune sunt realizate din conductori de cupru
cu = 1mm, asezati la o distanta
mai mic
a de 1mm unul fata
de cel
alalt si la o distant
a mai
mare de 20mm fata
de orice conductor de mas
a, impedantele vor avea valorile Z0 = 200,
Zc = 80, rezult
a un nivel de diafonie D1 = 0, 71. Acest raport este inacceptabil ntruc
at
nici un circuit standard nu are o margine de zgomot mai mare dec
at o treime din valoarea
saltului logic de tensiune.
b) Dac
a n exemplul a) se introduce un plan de mas
a la distanta de 1mm de fiecare conductor
se obtin valorile Z0 = 50, Zc = 125, iar nivelul de diafonie este D2 = 0, 28. Valoarea
0.28 pentru diafonie este destul de mare; se apropie prea mult de valoarea maxim
a de 30 %
a marginii de zgomot n curent continuu de la portile CMOS.
c) Dac
a at
at linia emita
toare c
at si cea receptoare se realizeaz
a din cablul torsodat impedantele au valorile Z0 = 80, Zc = 400 si diafonia este D3 = 0, 16. Acest raport este
satisf
ac
ator pentru toate circuitele TTL si TTLS.

153

1.6. REJECT
IA ZGOMOTELOR

1.6.2.4

Zgomotul datorit
a curentilor de alimentare

Curentul absorbit de o poart


a de la sursa de alimentare, n timp, nu are o valoare
constant
a. In oscilograma formei de variatie a curentului de alimentare apar evident
v
arfuri cu amplitudinea destul de mare (spikes, glitches) n momentele de comutatie
H L si L H ale portii, Figura 1.78. Aceste v
arfuri de curent din perioadele
tranzitorii sunt cauze generatoare de zgomot n dou
a modalit
ati: 1- prin inductie pot
produce tensiuni parazite n circuitele vecine; 2- micsoreaz
a tensiunea de alimentare a
portii cu valoarea c
aderii de tensiune provocat
a pe impedanta traseului de alimentare
(mai ales pe componenta inductiv
a a acestui traseu). La valoarea total
a a curentului
absorbit de o poart
a contribuie trei componente una de regim stationar si dou
a de
regim tranzitoriu.
1. Curentii absorbiti n regim stationar (de curent continuu). Valorile curentilor
printr-o poart
a n starea H, ICCH si n starea L, ICCL , nu sunt egali, deci pe circuitul
de alimentare, ntre cele dou
a st
ari de functionare, poarta provoac
a variatiile de curent
I = ICCL ICCH care prin c
aderile de tensiune pe inductivit
atile parazite L ale
traseului si ale pinilor circuitului micsoreaz
a tensiunea de alimentare VCC cu valoarea
V :
I
V = L
[V ]
(1.112)
T
Remediu pentru aceste variatii de tensiune este un condensator de desc
arcare C d
conectat chiar pe terminalele VCC /VDD si mas
a ale portii, condensator care consti,,
tuie un rezervor de energie si care va livra pentru poart
a necesarul de curent I
n momentele c
and tensiunea de alimentare scade. Impun
and o anumit
a c
adere de
tensiune V , c
and este necesar un curent suplimentar I ntr-un interval de timp
T , valoarea minim
a a condensatorului Cd se determin
a cu relatia:
Cd =

I
[F ]
V /T

(1.113)

De exemplu, pentru circuitul TTL-LS 7400 (patru porti NAND) consumul total
al celor patru porti c
and sunt alimentate la VCC = 5V este de ICCL = 2, 4mA si
ICCH = 0, 8mA. Dac
a presupunem c
a toate portile sunt comandate simultan la
aceeasi frecventa de 1M Hz, pentru ca tensiunea de alimentare a circuitului s
a nu
varieze cu mai mult de 5% (V = 5%VCC = 0, 25V ), este necesar
a o capacitate de
desc
arcare Cd = (2, 4mA 0, 8mA)/(0, 25V /0, 5 1s) = 3, 2nF .
2. Curentii de nc
arcare si desc
arcare a capacit
atilor n momentele de comutatie. Acesti curenti determin
a peste 90% din puterea disipat
a pe o poart
a CMOS, dar
sunt destul de redusi pentru tehnologia bipolar
a. Curentul de nc
arcare a sarcinii, la
comutarea L H, si curentul de desc
arcare a sarcinii, la comutarea H L sunt egali
numai c
and Wp = 2Wn ( pentru n = 2p ). De exemplu, pentru circuitul 74HCT00
(patru porti NAND) curentul de nc
arcare ILH si curentul de desc
arcare IHL al
circuitului, c
and portile sunt comandate simultan pentru un salt logic de 3, 6V cu o
vitez
a de crestere de 0, 25V /ns si de 0, 4V /ns pentru descrestere, se pot determina
(cu o aproximatie destul de bun
a pentru aplicatiile practice) cu relatia 1.112
ILH = 4 50pF 0, 25 109 V /s = 5mA
IHL = 4 50pF 0, 4 109 V /s = 8mA

154

CAPITOLUL 1. PORT
I LOGICE

vO

LH

HL

V OH

V OL

iC
I CCL
I CCH

V CC /V DD
t

Figura 1.78 V
arfurile de curent de alimentare la tranzitiile H L si H L produc
variatii n tensiunea de alimentare

iar timpii de crestere tLH si descrestere tHL rezult


a
tLH = 3, 6V /(0, 25V /ns) = 14, 4ns
tLH = 3, 6V /(0, 4V /ns) = 9ns
3. Curentii de scurtcircuit. Acesti curenti care apar pe traseele dintre VDD /VCC
si mas
a n momentele de comutatie, at
at n tehnologia CMOS c
at si bipolar
a, prin
durata lor scurt
a pot constitui surse de zgomot.
Variatiile de curent datorit
a regimului tranzitoriu, punctul 2 si 3, pot ajunge la
valori mai mari dec
at 10mA/ns, care pe o inductivite de 0, 1H(valori tipice pentru
traseele de circuit imprimat sunt 0, 01 0, 02H/cm), conform relatiei 1.112 vor
produce c
aderi de tensiune V = 0, 1H 10mA/ns = 1V . Efectul acestor variatii de
curent este acelasi ca si cel produs de variatiile curentului de alimentare cu deosebirea
c
a de data aceasta spectrul de frecvente este mult mai nalt.
Atenuarea zgomotelor generate de curentii de alimentare se poate realiza prin
conectarea pe pinii de alimentare ai fiec
arui circuit integrat a unui condensator ceramic de ordinul 10100nF (pentru rejectia frecventelor nalte) si a unui condensator
de decuplare cu tantal de 0, 33F (pentru frecvente joase) la c
ate un grup de 34 circuite integrate. De fapt, n aceeasi manier
a, dar de valori mai mari, se face decuplarea
circuitului de alimentare la intrarea pe placa de circuit imprimat. Totusi, numai decuplarea de la intrarea pl
acii de circuit imprimat nu este suficient
a deoarece inductivit
atile parazite ale traseelor, de la intrare p
an
a la circuit, mpiedic
a livrarea rapid
a
de curent spre circuite si atunci aceast
a decuplare local
a se repet
a si n apropierea
circuitului.
Exemplul 1.32 Sa se calculeze caderea de tensiune produsa pe o inductivitate L =
2nH (de exemplu inductivitatea firului care conecteaz
a zona de pad la pinul circuitului)

155

1.6. REJECT
IA ZGOMOTELOR

de c
atre curentul de desc
arcare al sarcinii capacitive CL = 100pF de la iesirea unui buffer
CMOS conectat la pad. Se consider
a sarcina nc
arcat
a la VDD = 5V , iar HL = 5ns.
Solutie. In Figura 1.79 este trasat
a variatia real
a a curentului de desc
arcare cu linie
continu
a, iar cu linie ntrerupt
a se estimeaz
a o variatie liniar
a. Pentru acest
id
caz relatia 1.113 se scrie sub forma
Idmax

I dmax

td
= CL VDD
2

si de asemenea, din estimarea de


variatie liniar
a pentru curentul id , se
poate scrie relatia de variatie a curentului

did
Id
2Idmax
max =
dtd max
HL /2
HL
rezult
a relatia

4CL VDD
did

2
dtd max
HL

td = 0

t d = HL / 2

td

t d = HL

Figura 1.79 Explicativ


a pentru Exemplul
1.32

Introduc
and valorile numerice se obtine

did
dtd

max

4 100 1012 5
(5 109 )2

= 80mA/ns

did
160mV
V = L
dtd max

Dac
a poarta devine mai rapid
a de dou
a ori HL = 2, 5ns c
aderea de tensiune se m
areste de
patru ori 4 160mV = 0, 64V .

156

CAPITOLUL 1. PORT
I LOGICE

PROBLEME1
P1.1 Utiliz
and axiomele si teoremele algebrei Booleene, s
a se demonstreze analitic
urm
atoarele identit
ati si apoi s
a se deduc
a tabelul de adev
ar al expresiei respective:
a) B + AC = (A + B + C)(A + B + C)(A + B + C);
b) AD + CD + AB = A CD + AB C + ABC + ACD;
c) D(A + +C + D)(A + B + C + D) = (D + AC + AC)(A C + BD + AC).
P1.2 S
a se demonstreze urm
atoarele identit
ati si apoi s
a se deduc
a tabelul de
adev
ar al expresiei respective:
a) AB + (A + B)C = AB + (A B)C;
b) A B = B A = A B
c) A 1 = A (inversorul comandat realizat cu o poart
a XOR); A 0 = A; A A = 1;
A A = 0;
d) A B = AB + A B;
e) A B = A B = A B;
f) ABC + A B + ABCD = ABC + A B + D;
h) ABC(BD + CDE) + AC = A(C + BDE);
g) ABC + AB C + A B C + ABC + ABC = BC + AB + B C.
P1.3 S
a dezvolte urm
atoarele expresii (utiliz
and teoremele lui De Morgan):
a) AB(C + D);
b) AB(CD + EF );
c) (A + B + C + D) + ABCD;
d) (A + B + C + D) (AB CD);
e) AB(CD + EF )(AB + CD)
f) (ABC) (EF G) + (HIJ) (KLM );
g) (A + BC + CD) + BC
h) (A + B) (C + D) (E + F ) (G + H).
P1.4 Folosind portile setului complet XOR, AN D s
a se implementeze operatorii:
NOT, AND, OR, NAND, NOR, XNOR. Se vor utiliza simbolurile ANSI/IEEE.
P1.5 Care din portile a, b, c, d din figura urm
atoare nu functioneaz
a corect?
Oscilogramele semnalelor de pe intr
ari si de pe iesiri sunt prezentate in aceeasi figur
a.
P1.6 S
a se implementeze operatorul sum
a modulo doi (XOR) pentru dou
a variabile
numai cu porti N AN D sau numai cu porti N OR cu dou
a intr
ari.
P1.7 S
a se construiasc
a tabelele de adev
ar si reprezent
arile simbolice pentru implementarea operatorului sum
a logic
a de dou
a variabile (OR2) consider
and toate variantele de activare ale semnalelor de intrare si de iesire.
P1.8 S
a se explice cum se procedeaz
a cu intr
arile neutilizate ale unei porti logice
astfel nc
at acestea s
a nu duc
a la o functionare incorect
a a portii.
P1.9 Pentru portile TTL, impedantele de iesire sunt n jur de 30 n starea
L si n jur de 300 n starea H. Impedanta caracteristic
a a traseelor de circuit pe
1 Solut
iile

problemelor pot fi accesate pe situl c


artii

157

1.6. REJECT
IA ZGOMOTELOR

A
B

A
B
y

A
B
y

y
a)

A
B
y

A
B
y
b)

A
B

A
B

A
B
y

y
d)

c)

placa de sticlotextolit are valori cuprinse ntre Z0 = 50 150. In scopul de a se


evita reflexiile pe liniile de conectare ntre porti,pentru realizarea conditiei Z 0 = Zr
(impedanta pe care se realizeaz
a reflexia), se m
areste artificial impedanta de iesire a
portii care comand
a linia prin inserarea, la iesirea acesteia, a unei rezistente R. S
a se
determine valoarea maxima a rezistentei R.
P1.10 S
a se comande o diod
a electroluminiscent
a (LED) cu o poart
a 74HC MOS
si 74LS TTL. Parametrii de catalog ai acestor porti sunt dati n tabelul de la P1.12.
Punctul de functionare al LED-ului n starea de luminiscenta are coordonatele I D =
8mA, UD = 1, 6V .
P1.11 S
a se calculeze valorile rezistentelor Ra si Rb ale circuitului din figura (a)
astfel ca, atunci c
and ambele comutatoare sunt deschise, pe intr
arile A si B s
a fie
,,
,,
asigurate nivelele logice 0 si 1 . Care este puterea disipat
a de aceste rezistente
c
and comutatoarele sunt deschise si nchise? Valorile de catalog ale parametrilor portii
sunt date n tabelul de la P1.12.
V CC
Ra
V CC

a)

74LSTTL

B
Rb
b)

P1.12 S
a se determine dac
a o poart
a 74HCMOS poate comanda patru porti 74LS
TTL si dac
a o poart
a 74LS TTL poate comanda patru porti 74HC MOS. Valorile
tipice de catalog ale parametrilor portilor logice sunt date n tabelul urm
ator:
VIH(min)
Tip
74HCMOS 3,5 V
74LSTTL
2V

VIL(max) VOH(min) VOL(max) I IH(max) I IL(max) I OH(max) I OL(max)


1V
4,9 V
0,1 V
1
1
40
4 mA
0,8 V
2,7 V
0,4 V
20 400 400
8 mA

158

CAPITOLUL 1. PORT
I LOGICE

P1.13 Pentru portile inversor ale circuitului b) (desenat la P1.11) timpii de propagare sunt: LH = 6ns(min)/10ns(max), HL = 4ns(min)/6ns(max), r = f = 1ns.
Presupun
and valorile minime pentru timpii de propagare,s
a se determine timpul total
de propagare prin circuit pentru comanda intr
arii: 0 1, 1 0. Consider
and c
a
fiecare inversor are timpul de propagare situat oriunde ntre valoarea minim
a si cea
maxim
a, s
a se schiteze formele de und
a n punctele B,C si D c
and semnalul pe intrarea
A are tranzitiile: 0 1, 1 0.
P1.14 Pentru circuitul din figura de mai jos (a) se consider
a, pentru toate portile,
PHL = PLH = p . S
a se determine expresiile logice pentru variabilele notate n figur
a.
Discutie. T
in
and cont de timpii de propagare, s
a se descrie prin forme de und
a valorile
variabilelor logice pe durata regimurilor tranzitorii. Discutie.
A

B A

a)

b)

P1.15 Pentru circuitele din figura b) (de la P1.14), s


a se determine formele de und
a
pentru variabila B c
and variabila A are o variatie sub forma de semnal dreptunghiular
de perioad
a T = 10p cu coeficientul de umplere 50%. Se consider
a p = PHL = PLH ,
pentru toate portile circuitelor. S
a se interpreteze formele de und
a pentru variabila
B, similar cu interpretarea de la problema 1.13.
P1.16 Pentru comanda portii NAND 74HC00 de la iesirea unei porti NAND cu
colectorul n gol, 74LS01, se utilizeaz
a interfatarea din figura (a) de mai jos. S
a se
calculeze valoarea rezistentei de pull-up Rp astfel nc
at s
a se obtin
a:
a) un consum minim de putere pe Rp ;
b) un timp de tranzitie minim la intrarea portii CMOS;

V CC

"1"
V1

Rp
74HC00

74LS01

Cp
a)

R1

VI

2K
VA

A
R2

VO

10K

b)

P1.17 S
a se determine caracteristica de transfer V0 = f (V1 ) pentru circuitul
din figura b) (de la P1.16) de mai sus realizat cu porti inversoare CMOS, av
and:

159

1.6. REJECT
IA ZGOMOTELOR

VT = 2, 5V (tensiune de prag de comutatie), VOHmin = 4, 9V, VOLmax = 0, 1V . S


a se
deseneze formele de und
a la iesire c
and VI are o variatie triunghiular
a cu VImax = 4V .
P1.18 S
a se deseneze structura retelei de porti care realizeaz
a urm
atoarea functie
logic
a:
F = (ABC + D)EF + GH(I + J + K)

P1.19 S
a se deseneze structura retelelor care realizeaz
a urm
atoarele functii logice:
a) F = (AB + C)[(D + E)F + G];
b) F = (AB + C)AB + BC;
c) F = AB(C D + CD) + AB(C D + CD) + AB C D;
d) F = (A B + AB)(C D + CD);
e) F = AB(C + DEF ) + CE(A + B + F ).
P1.20 Pentru reteaua de comutatie din figur
a s
a se deduc
a functia logic
a F pe care
o realizeaz
a.
I1

G1

G2

C
D
I2

G6

G5

G3

G7

F=?

G4

P1.21 Pentru retelele de comutatie din figurile urm


atoare s
a se deduc
a functiile
logice realizate.
A
B
C
E
F
G

F
B
a)

D
E

C
F
G
A
B

C
b)

P1.22 Structura circuitului de comand


a realizat cu contacte pentru aprinderea si
stingerea unui bec, din oricare din cele trei puncte A,B si C este reprezentat
a n figura
(a) de la P1.23. Implementati acelasi circuit de comand
a cu porti logice.
P1.23 S
a se determine functia de comutatie F pentru structura de retea din figura
de mai jos (b). S
a se simplifice expresia functiei F si s
a se realizeze o implementare
cu porti logice.

160

CAPITOLUL 1. PORT
I LOGICE

_
A
A

_
B
_
B

_
A

_
A

_
C

a)

B
C

D
_
D

_
B

b)

P1.24 Circuitului din figura (b) al


aturat
a i se aplic
a semnalele de intrare A,B,C si
D av
and formele de und
a n figura (a). S
a se determine formele de und
a n punctele
x1 , x2 , x3 , x4 si y. Apoi, pentru acest circuit combinational s
a se deduc
a expresia
logic
a a iesirii y si, cu ajutorul acesteia, s
a se deduc
a forma de und
a a semnalului y
pentru variatia intr
arilor.
A
B

x1

x2

C
D

x3
x4

D
a)

b)

P1.25 Pentru circuitul logic combinational din figura (b), la aplicarea formelor de
und
a la intrare, desenate al
aturat n figura (a), se obtine forma de und
a y la iesire.
Aceast
a iesire y este incorect
a datorit
a unei porti defecte din structura circuitului.
(O poart
a defect
a are iesirea fie permanent n starea H fie permanent n starea L,
indiferent de valoarea logic
a a intr
arilor). S
a se localizeze poarta defect
a si s
a se
determine defectul acesteia (iesire permanent H sau permanent L).
A
B
C
D
E
y

A
B G1

G2

G4

D
a)

G3
b)

161

1.6. REJECT
IA ZGOMOTELOR

P1.26 Pentru circuitul din figura (b) sunt redate al


aturat formele de und
a pe
intr
ari. Sunt accesibile pentru oscilografiere numai iesirea si punctul de test PT. Este
corect
a forma de und
a PT? Dac
a nu, care este defectul?
A
B

A
B

PT

C
D

D
E

E
F

F
PT
a)

b)

P1.27 Pentru circuitele din figurile urm


atoare a),b) si c) s
a se determine expresia
logic
a realizat
a pe iesirea y. Consider
and c
a toate bufferele open colector pe iesire
au IOLmax = 40mA, VOLmax = 0, 25V , IOHmax = 400A s
a se determine valoarea
rezistentelor R dac
a functia y reprezint
a o nc
arcare de 10 intr
ari 74LS00 (vezi tabelul
de la P1.12). Se admite pentru VCC = 0, 1VCC , iar MH =ML = 0, 4V .
VCC

VCC

+5V

+5V

D
a)

VCC
+5V
R

A
B
C

D
E

F
G
b)

A
B

C
D

E
F

G
H

c)

P1.28 Folosind datele de catalog, date n tabelul de la problema P1.12, pentru


poarta 74HC00 (NAND2) s
a se determine dac
a poate comanda pe iesire urm
atoarele
sarcini rezistive:
a) 120 conectat
a la VDD ;
b) 270 conectat
a la VDD si 330 conectat
a la mas
a;
c) 1K conectat
a la mas
a;
d) 150 conectat
a la VDD si 150 conectat
a la mas
a;
e) 100 conectat
a la VDD ;
f) 75 conectat
a la VDD si 150 conectat
a la mas
a;
g) 75 conectat
a la VDD ;

162

CAPITOLUL 1. PORT
I LOGICE

h) 270 conectat
a la VDD si 150 conectat
a la mas
a.
P1.29 Pentru poarta 74HC00, utiliz
and datele din tabelul de la problema P1.12,
s
a se estimeze rezistenta de iesire n stare H si n stare L.
P1.30 Pentru decizia pentru iesirea unei porti cu colectorul n gol sau cu drenul
,,
n gol se alege o rezistenta
de valoare mai mare sau mai mica aduceti argumente pro
si contra.
P1.31 Un buffer cu drenul n gol, VOLmax = 0, 37V , IOLmax = 12mA, comand
a
un LED de semnalizare pentru care se fixeaz
a punctul de functionare VLED = 1, 6V ,
ILED = 10mA. S
a se determine valoarea rezistentei nseriate cu LED-ul c
and V DD =
5V .
P1.32 Care rezistor disip
a mai mult
a putere cel care conecteaz
a o intrare neutilizat
a
la VCC a unei porti NAND TTL-LS sau cel care conecteaz
a o intrare neutilizat
a la
mas
a a unei porti NOR TTL-LS? (Utilizati datele din tabelul de la problema P1.12)
P1.33
Ce se nt
ampl
a dac
a se ncearc
a s
a se comande, direct f
ar
a rezistenta

aditional
a, un releu alimentat la +12V printr-o poart
a normal
a TTL?
P1.34 Circuitul din figura (a) utilizeaz
a porti 74LS01 cu colectorul n gol pentru
care datele de catalog corespund cu cele din tabelul de la P1.12 de la seria LS cu
diferenta c
a IOHmax este 100A.

QQ
Q

+5V

+5V
W
X
Y
Z

74LS01
*

*
74LS01

a)

Q Q
Q

R1
*
74LS01

R2

P
Q
R
S
T
U
V

D1
1
2

RI
3

D2

b)

a) S
a se deduc
a analitic si s
a se verifice prin metoda tabelului de adev
ar expresia
functiei F.
b) Consider
and MH = 0, 7 care este valoarea maxim
a admis
a pentru R1 ?
c) Dac
a semnalul F comand
a dou
a inversoare 74S04 (datele corespund seriei S din
Tabelul 1.9) s
a se determine valoarea maxim
a si minim
a pentru R2 c
and MH =
0, 7V, ML = 0V .
P1.35 La o linie de magistral
a sunt conectate n module.Fiecare modul este compus
dintr-o poart
a receptoare 74LS04 (parametrii acestui inversor sunt n Tabelul 1.9 la
seria LS) si un buffer, TSL 74LS125, emita
tor pe magistral
a. Bufferul TSL n starea
HZ absoarbe sau genereaz
a un curent 20A, iar n starea normal
a cu iesirea L
absoarbe un curent IOLmax = 24mA si cu iesirea n H genereaz
a un curent IOHmax =
2, 6mA. C
ate module se pot conecta la magistral
a?
P1.36 Se descoper
a o deficienta
la circuitul din figura (b) de la P1.34. Proiectantul remediaz
a aceast
a deficienta
prin introducerea diodelor D1 si D2 pe traseele
desenate punctat. Descrieti modificarea logic
a si a marginii de zgomot, prin aceast
a

163

1.6. REJECT
IA ZGOMOTELOR

introducere, asupra circuitului. Toate portile sunt 74LS00 (NAND2).


P1.37 S
a se deseneze structura circuitelor CMOS care realizeaz
a functiile F 1 =
A + BC, F2 = A(B + C).
P1.38 S
a se deseneze structura circuitului CMOS care implementeaz
a functia
F = (A1 + A2 + A3 )(B1 + B2 )C.
P1.39 Pentru functia logic
a F = A + B + CD:
a) S
a se deseneze structura de circuit CMOS;
b) S
a se deduc
a drumul eulerian si apoi s
a se deseneze layoutul simplificat.
P1.40 Pentru circuitul de coincidenta
:
a) S
a se deseneze structura de circuit CMOS;
b) S
a se deduc
a drumul eulerian si apoi s
a se deseneze layoutul simplificat.
P1.41 Se consider
a circuitele din figura (a)si (b) care au un efort electric H=6.
a) Care este efortul total pentru fiecare circuit?
b) Care dintre ele este mai rapid?
c) S
a se calculeze dimensiunile x si y de poart
a astfel nc
at pentru circuitul respectiv
s
a se obtin
a nt
arzierea cea mai mic
a.
g=4/3
p=2

g=1
p=1

x
6C

a)

g=5/3
p=2

g=1
p=1

6C

b)

P1.42 Un traseu logic este proiectat pe trei etaje; pe fiecare dintre ele este repartizat
un efort F1 = 10, F2 = 9, F3 = 7.
a) Poate fi aceast
a proiectare optimizat
a? Dac
a da n ce mod?
b) La prezenta proiectare ce mbun
at
atiri se pot aduce?
P1.43 Se consider
a un traseu logic pe opt niveluri/etaje, pe fiecare nivel efortul
electric este egal cu hi = 3. Cea mai complex
a poart
a care poate fi ntr-un nivel, din
acest traseu, este NAND4. S
a se estimeze care este intervalul de timp cel mai mic
dup
a care semnalul logic, aplicat la intrarea traseului, poate fi modificat.
P1.44 La structura de NAND8 din Figura 2.29-c ad
augati, dup
a ultimul inversor,
nc
a dou
a inversoare. Pentru cele trei structuri din Figura 2.29 si cea obtinut
a n
acest mod trasati, pe acelasi grafic, dependenta, nt
arzierea D functie de variatia
efortului electric H n intervalul H = 12 200. Care este concluzia din analiza acestor
dependente?
P1.45 Care dintre portile CMOS, NANDn, NORn, pentru acelasi efort electric,
este mai rapid
a? Argumentati afirmatia.
P1.46 O linie de magistral
a cu impedanta caracteristic
a Z0 = 100 este comandat
a
de iesirea unui buffer din L (0, 2V ) n H (2, 7V ) pe durata t = 3ns. S
a se determine
valoarea capacit
atii de decuplare CB conectat
a ntre linia de alimentare VCC si mas
a
astfel nc
at acest salt s
a nu provoace o variatie maxim
a a tensiunii de alimentare
VCC > 0, 1V .
P1.47 Un driver TSL, caracterizat prin IOLmax = 24mA, VOLmax = 0, 4V comand
a

164

CAPITOLUL 1. PORT
I LOGICE

o linie de magistral
a cu impedanta caracteristica Z0 = 150. Receptorii de la linia de
magistral
a sunt porti de tip trigger Schmitt cu pragurile de comutatie Vp = 0, 9V ,
Vp+ = 1, 7V , iar curentii absorbiti at
at n starea L c
at si n starea H sunt neglijabili.
Tensiunea VCC poate varia n limitele 10%.
a) S
a se dimensioneze rezistentele pentru terminatorul Thevenin al liniei;
b) S
a se calculeze marginile de zgomot garantate MH si ML .
P1.48 Pentru o poart
a logic
a TTL trigger Schmitt neinversor cu pragurile de
basculare n intervalele Vp = (0, 60, 9)V , Vp+ = (1, 72)V s
a se calculeze marginile
de zgomot MH si ML .
P1.49 Pentru cap
atul unei linii de magistral
a, cu impedanta caracteristic
a Z0 , s
a
se dimensioneze un terminator Thevenin care s
a nu produc
a reflexii ale semnalului.
Pentru perioadele c
and linia nu este comandat
a de nici un driver potentialul liniei s
a
fie stabilit de terminator fie la VOH = 3, 4V , fie la VOL = 0, 25V (VCC = 5V ).

Capitolul 2

CIRCUITE LOGICE
COMBINAT
IONALE
n

Multitudinea functiilor logice de n variabile, 22 , ar atrage dupa sine, dac


a nu se
face o selectare, realizarea a tot at
atea circuite. Selectarea functiilor candidat pentru implementare, sub form
a de circuit, se face n functie de eficienta si frecventa n
aplicatii dar si dup
a realizabilitatea circuitului. De exemplu, dup
a cum s-a vazut n
capitolul anterior, chiar si pentru dou
a variabile, n = 2, din cele 16 functii posibile
sunt implementate doar portile uzuale (AND, OR, NAND, NOR si XOR). In aceast
a
abordare si pentru functiile mai complexe, de natur
a logic
a sau aritmetic
a, de mai
putine sau de mai multe intr
ari, doar unele dintre ele au corespondentul fizic, sub
form
a de circuit; si astfel de circuite sunt, de facto standard si utilizate ca si componente n implementarea altor functii/sisteme. Prezentarea, sinteza si implementarea
unora dintre acesta circuite constituie continutul acestui capitol de circuite numite
combinationale. Dar de ce combinationale? Pentru c
a valoarea functiei, existent
a la
iesire doar at
ata timp c
at exist
a anumite valori pentru intr
ari, depinde exclusiv de
combinatia valorilor de intrare, altfel spus, de configuratia valorilor de intrare.

2.1

CIRCUITUL LOGIC COMBINAT


IONAL

Un sistem este caracterizat prin natura semnalelor de intrare, a celor de iesire, prin
clasele de functii intrare-iesire (transfer) si prin natura prelucr
arilor ce au loc in structura sa interna. Aceast
a caracterizare general
a a unui sistem particularizat
a pentru
un Circuit Logic Combinational, CLC, poate fi exprimat
a formal prin tripletul:
CLC = (X, Y, F )

(2.1)

n care:
X reprezint
a multimea de configuratii binare aplicate pe intrare sau multimea cuvintelor de intrare X = {X0 , X1 , ..., Xk , ..., X2n1 }. Fiecare cuvant de intrare
Xk este un element al multimii {0, 1}n (vezi Definitia 1.3) si este de forma:

166

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Xk = xn1 xn2 ...xi ...x1 x0 , i = 0, 1, ..., (n 1); xi este valoarea binar


a a variabilei (semnalului) aplicat
a pe intrarea a i-a a circuitului combinational,
Figura 2.1-a. Multimea cuvintelor de intrare X este complet definit
a dac
a cuprinde toate configuratiile binare formate cu cele n variabile de intrare, adic
a 2n
n
configuratii; cardinalul multimii este |X| = 2 . De exemplu, pentru un CLC cu
patru intr
ari multimea X este complet definit
a dac
a pe intr
arile x3 , x2 , x1 , x0 nu
este restrictionat
a aplicarea nici uneia din cele 16 combinatii posibile de intrare,
{0000, 0001, ..., 1110, 1111}.
Y reprezint
a multimea de configuratii binare obtinute la iesire sau multimea cuvintelor de iesire Y = {Y1 , Y2 , ..., Yl , ..., Yq }. Yl este un element al multimii {0, 1}m
si este de forma Yl = ym1 ym2 ...yj ...y0 , j = 0, 1, 2, ...(m 1); yj este valoarea
(semnalul) binar
a obtinut
a pe iesirea j a circuitului combinational. Multimea
cuvintelor de iesire Y este, in general, incomplet definit
a, deoarece la iesire nu se
genereaza toate cuvintele binare de m biti, adic
a q 2m . De exemplu, pentru
un CLC cu n intr
ari si 3 iesiri multimea Y a cuvintelor de iesire poate s
a nu
fie complet definit
a, deoarece cuv
antul de iesire, y2 y1 y0 , nu va lua toate cele
23 combinatii posibile {000, 001, ..., 1111} atunci c
and cuv
antul de intrare va
parcurge toate cele 2n configuratii de intrare.
F este functia de transfer (intrare-iesire) care, pentru un CLC cu n intr
ari si m
iesiri (Definitiei 1.4), defineste aplicatia {0, 1}n {0, 1}m. Functia de transfer a
unui CLC cu n intr
ari asociaz
a fiec
arei configuratii binare de intrare X = {0, 1} n
un cuv
ant Y din multimea configuratiilor de iesire Y {0, 1}m, adic
a selecteaz
a
perechi din submultimea produsului cartezian {0, 1}n {0, 1}m. Conform celor
enuntate, pentru CLC, o reprezentare sub form
a de schem
a bloc este cea din
Figura 2.1.
Circuitul Logic Combinational cu o singur
a iesire, m = 1, realizeaz
a aplicatia
f : {0, 1}n {0, 1}, lungimea cuv
antului generat la iesire are lungimea de 1 bit
(Figura 2.1-b). In general, vom studia circuie logice combinationale cu o singur
a
iesire, cele cu iesiri multiple (m 6= 1) pot fi privite ca fiind compuse din m circuite
cu o singur
a iesire. Num
arul de circuite combinationale distincte, de n intrari si cu o
n
singur
a iesire, este egal cu num
arul tuturor functiilor logice de n variabile, adic
a 22
(vezi sectiunea 1.1.3).
Definirea unui CLC cu n intr
ari si m iesiri, ca un set de perechi intrare-iesire din
produsul cartezian {0, 1}n {0, 1}m, poate fi realizat
a printr-o functie de transfer care
are o exprimare /definitie simpl
a sau complex
a. Atributul de complex sau de simplu
pentru un circuit decurge din modalitatea complex
a sau simpl
a prin care se descrie
structurarea sau functionarea sa.
Exemplul 2.1 Pentru urmatoarele trei seturi de perechi intrare-iesire sa se exprime
functiile de transfer
CLC1 =
CLC2 =
CLC3 =

{(00, 0), (01, 1), (10, 1), (11, 0)}


{(000, 0), (001, 1), (010, 1), (011, 0),
(100, 1), (101, 0), (110, 0), (111, 1)}
{(00, 010), (01, 110), (10, 010), (11, 001)}

Solutie. Primul circuit CLC1 , cu 2 intr


ari, n = 2, si o iesire, m = 1, realizeaz
a functia
SAU EXCLUSIV de dou
a variabile y = x1 x0 .

167

2.1. CIRCUITUL LOGIC COMBINAT


IONAL

xn1
xn2
X

xi

yj

COMBINATIONAL
(CLC)

x1
x0

xn1
xn2

ym1
ym2

CIRCUIT
LOGIC
cu iesiri
multiple

Y X

xi

COMBINATIONAL
(CLC)

x1
x0

y1
y0

a)
Nr

CIRCUIT
LOGIC

cu o singura
iesire

b)
x n1 x n2

Intrari
xi

Iesiri

x0

x1

y0

y1

yj
dj0

d(m1)0

dj1

d(m1)1

dj2

d(m1)2

d00

d10

d01

d11
d12

ym1

d02

2n2

2n1

d j2n2

d 02n2 d 12n2

d (m1)(2n2)

d 02n1 d 12n1

d j2n1

d (m1)(2n1)

c)

y 22n1

m functii

Figura 2.1 Simbol de reprezentare pentru CLC cu n intr


ari: a) cu iesiri multiple;
b) cu o singur
a iesire; c) tabel de adev
ar pentru un CLC cu iesiri multiple (m).

Al doilea circuit CLC2 , cu trei intr


ari, n = 3, si o iesire, m = 1, realizeaz
a functia SAU
EXCLUSIV de trei variabile y = x2 x1 x0 .
Al treilea circuit CLC3 , cu dou
a intr
ari, n = 2, si trei iesiri, m = 3 (y2 , y1 , y0 ), nu admite o
exprimare simpl
a, printr-o functie logic
a elementar
a, ca cele dou
a anterioare. Pentru aceasta
putem s
a avem urm
atoarea exprimare:
y2 = 1 numai dac
a (x1 = 0) SI (x0 = 1)
y1 = 1 numai dac
a (x1 = 0) SAU (x0 = 0)
y0 = 1 numai dac
a (x1 = 1) SI (x0 = 1)
Din acest exemplu putem spune c
a CLC1 este un circuit simplu deoarece definirea sa a
necesitat o descriere simpl
a (functia sum
a modulo 2, x1 x0 ). CLC2 cu toate c
a are trei
intr
ari poate fi exprimat, la fel, printr-o definitie compact
a: suma modulo 2 de trei variabile,
care rezult
a prin recurenta
din sum
a modulo 2 de dou
a variabile x2 (x1 x0 ). Se poate
concluziona c
a un CLC, chiar cu un num
ar mare de intr
ari, r
am
ane tot un circuit simplu
dac
a poare fi exprimat, pornind de la un circuit simplu, extins prin recurenta
pentru un n
mare ceea ce n cazul analizat ar fi xn (xn1 (... (x2 (x1 x0 ))...)). Cel de-al treilea
circuit, CLC3 , la care definitia nu a putut fi compactat
a nu mai este un circuit simplu ci un
circuit complex.

Definitia 2.1 Complexitatea unui circuit cu n intr


ari, notat
a cu C(n),
este o m
arime asociat
a dimensiunii definitiei/descrierii acelui circuit. 

168

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Limitarea asimptotic
a a cresterii unei functii f , de c
atre o alta functie g, poate
fi exprimat
a prin notatia O (citit
a de ordinul) in felul urm
ator: f (n) O(g(n))
[Greenlaw 0 98].
Definitia 2.2 Functia f este de ordinul lui g, notat f (n) O(g(n)), dac
a si
numai dac
a exist
a o constant
a c > 0 si un n0 N astfel nc
at f (n) c g(n) pentru
toate valorile lui n n0 . 

De exemplu, pentru functia polinomial


a f = 5 n4 + 17 n 10, c
and n devine
foarte mare, este limitat
a superior de c n4 deci, se poate spune c
a f este de ordinul
O(n4 ), adic
a (5 n4 + 17 n 10) O(n4 ). Aplic
and notatia de limitare superioar
a
pentru functia complexitate C(n), a unui CLC cu n intr
ari, se poate spune c
a circuitul
este simplu c
and C(n) O(1), adic
a dimensiunea definitiei pentru n de valoare mare
este limitat
a de o constant
a O(1). In schimb, nu se mai poate afirma la fel c
and
C(n) O(n), dac
a n este de ordinul 106 c
and circuitul este greu, dac
a nu imposibil,
de exprimat, deci circuitul este complex. Evident, pentru implement
ari, se vor selecta
circuite simple si nu circuite complexe care implic
a efort si costuri foarte ridicate sau
chiar dep
asesc posibilitatile tehnologice.
Observatie important
a! In relatia 2.1 de definire a circuitului logic combinational nu este implicat timpul; aceasta nseamn
a c
a la un CLC transferul configuratiei
de intrare X n obtinerea celei de iesire Y se face instantaneu. Acest transfer poate
fi doar teoretic instantaneu, pe c
and la un sistem real timpul de transfer este egal cu
timpul de propagare intrare-iesire prin lantul de porti ce compun CLC. Neincluderea
timpului nu are nici o consecinta
n regim static, formalismul algebrei Booleene poate
determina corect semnalul de iesire n functie de semnalele de intrare. Dar, uneori, n
intervalele tranzitorii, c
and configuratia de intrare se modific
a, formalismul boolean
aplicat pe lantul portilor de la intrare spre iesire va calcula valori de iesire care difer
a
de cele reale obtinute la iesire; valorile de iesire reale nu mai corespund regimului
(static) de aplicare a axiomei de existenta
a complementului x x
= 0 si x + x
= 1 ci
ar corespunde situatiei anormale de x x
= 1 si x + x
= 0! Aceste situatii, care pot
ap
area pe durata regimurilor tranzitorii, sunt referite cu termenul de hazard static si
vor fi studiate in sectiunea 2.3.1. Neincluderea variabilei timp poate fi considerat
a
ca o lacun
a a formalismului boolean; exist
a ncerc
ari de a elabora un formalism logic
care s
a includ
a si variabila timp.
Al doilea aspect care trebuie notat in relatia 2.1 este faptul c
a nu exist
a o reactie,
adic
a transferul este unidirectional, de la intrare spre iesire, m
arimile de iesire nu
modific
a in nici un fel intrarea n sistem. Clasa de circuite secventiale, capitolul 3, va
include si aceste dou
a aspecte adic
a: timpul si existenta reactiei.

2.2

REPREZENTAREA CIRCUITELOR
LOGICE COMBINAT
IONALE

Reprezentarea/descrierea unui CLC este un instrument absolut necesar pentru


procesele de: proiectare (sintez
a), de testare si de documentare. Modalitatea de descriere, prin complexitatea pe care o implic
a, trebuie aleas
a adecvat pentru realizarea
eficient
a a acestor procese. Se pot distinge urm
atoarele modalitati de reprezentare:

2.2. REPREZENTAREA CLC

169

tabelul de adev
ar, functia analitic
a, diagrama de decizie binar
a, exprimare prin limbaj
natural.

2.2.1

Tabelul de adev
ar

Notiunea de tabel de adev


ar a fost introdus
a n sectiunea 1.14 prin Definitia 1.12,
iar exemple de tabele de adev
ar au fost expuse n Figura 1.1 si 1.2 si Tabelele 1.3 si
1.6. In continuare se vor prezenta aspecte practice n realizarea si utilizarea tabelelor
de adev
ar. In general, n procesul de sintez
a al uni CLC se porneste de la realizarea
tabelului de adev
ar pe baza cerintelor de functionare impuse sistemului respectiv.
Astfel, se consider
a toate configuratiile valorilor variabilelor de intrare (n num
ar de
2n ), care vor constitui liniile de intrare ale tabelului. Apoi, pentru fiecare configuratie
de intrare, i (i = 0, 1, ..., (2n1 )), se va nscrie n coloana de iesire yj a tabelului
valoarea corespunz
atoare a functiei, adic
a valoarea coeficientului functiei d ji , Figura
2.1-c. Coeficientul dji este egal cu valoarea functiei yj , j = 0, 1, ..., (m 1), pentru
configuratia a i-a a variabilelor de intrare. Tabelul de adev
ar din figur
a corespunde
unui CLC cu n intr
ari si m iesiri.
Multimea cuvintelor de iesire Y s-a specificat anterior, n general, este o multime
incomplet
a deoarece num
arul de cuvinte distincte de m biti obtinut la iesire (un cuv
ant
fiind format din bitii de pe cele m coloane ale iesirii care corespund la o configuratie
de intrare) este mai mic dec
at num
arul total de cuvinte formate cu m biti, adic
a 2m .
n
Fiecare coloan
a din tabelul de adev
ar contine un num
ar de 2 valori binare, ceea ce
n
nseamn
a c
a ar putea fi un num
ar de 22 coloane cu valori distincte, deci un num
ar
n
de 22 functii de n variabile.
Succesiunea configuratiilor de valori binare aplicate pe intrarea unui CLC se consider
a c
a sunt exprimate n cod binar natural, adic
a chiar num
ararea n sistemul de
numeratie n baza doi. Fiecare bit din cuv
antul de cod binar natural are ponderea 2 i
unde i este pozitia bitului n cuv
antul binar, ponderile cresc de la dreapta spre st
anga,
prima pozitie din dreapta are ponderea zero (20 ) (6|10 = 110|2 ; 6 = 122 +121 +020 ).
Codul binar natural este un cod aritmetic (adic
a, poate fi utilizat in operatiile aritmetice).
Definitia 2.3 Distanta Hamming ntre dou
a cuvinte de cod, de aceeasi
lungime, este dat
a de numarul bitilor diferiti care apar ntre aceleasi pozitii ale celor
dou
a cuvinte de cod. 
Uneori succesiunea configuratiilor de valori binare ale variabilelor de intrare sunt
considerate in cod Gray. Codul Gray are proprietatea de adiacenta
, adic
a distanta
Hamming (distanta de cod) intre oricare dou
a cuvinte consecutive este egal
a cu 1.
La trecerea de la un cuv
ant la urm
atorul, fie n sens cresc
ator, fie n sens descresc
ator,
se modific
a n cuv
antul de cod doar un singur bit (000,001,011,010,110,111,101,100).
Acest cod nu este aritmetic! Datorit
a propriet
atii de adiacenta
codificarea Gray este
util
a n notarea la diagramele Veitch-Karnaugh si n implementarea circuitelor care
impun ca n functionare, la trecerea dintre dou
a cuvinte (st
ari) consecutive, s
a se
produc
a cu o singur
a comutare.
Conversia din cod binar natural n cod Gray se realizeaz
a n felul urm
ator, Figura
2.2-a:

170

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

1. cel mai semnificativ bit al cuv


antului de cod Gray este identic cu cel mai semnificativ bit din cuv
antul de cod binar natural;
2. parcurg
and cuv
antul de cod binar natural, de la st
anga la dreapta, prin sumarea
fiec
arei perechi de biti adiacenti se obtine bitul urm
ator (n sensul de la st
anga
la dreapta) din cuv
antul de cod Gray (bitul de transfer rezultat n urma sum
arii
se neglijeaz
a).
Binar 1
Natural

Gray
a)

1
+

0
+

0
+

0
+

1
+

1
+

0 Gray 1
+

Binar

1 Natural 1
b)

Figura 2.2 Modalitatea grafic


a de descriere a conversiei: a) din cod binar natural n
cod Gray ; b) din cod Gray n cod binar natural.

Conversia din cod Gray in cod binar natural se realizeaz


a in felul urm
ator, Figura
2.2-b:
1. cel mai semnficativ bit din cuv
antul de cod binar natural este identic cu cel din
cuv
antul Gray;
2. parcurg
and cuv
antul n cod Gray, de la st
anga la dreapta, se obtine bitul
cuv
antului binar natural de indice i (bitul cel mai putin semnificativ av
and
indicele i = 0) prin sumarea bitului (i + 1) din cuv
antul binar natural cu bitul
de indice i din cuv
antul Gray (bitul de transfer rezultat n urma sum
arii se
neglijeaz
a).
Foarte utilizate sunt codific
arile zecimal binare, BCD (Binary Coded Decimal),
pentru cifrele zecimale (0,1,2...,8,9). Deoarece sunt 10 cifre zecimale de codificat
cuv
antul binar de cod trebuie sa aib
a o lungime de patru biti, deci din cele 16 cuvinte
binare de patru biti sunt alese doar 10, iar 6 dintre aceste nu sunt utilizate. Se
pune ntrebarea c
ate posibilit
ati distincte de codificare (coduri zecimal-binare), BCD,
se pot realiza? Num
arul grupelor diferite de c
ate 10 cuvinte de 4 biti, din totalul
de 16 cuvinte de 4 biti, care se pot forma se calculeaz
a cu formula combin
arilor
16!
C16 10 = 10!(1610)!
. Apoi, vor fi 10! modalitati prin care cele 10 cifre zecimale sunt
asignate grupelor de c
ate 10 cuvinte de 4 biti, deci n total num
arul de coduri zecimal
10
codificat binar este C16
10! = 29.059.430.400.
Evident, din acest num
ar mare de coduri BCD, se utilizeaz
a foarte putine si
fiecare dintre acestea are un nume. Varianta de cod prin care cifrelor zecimale
(0,1,2,3,4,5,6,7,8,9) li se asigneaz
a cuvintele binare chiar n ordinea corespunz
atoare
de la num
ararea in binar natural (0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111,
1000, 1001) este denumit
a uzual BCD (incorect! c
and de fapt toate variantele de
codificare zecimal-binar sunt coduri BCD). Corect, eventual, ar trebui s
a fie denumirea acestui cod NBCD (Natural Binary Coded Decimal), dar deoarece abreviatia
de BCD a intrat n exprimarea uzual
a, cu regret o vom accepta n continuare. De

2.2. REPREZENTAREA CLC

171

asemenea, chiar c
and se refer
a la primele zece cuvinte din binar natural se face uneori
confuzia spun
and coduri BCD (datorit
a identit
atii cuvintelor).
Un alt cod, zecimal codificat binar, este cel denumit EXCESS3 care se obtine din
cuvintele de cod BCD la care se adauga cifra 3 exprimat
a in binar natural, adic
a
0011; de exemplu, pentru cifra zecimal
a 2 codul binar obtint este 0010 + 0011 = 0101,
iar pentru cifra 5 codul este 0101 + 0011 = 1000.
Avantajele utiliz
arii reprezent
arii n EXCESS3 sunt:
ntr-o locatie de memorie se poate face distinctia dac
a in acea locatie nu s-a
nscris nimic (ceea ce corespunde st
arii utilizate 0000), sau s-a inscris cifra 0
(adic
a 0000 + 0011 = 0011)
complementul unei cifre zecimale fata de 9 se obtine in EXCESS3 prin complementarea bit cu bit a cuv
antului de cod ceea ce duce la o simplitate in
implementare. De exemplu, complementul lui 7 (0111 + 0011 = 1010) fata
de 9
este 2 (0101) care se obtine prin complementarea lui 1010 (=7) fata
de, 1 adic
a
0101.
Cu aceste notiuni sumare despre codurile zecimal-codificat-binar putem sa construim tabelele de adev
ar pentru 2 circuite combinationale: un convertor de cod BCD
- Gray si un convertor de cod BCD - EXCESS3. Fiecare dintre aceste convertoare este
un CLC cu 4 intr
ari A, B, C, D si cu 4 iesiri: E3 , E2 , E1 , E0 pentru convertorul BCD
- EXCESS3, Figura 2.3-b si G3 , G2 , G1 , G0 pentru convertorul BCD - Gray, Figura
2.3-c.
Tabelele de adev
ar pentru aceste dou
a convertoare, Figura 2.3-a, au pe intr
ari numai primele 10 combinatii din NBCD, restul de 6 combinatii (1010, 1011, 1100, 1101,
1110, 1111) nu se aplic
a niciodat
a deoarece nu apartin codului BCD. In coloanele celor
6 functii (E3 , E2 , E1 , E0 si G3 , G2 , G1 , G0 ) se nscriu valorile coeficientilor obtinuti
conform regulilor de conversie ale celor dou
a circuite codificatoare. Pentru cele 6
configuratii de intrare excluse se consider
a valorile coeficientilor functiilor (iesirile) ca
fiind indiferente (notate prin ), adic
a se poate asigna fie valoarea 0 fie valoarea 1
deoarece oricum configuratiile respective nu apar niciodat
a pe intrare.
Valori indiferente pentru coeficientii unei functii pot fi trecute in tabelul de adev
ar
n dou
a situatii: fie c
and anumite configuratii de valori ale variabilelor de intrare nu se
aplic
a niciodat
a la intrarile CLC, fie c
and se aplic
a configuratii pe intr
ari dar utilizarea
iesirilor corespunz
atoare nu este semnificativ
a pentru ansamblul din care face parte
circuitul.
C
and num
arul de variabile de intrare ale unui CLC creste peste 4, tabelul de adev
ar
se manipuleaza destul de greu din cauza num
arului liniilor componente din tabel care
creste exponential cu numarul variabilelor. Dar, exist
a o modalitate prin care se poate
micsora num
arul liniilor dintr-un tabel, astfel aduc
andu-l la un instrument mai usor
de manipulat. Pentru circuitul CLC cu tabelul de adev
ar din Figura 2.4-a, conform
relatiei 1.12, se poate scrie forma normal
a disjunctiv
a a functiei f (sintez
a pe baz
a
de 1)
CD
+ ABC

+ ABCD

C D
+ ABC
D
+ ABC D

f = AB
D
+ AB
(2.2)
C D
c
Pentru combinatia de intrare AB
and functia nu este definit
a s-a considerat
pentru coeficientul functiei valoarea 1, deci acest termen canonic a fost introdus n
relatia 2.2.

172

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

0
1
2
3
4
5
6
7
8
9

A
0
0
0
0
0
0
0
0
1
1

B
0
0
0
0
1
1
1
1
0
0

C
0
0
1
1
0
0
1
1
0
0

10
11
12
13
14
15

1
1
1
1
1
1

0
0
1
1
1
1

1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
linii
0
1
0
1
0
1

E 3 E2
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
nedefinite





E1 E0 G3
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
ale functiilor





G2
0
0
0
0
1
1
1
1
1
1

G1
0
0
1
1
1
1
0
0
0
0

G0
0
1
1
0
0
1
1
0
0
1

a)
A
B
C
D
b)

CONVERTOR
BCDEXCESS3

E3
E2
E1
E0

A
B
C
D

CONVERTOR
BCDGRAY

G3
G2
G1
G0

c)

Figura 2.3 Conversia BCDGray si BCDEXCESS3: a) tabelele de adev


ar;
b,c) reprezentarea sub form
a de schem
a bloc a convertoarelor.

Coloana de intrare a variabilei D poate fi eliminat


a din tabelul de adev
ar prin introducerea acestei variabile n expresiile coeficientilor functiilor. Astfel se exprim
a acesti
coeficienti prin intermediul variabilei D. Aceast
a modalitate este referit
a ca exprimare
prin coeficientii cu variabile reziduu. In acest caz, D este variabila reziduu.
Valorile coeficientilor cu variabila D reziduu se pot determina prin urm
atorul rationament efectuat pe coloanele D si f din tabelul de adev
ar
la configuratia ABC = 000 pentru D, fie 1, fie 0, coeficientii functiei au valoarea
0, functia este independent
a de D, deci f = 0.
la configuratia ABC = 001 pentru D, fie 1, fie 0, coeficientii functiei au valoarea
0, functia este independent
a de D, deci f = 0.
la configuratia ABC = 101 pentru D = 0 si D = 1, coeficientii functiei au
valorile respectiv 0 si 1, deci f = D.

173

2.2. REPREZENTAREA CLC

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
a)

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

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

f
0
0
0
0
0
1
1
1

0
1
0
0
0
1
0

b)

C+D

CD

c)

Figura 2.4 Pentru tabelul de adev


ar cu 16 configuratii de intrare (a), prin introducerea variabilei reziduu D, se obtine un tabel cu 8 linii (b) si prin introducerea
variabilelor reziduu C,D se obtine un tabel cu 4 linii (c).

la configuratia ABC = 011 pentru D, fie 1, fie 0, coeficientii functiei au valoarea


1, functia este independent
a de D, deci f = 1.
la configuratia ABC = 100, pentru D = 0 si D = 1, coeficientii functiei au
(s-a considerat valoarea 1 pentru semnul de
valorile respectiv 1 si 0, deci f = D
indiferent).
la configuratia ABC = 101, pentru D = 0 si D = 1, coeficientii functiei au

valorile respectiv 1 si 0, deci f = D.


la configuratia ABC = 110 pentru D fie 0, fie 1, coeficeintiii functiei au valoarea
0, functia este independent
a de D, deci f =0.
la configuratia ABC = 111, pentru D = 0 si D = 1, coeficientii functiei au

valorile respectiv 1 si 0, deci f = D.


Tabelul de adev
ar obtinut doar cu 3 variabile A, B, C, cu variabila D reziduu
introdus
a n coeficientii functiei, este reprezentat n Figura 2.4-b. Expresia normal
disjunctiv
a a functiei este:
C + (1) ABC

AB
C + (D)
ABC
+ (D)
ABC
f = (D) AB
+ (D)

care devine identic


a cu cea din relatia 2.2 dac
a al doilea termen produs ABC
1 se ex

pandeaz
a ABC(D+ D) = ABCD+ ABC D. Coeficientii reziduu (care contin variabila
reziduu), pentru evidentiere, sunt ncadrati n parantez
a n exprimarea functiei.

174

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Se poate continua procesul de reducere a num


arului de linii de la 8 la 4 prin
efectuarea unui rationament similar, cu cel pentru reducerea de la 16 la 8 linii, asupra
coloanei variabilei C si a coloanei coeficientilor functiei obtin
andu-se tabelul de adev
ar
din Figura 2.4-c. De data aceasta, coeficientii functiei sunt exprimati n functie de
dou
a variabile reziduu C si D.
Expresia disjunctiv
a a functiei este:
+ (D)
AB +(C D)
AB
f = (C + D) AB
Dac
a n aceast
a expresie se introduc n termenii produs de 3 variabile si variabila
care lipseste, prin relatiile 1 = C + C, 1 = D + D se obtine forma din relatia 2.2.
Exemplul 2.2 Sa se descrie sub forma de tabel de adevar functionarea unui CLC
care pentru oricare cuv
ant de 4 biti aplicat pe intrare genereaz
a la iesire num
arul binar care
exprim
a num
arul de biti 1 prezenti n cuv
antul de intrare (num
arul de biti 1 va fi exprimat
in binar natural).
z
x3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

IN T RARI

x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

}|
x1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

x0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

z
y2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

IESIRI

}|
y1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0

{
y0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0

Figura 2.5 Tabelul de adev


ar pentru exemplul 2.2
Solutie. Cuvintele aplicate pe intrare sunt toate cele 16 configuratii de 4 biti iar cuvintele
de iesire pot fi doar numerele 0, 1, 2, 3 si 4 exprimate n binar natural, deci circuitul trebuie
s
a aib
a 4 intr
ari si 3 iesiri. Tabelul de adev
ar este dat in Figura 2.5.

2.2.2

Reprezentarea analitic
a

Reprezentarea analitic
a, sub forma unei functii logice (Definitiile 1.8 si 1.9) este
forma de descriere cea mai potrivit
a pentru un CLC, mai ales dac
a aceast
a form
a se
reduce la o expresie compact
a at
at pentru cazul c
and num
arul de intr
ari n are valori

175

2.2. REPREZENTAREA CLC

mici c
at si c
and are valori foarte mari. Expresia functiei ram
ane compact
a pentru un
CLC chiar si pentru n de valoare ridicat
a, dac
a poate exista o exprimarea recurent
a
a functiei; ceea ce se reflect
a n implementare printr-o structurare iterativ
a, adic
ao
replicabilitate a unei structuri elementare (celul
a).
Pentru CLC care nu realizeaz
a functii uzuale, cu exprim
ari cunoscute, expresia functiei logice se obtine din tabelul de adev
ar nt
ai sub forma canonic
a normal
a disjunctiv
a/conjunctiv
a, relatiile 1.10, 1.11, sau sub forma normal
a disjunctiv
a/conjunctiv
a, relatile 1.12 si 1.13 (sintez
a pe baz
a de 1-uri respectiv pe baz
a de
0-uri) si apoi prin reduceri succesive se poate obtine o form
a redus
a, care nu totdeauna
este forma minim
a.
Frecvent, forma canonic
a normal
a disjunctiv
a este transpus
a ntr-o exprimare recursiv
a ceea ce poate duce ca un CLC cu num
ar mare de intr
ari s
a poat
a fi structurat
repetitiv cu un acelasi tip de circuit dar care are un num
ar de intr
ari mult mai mic.
Modalitatea de exprimare recursiv
a va fi prezentat
a in continuare.
Formele canonice normal disjunctive pentru functiile de una, dou
a si trei variabile
sunt:
fi 1

= di0 x0 + di1 x0 ;

fi 2

= di0 x1 x
0 + d i1 x
1 x0 + di2 x1 x0 + di3 x1 x0 =
= (di0 x
0 + di1 x0 )
x1 + (di2 x
0 + di3 x0 )x1 =
= fi 1 x
1 + fi 1 x1 ;
i = 0, 1..., 15

i = 0, 1, 2, 3.
(2.3)

2 x1 x0 +
2 x1 x
0 + d i3 x
2 x
1 x0 + d i 2 x
2 x
1 x
0 + d i1 x
f i 3 = d i0 x
+di4 x2 x1 x
0 + di5 x2 x1 x0 + di6 x2 x1 x
0 + d i 7 x2 x1 x0 =
= (di0 x1 x
0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0 )
x2 + (di4 x
1 x
0 +
0 + di7 x1 x0 )x2 =
+di5 x1 x0 + di6 x1 x
= fi 2 x2 + fi 2 x2 ;
i = 0, 1, 2..., 255.

(2.4)

iar pentru n variabile se obtine:


fi n = fi n1 x
n1 + fi (n1) xn1 ,

unde i [0, 22 )

(2.5)

Se observ
a c
a o functie de n variabile, fi n , se exprim
a ca o functie de o singur
a
variabil
a xn1 ai c
arei coeficienti sunt dou
a functii reziduu fi n1 , fi (n1) de celelalte
n 1 variabile (xn2 , xn3 , ..., x2 , x1 , x0 ). La fel, functia de n 1 variabile fi n1 se
exprim
a ca o functie de o singur
a variabil
a xn2 ai c
arei coeficienti sunt 2 functii
reziduu de celelalte n 2 variabile s.a.m.d. p
an
a la functia de o singur
a variabil
a fi 1 ,
care este o sum
a de dou
a produse. Toate functiile, indiferent de num
arul variabilelor,
pot fi exprimate ca o functie de o singur
a variabil
a, celelelte variabile sunt introduse
n cei doi coeficienti ca functii reziduu. Structura de circuit (modulul) care modeleaz
a fiecare functie fi k , k = 1, 2..., n este reprezentat
a n Figura 2.6-a. Pornind de la
functia fi n , modelat
a cu acest modul, la care se introduce succesiv, pentru functiile
reziduu, acelasi tip de modul p
an
a la functia de o singur
a variabil
a se obtine un circuit
cu structur
a de arbore binar, num
arul nivelurilor de module este egal cu n. Intr
arile n
primul nivel, pe portile AND, sunt perechi formate din variabilele x0 , x0 si coeficientii
functiei dij care genereaz
a produsele: di0 x0 , di1 x0 , di2 x0 , di3 x0 , ..., di2n 2 x0 , di2n 1 x0 .
Coeficientii dij j = 0, 1..., (2n 1) sunt valorile din tabelul de adev
ar al functiei fi n .
Deoarece modulele din primul nivel calculeaz
a expresii banale de forma dij x0 +

176

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

di(j+1) x0 , care pot avea numai valorile: 0, x0 , x0 , 1, aceste module pot fi eliminate
si nlocuite cu una din aceste valori, care nu trebuie calculate, deoarece exist
a n sistem. Aceast
a analiz
a poate fi continuat
a si la nivelurile urm
atoare de module p
an
a
la nivelul n, iar modulele care calculeaz
a expresii banale sunt nlocuite. In general,
prin elimin
arile de module, se obtine un circuit de dimensiune mult mai mic
a dec
at
arborele binar initial.

f_k1
i
xk
f(k1)*
i
xk
a)

fki

f_k1
i
xk
f(k1)*
i
xk

fki

b)

Figura 2.6 Modulul pentru implementarea recurent


a a unei functii: a) cu structur
a
AND-OR; b) structur
a NAND - NAND

,,
O astfel de structur
a arborescent
a este o platform
a pentru implementarea orin
,,
c
arei functii de n variabile din cele 22 functii posibile. Particularizarea platformei
n
pentru implementarea unei anumite functii fi se realizeaz
a prin aplicarea pe fiecare
poart
a AND, din primul nivel, a c
ate unei valori a coeficientilor dij n ordinea n care
acestia sunt n tabelul de adev
ar al functiei respective.
Structurarea arborelui, pentru implementarea recurent
a a functiei, sub form
a de
cascad
a AND - OR - AND - OR - ... este adecvat
a pentru o conversie numai cu porti
NAND (di0 x + di1 x = di0 x di1 x), ca n Figura 2.6-b. Prin faptul c
a ceast
a structur
a
poate fi realizat
a cu acelasi tip de poart
a cu dou
a intr
ari este recomandat
a pentru
implement
arile pe arii de porti logice (sectiunea 4.3).
Exemplul 2.3 Pentru celula sumator complet cu tabelul de adevar 1.6 sa se modeleze
functia sum
a si pe un circuit cu structur
a de arbore.
Solutie. Pe portile AND din primul nivel, Figura 2.7, se aplic
a prima variabil
a Ci1 , alari n ordinea
tern
and negata Ci1 si nenegata Ci1 , iar coeficientii functiei si se aplica pe intr
n care sunt n tabelul 1.6. Toate aceste poti AND calculeaz
a valori banale, 0,Ci1 , Ci1
care exist
a n sistem, deci portile AND din primul nivel pot fi eliminate, la fel si portile
OR pot fi eliminate, rezult
a c
a primul nivel poate lipsi. Pe nivelul 2 de module se aplic
a
iesirile de la primul nivel si alternativ variabila Bi si Bi ; pe acest nivel nu se mai pot elimina porti. Pe nivelul 3 se aplic
a expresiile calculate pe nivelul 2 si altern
and variabilele
a o modelare numai pe dou
a niveluri de module. Analiz
and expresiile calAi si Ai . Rezult
culate dup
a fiecare nivel rezult
a pentru celula sumator complet expresia cunoscut
a a sum
a
si = Ai Bi Ci1 . Aceast
a structur
a arborescent
a poate implementa oricare functie de 3
variabile, particularizarea pentru o anumit
a functie se face prin modificarea coeficientilor pe
intr
arile din primul nivel (care se citeste din tabelul de adev
ar al functiei).

De asemenea, forma canonic


a normal
a disjunctiv
a a functiei de n variabile poate
fi transcris
a ntr-o reprezentare de functie numai de dou
a variabile x1 , x0 , restul de
n2 variabile se introduc n coeficienti sub forma unor functii reziduu. Astfel, pentru

177

2.2. REPREZENTAREA CLC

Ci1
Ci1
Ci1
Ci1
Ci1
Ci1
Ci1
Ci1

Ci1

Ci1

Ci1

Ci1

Ci1
Bi

Ci1+Bi
Ai

Ci1
Bi

Ai +Bi +Ci1

Ci1
Bi

Ci1+Bi
Ai

Ci1
Bi
Bi

Ci1

Ai

Figura 2.7 Implementarea functiei suma si , si a unei celule sumator complet, pe


o structur
a arborescent
a.

functia fi 3 , relatia 2.4, se obtine urm


atoarea form
a:
fi 3

= (di0 x
2 + di4 x2 )
x1 x
0 + (di1 x
2 + di5 x2 )
x 1 x0 +
+(di2 x
2 + di6 x2 )x1 x
0 + (di3 x2 + di7 x2 )x1 x0

(2.6)

iar pentru o functie fi n rezult


a:
fi n

= fk n2 x
1 x
0 + fl n2 x
1 x0 + fp n2 x1 x
0 + fq n2 x1 x0
n2
2n
iar i [0, 2 ) si k, l, p, q [0, 22 )

Pentru un CLC cu 4 intr


ari A, B, C, D, av
and tabelul de adev
ar din Figura 2.4-a,
se poate obtine o exprimare ca o functie de numai trei variabile A, B, C cu variabila
D introdus
a n coeficientii functiei, Figura 2.4-b, sau ca o functie numai cu dou
a
variabile A, B, celelalte dou
a variabile, C, D sunt introduse ca variabile reziduu n
coeficientii functiei, Figura 2.4-c.
In cazul general, oricare functie fi n poate fi exprimat
a ca o functie numai de
j variabile xj1 , xj2 , ..., x1 , x0 , restul variabilelor xn1 , xn2 , ..., xn1j (variabile
reziduu) fiind incluse in coeficientii functiei.
fi n

= fk nj xj1 xj2 ...x1 x0 + ... + fq nj x


j1 xj2 ...
x1 x
0
2n
2(nj)
iar i [0, 2 ), k, ..., q [0, 2
)

(2.7)

In concluzie, o functie fi n poate fi exprimat


a ca o functie de n, n1, n2, ..., 3, 2, 1
variabile dac
a respectiv un num
ar de 0, 1, 2, ..., n3, n2, n1 variabile sunt introduse
ca variabile reziduu n expresiile coeficientilor.

178

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Exprimarea functiilor cu variabile reziduu poate determina implement


ari mai simple. Intuitiv, dar nu totdeauna, o functie cu mai putine variabile necesit
a o implementare mai putin costisitoare. Accept
and aceast
a afirmatie, se aduce functia la un
num
ar c
at mai mic de variabile si implementarea va fi mai ieftin
a dac
a si coeficientii
de variabile reziduu se reduc la valori banale sau se calculeaz
a cu circuite simple.

2.2.3

Diagrama Veitch - Karnaugh

Diagrama Veitch - Karnaugh (V-K) este o alt


a modalitate de a descrie un CLC.
Diagrama Veitch - Karnaugh, ca modalitate grafic
a de descriere, nu este prea uzual
a
dar, n schimb, utilzarea diagramei V-K pentru minimizarea unui CLC, pornind de
la tabelul de adev
ar sau de la functia logic
a, este un instrument de lucru uzual n
proiectare sau analiz
a. Acest instrument grafic pentru un CLC cu n intr
ari si o singur
a
iesire, este o diagram
a dreptunghiular
a sau p
atrat
a care contine 2 n c
asute elementare
pe care sunt mapate, fie cele 2n valori ale coeficientilor functiei din tabelul de adev
ar,
fie cei 2n temeni canonici Pi sau Si ai functiei (relatiile 1.10 si 1.11). Modul cum se
,,
scrie coordonata unei c
asute elementare determin
a cele dou
a variante: diagrama
Veitch si diagrama Karnaugh.
Intr-o nuanta
de tratare didactic
a, fiecare din cele dou
a diagrame sunt prezentate
separat, at
at pentru exprimarea functiei sub forma canonic
a normal
a disjunctiv
a (termenii produs P ), c
at si pentru forma canonic
a normal
a conjunctiv
a (termeni suma
S), pentru n = 2, 3, 4, 6, Figura 2.7.
In varianta Veitch, coordonata unei c
asute elementare este exprimat
a prin variabilele functiei si aceste variabile sunt notate pe marginile diagramei, iar in acea c
asuta se
introduce valoarea lui Pi sau Si (indicele i este num
arul zecimal a c
arui reprezentare
n binar natural rezult
a din codul format de variabilele coordonate ale casutei). In
varianta Karnaugh, coordonata unei c
asute elementare este exprimat
a prin valorile
variabilelor (conform codific
arii mintermilor sau maxtermilor, 1.1.4) si aceste valori ale
variabilelor sunt notate pe marginile diagramei; n acea c
asuta se introduce coeficientul
di din tabelul de adev
ar corespunz
ator pentru configuratia valorilor de intrare (care
constituie coordonatele c
asutei). Ambele variante reprezint
a acelasi CLC, la varianta
Veitch se ajunge mai usor pornind de la forma canonic
a a functiei iar la varianta
Karnaugh se ajunge mai usor de la tabelul de adev
ar. De fapt, n practic
a, notatiile de
la varianta Veitch si de la varianta Karnaugh se mixeaz
a rezult
and diagrama referit
a
ca Veitch - Karnaugh, la care este redundanta de informatie, adic
a sunt prezente at
at
variabilele c
at si valorile variabilelor.
In figurile 2.8-a si 2.8-b pentru n = 2, n = 3 sunt reprezentate separat diagramele
Veitch si Karnaugh si pentru fiecare dintre ele s-a figurat at
at forma canonic
a normal
a disjunctiv
a (P ), c
at si forma canonic
a normal
a conjunctiv
a (S). Dar, in Figura
2.8-c, pentru n = 4, la cele dou
a diagrame notarea (variabilele si valorile) este intermixat
a at
at pentru forma canonic
a normal
a disjunctiv
a c
at si pentru forma canonic
a
normal
a conjunctiv
a (adic
a, pe marginile diagramelor sunt notate at
at variabilele,
c
at si valorile acestor variabile). Diagramele pentru n = 5 se obtin prin al
aturarea
de dou
a diagrame de n = 4 iar pentru n = 6 din al
aturarea a patru diagrame de
n = 4 sau dou
a diagrame de n = 5. Dar pentru a p
astra adiacenta la al
aturarea a dou
a diagrame de n = 4 trebuie p
astrat
a num
ararea in cod Gray adic
a,
000, 001, 011, 010, 110, 111, 101, 100.

179

2.2. REPREZENTAREA CLC

n=2
P

X1

VEITCH
X0
P0

P1

P2

P3

X1

S0

S1

S2

S3

d2

X0
0
X1
0 d0

X0

n=3

KARNAUGH
X0
0
1
X1
d
d1
0
0

d2

VEITCH

X2

d3

P0

P1

P3

P2

P4

P5

P7

P6

X1

1
d1
X2

d3

a)

S1

S3

S2

S4

S5

S7

S6

01
P1

11
P3

01 P 4

P5

P7

X3

d4

d5

d7

d6

X 1X 0
00
X2
0 d0

01
d1

11
d3

01
d2

d4

d5

d7

d6

01
P2

P6

01 P 8

P 10

P 11

X 1X 0

X1

P 14

X0

c)

01
d2

X1

11 P 12 P 13 P 15
P9

11
d3

n=4

X 1X 0
X 3X 2
00
00 P 0

KARNAUGH
01
d1

X0

S0

b)

(VK)

X 1X 0
X 2 00
0 d0

X0

X 3X 2

01
S1

11
S3

S4

S5

S7

S6

11 S12

S13

S15

S14

S8

S9

S11

S10

01

X2
X3

X1

00
00 S0

01

X2

n=6

01
S2
X2

X0

X1
X1
X 2X 1X 0
X 5X 4X 3
000 001 011 010 110 111 101 100

X4

X4
X5

d)

000 P 0

P1

P3

P2

001 P 8

P9

P 11

P 10 P 14 P 15

P 13 P 12

011 P 24 P 25

P 27

P 26 P 30 P 31

P 29 P 28

010 P 16 P 17

P 19

P 18 P 22

110 P 48 P 49

P 51

P 50 P 54 P 55

P 53

111 P 56 P 57

P 59

P 58 P 62 P 63

P 61 P 60

101 P 40 P 41

P 43

P 42

P 46 P 47

P 45 P 44

100 P 32 P 33

P 35

P 34

P 38 P 39 P 37 P 36

X0

P6

P7

P5

P 23 P 21

P4
X3

P 20
P 52
X3

X0

Figura 2.8 Diagramele Veitch si Karnaugh: a,b) forma P si forma S pentru n = 2 si


n = 3; c) diagrama V-K forma S si P pentru n = 4; d) diagrama V-K forma P pentru n = 6.

180

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

In oricare din diagrame, pentru cele 2n c


asute elementare, fiecare variabil
a intr
a
negat
a n coordonatele a 2n /2 c
asute si nenegat
a n restul de 2n /2 c
asute. Trecerea
de la o diagram
a pentru forma P la o diagram
a pentru forma S se realizeaz
a prin
substituirea n coordonate a variabilei nenegat
a cu variabila negat
a, x x, iar a
celor negate cu nenegate x x si n interiorul c
asutei se substituie termenii Pi Si .
Trecerea de la forma S la cea P este, la fel, o negare a variabilelor coordonate ale
casutelor iar n c
asute se substituie termenii Si Pi .
In fiecare diagram
a V-K dou
a c
asute vecine sunt adiacente, adic
a distanta Hamming este egal
a cu 1. Adiacenta rezult
a n urma faptului c
a notarea, pe marginea
diagramelor, a coordonatelor c
asutelor se face prin num
arare n cod Gray. Adiacenta

exist
a ntre c
asutele elementare de pe fiecare dou
a linii al
aturate sau de pe fiecare
dou
a coloane al
aturate, adiacenta se extinde si ntre cele dou
a linii extreme sau ntre
cele dou
a colane extreme (de exemplu, n Figura 2.8 - c ntre coloanele 00 cu 01 sau
ntre liniile 00 cu 01). Nu sunt adiacente dou
a c
asute care sunt situate n diagonal
a
una fata
de alta.
Datorit
a adiacentei, c
and se trece de la scrierea coordonatei unei c
asute elementare
la scrierea coordonatei a dou
a c
asute elementare, adic
a luate mpreun
a (2 1 ), din
coordonata rezultat
a va lipsi variabila care si modific
a valoarea ntre cele dou
a c
asute
vecine (deoarece x + x
= 1 si x x
= 0). De exemplu, in Figura 2.8-c pentru forma P ,
c
and se scrie coordonata pentru c
asutele adiacente P5 si P7 luate mpreun
a
x3 x2 x
1 x0 + x
3 x2 x1 x0 = x
3 x2 x0 (
x1 + x1 ) = x3 x2 x0
coordonata rezultat
a are o variabil
a mai putin, deoarece a disp
arut variabila x 1 care
are valoarea diferit
a n cele dou
a coduri 0101 si 0111 (x1 schimb
a valoarea la trecerea
dintre P5 si P7 ).
In aceeasi figur
a, pentru forma S c
and se scrie coordonata pentru c
asutele adicente
S5 si S7 luate mpreun
a
(x3 + x
2 + x1 + x0 )(x3 + x
2 + x
1 + x
0 ) = (x3 + x
2 + x0 )
dispare variabila x1 .
Dac
a se consider
a o suprafata
care grupeaz
a patru c
asute adiacente (2 2 ) n coordonata comun
a rezultant
a se vor elimina dou
a variabile; pentru un grup de opt
c
asute adiacente (23 ) se vor elimina trei variabile, iar pentru un grup de 2n c
asute
adiacente se vor elimina n variabile. Aceast
a modalitate grafic
a, de indentificare de
suprafete ce grupeaz
a c
asute adiacente, n fond, este o grupare de termeni canonici,
dar n varianta grafic
a operatia de reducere a termenilor canonici este mai simpl
a si
mai putin supus
a erorii dec
at atunci c
and se lucreaz
a cu formele analitice normale
conjunctive, FNC, sau normale disjunctive, FND, ale functiilor.
In diagrama Veitch - Karnaugh se introduc n fiecare c
asuta
elementar
a valorile
coeficientilor din tabelul de adev
ar al functiei. C
and se face sinteza functiilor pe baza
FND se consider
a toti mintermii care au valoarea 1, iar pentru sinteza pe baza de
FNC se consider
a toti maxtermii care au valoarea 0. Rezult
a c
a in diagrama V-K
de tip P sau S trebuie luate respectiv toate c
asutele elementare care au valoarea
unu sau toate cele care au valoarea zero si aceasta se face identific
and suprafete care
cuprind c
asutele adiacente grupate n num
ar de puteri ale lui doi. Evident, se caut
a
a se forma suprafete care s
a cuprind
a un num
ar, de puteri ale lui doi, de c
asute

181

2.2. REPREZENTAREA CLC

adiacente c
at mai mare. Vom referi coordonata unei suprafete de c
asute adiacente
grupate cu termenul de Implicant Prim, IP. In aceast
a operatie de identificare de
suprafete maxime poate apare o suprafata ce acoper
a o grupare de c
asute adiacente,
dar fiecare din aceste c
asute elementare ale grup
arii mai este acoperit
a cel putin de
nc
a o alt
a suprafata
; o astfel de suprafata
corespunde unui IP neesential. Dar
poate exist
a o suprafata
care acoper
a o grupare de c
asute adiacente dar dintre aceste
c
asute elementare exist
a cel putin o c
asuta
care nu mai este acoperit
a si de c
atre o
alt
a suprafata
; o astfel de suprafata
corespunde unui IP esential. {Implicant Prim
(IP)!esential Pentru exprimarea functiei n form
a redus
a trebuie luate n considerare
suprafete maxime astfel nc
at s
a fie acoperite toate c
asutele elementare cu valoarea 1
pentru forma redus
a disjunctiv
a (sum
a de produse), respectiv s
a fie acoperite toate
c
asutele elementare cu valoarea 0 pentru forma redus
a conjunctiv
a (produs de sume).
Definitia 2.4 Forma redus
a a unei sume de produse este minim
a atunci c
and
nu exist
a o alt
a form
a redus
a a functiei cu mai putini termeni produs sau oricare alt
a
form
a cu acelasi num
ar de termeni produs are cel putin acelasi num
ar de variabile.

Dup
a cum s-a ar
atat n sectiunea 1.5 forma redus
a ca sum
a de produse se implementeaz
a simplu pe o structur
a AND-OR, iar forma redus
a ca produs de sume pe o
structur
a OR-AND.
Rezult
a, implicit, pentru implementare, c
a forma minim
a va duce la un num
ar
minim de porti pe primul nivel (de AND) si de intr
ari pe portile din nivelul doi (OR)
si, evident, in cadrul acesta la cel mai mic num
ar de intr
ari (variabile) pe primul nivel.
La fel se poate da o definitie pentru forma minim
a a unui produs de sume.
Pentru exprimarea functiei n form
a redus
a se selecteaz
a:
1. obligatoriu toti IP esentiali;
2. un num
ar c
at mai mic de IP neesentiali, dar care s
a acopere toate c
asutele
elementare nscrise cu unu ce nu au fost acoperite de c
atre IP esentiali
Exemplul 2.4 Pentru functia F data sub forma FND,
F =

15
X

(0, 2, 6, 9, 11, 13, 14, 15)

sau sub forma FNC


F =

15
Y

(1, 3, 4, 5, 7, 8, 10, 12)

s
a se realizeze minimizarea cu diagrama V-K.
Solutie. Din expresia functiei dat
a sub forma listelor anterioare se completeaz
a cu
unu diagrama V-K pentru sinteza ca sum
a de produse, Figura 2.9-a si se completeaz
a cu 0
diagrama V-K pentru sinteza ca produs de sume, Figura 2.9-b. Se consider
a suprafete de
c
asute adiacente, grupate c
ate dou
a sau patru si rezult
a pentru forma sum
a de produse doi IP
esentiali (a = x3 x0 , b = x
3 x
2 x
0 ) si trei IP neesentiali (c = x3 x2 x1 , d = x2 x1 x
0 , e = x
3 x1 x
0 ),
iar pentru forma produse de sume doi IP esentiali (a = (x3 + x
0 ), b = (
x3 + x2 + x0 )) si
trei IP neesentiali (c = (x3 + x
2 + x1 ), d = (
x3 + x1 + x0 ), e = (
x2 + x1 + x0 )). Acoperirea
complet
a pentru prima sum
a de produse trebuie s
a contin
a cei doi IP esentiali a si b iar
dintre cei neesentiali un num
ar c
at mai mic, dar care s
a acopere restul de c
asute n care este

182

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE
15

15

F= (0,2,6,9,11,13,14,15)
0
b

x1 x0
x3 x2
00

00

01

x1

11

x3 x2

10

11

10

x2
d

x0

x3

01

11

10

01

11

x1

10

x2
0

x0

IP esentiali:

IP esentiali:

a=x 3 x0 ; b=x3 x2 x0

a=(x 3 +x0 ); b=(x 3 +x2 +x0 )

c=x 3 x2 x1
d=x2 x1 x0
e=x 3 x1 x0

c=(x 3 +x2 +x1 )


d=(x 3 +x1 +x0 )
e=(x 2 +x1 +x0 )

IP neesentiali:

IP neesentiali:

a)

00
00

01

x3

x1 x0

F= (1,3,4,5,7,8,10,12)
0
c
a

b)

Figura 2.9 Exemplu de minimizare:


a) pe baz
a de 1 pentru functia
15
15
P
Q
F = (0, 2, 6, 9, 11, 13, 14, 15); b) pe baz
a de 0 pentru functia F = (1, 3, 4, 5, 7, 8, 10, 12).
0

nscris
a valoarea 1. Se obtin formulele de acoperire a + b + d sau a + b + c + e. Evident,
prima form
a este forma minim
a
f = x 3 x0 + x
3 x
2 x
0 + x 2 x1 x
0
In acelasi mod se obtine forma redus
a pentru produs de sume:
f = (x3 + x
0 )(
x3 + x2 + x0 )(
x 2 + x1 + x0 )

Forma minim
a a unei functii f ca produs de sume se obtine prin acoperirea tuturor
c
asutelor elementare din diagrama V-K care au valorile 0. Dar se poate obtine aceeasi
form
a minim
a si printr-o sintez
a de suma de produse a functiei complementare f.
Dac
a functia f are valori 1 n anumite c
asute elementare evident c
a functia negat
a f
are valori 1 in restul de c
asute elementare ale diagramei V-K, adic
a tocmai n c
asutele
n care functia f are valori 0, si care pot fi utilizate pentru sinteza ca produs de sume.
Deci, obtin
and forma redus
a ca sum
a de produse a functiei complementare f si neg
and
aceast
a expresie rezult
a forma redus
a ca produs de sume a functiei f . In acest mod se
obtine forma minim
a a produsului de sume a lui f numai c
and forma redus
a a lui f a

183

2.2. REPREZENTAREA CLC

fost cea minim


a (si aceasta depinde de cum s-au selectat IP neesentiali). In Exemplul
2.4, Figura 2.9-b, o form
a redus
a ca sum
a de produse a lui f poate fi:
f = x3 x0 + x3 x
2 x
0 + x2 x1 x
0
iar prin negare si aplicare teoremei De Morgan se obtine chiar forma minim
a a produsului de sume:
f = (x3 + x
0 )(
x3 + x2 + x0 )(
x 2 + x1 + x0 )
obtinut
a prin sintez
a pe baz
a de zero-uri.
ca sum
Calculul formei reduse pentru f,
a de produse, este util
a pentru c
a unele
dispozitive programabile (PLA) prezint
a pe iesire posibilitatea de a nega, printr-o
poart
a XOR, functia calculat
a, deci generarea formei produs de sume. Dac
a se poate
implementa usor at
at forma produs de sume, c
at si forma sum
a de produse se pune
intrebarea care dintre cele dou
a forme reduse obtinute (nu totdeauna minime!) se
alege? se va alege forma care are num
arul minim de termeni.
2.2.3.1

Minimizarea functiilor incomplet definite

Exist
a situatii n care functionarea unui CLC prin valoarea logic
a generat
a pe iesire
nu modific
a cu nimic comportamentul util al circuitului. Valoarea logic
a pe iesire se
poate modifica fie n 1 fie n 0 dar aceste valori sunt indiferente (do not care) pentru
utilitatea circuitului, de aceea iesirea respectiv
a se noteaz
a n tabelul de adev
ar sau
,,
n diagrama V-K cu simbolul - . Astfel de situatii apar c
and anumite configuratii
de intrare, restrictionate prin conditiile de functionare, nu se aplic
a niciodat
a pe
intr
ari, sau c
and pentru anumite configuratii de intrare functionarea sistemului nu
consider
a valorile logice de pe iesiri. Simbolurilor indiferente din diagramele V- K,
prin includerea lor n grupuri de c
asute elementare adiacente, pot aduce la expresii
mult mai simple pentru IP esentiali sau neesentiali. Dupa caz, acestor simboluri li se
pot atribui valoarea 1, pentru sinteza ca sum
a de produse, respectiv 0, pentru sinteza
ca produs de sume, astfel nc
at suprafetele care acoper
a c
asute adiacente sa devin
a
c
at mai mari.
Exemplul 2.5 Pentru convertorul BCD - EXCESS3, din Figura 2.3 sa se deduca
formulele minime pentru iesirile E3 , E2 , E1 , E0 .
Solutie. Din tabelul de adev
ar din Figura 2.3 se obtin valorile iesirilor sub form
a de
list
a:
15
X
(5, 6, 7, 8, 9) + d(10, 11, 12, 13, 14, 15)
E3 =
0

E2 =

15
X

(1, 2, 3, 4, 9) + d(10, 11, 12, 13, 14, 15)

15
X

(0, 3, 4, 7, 8) + d(10, 11, 12, 13, 14, 15)

15
X

(0, 2, 4, 6, 8) + d(10, 11, 12, 13, 14, 15)

E1 =

E0 =

184

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE
E3

15

(1,2,3,4,9)+d(10,11,12,13,14,15)

AB

CD
00

01

11

E2

15

(5,6,7,8,9)+d(10,11,12,13,14,15)

AB

10

00

CD
00

01

11

10

00
1

01

01

B
11

10

B
11

A
1

10
D

BD

BC

15

(0,2,4,6,8)+d(10,11,12,13,14,15)
0

CD

C
00

01

11

00

01

E0

15

(0,3,4,7,8)+d(10,11,12,13,14,15)

AB

AB

10

CD

C
00

01

11

10

01

1
B

A
1

11
10

D
CD

10

00

B
11

BC

BD

BCD

E1

D
CD

Figura 2.10 Minimizarea funtiilor incomplet definite. Exemplificare pentru sinteza


convertorului BCD-EXCESS3, Exemplul 2.5.

Pe intr
arile circuitului se aplic
a numai codurile BCD, combinatiile binare pentru numerele
10,11,12,13,14,15 nu se aplic
a niciodat
a, deci iesirile corespunz
atoare se noteaz
a cu indiferent
n diagramele V-K din Figura 2.10. Pentru sintez
a ca sume de produse, pentru iesirile
,,
E3 , E2 , E1 , E0 , c
asutelor notate cu - , ce intr
a n grupuri de adiacenta
selectate, li se atribuie
valoarea logic
a 1. Se obtin astfel urm
atoarele forme minime:
E3
E2
E1
E0

2.2.3.2

= A + BD + BC
D
+ BD
+ BC

= BC

= C D + CD

=D

Minimizare pe diagrame V-K cu variabile reziduu

Tabelul de adev
ar, c
and num
arul de variabile este mare, poate fi redus la o form
a
cu mai putine linii dac
a unele din variabilele functiei sunt introduse n coeficientii
functiei ca variabile reziduu, aceast
a modalitate de reducere a fost exemplificat
a in
Figura 2.4. Similar, si diagrama V-K poate fi redus
a de la 2n c
asute la 2n1 c
asute
c
and se introduce una din variabile n coeficientii din interiorul c
asutelor, respectiv

185

2.2. REPREZENTAREA CLC

la 2n2 c
asute c
and se introduc dou
a variabile reziduu si asa mai departe. Pentru o
functie de dou
a variabile, fi2 , sau de trei variabile, fi3 , formulele analitice cu o variabil
a
reziduu introdus
a n coeficientii functiei sunt cele date de relatiile 2.3 respectiv 2.4.
Se observ
a c
a expresia unui coeficient reziduu, n functie de variabila reziduu
x, este de forma di x
+ dj x. Ca structur
a diagrama V-K, n raport cu o variabil
a
care se introduce ca variabil
a reziduu x, cuprinde 2n1 c
asute care au n coordonat
a
variabila x si 2n1 c
asute care au n coordonat
a variabila x. C
asutele elementare care
cuprind n coordonat
a viitoarea variabil
a reziduu x se separ
a n dou
a p
arti egale dac
a
se traseaz
a o linie prin mijlocul zonei corespunz
atoare a variabilei x din diagrama
V-K. In ambele p
arti ale liniei mediane se grupeaz
a c
ate dou
a c
asute elementare,
una care are n coordonat
a x si coeficientul di si una care are n coordonat
a x si
coeficientul dj . Se efectueaz
a calculul di x
+ dj x care va fi noul coeficient al c
asutei
elementare n diagrama V-K rezultat
a, iar coordonata acestei c
asute rezultate este
tocmai coordonata comun
a a celor dou
a c
asute elementare din care a provenit. Acest
nou coeficient poate avea doar una din valorile 0, 1, x, x
.
Aceast
a modalitate de reducere este prezentat
a n Figura 2.11-a pentru o functie
de trei variabile c
and se elimin
a variabila x1 , iar in Figura 2.11-b pentru o functie
de patru variabile c
and se elimin
a variabila x0 . Pentru fiecare din aceste cazuri
se hasureaz
a zona variabilei reziduu, respectiv se duce linia median
a prin aceast
a
zon
a si se grupeaz
a o c
asuta din zona hasurat
a (x) cu una din zona nehasurat
a (
x).
x0
x1

x 1x 0

x0

x2

d0
x2

d4

x 1x 0
x 3x 2

d1

d3

d5

d7



d2


d6

x1

x3

x1
x0
x2

x2
a)

x0
d0x 1
+
d2x 1

d1x 1
+
d3x 1

d4x 1
+
d6x 1

d5x 1
+
d7x 1








d0

d1

d4

d5

d12

d13

d8

d9

x 2x 1
x3

x3
b)

x0



d3

d2

d7

d6

d15

d14

d11

d10

x0

x2

x1

x1
d0x 0
+
d1x 0

d2x 0
+
d3x 0

d6x 0
+
d7x 0

d4x 0
+
d5x 0

d8x 0
+
d9x 0

d10x 0
+
d11x 0

d14x 0
+
d15x 0

d12x 0
+
d13x 0
x2

Figura 2.11 Exemplificare de introducere a unei variabile reziduu: a) pentru o


diagram
a V-K de trei variabile; b) pentru o diagram
a V-K de patru variabile.

186

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

De exemplu, pentru n = 3, prin gruparea c


asutei hasurate cu coeficientul d3 cu cea
nehasurat
a cu coeficientul d1 se obtine coeficientul d3 x +d1 x care se va nscrie n noua
c
asuta
de coordonate x2 x0 (coordonata comun
a a celor dou
a c
asute luate mpreun
a).
Iar n diagrama V-K de patru variabile (x3 , x2 , x1 , x0 ) produsul d6 x
0 + d7 x0 care va
fi n diagrama de trei variabile (x3 , x2 , x1 ) coeficientul c
asutei de coordonate x
3 x2 x1 .
Diagrama cu variabile reziduu poate fi o form
a mai compact
a si, uneori, cu astfel
de diagrame se obtine mai usor forma minim
a. Deducerea formei reduse dintr-o
diagram
a care cuprinde coeficienti cu variabile reziduu se face n urm
atorii pasi:
Pasul 1. In toate c
asutele elementare n care coeficientul contine variabile reziduu se
substituie acesta cu zero si apoi se face extragerea functiei dup
a regula normal
a
prin gruparea suprafetelor de 1-uri.
Pasul 2. In toate c
asutele n care coeficientul este 1 se substituie acesta cu indiferent
si apoi se face extragerea dup
a gruparea suprafetelor care cuprind coeficientii
care au aceeasi expresie de variabile reziduu.
Pasul 3. Forma redus
a a functiei se obtine prin sumarea logic
a a expresiei obtinut
a
la Pasul 1 cu cea obtinut
a la Pasul 2.
Dar nu totdeauna forma redus
a obtinut
a la la Pasul 3 este cea minim
a. Pentru a
obtine forma minim
a se recomand
a:
1. Folosind axiomele si teoremele algebrei logice, Tabelul 1.2, s
a se transforme un
coeficient compus din termeni produs, care contine variabile reziduu, nc
at s
a
se obtin
a un num
ar c
at mai mic de termeni produs diferiti.
2. Dac
a ntr-o c
asuta
exist
a un coeficient compus dintr-o sum
a de termeni produs,
care contin variabile reziduu, atunci aceast
a c
asuta
se include, conform pasului
2 enuntat anterior, n fiecare din suprafetele care acoper
a unul dintre termenii
produs din aceast
a sum
a.
Exemplul 2.6 Pentru iesirea E3 a convertorului BCD - EXCESS3, cu tabelul de
adev
ar dat n Figura 2.3, s
a se deduc
a expresia minim
a utilliz
and diagramele V-K pentru
4,3 si dou
a variabile.
Solutie. Din prezentarea functiei E3 ntr-o diagram
a V-K de patru variabile, Figura
2.12-a, si prin considerarea valorii 1 n c
asutele cu indiferent, se obtine forma minim
a
E3 = A + BD + BC (expresie obtinut
a si n Exemplul 2.5).
Introduc
and variabila A ca variabil
a reziduu se obtine diagrama de trei variabile (B,C,D)
din Figura 2.12-d. Aplic
and, Figura 2.12-b, cei trei pasi pentru obtinerea formei minime,
dintr-o diagram
a cu variabil
a reziduu, se obtine expresia minim
a pentru E3 , identic
a cu cea
anterioar
a.
Introduc
and si variabila D ca variabil
a reziduu se obtine diagrama V-K de dou
a variabile
(B,C) din Figura 2.12-c. Aplic
and cei trei pasi pentru minimizare, dintr-o diagram
a cu
coeficienti reziduu, se obtine forma redus
a E3 = BC + AB + BD + ABD, care difer
a de
forma minim
a obtinut
a cu cele dou
a diagrame anterioare. Pentru a obtine forma minim
a
trebuie f
acute asupra coeficientilor din diagrama din Figura 2.12-c urm
atoarele transform
ari:
aplic
Expresia coeficientului D + DA,
and teorema de absorbtie invers
a, devine D + A ceea ce
a,
face ca n loc de trei termeni produs (A, D, DA), inclusi n coeficientii reziduu din diagram

187

2.2. REPREZENTAREA CLC

CD
AB
00
00
01
A
a)

d)

11
10

C
01

11

10

D
C
CD
B 00 01 11 10

CD
B
00

B A

B 1

01

11

10

0 0

B 1 A

B 1 0

e)

1
A

1 D+A 1

C
B 0
0 0
1

1
0
1
BC

D+DA 1

B
+

C
CD
00 01 11 10
0 A

1
A

B 1 A
A

C
B 0
0 A

c)

BD+BC
C
B 0
0 A

C
CD
00 01 11 10

0 A

b)

D
C
B 0
0
1

D
BD

Figura 2.12 Pentru iesirea E3 a unui convertor BCD-EXCESS3 s-a dedus expresia
minim
a: a) utiliz
and diagrama V-K de patru variabile; b,d) diagrama V-K de trei variabile
(B,C,D); c,e) diagrama V-K de dou
a variabile (B,C).

s
a fie doar doi: A si D, Figura 2.12-e. Apoi, aplic
and pasii pentru extragerea formei reduse,
primul pentru valorile de 1, iar al doilea pas separat pentru fiecare din cei doi termeni reziduu
A si D, se obtine E3 = BC + A + BD care este forma minim
a.

Uneori, prin extragerea formei reduse, dintr-o diagram


a V-K care contine variabile
reziduu, nu se ajunge la forma minim
a din cauza folosirii redundante a unor c
asute
cu valoarea 1. Poate exista situatia n care o c
asuta
elementar
a cu valoarea 1 n Pasul
1, care va avea valoarea indiferent
a n Pasul 2, s
a fie inclus
a n suprafata unui termen
produs care contine o variabil
a reziduu (x) si de asemenea s
a fie inclus
a si n suprafata
unui alt termen produs care contine aceeasi variabil
a reziduu doar negat
a (x). Un
astfel de 1 se numeste dublu acoperit. Forma minim
a se obtine doar c
and c
asuta cu un
1 dublu acoperit se consider
a 0 n Pasul 1 de extragere (c
and se consider
a suprafetele
de 1-uri).
Exemplul 2.7 Pentru CLC cu tabelul de adevar din Figura 2.4 sa se realizeze
diagramele V-K de patru, trei, dou
a variabile si s
a se extrag
a expresia minim
a.
Solutie. Diagrama V-K pentru patru variabile (A, B, C, D) este reprezentat
a n Figura
2.13-a; s-a considerat valoarea coeficientului functiei egal
a cu 1 pentru configuratia de intrare
indiferent
a AB C D. Se extrage din aceast
a diagram
a expresia minim
a AB D+ABD+BCD.

188

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

CD
AB
00

00

01

11

10

a)

11

BC
A 00 01 11 10
0 0 0 1 D
A 1 D D D 0

  

d)

10

01

11

10

0 0

A 1 D

B D

1
1

1 0

C+D
CD

B
0
1
A
0 0 CD+D
1

CD

C+D

A 1

CD

c)

BC
A 00 01 11 10
0 0 0
0
+
1 D D D 0



ABC
1

B
1

b)
BC
A 00 01 11 10
0 0 0 1 0

BC
A
00

C
B
0
A
0 0

e)

01

BC
A 00 01 11 10
0 0 0
D
+
1 0 0 0 0

ABD+BCD
B
0
A
0 0
1

ABD

1
D

D
ABD+ABD

B
0
A
0 0
1

1
CD
CD

BCD

Figura 2.13 Exemplu de minimizare a unei functii de patru variabile (A,B,C,D):


a) pe o diagram
a V-K de patru variabile; b,d) pe o diagram
a V-K de trei variabile (A,B,C);
c,e) pe o diagram
a V-K de dou
a variabile (A,B);

Introduc
and variabila D ca variabil
a reziduu se obtine diagrama V-K de trei variabile

(A, B, C), Figura 2.13-b. Din aceast


a diagram
a rezult
a urm
atoarea form
a redus
a: ABC
+
D
+ BC D
+ ABD

AB
care difer
a de forma minim
a extras
a din diagrama de patru variabile.
In aceast

a form
a redus
a apare n plus termenul ABC
care corespunde tocmai suprafetei de
1. La o inspectie mai atent
a, Figura 2.13-d, se observ
a c
a 1 din diagram
a este un 1 dublu
acoperit. In Pasul 2, n c
asuta respectiv
a se consider
a indiferent, aceasta este acoperit
a at
at
deci termenul ABC

de suprafata lui D c
at si de suprafata lui D,
trebuie eliminat din forma
redus
a obtin
andu-se astfel forma mimim
a.
Diagrama V-K de dou
a variabile (A, B), Figura 2.13-c, se obtine din diagrama de trei
variabile cu coeficienti reziduu prin introducerea si a variabilei C ca variabil
a reziduu. Forma
redus
a obtinut
a din aceast
a diagram
a este (Pasul 1 nu se aplic
a deoarece nu exist
a suprafete
D
+ ABC

care difer
de 1) AB
+ ABD
+ ABC D
a de expresia minim
a. Prin aplicarea teoremei
+ D, deci n loc de patru termeni produs
de absorbtie invers
a termenul C + D devine C D
CD
n coeficientii reziduu vor fi doar trei: D, D,
C D.
Aplic
C, D, D,
and doar Pasul 2 de
extragere, deoarece nu exist
a c
asute cu coeficient 1, Figura 2.13 - e, se obtine forma minim
a
D
+ ABD

AB
+ BC D.

2.2. REPREZENTAREA CLC

2.2.3.3

189

Minimizarea prin diagrame V-K a circuitelor cu iesiri multiple

S-a ar
atat c
a un CLC cu m iesiri, Figura 2.1, poate fi considerat ca find compus din
m circuite cu o singur
a iesire. P
astr
and acest mod de abordare, si pentru minimizarea
circuitului cu m iesiri, procesul de minimizare se reduce la extragerea separat
a a
fiec
areia din cele m iesiri pe c
ate o diagram
a V-K; si, s-ar putea ca rezultatul s
a fie
cel optim, dar numai c
and cele m functii de iesire nu au n componenta lor termeni
produs comuni. Pentru a identifica eventualii termeni produs comuni, la unele din
iesirile circuitului, se impune ca procesul de reducere al functiei FNC s
a se fac
a corelat.
Pentru identificarea termenilor produs comuni n cele m functii de iesire f0 , f1 , ...
fm1 se procedeaz
a n felul urm
ator:
1. Se realizeaz
a diagrama V-K a functiei produs logic ntre toate cele m functii
initiale f0 f1 f2 ... fm1 (practic se obtine printr-o intersectie ntre toate
diagramele V-K ale celor m functii). Se realizeaz
a diagramele V-K ale functiilor
produs ntre c
ate m 1 din cele m functii, apoi se realizeaz
a diagramele V-K ale
functiilor produs ntre c
ate m 2 din cele m functii s.a.m.d. p
an
a la realizarea
diagramelor V-K ale functiilor produs ntre c
ate dou
a functii. Num
arul total
de astfel de functii (diagrame V- K) produs este egal cu 2m (m 1) la care
se adaug
a nc
a m diagrame ale functiilor initiale (pentru m = 8 rezult
a 255 de
diagrame!). Evident, aceast
a metod
a neautomatizat
a este practicabil
a doar la
circuite cu cel mult patru iesiri.
2. In diagrama V-K produs logic de m functii se identific
a dac
a exist
a implicantii
primi comuni pentru toate functiile initiale. Acesti implicanti primi identificati
sunt eliminati din toate diagramele (V-K) produs de m 1 functii si apoi din
toate diagramele (V-K) produs p
an
a la diagramele produs de dou
a functii. Pentru acesti implicanti primi identificati se figureaz
a suprafetele de acoperire n
toate cele m diagrame V-K ale functiilor initiale. Se reia acelasi proces de identificare a implicantilor primi comuni pe diagramele V-K produs logic de m 1
functii p
an
a la figurarea suprafetelor respective de acoperire n diagramele V-K
ale functiilor initiale. Procesul de identificare de implicanti primi comuni se
continu
a p
an
a la diagramele V-K produs logic de dou
a functii.
3. Din cele m diagrame V-K ale functiilor initiale se extrag formele reduse ale
functiilor, dup
a procedeul normal, ncerc
and a se selecta c
at mai multe dintre
suprafetele care figureaz
a mplicanti primi comuni (identificati conform procedurii de la punctul 2).
Circuitul cu iesiri multiple, rezultat printr-o minimizare corelat
a, n general, utilizeaz
a un num
ar de termeni produs diferiti mai mic dec
at num
arul total de termeni
produs diferiti obtinut printr-o minimizare separat
a (necorelat
a) pentru fiecare functie
n parte, deci un num
ar mai mic de porti pentru implementare. Totusi, alegerea final
a pentru implementare nu este impus
a numai de acest rezultat ci trebuie luate
n considerare si: tipul de poart
a logic
a, factorii de nc
arcare la intrare si iesire si
disponibilitatea semnalelor n sistem.
Metoda minimiz
arii corelat
a este indicat
a pentru sinteza circuitelor care se implementeaz
a cu porti logice discrete, pe circuitele arii de porti logice si pe circuite logice
programabile unde economisirea doar si a unei porti, la o replicare mare, determin
a
o economisire substantial
a.

190

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Exemplul 2.8 Pentru urmatoarele trei functii


F0 (A, B, C, D) =

15
X

(2, 4, 6, 7, 9, 11, 12, 15)

F1 (A, B, C, D) =

15
X

(4, 6, 7, 10, 14, 15)

F2 (A, B, C, D) =

15
X

(3, 7, 8, 10, 12, 14, 15)

s
a se realizeze o minimizare corelat
a.
Solutie. Extragerea necorelat
a a fiec
arei functii este realizat
a pe diagramele V-K din
Figura 2.14-a si se obtin urm
atoarele expresii minime:

D(3)

D(4)

F0 = ABD(1)
+ BCD(2) + B C
+ AC

F1 = BC(5) + AC D(6) + AB D(7)

D(9)

F2 = AD(8)
+ BCD(2) + BC
cu un num
ar de 9 termeni produs diferiti din totalul de 10 (BCD este utilizat at
at de F0 c
at
si de F2 ). In continuare se va proceda pentru extragerea corelat
a. Diagrama V-K a functiei
produs logic F0 F1 F2 este reprezentat
a n Figura 2.14-b, iar a functiilor produs logic
F0 F1 , F0 F2 , F1 F2 n Figura 2.14-c. Singurul implicant prim comun, BCD din diagrama
V-K a functiei produs logic F0 F1 F2 , neconsiderat n produsele logice de dou
a functi, este
figurat (hasurat spre dreapta) n diagramele V-K ale functiilor F0 , F1 , F2 din Figura 2.14-d.
Apoi, din diagramele functiilor produs logic de dou
a functii: pentru F0 F1 se identific
a
D
care se figureaz
implicantul prim comun AB
a (hasura spre st
anga) prin suprefete pe F0 si
D
care se figureaz
F1 ; pentru F0 F2 se identific
a implicantul prim commun ABC
a (printrun cerculet hasurat spre dreapta) prin suprafete pe F0 si F2 ; pentru F1 F2 se identific
a
care se figureaz
implicantul prim comun AC D
a prin suprafete pe F1 si F2 .
In continuare, de pe diagrama V-K a fiec
arei functii initiale, se extrage forma redus
a
dup
a procedeul obisnuit c
aut
and ca, n acoperirea c
asutelor elementare cu valoarea 1, s
a
fie inclusi n primul r
and implicanti primi esentiali si implicanti primi comuni identificati.
Rezult
a expresiile:

D(3)

BC
D(4)

D(5)

F0 = ABD(1)
+ BCD(2) + AB
+A
+ BC

F1 = BCD(2) + AB D(3) + AC D(6)


D(7)

BC
D(4)

F2 = BCD(2) + AC
+ AC D(6)
+A
Prin minimizarea corelat
a s-au obtinut un num
ar de 7 termeni produs diferiti dintr-un
total de 12 termeni produs utilizati, deci 5 sunt utilizati de cel putin dou
a functii.

Obtinerea unei forme reduse, eventual minim


a, pentru o functie prin operatii analitice, paragraful 1.15, sau utiliz
and diagrama V-K pot constitui metode practicabile
doar pentru functii de c
ateva variabile. Pentru functii ce dep
asesc c
ateva variabile
sunt utilizate alte metode. Oricare ar fi aceste metode, n fond, procesul de reducere
parcurge dou
a etape: (1) identificarea tuturor implicantilor primi ai functiei si (2)
apoi selectarea unui set minimal de implicanti primi care s
a acopere functia. Aceste
etape pot fi realizate fie prin metode tabelare, de exemplu metoda Quine-McCluskey,
fie prin abord
ari algoritmice, n termeni de structuri de date si functii de limbaj de

191

2.2. REPREZENTAREA CLC

C
CD
AB 00 01 11 10
1
00

a)

01 1

11 1

1
1

10

C
CD
AB 00 01 11 10
00

B
A

01 1

11

B
A

10

D
F 0=ABD+BCD+BCD+ACD
1

C
CD
AB 00 01 11 10
1
00

D
F 1=BC+ACD+ABD

F0

F1

F2

 
 

F0

01

11 1

10 1

D
F 2=AD+BCD+BCD
8

b)

! !" !"

F0

F1

$# $#

F2

F1

F2

 

c)
F1 C
CD
AB 00 01 11 10
00

  
 '(

%&

01 1
A

11 1
10

1
1
1

F2 C
CD
AB 00 01 11 10

B
A

00

01 1

11

10

1
1

F3 C
CD
AB 00 01 11 10

,+ ,+   ) )*
   
 
00

 

01

B
A

11 1
10 1

 

  
   
 

1
1

F 0=ABD+BCD+ABD+ABCD+BCD F 1=BCD+ABD+ACD F 2=BCD+ACD+ACD+ABCD


1
2
3
4
5
2
3
6
2
7
6
4
d)
Figura 2.14 Minimizarea corelat
a a trei functii: a) minimizarea necorelat
a; b,c) diagramele V-K pentru produsele de c
ate 3 si 2 functii; d) extragerea corelat
a a expresiilor
reduse ale functiilor.

192

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

nivel nalt [Wakerly 0 2001]. Evident, aceste abord


ari au ca finalitate un program
de minimizare inclus intr-un mediu de proiectare, de exemplu programul Espress II
,,
sau varianta mai avansat
a Espress - MV. Includerea unui algoritm exact ntr-un
program de minimizare pentru o functie cu zeci de variabile si sute de termeni produs
poate necesita un timp de calcul inacceptabil. Foarte frecvent o abordare euristic
a,
n locul unui algoritm exact, poate genera o expresie minim
a sau aproape minim
a dar
cu o reducere a timpului de calcul cu peste un ordin de m
arime.

2.2.4

Diagrama de decizie binar


a, BDD

Informatia continut
a ntr-un tabel de adev
ar, Figura 2.15-a, poate fi reprezentat
a
si printr-un graf sub forma unui arbore binar, arbore de decizie binar, BDT
(Binary Decision Tree). Un arbore de decizie binar este un graf orientat, aciclic, care
prezint
a o r
ad
acin
a si dou
a tipuri de noduri: terminale si neterminale. Fiecare nod x
este referit/etichetat prin variabila var(x) si are arce directionate spre doi succesori:
Low(x), care corespunde tranzitiei c
and variabilei x i se asigneaz
a valoarea 0
High(x), care corespunde tranzitiei c
and variabilei x i se asigneaz
a valoarea 1
Fiecare nod terminal (frunz
a) x este caracterizat prin valoarea (x) care poate fi 0 sau
1. Pentru o anumit
a asignare a valorilor variabilelor unei functii (o configuratie de
intrare), parcurg
and graful, de la r
ad
acin
a pe traseul indicat de valorile respective ale
variabilelor, se atinge un nod terminal a c
arui valoare este tocmai valoarea functiei
corespunz
atoare respectivei asign
arii a variabilelor. In Figura 2.15-b este reprezentat
BDT pentru functia cu tabelul de adev
ar din Figura 2.15-a. BDT nu reflect
a o
reprezentare concis
a a unei functii booleene; n fond, un BDT nu este altceva dec
at
o form
a grafic
a a tabelului de adev
ar, care prezint
a mult
a redundanta
. De exemplu,
pentru arborele obtinut exist
a numai trei subarbori diferiti cu r
ad
acina de etichet
a
y0 , din totalul de opt subarbori cu r
ad
acina n y0 . Se poate obtine o form
a mult mai
concis
a de reprezentare a functiei, denumit
a Diagram
a de Decizie Binar
a, BDD
(Binary Decision Diagram), dac
a din BDT se elimin
a redundanta. Obtinerea unui
BDD, prin eliminarea redundantei, apare n urma aplic
arii repetate (p
an
a c
and nu
mai pot fi aplicate) a urm
atoarelor trei proceduri:
1. Eliminarea nodurilor terminale duplicate. Dintre toate nodurile terminale (frunze) duplicate se retine doar unul, iar spre acesta se redirecteaz
a toate arcele care
erau directate spre frunzele eliminate.
Prin aceast
a procedur
a se obtine graful din Figura 2.15-c care are numai dou
a
noduri terminale n loc de 16.
2. Eliminarea nodurilor neterminale duplicate. Dac
a pentru nodurile neterminale
x si y exist
a var(x) = var(y) si low(x) = low(y), high(x) = high(y), atunci unul
din noduri este eliminat, iar arcele directate spre nodul eliminat sunt redirectate
spre nodul p
astrat.
Inspect
and graful din Figura 2.15-c se constat
a c
a din cele opt noduri y0 doar
trei sunt diferite, deci acesta se poate transforma n graful din Figura 2.15-d.

193

2.2. REPREZENTAREA CLC

x 1 y1 x 0 y0 f
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1

x1

y1

y1

x0

x0

y0

a)

y0

y0

x0

y0

y0

y0

y0

b)
0

y1
x0

y1
x0

x0

y0 y0 y0 y0
0

x0

y1 0

1
0

y2

x0

y0

y1
0 1

y1

y
0 2
1
1

x0

e)

1
0

y0

x0

y0

1
1

y1

1
0

x0

1
0

d)

y1

x0 1

x1

x1 1

0
0

y1

y0 1

f)

x0

y0 y0 y0 y0

c)

y0

x1

x0

y1

x1 1
1

y1

x0 1
y0 1
1

y0

Figura 2.15 Diagrama de decizie binar


a, BDD, pentru un circuit comparator de
2 biti: a) tabelul de adev
ar; b) arborele de decizie binar
a, BDT; c,d,e) etapele de trecere
de la BDT la diagrama de decizie binar
a BDD, n forma canonic
a; f) BDD form
a canonic
a
pentru ordonarea variabilelor x1 < x0 < y1 < y0 .

194

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

3. Eliminare testelor redundante. Dac


a nodul neterminal x prezint
a low(x) =
high(x) atunci se elimin
a nodul, iar arcele directate spre acesta se redirecteaz
a
spre low(x).
Aplic
and aceast
a procedur
a pentru eliminarea celor dou
a noduri y0 , din mijloc,
de la Figura 2.15-d se transfer
a testul de redundanta
asupra nodurilor x0 din mijloc
(acestea vor avea low(x0 ) = high(x0 )). Apoi, aplic
and din nou aceast
a procedur
a
sunt eliminate nodurile mediane x0 rezult
and graful din Figura 2.15-e. Se observ
a c
a
nu mai exist
a nici o posibilitate de transformare, nici una din aceste proceduri nu se
mai poate aplica.
Definitia 2.5 Diagrama de decizie binar
a este redus
a, RBDD (Reduced
BDD), c
and nu se mai poate realiza nici o transformare prin aplicarea celor trei
proceduri de reducere. 
O diagram
a de decizie binar
a este referit
a ca ordonat
a, OBDD (Ordered
BDD) dac
a, pe oricare traseu parcurs de la r
ad
acin
a la frunze, fiecare variabil
a este
nt
alnit
a cel mult odat
a si totdeauna variablilele sunt parcurse n aceeasi ordine. Nu
este necesar ca toate variabilele s
a fie nt
alnite pe fiecare traseu. Pentru functia
din tabelul de adev
ar din Figura 2.15-a, care este a unui CLC comparator pentru
cuvinte de doi biti x1 , x0 si y1 , y0 , f (x1 , x0 , y1 , y0 ) = (x1 = y1 ) (x0 = y0 ), implicit
s-a considerat urm
atoarea ordine x1 < y1 < x0 < y0 si a rezultat un OBDD cu 8
noduri. La un CLC comparator pentru cuvinte de n biti p
astr
and aceeasi ordine
xn1 < yn1 < xn2 < yn2 < ... < x1 < y1 < x0 < y0 rezult
a un num
ar de
(3n + 2) noduri. Dar dac
a ordinea se stabileste xn1 < xn2 < ... < x1 < x0 <
yn1 < yn2 < ... < y1 < y0 atunci rezult
a un OBDD cu (3 2n 1) noduri.
Pentru o astfel de ordonare, x1 < x0 < y1 < y0 , (n = 2), BDD este reprezentat
n Figura 2.15 - f, num
arul de noduri fiind 3 22 1 = 11. Num
arul de noduri
pentru un OBDD cu n variabile de intrare, n functie de ordonarea aleas
a, se situeaz
a
ntre limita inferioar
a, o dependenta
liniar
a de n, si limita cea mai dezavantajoas
a, o
dependenta exponential
a de n. Multe functii logice uzuale au totusi o form
a compact
a
de reprezentare. G
asirea ordon
arii optime, care s
a duc
a la un num
ar minim de noduri
n OBDD, este o problem
a NP complet
a. Abord
arile euristice pentru g
asirea ordon
arii
optime sunt, de multe ori, cu succes. In acest sens, de abordare euristic
a, observatia
c
a variabilele legate/asociate s
a fie str
ans apropiate si n ordonare duce la o ordonare
optim
a sau cvasioptim
a.
Definitia 2.6 BDD este sub form
a canonic
a dac
a este redus
a si ordonat
a. 
Pentru o functie logic
a cu ordonare fixat
a, forma redus
a de OBDD este cea
canonic
a si aceast
a form
a este unic
a.
Diagrama de decizie binar
a considerat
a ca un suport abstract al unei functii booleene introduce posibilitatea ca operatiile efectuate cu functiile booleene s
a fie implementate sub forma unor algoritmi grafici asupra unor OBDD [Bryant 0 92] cu aplicatii
n sistemele digitale, logic
a matematic
a, inteligenta
artificial
a. In sistemele digitale
OBDD poate fi utilizat ca un instrument n proiectare, verificare si testare.

2.2.5

Modalit
ati neformale de reprezentare

Pentru aplicatii concrete, de multe ori, definirea unui CLC prin una din metodele
formale expuse anterior este foarte greoaie si ineficient
a. Astfel de aplicatii apar

195

2.2. REPREZENTAREA CLC

de exemplu, c
and circuitul are un num
ar foarte mare de intr
ari sau circuitul are o
structur
a repetitiv
a.
Dac
a CLC prezint
a mai mult de 5,6 variabile, maipularea functiei sub form
a analitic
a, diagram
a V-K sau tabel de adev
ar devine nepractic
a, n astfel de cazuri doar
utilizarea unui program de analiz
a si sintez
a dintr-un mediu de programare poate fi
solutia.
Pentru structurile repetitive atentia trebuie concentrat
a asupra logicii de functionare a celulei componente care apoi, prin replicare, poate forma structura complet
a.
Un exemplu simplu n acest sens este realizarea circuitelor AND si OR cu multe intr
ari.
Expresia operatorului sum
a sau produs logic pentru multe variabile, folosind axioma
asociativitatii, poate fi aplicat repetitiv, obtin
andu-se o form
a care se modeleaz
a cu
un singur tip de poart
a ale c
arei intr
ari sunt iesiri de la porti de acelasi tip. De
exemplu, pentru un AND cu n intr
ari realizat prin nseriere de porti AND cu dou
a
intr
ari
xn1 xn2 ... x3 x2 x1 x0 = xn1 (xn2 (xn3 ... (x3 (x2 (x1 x0 ))...))
Acelasi ANDn poate fi implementat cu AND2 sub form
a de arbore binar. Pentru
structurile repetitive mai complexe logica de functioare a celulei componente contine
operatii ce se realizeaz
a n corpul unei bucle si care se efectueaz
a de n ori, Figura
2.16-a. In aceast
a organigram
a pasul de initializare 1 se execut
a o singur
a dat
a
iar ceilalti trei pasi se execut
a de n ori. Pasul 3 de incrementare si pasul 4 de
,,
testare al num
arului de iteratii sunt de fapt regia buclei , numai pasul 2 realizeaz
a
practic calculul efectuat de CLC. Pentru pasul 2 se poate concepe o celul
a care, pe
baza intr
arilor Ii , Ci , calculeaz
a iesirea Oi si transferul Ci+1 spre celula urm
atoare,
Figura 2.16-b. Un CLC iterativ, Figura 2.16-c, practic modeleaz
a o desf
asurare a
buclei printr-o nseriere de n celule identice, c
ate una pentru fiecare iteratie. Cea
mai bun
a cale de expunere, a acestor modalit
ati de reprezentare, mai putin formale

Ci
i

C0
0

Intrari I i , Ci
se calculeaza
Oi , Ci+1
i=i+1
DA

a)

i<n
NU

1 Initializare

Ci

2 Calcul
Oi , Ci+1

b)

3 Incrementare
4 Test
numar de
iteratii

C0
c)

I0
#0

C1
O0

I1
#1

Ii
Calcul
Oi , Ci+1

Ci+1

Oi

C2
O1

In1
Cn1
Cn
#n
On1

Figura 2.16 CLC iterativ: a) descrierea procesului iterativ al unui circuit prin organigrama unei bucle; b) structura bloc de circuit pentru modelarea calculului din interiorul unei
bucle; c) structurarea unui circuit iterativ prin nserierea de celule identice.

196

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

pentru CLC este exemplificarea.


Exemplul 2.9 Pentru un cuvant de n biti xn1 xn2 ...xi ...x1 x0 sa se realizeze circuitele
combinationale care efectueaz
a incrementarea, decrementarea si complementul fata
de 2.
Solutie.
1) Incrementarea. Prin adunarea bitului 1 n pozitia cea mai putin semnificativ
a, x 0 ,
a cuv
antului rezult
a totdeauna x
0 , deci circuitul de incrementare are n pozitia x0 o poart
a
inversor. Un bit xi va fi afectat, adic
a schimbat n x
i , de adunarea efectuat
a n pozitia x0
numai dac
a aceast
a adunare a generat un transport si acest transport s-a propagat p
an
a
n pozitia xi . Dar transportul se propag
a p
an
a n pozitia xi doar dac
a toti bitii anteriori
lui xi , ncep
and cu x0 , au valoarea 1. Detectarea sirului de biti 1 de la x0 p
an
a la xi se
realizeaz
a printr-un lant de porti AND, iar iesirea acestui lant la fiecare pozitie comand
a
complementarea bitului de la pozitia respectiv
a, adic
a se aplic
a la intrarea unei porti XOR,
Figura 2.17-a. De fapt, incrementatorul poate fi privit ca un circuit num
ar
ator n sens direct:
un num
ar se obtine din cel anterior plus 1, incrementatorului i lipseste doar componenta
care s
a memoreze num
arul anterior (vezi Figura 3.62-b).
2) Decrementarea. Prin sc
aderea bitului 1 din pozitia cea mai putin semnificativ
a x0
a cuv
antului rezult
a totdeauna x
0 , deci implementarea pentru ultimul bit se face tot cu o
poart
a inversor. Dac
a un xi = 1 acesta va fi complementat de modificarea n pozitia x0 doar
dac
a toti bitii anteriori, ncep
and cu x0 , au valoarea 0, deoarece numai atunci mprumutul
necesar sc
aderii x0 1 se propag
a p
an
a la xi , schimb
and toate zerourile n 1. Detectarea
sirului de zerouri se face cu un lant de porti OR iar iesirea acestui lant, la fiecare pozitie,

xn1

xi

x2

x1

x0

xn1

xi

x2

x1

x0

xn1

xi

x2

x1

x0

X+1
a)
X

X1
b)
X

[X]2
c)
Figura 2.17 Exemple de circuite realizate prin replicare de celule elementare:
a) circuitul de incrementare; b) circuitul de decrementare; c) circuitul de complementare
fata
de 2.

197

2.2. REPREZENTAREA CLC

comand
a complementarea bitului de la pozitia respectiv
a aplic
andu-se la intrarea unei porti
NXOR, Figura 2.17-b. Decrementorul poate fi privit ca un num
ar
ator n sens invers.
3) Complementarea fata
de 2. Regula de obtinere a complementului fata
de doi al
unui num
ar negativ este: se complementeaz
a totii bitii, apoi se adun
a 1.
Se poate obtine complementul fata
de 2 si prin urm
atorul algoritm: parcurg
and cuv
antul
de la dreapta la st
anga se las
a neschimbati toti bitii mai putin semnificativi p
an
a la primul
bit egal cu 1 inclusiv, apoi toti bitii care urmeaz
a dup
a acest 1 p
an
a la cel mai semnificativ se
complementeaz
a. De exemplu: 390|10 = 01100000110|2 , ultimii doi biti r
am
an neschimbati,
iar ceilalti se complementeaz
a, rezult
a c
a 390|10 n complement fata
de 2 este 10011111010.
Dup
a acest algoritm implementarea circuitului de complementare fata
de 2 este direct
a.
Bitul x0 r
am
ane neschimbat. Dac
a primul bit 1 este n pozitia xi nseamn
a c
a bitii din
primul interval, de la x0 p
an
a la xi , r
am
an neschimbati, iar cei din al doilea interval, de la
xi+1 p
an
a la xn1 , se complementeaz
a. Fiecare bit al cuv
antului este o intrare la o poart
a
XOR, iar pe cealalt
a intrare a portii se aplic
a 0 pentru bitii care nu se complementeaz
a, din
primul interval, si respectiv 1 pentru bitii care se complementeaz
a, din al doilea interval.
Portile XOR sunt comandate de iesirile unui lant de porti care au pe iesiri valoarea 1 doar
dup
a primul bit 1 al cuv
antului, deci aceast
a selectare se poate realiza cu un lat de porti
OR, Figura 2.17-c.

Exemplul 2.10 Pentru numerele naturale exprimate n binar natural, cu lungimea


de patru biti B3 B2 B1 B0 , s
a se realizeze circuitul combinational care efectueaz
a conversia n
cod Gray G3 G2 G1 G0 si apoi circuitul care realizeaz
a conversia G3 G2 G1 G0 n B3 B2 B1 B0 .
Solutie. Descrierea convertorului de cod binar natural - Gray ca un circuit cu patru
iesiri G3 , G2 , G1 , G0 si patru intr
ari B3 , B2 , B1 , B0 este dat
a n tabelul de adev
ar din Figura
B3 B2 B1 B0

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

a)

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

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

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

G3 G2 G1 G0

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

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

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

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

B3

B2

B1

B0

G3

G2

G1

G0

G3

G2

G1

B3

b)

B2

B1

G0

B0

c)

Figura 2.18 Conversia binar natural - Gray si Gray - binar natural: a) tabel de
adev
ar pentru expresie; b,c) circuitele de conversie structurate repetitiv pe baz
a de porti
XOR.

198

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

2.18-a. Acelasi tabel de adev


ar descrie si conversia Gray - binar natural dac
a se consider
a
G3 , G2 , G1 , G0 intr
ari si B3 , B2 , B1 , B0 iesiri. Trebuie specificate diferentele ntre tabelele
de adev
ar din Figura 2.3-a si Figura 2.18-a. Primul reprezint
a conversia BCD - Gray, deci
cele 6 combinatii (1010, 1011, 1100, 1101, 1110, 1111) nu se aplic
a niciodat
a pe intrarea
convertorului, pe c
and n al doilea tabel de adev
ar conversia binar natural - Gray cele sase
combinatii nu mai sunt indiferente pentru circuitul convertor. Utilizarea tabelelor de adev
ar
cu 16 linii nu este prea atr
ag
atoare, n schimb, regulile de conversie expuse n paragraful 2.2.1
si reprezentate grafic n Figura 2.2-a si b sunt mult mai practice si mai usor de implementat.
Usor de implementat, deoarece pentru ambele conversii se utilizeaz
a sumarea a c
ate doi biti
iar transportul se neglijeaz
a ceea ce se realizeaz
a cu o poart
a XOR. Prin mapare direct
a,
utiliz
and porti XOR pentru conversia binar - Gray din Figura 2.2-a rezult
a circuitul din
Figura 2.18-b, iar pentru conversia Gray - binar din Figura 2.2-b rezult
a circuitul din Figura
2.18-c.
Evident, structura circuitului din Figura 2.18-a si 2.18-b indic
a si o exprimare iterativ
a
pentru aceste coversii. Aceste relatii iterative se pot deduce usor dac
a se noteaz
a cuv
antul
n binar natural prin Bn1 Bn2 ...Bi ...B2 B1 B0 iar cuv
antul n cod Gray prin Gn1 Gn2
...Gi ...G2 G1 G0 . Relatiile pentru conversii sunt:
Binar natural Gray : Gn1 = Bn1 , Gi = Bi+1 Bi pentru i = 0, 1, ...n 2;
Gray Binar natural : Bn1 = Gn1 , Bi = Bi+1 Gi pentru i = 0, 1, ...n 2.

(2.8)

Exemplul 2.11 Sa se structureze un circuit pentru detectarea si generarea paritatii


unui cuv
ant.
Solutie. Paritatea unui cuv
ant de n biti refer
a num
arul de biti 1 din acel cuv
ant.
Paritatea este par
a sau impar
a dup
a cum num
arul de biti 1 ai cuv
antului este par sau
impar. Paritatea poate fi utilizat
a ca un parametru n determinarea dac
a un cuv
ant a fost
modificat/eronat n urma transmisiei pe o linie de comunicatie. Se va explica acest procedeu
la transmisia serial
a a unui cuv
ant n cod ASCII-7 (American Standard Code for Information
Interchange, lungimea de cuv
ant de 7 biti), vezi Exemplul 3.28.
La emisie, nainte de transmisie, se determin
a paritatea cuv
antului de 7 biti prin num
ararea bitilor 1. C
and transmisia se face cu paritate par
a se adaug
a al optulea bit, bitul de
paritate, de valoare 1 dac
a paritatea determinat
a a fost impar
a si se adaug
a al optulea bit
de valoare 0 dac
a paritatea determinat
a a fost par
a. Iar pentru transmisia cu paritate impar
a
se adaug
a al optulea bit de valoare 0 dac
a paritatea determinat
a a fost impar
a respectiv se
adaug
a 1 dac
a paritatea determinat
a a fost par
a.
La receptie, la o transmisie cu paritate par
a, dac
a se detecteaz
a paritate par
a nseamn
a c
a
n cuv
antul transmis nu s-a modificat nici un bit (deci transmisie corect
a), ori s-a modificat
un num
ar par de biti 1 (transmisie incorect
a), iar dac
a paritatea detectat
a este impar
a
transmisia este incorect
a. Pentru transmisie cu paritate impar
a dac
a paritatea detectat
a
este impar
a n cuv
antul transmis, nu s-a modificat nici un bit cu valoarea 1 (transmisie
corect
a), ori s-au modificat un num
ar par de biti (transmisie incorect
a) iar dac
a paritatea
detectat
a este par
a transmisiunea este incorect
a. Rezult
a c
a n utilizarea parit
atii pentru
determinarea corectitudinii transmisiei se consider
a implicit c
a se modific
a doar un num
ar
impar de biti; alte metode pot fi utilizate pentru determinarea corectitudinii transmisiunii
si pentru cazurile c
and se modific
a orice num
ar de biti si, chiar mai mult, pot s
a si corecteze
eroarea produs
a n cuv
antul receptionat (metode detectoare - corectoare).
Sinteza unui detector de paritate, pentru un cuv
ant n cod ASCII-7, la emisie ar necesita
un tabel cu 27 = 128 linii, iar pentru receptie cu 28 = 256 linii. Mai mult, deoarece
configuratiile binare de intrare n succesiunea lor alterneaz
a par-impar-par..., ar rezulta,

199

2.2. REPREZENTAREA CLC

pentru sinteza circuitului, o diagram


a V-K cu 128 respectiv 256 c
asute elementare dar cu
o umplere de 1-uri n form
a de tabl
a de sah, deci imposibil de minimizat. Acest mod de
abordare ar necesita la receptie o implementare cu 128 porti AND cu 8 intr
ari si o poart
a
OR cu 128 de intr
ari! Trebuie g
asit
a o alt
a modalitate de exprimare si deci de implementare.
Suma aritmetic
a, XOR, a unui num
ar par de biti 1 dintr-un cuv
ant este totdeauna
zero si este totdeauna unu pentru un num
ar impar de biti 1. Deci elementul repetitiv n
detectarea tipului de paritate este poarta XOR (pentru un cuv
ant de doi biti o singur
a
poart
a Figura 2.19-a, iar pentru un cuv
ant de opt biti un lant de sapte porti XOR ca n
Figura 2.19-b. Descrierea unei astfel de structuri repetitive rezult
a prin aplicarea repetitiv
a
a axiomei asociativit
atii operatorului XOR pentru cuv
antul de opt biti:
(((((((x0 x1 ) x2 ) x3 ) x4 ) x5 ) x6 ) x7 ).
Dezavantajul acestei implement
ari rezid
a n nserierea a sapte niveluri de porti XOR. Se
poate obtine o implementare cu o propagare numai pe trei niveluri de porti XOR dac
a se
aplic
a asociativitatea nt
ai pe grupuri de 2 intr
ari apoi pe grupuri de c
ate 4 si de c
ate 8,

x0
x1

x0 +x1

a)

b)

x0
x1
x2
x3
x4
x5
x6
x7

Paritate para

Paritate impara
0 IMPAR

IMPAR
IMPAR

0
1
1
0

c)

0 PAR

d)

PAR
0
1
1
0

IMPAR

IMPAR

0
1
1
0

e)

0
1
1
0

PAR

PAR
IMPAR

IMPAR

0
1
1
0

PAR

PAR
PAR

IMPAR

f)

PAR

0
0
1
1
0

Figura 2.19 Detectarea si generarea parit


atii: a,b) circuite pentru determinarea
parit
atii unui cuv
ant de doi biti respectiv de 8 biti; c,d) structur
a sub form
a de arbore
din porti XOR pentru detectarea parit
atii pare respectiv impare a unui cuv
ant de patru biti;
e,f) structuri pentru generarea de cuvinte de 5 biti cu paritate impar
a respectiv par
a.

200

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

rezult
and o structur
a de arbore binar.
(((x0 x1 ) (x2 x3 )) ((x4 x5 ) (x6 x7 ))).
Se va exemplifica, cu o structur
a sub form
a de arbore, pentru detectarea par/impar
la un P
cuv
ant de 4 biti care are pe iesire o poart
a XOR pentru semnalarea de paritate
par
a
P
AR
=
0

s
i
respectiv
o
poart
a
NXOR
pentru semnalarea de paritate impar
a
P
IM P AR = 0 (s-a ales un NXOR pentru ca detectarea parit
atii impare s
a fie semnalat
a
tot prin valoarea logic
a zero, ca si la paritatea par
a). (Incercati o structurare pentru 8
intr
ari). In Figura 2.19-c acest circuit este utilizat pentru verificarea parit
atii pare (pentru
P AR = 0, IM P AR = ) si genereaz
a
,
de
exemplu,
pentru
cuv
a
ntul
de
intrare
0110 la iesire
P
semnalul activ de paritate par
a
P AR = 0. Acelasi circuit dar utilizat pentru verificare
de paritate impar
a (pentru P AR = , IM P AR = 0) este prezentat n Figura 2.19-d, unde
pentru
acela
s
i
cuv
ant de intrare 0110 (par) genereaz
a un semnal fals de paritate impar
a
P
IM P AR = 1.
Ca generator de paritate, acelasi circuit este utilizat pentru a produce un cuv
ant de 5
biti cu paritate impar
a (pentru IM P AR = 0, P AR = ) n Figura 2.19-e, iar pentru a
produce paritate
par
a (pentru
P
P P AR = 0, IM P AR = ) n Figura 2.19-f. Bitul generat
pe iesirile
IM P AR sau
P AR se adaug
a ca al cincelea bit pentru a realiza paritatea
impar
a respectiv par
a a cuv
antului de 5 biti care se transmite.
Se observ
a c
a circuitul pentru detectarea parit
atii pare este utilizat si la generarea
parit
atii pare, de asemenea circuitul pentru detectarea parit
atii impare este utilizat si la
generarea parit
atii impare.

2.3

REALIZAREA CIRCUITELOR
COMBINAT
IONALE

Pentru realizarea unui CLC, n general, se parcurg urm


atoarele etape:
1. Formularea/exprimarea, n termeni c
at mai precisi, a problemei care trebuie
rezolvat
a.
2. Pe baza formul
arii problemei se construieste tabelul de adev
ar care stabileste
relatia dintre variabilele de intrare si cele de iesire. Atentie trebuie acordat
a
nivelului logic asignat pentru starea activ
a a fiec
arei variabile de intrare si pentru
iesiri (un semnal X activ n stare L se noteaz
a X L sau uneori cu X).
3. Se utilizeaz
a o metod
a de minimizare (diagrama V-K, sau o metod
a algoritmic
a
sub forma unui program) pentru a obtine o form
a redus
a/minim
a ca o functie
disjunctiv
a, FD, sum
a de produse sau ca o functie conjunctiv
a, FC, produse de
sume (vezi sectiunea 1.1.5).
4. Implementarea circuitului. Forma FC sau FD se potriveste astfel nc
at implementarea s
a fie realizat
a cu tipurile de poart
a impus
a/disponibil
a si n functie
de tehnologia utilizat
a. Se deseneaz
a structura circuitului.
5. Se testeaz
a circuitul si se elaboreaz
a documentatia.

2.3. REALIZAREA CIRCUITELOR COMBINAT


IONALE

201

Functiile FC sau FD obtinute la punctul 3 pot fi implementate pe dou


a niveluri
logice. Aceasta presupune, implicit, c
a la intrare sunt disponibile variabilele at
at sub
form
a negat
a c
at si sub form
a nenegat
a. Aceast
a presupunere se bazeaz
a pe faptul
c
a variabilele sunt memorate cu registre a c
aror iesiri sunt disponibile at
at negate c
at
si nenegate.
Teoretic, se pune ntrebarea, utiliz
and cele patru tipuri de porti uzuale AND,
OR, NAND, NOR, c
ate combinatii de implementare pe dou
a niveluri sunt posibile?
Implementarea pe dou
a niveluri are mai multe porti de acelasi tip pe primul nivel iar
pe al doilea nivel o singur
a poart
a; nu este restrictionat
a utilizarea aceluiasi tip de
poart
a pe ambele niveluri. Rezult
a n total 16 combinatii de implementare pe dou
a
niveluri, dar dintre acestea opt variante sunt degenerate (AND-AND, AND-NAND,
OR-OR, OR-NOR, NAND-OR, NAND-NOR, NOR-AND, NOR-NAND). Variantele
degenerate se reduc la un singur operator, de exemplu porti AND n primul nivel si
poart
a AND n al doilea nivel produce o iesire care este un AND de toate variabilele
de intrare. Celelalte opt variante nedegenerate sunt:
AND-OR
NAND-NAND
NOR-OR
OR-NAND

OR-AND
NOR-NOR
NAND-AND
AND-NOR

Formele situate pe acelasi r


and sunt duale (Definitia 1.2). Variantele AND-OR si
OR-AND sunt cele de baz
a si corespund implement
arii directe a formelor FD, sum
a
de produse, repsectiv FC, produs de sume. Variantele cu un singur tip de poart
a
NAND-NAND si NOR-NOR se obtin prin transform
ari respectiv a variantelor de baz
a
AND-OR si OR-AND. Conversia AND-OR n NAND-NAND apare ca o transformare
natural
a dar nu la fel de natural
a apare conversia n NOR-NOR, Figura 1.5-a,b. De
asemenea, conversia OR-AND n NOR-NOR apare ca o transformare natural
a dar
mai putin natural
a apare conversia n NAND-NAND, Figura 1.5-c,d.
Se poate demonstra c
a variantele de implementare NAND-AND si AND-NOR sunt
echivalente: (AB)(CD) = (AB)(CD) = (AB) + (CD). In plus, aceste doua variante
se obtin din varianta de baz
a AND-OR, sum
a de produse, prin negare adic
a, ANDOR-NEGAT Figura 2.20-a. Varianta AND-OR de implementare este a unei functii
f care se obtine ca sum
a de produse prin acoperirea tuturor c
asutelor elementare
cu 1 din diagrama V-K, pe c
and varianta AND-OR-NEGAT de implementare este a
care se obtine ca sum
functiei negate, f,
a de produse prin acoperirea tuturor c
asutelor
elementare cu 0 din diagrama V-K. Dac
a din diagrama V-K forma f se obtine mai
usor, atunci aceasta se extrage si apoi prin complementare produce pe f .
De asemenea, exist
a echivalenta
ntre NOR-OR si OR-NAND: (A + B) + (C + D)
= (A + B) + (C + D) = (A + B)(C + D) si care se obtin din forma de baz
a OR-AND,
produs de sume negat, adic
a OR-AND-NEGAT, Figura 2.20-b. Dac
a extragerea
functiei f ca produs de sume din diagrama V-K, prin selectarea suprafetelor cu zero,
este o operatie mai complicat
a dec
at extragerea functiei f ca produs de sume din diagrama V-K prin selectarea suprafetelor cu unu, atunci se procedeaz
a pentru obtinerea
lui f care, apoi, prin negare genereaz
a pe f .
Definitia 2.7 Pentru un CLC cu n intr
ari se noteaz
a ad
ancimea D(n), care
este egal
a cu num
arul maxim de niveluri logice (porti) prin care se propag
a cel putin

202

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

A
B

A
B

A
B

A
B

C
D

C
D

C
D

C
D

a)

NANDAND

ANDNOR

A
B

A
B

A
B

A
B

C
D

C
D

C
D

C
D

b)

NOROR

ORNAND

ANDOR

NEGAT

ORAND

NEGAT

Figura 2.20 Echivalenta formelor de impelmentare pe 2 niveluri: a)NAND-AND


cu AND-NOR (echivalent AND-OR-NEGAT) ; b) NOR-OR cu OR-NAND ( OR-ANDNEGAT).

unul dintre semnalele de la intrare p


an
a la iesire. 

Ad
ancimea minim
a obtinut
a pentru implementarea unei functii FC sau FD este
egal
a cu 2. Dintre variantele nedegenerate de implementare pe dou
a niveluri sunt
recomandate NAND-NAND si NOR-NOR deoarece:
1. introduc o uniformitate structural
a prin utilizarea aceluiasi tip de poart
a, deci
facilit
ati tehnologice.
2. elimin
a efectele de propagare. La frecvente ridicate, c
and durata/l
atimea impulsurilor este redus
a, transferul unui impuls printr-un lant de porti neinversoare
poate duce la disparitia acestuia (reducerea l
atimii impulsului dup
a propagarea
prin fiecare nivel logic), ceea ce nu se nt
ampl
a la tranferul impulsului printrun lant de porti inversoare. Un astfel de fenomen se explic
a prin faptul c
a, n
general, pLH > pHL , n consecinta
, la transferul prin fiecare poart
a neinversoare l
atimea inpulsului se ngusteaz
a cu duarata = pLH pHL , pe c
and la
transferul printr-un lant de porti inversoare, l
atimea impulsului se reface dup
a
fiecare 2 niveluri logice.
Ad
ancimea D(n) a unui circuit reflect
a timpul de propagare care este egal cu
durata de propagare printr-o poart
a, p , nmultit cu num
arul n de niveluri logice, deci
determin
a performanta, frecventa de lucru a circuitului f = 1/n p . In acest sens,
rezult
a c
a implement
arile pe dou
a niveluri sunt cele recomandate deoarece determin
a
un timp minim de propagare, 2p , prin circuit. Totusi, acest
a recomandare trebuie
analizat
a critic n functie de tehnologia de implementare.
Pentru realizarea CLC pe suport de circuit imprimat si porti logice discrete implementarea functiei pe dou
a niveluri logice este optim
a. Este corect
a aceast
a afirmatie
mai ales c
and portile sunt n tehnologie bipolar
a, la care timpii de propagare sunt
mai putin sensibili la valoarea de nc
arcare (fan-out). Nu aceeasi valabilitate o are
aceast
a afirmatie pentru implement
arile integrate n tehnologie CMOS.
In tehnologie CMOS, c
and nt
arzierea pe poart
a este pronuntat afectat
a de nc
arcarea portii, implementarea pe dou
a niveluri logice s-ar putea s
a nu fie cea optim
a

203

2.3. REALIZAREA CIRCUITELOR COMBINAT


IONALE

de
pentru optinerea unui circuit de vitez
a ridicat
a. Alegerea num
arului optim N
niveluri logice pe un anumit traseu n functie de nc
arcarea traseului este prezentat
a n
sectiunea 1.5.6.2, Tabelul 1.15. Obtinerea unei expresii pentru o implementare multinivel, dintr-o form
a redus
a dinsjunctiv
a, se realizeaz
a prin utilizarea axiomei distributivit
atii. De exemplu, expresia ACD + AB + BC, implementabil
a pe dou
a niveluri
AND-OR ca n Figura 2.21-a, prin factorizarea variabilei A va fi implementabil
a pe
patru niveluri: dou
a porti AND pe primul nivel, o poart
a OR pe nivelul doi, o poart
a
AND pe nivelul trei si o poart
a OR pe nivelul patru. Dar aceast
a structur
a poate fi
transformat
a pentru o implementare, tot pe patru niveluri, numai cu porti NAND ca
n Figura 2.21-b. Formele de scriere care exprim
a aceste implement
ari sunt:
ACD + AB + BC = A(CD + B) + BC = ((CD B)A)(BC)

A
C
D
B
A
B
C
a)

C
D
B
A
B
C
b)

a
b

Figura 2.21 Implementarea expresiei ACD + AB + BC pe dou


a niveluri logice (a) si
pe patru niveluri logice (b).

Prin scalare, (Tabelul 1.11) timpul de propagare pe poart


a se micsoreaz
a dar
datorit
a faptului c
a la aceleasi dimensiuni ale cipului majoritatea traseelor de comunicatie/ interconectare r
am
an la aceleasi lungimi, acestea determin
a ca o serie de
alti parametrii ai circuitului (c
aderea de tensiune, densitatea de curent, rezistentele
de contact, timpul de propagare pe linie) s
a fie afectati de degrad
ari (vezi sectiunea
4.5). In plus, diminuarea puterii disipate pe poart
a determin
a o abilitate micsorat
a
a portii pentru comanda capacit
atii liinilor. In asemenea circumstante, c
and scalarea
are influenta
mult mai mare asupra timpilor de propagare prin porti dec
at asupra
timpilor de propagare prin conexiuni, nt
arzierea medie pe nivel logic este mai puternic
determinat
a de interconexiuni dec
at de porti, n consecinta
, un num
ar redus de porti
nseriate nu determin
a automat si performanta
de vitez
a ridicat
a pentru circuit.
Un CLC cu n intr
ari, pe l
ang
a ad
ancimea D(n), mai trebuie caracterizat si prin
efortul structural necesar pentru realizarea sa, adic
a prin dimensiunea sa, notat
a cu
S(n). Dar, acest efort trebuie exprimat printr-un num
ar ce reflect
a si este specific unei
tehnologii de implementare. De exemplu, pentru realizare pe plac
a de sticlotextolit
cu circuite integrate discrete, acel num
ar ar putea fi: num
arul de puncte de wrapping
ori de lipit, num
arul de circuite integrate sau num
arul tuturor intr
arilor n circuitele
integrate. Dac
a se realizeaz
a integrat, acel num
ar ar putea fi: num
arul total de porti,
num
arul tuturor intr
arilor n portile circuitului sau suprafata de siliciu consumat
a.
Definitia 2.8 Dimensiunea S(n), asociat
a unui circuit cu n intr
ari, se exprim
a
prin num
arul de intr
ari al tuturor circuitelor integrate din care se configureaz
a acel

204

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

circuit. In general, S(n) se exprim


a ca ordin de m
arime. 
Conform acestei definitii, toate circuitele cu patru intr
ari (n = 4) pe dou
a niveluri
din Figura 2.20 au S(4) = 6, iar cele pe trei niveluri au S(n) = 7, iar circuitele din
Figura 2.12 au S(n) = 1 + 2 + (n 2) 4 = 4 n 5 O(n)
Semnal
am corelatia care se poate face ntre dimensiunea S(n), dat
a prin Definitia
2.8 si efortul logic exprimat prin Definitiile 1.16, 1.17 si 1.18. Conform Definitiei 2.8 ,
o poart
a cu c
at are mai multe intr
ari, cu at
at dimensiunea sa este mai mare si, la fel,
un CLC cu c
at este compus din mai multe porti si acestea au dimensiunea mai mare,
cu at
at dimensiunea rezultat
a va fi mai mare. Similar, o poart
a logic
a CMOS cu c
at
are mai multe intr
ari, are un efort logic g(n) mai mare, relatiile de calcul din Tabelul
1.13 exprim
a clar aceast
a dependenta
. De asemenea, cu c
at un traseu n tehnologie
CMOS este realizat din mai multe niveluri, si fiecare nivel are efortul logic mai mare,
cu at
at si efortul logic G al traseului este mai ridicat. Deci, pentru implement
arile
CMOS s-ar purtea utiliza efortul logic ca o m
asur
a a dimensiunii circuitului.
Intre cele dou
a m
arimi S(n) si D(n), care caracterizeaz
a un CLC, exist
a o interdependenta
, vizibil
a si intuit
a de oricare proiectant, dar care nu este exact definit
a.
Practic, se constat
a c
a dac
a se caut
a pentru CLC o variant
a de implementare mai
rapid
a, deci cu un D(n) mai mic, se constat
a c
a este necesar s
a se m
areasc
a dimensiunea S(n). In [Stefan 0 00] se propune o formalizare a acestei interdepentente: fie varianta1 a a unui circuit cu n intr
ari care realizeaz
a functia f caracterizat
a prin S 1 (n) si
D1 (n). Dac
a varianta2 a acestui circuit este caracterizat
a prin D2 (n) < D1 (n) atunci,
relatia ntre produsele S(n) D(n), ale celor dou
a variante, este corect
a
S2 (n) D2 (n) > S1 (n) D1 (n)

(2.9)

adic
a, m
arirea performantei circuitului (micsorarea ad
ancimii) cu un anumit factor
(de performata
) implic
a cresterea dimensiunii circuitului de mai multe ori dec
at valoarea acestui factor de preformata
(vitez
a).
Pentru compararea variantelor de realizare a unui CLC trebuie s
a existe un parametru sintetic, acesta poate fi exprimat prin raportul cost/performant
a (care
exprim
a c
at cost
a unitatea de performanta
). Costul este determinat de dimensiunea
S(n) exprimat
a nu neap
arat n functie de num
arul de terminale, ca n Definitia 2.8 ,
ci de oricare caracteristic
a ce poate determina dimensiunea. In plus, pe l
ang
a S(n),
costul este determinat si de complexitate C(n), definitia 2.1 . Un circuit chiar de
dimensiune mare dar simplu (structur
a ordonat
a, repetitiv) poate fi realizat la un cost
rezonabil, nu la fel se poate afirma despre costul unui circuit de dimensiune ridicat
a
si complex (structur
a nt
ampl
atoare - random logic).
Un alt aspect urm
arit n realizarea unui CLC este de ordin calitativ, adic
a o
functionare corect
a, ceea ce implic
a eliminarea situatiilor de hazard. De asemenea,
uneori, se impune ca circuitul s
a fie reconfigurabil, adic
a adaptabil prin modificarea
structur
arii pentru mai multe aplicatii sau pentru aceeasi aplicatie dar n diferite
variante. Reconfigurabilitatea a devenit un concept curent n sistemele digitale
actuale.

2.3.1

Hazardul static

Analiza circuitelor combinationale s-a efectuat p


an
a acum consider
and regimul
static (intr
arile si iesirile nu au variatii n timp), pentru aceasta se presupune c
a

2.3. REALIZAREA CIRCUITELOR COMBINAT


IONALE

205

din momentul de modificare a valorilor variabilelor de intrare a trecut deja un timp


mult mai lung dec
at timpul de propagare prin circuit (regimul tranzitoriu), deci iesirea
este stabilizat
a. In regim static, valoarea logic
a a iesirii se calculeaz
a corect cu functia
logic
a a circuitului. Dar, ce se nt
ampl
a n intervalele tranzitorii, pe intervalele de
timp c
and semnalele sunt n propagare de la intrare la iesire? La aplicarea unei
configuratii pe intrare, de multe ori, valoarea logic
a real
a (obtinut
a la iesire pe durata
regimului tranzitoriu) nu este identic
a cu valoarea logic
a la iesire calculat
a cu functia
logic
a a circuitului; valoarea logic
a la iesire devine egal
a cu cea calculat
a numai dup
a
consumarea regimului tranzitoriu. Aceste situatii c
and CLC, care trebuie s
a aib
a un
,,
comportament controlabil, prezint
a o functionare hazardat
a (necontrolat
a) fat
a de
analiza n regim static sunt referite cu termenul de hazard static. Fizic, hazardul
static se manifest
a prin aparitia n semnalul de iesire a unor impulsuri parazite
(glitch-uri) fie cu nivel logic H fie cu nivel liogic L. Posibilitatea de producere
a glitch-urilor pe durata regimurilor tranzitorii apare ca o consecinta
a dou
a cauze:
1) comutarea asincron
a a valorilor variabilelor de intrare (hazardul datorat asincronismului la intrare); 2) existenta pentru o variabil
a de intrare a dou
a trasee de propagare
cu nt
arzieri diferite (hazardul de propagare).
1) Hazardul datorit
a asincronismului la intrare.
Trecerea de la o valoare logic
a a iesirii la o alt
a valoare logic
a este cauzat
a de modificarea (comutarea)
configuratiei cuv
antului de intrare. Implicit, s-a considerat, p
an
a acum, c
a aceast
a
comutare a tuturor variabilelor de intrare de la o anumit
a configuratie la o alta se
face n acelasi moment de timp, se realizeaz
a o comutare sincron
a. In realitate, c
and
se trece de la o configuratie a variabilelor de intrare la o alta exist
a un decalaj ntre
momentele de comutare ale diferitelor variabile, poate numai nt
ampl
ator exist
a o
comutare sincron
a. De fapt, acest asincronism face ca ntre configuratia de intrare
prezent
a si configuratia de intrare urm
atoare s
a se interpun
a, pe durata regimului
tranzitoriu, una sau mai multe configuratii de intrare care produc glitch-uri n semnalul de iesire.
Aparitia hazardului datorit
a asincronismului intr
arilor este exemplificat n Figura
2.22 pentru portile AND, OR, XOR cu dou
a intr
ari. Consider
and o comutare spre
valori opuse ale intr
arilor A, B s-a desenat variatia semnalului de iesire at
at pentru
comutare sincron
a c
at si pentru comutare asincron
a. La comutare asincron
a, c
and
tranzitia negativ
a precede pe cea pozitiv
a, tL < tH ,, sau c
and tranzitia pozitiv
a
precede pe cea negativ
a, tH < tL , semnalul de iesire din poart
a poate fi nc
arcat cu
glitch-uri (hazard). Acest semnal de iesire, dac
a va fi utilizat ca semnal de intrare
pentru un circuit urm
ator, va produce o functionare eronat
a. Se poate evita hazardul
de nesincronizare dac
a se impune ca n configuratia de intrare niciodat
a s
a nu comute
mai mult de o singur
a variabil
a sau nainte de aplicarea configuratiei pe intr
arile
circuitului aceasta s
a fie sincronizat
a (vezi Figura 3.46).
2) Hazardul de propagare. Dac
a la o poart
a din interiorul circuitului, sau
din nivelul de iesire al circuitului, semnalele aplicate la intrarea circuitului ajung
pe trasee diferite, care implic
a nt
arzieri diferite, atunci la iesirea acelei porti poate
apare hazard. De fapt, la poarta generatoare de hazard semnalele se aplic
a la intervale
de timp diferite ceea ce, de fapt, reduce hazardul de propagare tot la un hazard de
asincronism, numai c
a de data aceasta asincronismul nu este la intr
arile circuitului ci la
intr
arile unei porti din circuit, adic
a n interiorul circuitului. De exemplu, la circuitul
pe patru niveluri din Figura 2.21-b p
an
a la intrarea portii NAND de pe ultimul nivel

206

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

;;

Comutare sincrona

;9; :9 :9 :9 :9 :9
<

<<

/ .- /0 -.
3 21 34 21 5 5 5
6 6 6

t L< tH

t H< t L

tL

tH

t H< t L

t L< tH

tL

tH

AB

tL

tH

AB

A+B

A+B

<=
==
=>
>>

A+B

>?

??7 87 87 87 87 87
?

A+B

A+B

AB
A+B

Comutare asincrona

tH

tH

tL
tL tH

tL

t
t

Figura 2.22 Explicativ


a pentru aparitia hazardului datorit
a asincronismului la
intr
arile portilor AND,OR si XOR

variabilele parcurg: A -un nivel logic, B -pe un traseu dou


a niveluri logice si pe alt
traseu un nivel logic, C -trei niveluri logice, C un nivel logic, D -trei niveluri logice.
Rezult
a c
a chiar dac
a configuratia de intrare se aplic
a sincron, la intrarea ultimei
porti, cele dou
a semnale A si B vor avea o variatie hazardat
a determinat
a de timpii
de propagare ai portilor de pe traseele parcurse. Calculul exact al nt
arzierilor pe
fiecare traseu nt
ampin
a dificult
ati deoarece ca dat
a de catalog este dat doar timpul
de propagare maxim nu si cel minim, care, n general, un este identic la toate portile
(depinde de dispersia tehnologic
a) si este functie si de nc
arcarea pe iesirea portii.
Dar chiar si la implement
arile pe dou
a niveluri se poate genera hazard de propagare
n cazurile c
and unele variabile negate sunt generate n interiorul circuitului (de fapt
negarea n interiorul circuitului introduce pentru unele semnale al treilea nivel de
propagare). In aceste cazuri rezut
a c
a implement
arile de tipul AND-OR, NANDNAND produc hazard static 1, adic
a pe durata regimuluii tranzitoriu, chiar c
and
doar o singur
a variabil
a de intrare comut
a, n semnalul de iesire care ar trebui s
a fie 1
apare un glitch 0; de asemenea, implement
arile de tipul OR-AND, NOR-NOR produc
hazard static 0, adic
a pe durata regimului tranzitoriu n semnalul de iesire care ar
trebui s
a fie 0 apare un glitch 1.
Teorema

2.1

Dac
a expresia unei functii poate fi adus
a la forma
f (xn1 , xn2 , ..., xi , ..., x1 , x0 ) = xi + xi

atunci, ntr-un circuit implementat cu porti logice, se va genera hazard static 1 la


comutarea variabilei de intrare xi din 1 n 0 (pentru valori precizate ale celorlalte
variabile de intrare).
Se va exemplifica aparitia hazardului pe urm
atoarele dou
a functii: f1 = AB +
ABC, f2 = AB + AC. Functia f1 nu poate fi adus
a pentru nici o combinatie de
valori ale variabilelor B si C la forma A + A si la fel nu poate fi adus
a la forma
+ B pentru nici o combinatie de valori date variabilelor A si C. A doua functie
B

207

2.3. REALIZAREA CIRCUITELOR COMBINAT


IONALE

1
0

B=1

a)

1
0
1
0
1
0
b)

@A

f 2=AB+AC
AB

A
3

A+A
c)

AB=A1

F(A,B,C)=A+A

01

11

1
1

BC (adaugat)
A
B=1

00

1
0

AC=A1=A

AC

AC

C=1

BC

C=1
d)

1
AB

AB

p
2

10

AC

3
BC
(adaugat)

Figura 2.23 Analiza aparitiei hazardului static 1 pentru functia f 2 = AB + AC:


a) structura circuitului; b,c) analiza aparitiei hazardului pe diagrama de semnale respectiv
pe diagrama V-K; d) modificarea circuitului (linie ntrerupt
a) pentru eliminarea hazardului.

poate fi adus
a la forma f2 = A + A dac
a B = C = 1. Rezult
a c
a circuitul, Figura
2.23-a, care implementeaz
a functia f2 , prezint
a hazard static 1; generarea hazardului se poate analiza cu ajutorul diagramelor de semnal din Figura 2.23-b. Variatia
variabilei A, de la 1 la 0, ajunge la intrarea portii 3 pe primul traseu prin semnalul

produs logic AB de la poarta 1 si pe al doilea traseu prin semnalul produs logic AC


de la poarta 2 (dar cu o nt
arziere p ), deci un asincronism la intrarea portii 3. De
asemenea, analiza aparitiei hazardului static 1 se poate face si pe diagrama V-K din
Figura 2.23-c. Functia are valoarea logic
a 1 la iesire c
and configuratia variabilelor de
intrare corespunde unui implicant prim, IP, implicant ce a fost selectat pentru expri,,
marea functiei. Mai plastic exprimat, punctul de functionare al functiei se afl
a n
interiorul suprafetei unui implicant prim c
and la intrarea circuitului se aplic
a valorile
coordonatelor acelui implicant. Dac
a prin comutarea unei singure variabile punctul
,,
de functionare r
am
ane n interiorul suprafetei acelui implicant prim nu se genereaz
a
,,
hazard (iesirea fiind asigurat
a n valoare 1), dar dac
a punctul de functionare trece n
interiorul suprafetei unui alt implicant prim, se genereaz
a hazard static 1 (iesirea, pe
durata trecerii ntre cele dou
a suprafete/implicanti nu mai este asigurat
a n 1, devine
0). In diagrama V-K a functiei f2 la comutarea lui A de la 1 la 0 se trece din suprafata
implicantului prim AB (pentru care iesirea este n 1) n suprafata implicantului prim
AC (pentru care iesirea este n 1). Pentru ca prin aceast
a comutare punctul de
,,
functionare s
a r
am
an
a totusi n interiorul unei suprafete de 1 (care s
a asigure iesirea
,,
la valoarea 1) se introduce nc
a o suprafata
n diagrama V-K (o suprafata
punte
ntre suprafetele celor doi implicanti primi) care corespunde implicantului prim BC.
In consecinta
, n structura circuitului, Figura 2.23-d, trebuie ad
augat
a poarta 4 care
genereaz
a produsul BC (partea de circuit desenat
a punctat). Fizic, introducerea im-

208

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

plicantului prim neesential BC elimin


a hazardul deoarece asigur
a iesirea functiei n
1 pe durata de propagare, p , a semnalului A prin poarta inversoare c
and la iesire ar
fi A + A = 0.
Ca regul
a general
a, se poate enunta: nu apare hazard la comutarea unei variabile
,,
dac
a punctul de functionare r
am
ane n interiorul aceleiasi suprafete de 1, dar dac
a
se trece ntr-o alt
a suprafata
de 1, se va produce hazard static 1. Pentru eliminarea
hazardului este necesar
a introducerea unui produs n structura circuitului a c
arui
,,
coordonat
a determin
a o suprafata
punte (implicant prim cu valoarea 1) pe diagrama
,,
V-K, n interiorul c
areia s
a r
am
an
a punctul de functionare la comutarea variabilei.
Functia (A+B)(A +C), care este forma dual
a a functiei analizate anterior, pentru
va genera hazard static 0, adic
valorile C = 0, B = 0 se reduce la produsul A A,
a va
produce un glitch 1 pe iesire c
and variabila de intrare A va comuta de la 0 la 1. Pentru
eliminarea acestui glitch este necesar a se introduce n implementarea circuitului a
termenului sum
a (suplimentar) B + C, care va asigura valoarea 0 pe iesirea functiei
atunci c
and A comut
a de la 0 la 1.
,,
In exprim
arile anterioare, de multe ori, n loc de sintagma forma minim
a a
functiei s-a utilizat forma redus
a. Aceasta pentru c
a chiar dac
a prin sintez
a se
obtine o form
a minim
a, prin implementare, pentru eliminarea hazardului, se introduc implicanti neesentiali si n final se ajunge la o form
a redus
a. Circuitul din
Figura 2.23-d demonstreaz
a aceasta, pentru eliminarea hazardului static, formei mia termenul BC, deci implementarea este a unei forme
nime AB + AC i se adaug
reduse.
Producerea asincronismului la intararea unei porti prin aplicarea unei variabile si
a aceleiasi variabile negate (prin intermediul unui inversor) poate fi utilizat
a pentru
detectarea de fronturi, Figura 2.24. La aceste circuite dac
a se consider
a punctele
de intrare n poart
a n pozitia figurat
a de linia ntrerupt
a notat
a cu I 1 se observ
a
un asincronism la intrarea portii; variatia pe intrarea A apare totdeauna nt
arziat
a
cu timpul p de propagare prin inversor n raport cu variabila pe intrarea A. Poarta
A

A
I1
p
p
p

AA
A+A
A+A

AA

A+A

A+A

t
t

Figura 2.24 Circuite cu porti AND, OR, XOR pentru detectarea de fronturi.

2.4. CLC PENTRU FUNCT


II LOGICE

209

AND genereaz
a un impuls pozitiv cu durata p pentru un front pozitiv, poarta OR
genereaz
a un impuls negativ pentru un front negativ, iar poarta XOR genereaz
a un
impuls negativ pentru oricare tip de front.
La iesirea unui CLC poate ap
area pentru o comutare a unei variabile de intrare de
la 1 la 0 si urm
atoarea comutare hazardat
a 1 0 1 0 (trei schimb
ari ale valorii
iesirii) respectiv pentru o comutare de la 0 la 1 pot ap
area urm
atoarele trei schimb
ari
ale iesirii: 0 1 0 1, acest comportament este referit ca hazard dinamic.
Hazardul dinamic este cauzat de existenta n circuit a trei sau mai multe trasee diferite
pentru o variabil
a de intrare, fiecare traseu av
and un alt timp de propagare. Astfel
de structuri rezult
a n urma factoriz
arii expresiilor sum
a de produse, Figura 2.21-b,
sau c
and exist
a trasee lungi de interconectare ntre porti de vitez
a ridicat
a. Hazardul
dinamic poate fi evitat dac
a se realizeaz
a implement
ari numai pe dou
a niveluri logice,
adic
a aducerea expresiei de implementat la o form
a FD.
Notiunile prezentate p
an
a acum n acest capitol mpreun
a cu cele de structurarea
portilor, expus
a n capitolul 1, constituie un suport pentru realizarea unui CLC
pornind de la formularea function
arii cerute/impuse p
an
a la implementarea ntr-o
anumit
a tehnologie. Dar, parcurgerea tuturor etapelor, de fiecare dat
a c
and se realizeaz
a un sistem, apare ca o abordare nerecomandat
a at
at din punct de vedere al
efortului c
at si al timpului consumat, deci n final al costului. In acest sens, este reco,,
mandabil ca pentru realizarea unui sistem s
a se utilizeze componente prefabricate .
In cadrul circuitelor combinationale pentru anumite functii logice, aritmetice sau de
comunicatie foarte des utilizate, exist
a deja circuite care modeleaz
a acele functii realizate ntr-o anumit
a tehnologie, integrate pe scar
a mic
a SSI (Small Scale Integration),
pe scar
a medie MSI (Medium Scale Integration) sau chiar integrate pe scar
a mare
LSI (Large Scale Integration) . In stadiul actual, c
and este necesar
a realizarea unei
astfel de functii uzuale, nu se mai implementeaz
a circuitul, ci se alege un circuit obtenabil comercial pentru care este necesar
a cunoasterea datelor electrice de catalog si a
variantelor de functie logic
a. Pentru un sistem mai complex, functia acestuia se caut
a
a fi sintetizat
a din functii uzuale pentru care exist
a deja circuite implementate, deci
realizarea sistemului se reduce la selectarea potrivit
a de componente integrate deja
existente si conectarea lor corespunz
ator. Functiile uzuale care au un suport
circuistic combinational sunt de tip: logic, aritmetic si de comunicatie. In
continuare, n acest capitol, se vor prezenta unele circuite combinationale, de facto
standard, care realizeaz
a astfel de functii.

2.4

CIRCUITE COMBINAT
IONALE PENTRU
FUNCT
II LOGICE

Forma redus
a, sau cea minim
a, a functiei unui circuit combinational este fie o sum
a
de produse, fie un produs de sume. Aceste forme pot fi implementate pe organiz
ari cu
dou
a niveluri de AND-OR (NAND-NAND) sau OR-AND (NOR-NOR). In consecinta
,
este normal ca pentru implementarea unei functii reduse, sau minime, s
a se apeleze la
acele structuri, pe dou
a nivele, deja realizate. Pentru toate circuitele combinationale
prezentate n continuare se va urm
ari m
asura n care acestea pot fi un suport pentru
implementarea de functii logice pe dou
a niveluri.

210

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

2.4.1

Codificatorul

Functia de codificare const


a ntr-o translatare de limbaj. Particulariz
and aceast
a
foarte general
a definitie, o codificare n binar const
a ntr-o aplicatie de pe o multime
cu n elemente disjuncte ntr-o multime de cuvinte binare cu lungime de m biti;
m = dlog2 ne biti, 2m n (simbolul d e denot
a cel mai mic num
ar ntreg egal sau
mai mare dec
at num
arul din interiorul simbolului). Deci, circuitul codificator, CDC,
este caracterizat de n intr
ari si m iesiri, notat simbolic cu CDCn:m. Aplicatia realizat
a de circuitul codificator este injectiv
a, adic
a fiec
arei intr
ari active, din cele n, i
corespunde doar un singur cuv
ant de iesire cu lungimea de m biti.
Pentru exemplificare se va prezenta sinteza unui codificator din zecimal (DEC)
n cod BCD, cu schema bloc reprezentat
a n Figura 2.25-a. Circuitul are 10 intr
ari
(I0 , I1 , I2 , ..., I9 ) corespunz
atoare celor zece cifre zecimale si genereaz
a un cuv
ant de
iesire pe 4 biti (24 > 10). La aplicarea pe intrare a cifrei zecimale i, prin activarea
intr
arii Ii , la iesire se genereaz
a codul BCD al cifrei i. Detaliat, functionarea codificatorului DEC/BCD este descris
a prin tabelul de adev
ar din Figura 2.25-b. Se poate
deduce expresia logic
a a iesirii O3 n felul urm
ator: O3 are valoarea logic
a 1 numai
c
and la intrare se aplic
a cifra 8 sau cifra 9, adic
a este activat
a intrarea I 8 SAU I9 ,
deci
O3 = I 8 + I 9
Ration
and n acelasi mod se deduc ecuatiile logice si pentru ceilalti trei biti ai

DEC

I0
I1
I2
I3
I4
I5
I6
I7
I8
I9

a)

Intrarea
activata
(cifra
zecimala)

I0
I1
O1 y1
I2
BCD I
3
O2 y2
I4
O3 y3
I5
I6
I7
I8
I9
O0 y0

("0")
("1")
("2")
("3")
("4")
("5")
("6")
("7")
("8")
("9")

Cod BCD
O3 O2 O1O0
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

"0"

I0

"1"

I1

"2"

I2

"3"

I3

"4"

I4

"5"
"6"
"7"
"8"
"9"

I5
I6
I7
I8
I9

BC DE

DEC/BCD
O0 y0

FG HI UT
JK LM NO

20

O1 y1
21

PQRS VW XY

O2 y2
22

O3 y3
23

b)
CV

c)
Figura 2.25 Sinteza circuitului codificator zecimal-binar, DEC/BCD: a) schema
bloc; b) tabelul de adev
ar; c) structura circuitului.

2.4. CLC PENTRU FUNCT


II LOGICE

211

cuv
antului de iesire:
O2 = I 4 + I 5 + I 6 + I 7
O1 = I 2 + I 3 + I 6 + I 7
O0 = I 1 + I 3 + I 5 + I 7 + I 9
Structura circuitului codificator, implementat pe baza acestor ecuatii, este reprezentat
a n Figura 2.25-c si se compune din patru porti OR cu 2,4 si 5 intr
ari.
In cazul general de codificare a n elemente, prin activare n 1 logic, pe cuvinte
binare cu lungimea de m biti circuitul codificator const
a n m porti OR cu maximum
n intr
ari, iar c
and intr
arile Ii L sunt active n 0 logic codificatorul este structurat din
m porti NAND cu maxim n intr
ari.
Observatia important
a care rezult
a din aceast
a implementare este: Codificatorul este implementat pe un nivel OR sau operatia de codificare este o functie
logic
a OR.
Analiz
and implementarea CDC apar dou
a deficiente. Prima, la iesire nu se poate
face distinctie ntre cazul c
and cuv
antul de cod pe iesire are valoarea O 3 O2 O1 O0 =
0000, datorit
a faptului c
a nu s-a activat nici o intrare, sau cazul c
and s-a activat
intrarea I0 . Se poate face distinctia ntre cele dou
a cazuri dac
a se genereaz
a un
semnal de iesire CV care semnalizeaz
a cod valid CV = 1, respectiv cod invalid CV
= 0. Citirea unui cod invalid CV = 0 apare numai atunci c
and nu este activat
a nici
o intrare si este citit un cod corect c
and una din intr
ari Ii este activat
a, deci rezult
a
ecuatia logic
a CV = (I0 + I1 + ... + I8 + I9 ), care este implementat
a n Figura 2.25-c
prin traseele cu linii punctate si o poart
a OR.
A doua deficienta
const
a n faptul c
a CDC functioneaz
a corect numai c
and o
singur
a intrare este activat
a, de exemplu la activarea simultan
a a intr
arilor I 3 si I4
cuv
antul de cod generat este 0111 (incorect!), care ar corespunde aplic
arii cifrei 7
dar intrarea I7 nu a fost activat
a ci doar I3 si I4 . Ca circuit codificator DEC/BCD,
obtenabil comercial, exist
a circuitul integrat 74xx147.

2.4.2

Codificatorul prioritar, CDCP

A doua deficienta
a circuitului codificator se poate elimina prin introducerea unei
priorit
ati n generarea codului. La o codificare cu prioritate, fiec
arei intr
ari I i i se
aloc
a o anumit
a prioritate n intervalul de la cea mai mic
a p
an
a la cea mai ridicat
a
prioritate. Astfel, la activarea simultan
a a mai multor intr
ari, codificatorul prioritar
va genera numai codul intr
arii activate care are prioritatea cea mai ridicat
a.
Pentru exemplificare se va considera un codificator prioritar cu opt intr
ari I 0 , I1 , ...,
I7 care genereaz
a pe cele trei iesiri O2 , O1 , O0 cuv
antul de cod de trei biti y2 y1 y0 n
binar natural, Figura 2.26-a. Pentru acest codificator CDCP8 : 3 alocarea priorit
atii
pe intr
ari este de la I0 spre I7 ; intrarea I0 are prioritatea cea mai mic
a iar I7 cea mai
ridicat
a.
Pentru urm
atorul cuv
ant X = x7 x6 x5 x4 x3 x2 x1 x0 = 00010111, aplicat pe intr
arile
corespunz
atoare, cuv
antul de cod generat este Y = y2 y1 y0 = 100 ceea ce corespunde
activ
arii intr
arii I4 , celelalte intr
ari activate I2 = 1, I1 = 1 si I0 = 1 nu afecteaz
a
cuv
antul de iesire deoarece au prioritate mai mic
a dec
at intrarea I 4 . Iar, pentru
cuv
amtul de cod generat pe iesire Y = y2 y1 y0 = 101, care corespunde activ
arii
intr
arii I5 = 1, configuratia cuv
antului de intrare este de forma x7 x6 x5 x4 x3 x2 x1 x0 =
001xxxxx, ceea ce nseamn
a c
a intr
arile de la I0 la I4 , care au prioritate mai mic
a dec
at

212

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

CDCP 8:3
x7
x6
x5
x4
x3
x2
x1
x0

I7
I6
I5
I4
I3
I2
I1
I0

E_L

O2
(2 2)

y2

O1
(2 1)

y1

O0
(2 0)

y0

Magistrala de date

D7
D5 D6
D3 D4
D1 D2
D0

y2

IRQ

y1

y0

CV

O2 O1 O0
CDCP 8:3
I7 I6 I5 I4 I3 I2 I1 I0 E

CV

x0

I0

E_L

O0 Y 0
CV

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

c)

a)

x1

CDCP 21:1
I1

b)

Figura 2.26 Codificatorul prioritar, CDCP: a) schema bloc pentru CDCP2 3 :3;
b) structura codificatorului prioritar elementar CDCP21 :1; c) sistem de intreruperi vectorizate implementat pe baz
a de CDCP8:3 (la un sistem pe baz
a de microprocesor).

I5 , pot fi activate sau nu (indiferente). Pentru codificatorul prioritar, ntre cuv


antul
X aplicat pe intrare si cel generat pe iesirea Y , interpretate ca numere ntregi n binar
natural, se poate scrie urm
atoarea relatie:
Y = blog2 Xc

(2.10)

Codificatorul calculeaz
a la iesire un num
ar ntreg Y care este partea ntreag
a
blog2 Xc a logaritmului n baza doi a num
arului X aplicat pe intrare. Deci, circuitul
codificator prioritar realizeaz
a si o functie aritmetic
a.
In continuare se va realiza sinteza logic
a a circuitului CDCP23 :3. Sinteza circuitului, pornind de la tabelul de adev
ar, se poate realiza doar cu un program de calcul
deoarece trebuie definite trei functii O2 , O1 , O0 fiecare de opt intr
ari I7 , ..., Ii , ..., I1 , I0
(ar necesita trei tabele de adev
ar cu 256 linii!). Sinteza poate fi mult usurat
a dac
a se
utilizeaz
a observatia: un cuv
ant binar la iesire, y2 y1 y0 |2 = i|10 , este generat de toate
cuvintele de intrare X care au bitii egali cu 0 n pozitiile superioare lui i, bitul egal
cu 1 n pozitia i si biti de valoare indiferent
a n pozitiile inferioare lui i. In spiritul
acestei observatii se pot introduce urm
atoarele variabile intermediare H i (care definesc
expresia logic
a pentru care intrarea Ii , 0 i 7, si genereaz
a codul pe iesire):
H7
H6
H5
.
.
H0

= I7
= I6 I 7
= I5 I 6 I 7
= I0 I 1 I 2 I 3 I 4 I 5 I 6 I 7

Cu aceste variabile intermediare sinteza codificatorului prioritar se realizeaz


a similar ca cea a codificatorului din sectiunea 2.4.1. Din tabelul cuvintelor de cod (num
arul
lor fiind limitat de data aceasta la opt), pentru fiecare intrare, Figura 2.25-b, se deduc
expresiile pentru O2 , O1 si O0 sub forma unor sume logice n felul urm
ator:

2.4. CLC PENTRU FUNCT


II LOGICE

213

O2 = H4 + H5 + H6 + H7
O1 = H2 + H3 + H6 + H7
O0 = H1 + H3 + H6 + H7
CV = I1 + I2 + I3 + I4 + I5 + I6 + I7
La grupul functiilor O2 , O1 , O0 s-a ad
augat si semnalul de cod valid la iesire, CV ,
dedus la sinteza codificatorului. Pentru ca circuitul CDCP23 : 3 s
a fie flexibil n
aplicatii mai trebuie nzestrat cu un semnal de validare functionare circuit, E L (Enable, activ n L, E = E L). Adic
a, circuitul va genera semnale numai c
and este
validat de c
atre semnalul E L = 0. Aceasta implic
a pentru semnalele O2 , O1 , O0 si
CV ca generarea lor s
a fie conditionat
a de activarea lui E L = 0. Din relatiile anterioare, prin substitutiile corespunz
atoare, se obtin urm
atoarele relatii logice pentru
structurarea circuitului CDCP23 :3:
O2 = E(I7 + I6 + I5 + I4 )
O1 = E(I7 + I6 + I3 I 4 I 5 + I2 I 4 I 5 )
O0 = E(I7 + I5 I 6 + I3 I 4 I 6 + I1 I 2 I 4 I 6 )
CV = E(I0 + I1 + I2 + I3 + I4 + I5 + I6 + I7 )

(2.11)

Aplicatiile CDCP2n :n sunt numeroase, majoritatea lor se bazeaz


a pe functia aritmetic
a, relatia 2.10, adic
a se determin
a dintr-o multime de elemente active pe acela
care are prioritatea maxim
a.
O astfel de aplicatie pentru CDCP este implementarea ntreruperilor vectorizate
la un microprocesor, P , Figura 2.26-b. Principial, succesiunea n realizarea ntreruperilor vectorizate este urm
atoarea:
c
and un periferic Pi (i = 0, 1, ..., 7) necesit
a serviciul P activeaz
a intrarea Ii ;
codificatorul prioritar CDCP8:3 va genera pe iesire (legat
a la magistrala de date)
codul zecimal-binar al intr
arii Ii si va activa semnalul de cerere de ntrerupere
(IRQ Interrupt ReQuest) al P , IRQ = CV ;
P sesiz
and, prin IRQ, o cerere de ntrerupere de la un periferic va citi de pe
,,
magistrala de date codul (vectorul ) perifericului respectiv;
cu ajutorul vectorului transmis P , acesta va calcula adresa din memorie unde
se afl
a subrutina care va rezolva problema perifericului solicitant. Se ruleaz
a
subrutina;
dup
a servirea perifericului se trece la servirea altui periferic dac
a semnalul IRQ
este activat.
Intr-un sistem de calcul pentru o functionare economic
a, si eventual n timp real,
fiec
arui periferic i se acord
a o anumit
a prioritate n raport cu celelalte. In aceast
a
aplicatie, printr-o implementare pe baza de CDCP8:3, fiec
arui periferic Pi i se fixeaz
a
prioritatea prin modul n care este conectat la una dintre cele opt intr
ari I0 , I1 , ..., I7
(se consider
a c
a prioritatea cea mai mare o are I7 iar cea mai mic
a o are I0 ). Dac
a
simultan IRQ este activat de perifericele P2 , P3 si P6 numai vectorul 101 va fi nscris
pe magistrala de date corespunz
ator perifericului P6 , deci acesta va fi servit. Dup
a

214

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

servirea perifericului P6 vor fi servite n ordine perifericele P3 si P2 dac


a acestea
mentin activate I3 respectiv I2 (IRQ=1).
Uneori, n aplicatii sunt necesare codificatoare prioritare cu mai mult dec
at opt
intr
ari, pentru care nu exist
a circuite de tip MSI obtenabile. Dac
a, de exemplu,
sunt necesare 16 intr
ari (x0 , x1 , ..., x7 , x8 , ..., x15 ) se va structura un CDCP24 :4 prin
nserierea a dou
a circuite CDCP23 :3 ca n Figura 2.27. La primul CDCP23 :3 se repartizeaz
a intr
arile x0 , x2 , ..., x7 , codificabile prin cuvintele de iesire y3 y2 y1 y0 =0000,
0001, ...,0111, iar la al doilea CDCP23 :3 se repartizeaz
a intr
arile x8 , x9 , ..., x15 , codificabile prin cuvintele de la iesire y3 y2 y1 y0 =1000, 1001, ...,1111. Din analiza cuvintelor
de cod se constat
a c
a bitul y3 are valoarea 1 totdeauna c
and cel putin o intrare din
intervalul x8 x15 este activat
a si are valoarea 0 c
and nici una dintre intr
arile din
acest interval nu este activat
a. Deoarece fiecare dintre codificatoare produce numai
trei biti de cod O2 , O1 , O0 bitul al patrulea din cod, y3 , va fi determinat de activarea
a cel putin unei intr
ari din intervalul x8 x15 , deci poate fi calculat prin semnalul
CV de la al doilea codificator, y3 = CV2 . Ceilalti trei biti de cod y3 , y2 , y1 sunt
generati fie pe iesirile O2 , O1 , O0 ale primului codificator, c
and se activeaz
a intr
ari
din intervalul x0 x7 , fie pe iesirile O2 , O1 , O0 ale celui de-al doilea codificator, c
and
se activeaz
a intr
ari din intervalul x8 x15 , deci rezult
a c
a se obtine cuv
antul de iesire
printr-un SAU ntre cuvintele corespunz
atoare celor dou
a codificatoare. Se observ
a c
a
o activare n intervalul x8 x15 , a semnalului CV = 1 (legat la intrarea de validare a
primului codificator care este activ
a n zero, E L=0) va devalida pe primul codificator
CV = E L = 1, acesta va fi validat numai c
and nu este activat
a nici o intrare din
intervalul x8 x15 , CV = E L = 0.
x 7 x 6 x 5 x 4 x 3 x 2 x 1x 0

x 15x 14x 13x 12x 11x 10x 9x 8

I7 I6 I5 I4 I3 I2 I1 I0
CV
CDCP 23:3
O2
O1
O0

y3

y2

E_L

y1

I7 I6 I5 I4 I3 I2 I1 I0
CV
CDCP 23:3
O2
O1
O0

y0

Figura 2.27 Structurarea unui codificator prioritar cu 16 intr


ari ca o extensie
serie de la un codificator prioritar cu 8 intr
ari.

Extensia la un codificator cu 32 de intr


ari, adic
a un CDCP25 :5, se poate obtine
4
printr-o nseriere a dou
a CDCP2 :4, fiecare cu o structurare ca cea din Figura 2.27.
Pentru o extensie care nu este o dublare a num
arului de intr
ari, de exemplu, la o
extensie de la 16 intr
ari la 24 intr
ari se nseriaz
a un CDCP23 :3 cu un CDCP24 :4.
Deoarece bitul al cincelea y4 , din cuv
antul de cod de iesire y4 y3 y2 y1 y0 , are valoarea
1, numai c
and exist
a o activare n intervalul de intr
ari x16 x23 , n rest are numai
valoarea 0, acest bit se obtine din semnalul CV de la CDCP 23 :3. De asemenea, bitul
y3 are valoarea 0 pe intervalul x15 x23 n rest se calculeaz
a ca n Figura 2.27. Cu

2.4. CLC PENTRU FUNCT


II LOGICE

215

aceste observatii se poate structura usor codificatorul prioritar cu 24 intr


ari.
Ecuatiile logice pentru cel mai simplu CDCP21 :1, cu dou
a intr
ari I0 , I1 si iesirea
O0 , referit codificator prioritar elementar, CDCPE, se obtin din relatiile 2.11
prin particularizarea I2 = I3 = I4 = I5 = I6 = I7 = 0
O0 = E I i
CV = E(I0 + I1 )

(2.12)

cu structurarea din Figura 2.26-b.


Pornind de la CDCP21 :1, prin dublarea repetat
a a num
arului intr
arilor si corespunz
ator cresterii cu un bit a cuv
antului de iesire, se pot defini si, respectiv, structura
recursiv codificatoarele CDCP22 :2, CDCP23 :3, CDCP24 :4,..., CDCP2n :n. Se va nota
pentru codificatorul CDCP2n :n, cu 2n intr
ari si un cuv
ant de cod de n biti, dimensiunea respectiv ad
ancimea prin S(n) si D(n). Structurarea recursiv
a pornind de la
CDCPE se poate face prin extensie paralel
a. In [Stefan 0 00]se demonstreaz
a c
a pentru
extensia paralel
a caracteristicile obtinute sunt S(n) 2n si D(n) O(2n ), adic
ao
dimensiune care depinde liniar de num
arul de intr
ari (2n ), acceptabil pentru implementare, si o ad
ancime tot liniar
a n functie de num
arul de intr
ari, deci performanta
de vitez
a sc
azut
a pentru n ridicat. Iar pentru structurarea serie, a unui CDCP2 n :n
pornind de la CDCPE, caracteristicile sunt S(n) 2n si D(n) O(n), de data aceast
a
rezult
a si pentru performanta de vitez
a o m
arime acceptabil
a.
Obtenabil comercial exist
a codificatorul cu 8 c
ai de intrare cu iesirea n cod binar
natural, 74xx148, a c
arui structur
a si functionare pot fi reg
asite n codificatorul generic
prezentat n Figura 2.26.

2.4.3

Decodificatorul, DCD

Functia de decodificare este o aplicatie de pe o multime de 2n cuvinte binare ntr-o


multime de 2n elemente distincte, prin decodificare fiec
arui cuv
ant binar cu lungimea
de n biti i se asigneaz
a un element distinct. Deci, functia de decodificare apare
ca aplicatia invers
a celei de codificare (ce asigneaz
a unui element dintr-o multime
de 2n elemente distincte un cuv
ant de cod). Circuitul care modeleaz
a functia de
decodificare este notat prin DCDn:2n deoarece prezint
a n intr
ari (un cuv
ant de
intrare cu lungimea de n biti) si 2n iesiri (distincte).
Ca exemplificare se va prezenta circuitul decodifcator pentru cuvinte cu lungime
de 2 biti, DCD2:4. Tabelul de adev
ar al circuitului DCD2:4 este prezentat n Figura
2.28-a. Pe l
ang
a cuv
antul de intrare x1 x0 , circuitului i se aplic
a si un semnal de
validare E L (E = E L) astfel c
a functionarea circuitului, obtinerea unei iesiri active
din cele patru O3 , O2 , O1 si O0 , este posiblil
a numai c
and si semnalul de validare
este activ E L = 0. Fiec
arui cuv
ant de intrare x1 x0 din cele patru (00,01,10,11)
i corespunde o iesire activ
a (respectiv: O0 = 1, O1 = 0, O2 = 1, O3 = 1), deci
functionarea circuitului apare ca o identificare de cod. Din tabelul de adev
ar,
pentru fiecare iesire, se obtine expresia logic
a de forma O0 = E I 1 I 0 ; O0 = E I 1 I0 ;
O0 = E I1 I 0 ; O0 = E I1 I0 . Se observ
a ca o iesire Oi devine activ
a c
and pe intrare
se aplic
a mintermul Pi , i = 0, 1, 2, 3. Se poate generaliza, un circuit decodificator
DCDn:2n va genera iesirea Oi activ
a atunci c
and pe intrare se aplic
a mintermul
Pi , i = 0, 1, 2, ..., 2n 1. Decodificatorul 2:4 este reprezentat ca schem
a bloc n
Figura 2.28-b, iar ca structur
a n Figura 2.28-c.

216

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

E_L I 1

1
0
0
0
0

a)

x
0
0
1
1

I 0 O3 O2 O1 O0
x 0 0 0 0
0 0 0 0 1
1 0 0 1 0
0 0 1 0 0
1 1 0 0 0

DCD 2:4 y3
O3
x1
I1
y
O2 2
x0
y
I0
O1 1
E_L
y
O0 0
E

b)

DCD 2:4
O3

x1 I
1

O2

x0 I
0

E_L

c)

y3

x0 I

DCD 1:2
0

y2

O1

y1 E_L

O0

y0

I0

d)

O1

y1

O0

y0

O1
O0
DCDE

Figura 2.28 Decodificatorul DCD2:4: a) tabelul de adev


ar; b) reprezentare, schem
a
bloc; c) structur
a compus
a din decodificatoare elementare si porti AND; c) structurarea
decodificatorului elementar, DCD1:2.

Structura decodificatorului elementar DCDE (DCD1:2), cu o singur


a intrare
si dou
a iesiri, se poate deduce pornind de la DCD2:4, prin eliminarea intr
arii I1 ,
fie din structura circuitului, fie din tabelul de adev
ar (si n acest ultim caz efectu
and
sinteza). In structura obtinut
a pentru DCDE, Figura 2.28-d, dac
a se elimin
a semnalul
de validare E L nu mai sunt necesare cele dou
a porti AND, circuitul decodificator
elementar se reduce la cele trei porti inversor. Pentru intrarea I0 = 0, iesirea activ
a
O0 = 1 se obtine printr-un buffer inversor, iar pentru I0 = 1, iesirea activ
a O1 = 1
se obtine prin nserierea a dou
a porti buffer inversor; aceasta este de fapt o structur
a
de circuit furc
a 2 1, Figura 1.67. Se adopt
a un circuit furc
a pentru ca nt
arzierile
celor dou
a iesiri O1 si O0 s
a fie egale (poate fi necesar un circuit furc
a (n 1) n n
functie de efortul electric H). Din punct de vedere logic DCDE se reduce doar la un
singur inversor, dar cu o astfel de structurare O1 se obtine nebufferat, O1 = I0 , iar
O0 se obtine bufferat prin inversor, O0 = I0 . Aceast
a variant
a de structurare se evit
a
n practic
a deoarece pentru I0 = 1, iesirea este conectat
a direct la intrare si, n plus,
semnalele pe cele dou
a iesiri au timp de propagare diferiti. Pentru DCDE (furc
a 2-1)
ad
ancimea si dimensiunea au respectiv valorile D(1) = 2, S(1) = 3.
Pornind acum invers de la DCDE spre DCD2:4, se observ
a c
a DCD2:4 se structureaz
a din dou
a decodificatoare elementare si patru porti AND3. Un DCD3:8 s-ar
structura din 3 DCDE si opt porti AND4. Extinz
and la DCDn:2n structurarea ar fi
n
din nxDCDE si 2 porti AND(n+1). Nelu
and n considerare intrarea de validare E
(care nu reduce din generalizare, dar portile AND vor avea o intrare mai putin) pentru
DCDn:2n se obtin caracteristicile de ad
ancime D(n)DCD si dimensiune S(n)DCD :
D(n)DCD = D(n)AN D + DDCDE = 1 + 2 = 3 O(1)

(2.13)

S(n)DCD = 2n S(n)AN D + n SDCDE = 2n n + n 3 O(n 2n )


Aceast
a structurare (ca o extensie pornind de la DCDE) pentru DCDn:2n , care poate

217

2.4. CLC PENTRU FUNCT


II LOGICE

fi referit cu ad
ancime constant
a, prezint
a o foarte bun
a caracteristic
a de vitez
a dar
o dimensiune O(n 2n ) ce poate ridica unele probleme la implementare. De fapt,
valorile calculate prin relatiile 2.13 trebuie luate ca valori minimale. Aceste valori
minimale pot fi utilizate pentru evalu
arile implement
arilor n tehnologia bipolar
a si
c
and n nu are valori prea ridicate, n cazul circuitelor docodificatoare realizate ca
circuite integrate MSI sau circuite discrete, cu n cel mult 4 sau 5. Pentru implement
ari
tip VLSI, este cazul memoriilor de capacitate ridicat
a c
and n 30, n tehnologia
CMOS (pentru care timpii de propagare depind puternic de nc
arcare) structurarea
decodificatorului se va modifica fata
de structura cu ad
ancimea constant
a prezentat
a
n Figura 2.28-c. In primul r
and DCDE va fi un circuit furc
a cu un num
ar de niveluri
logice (Tabelul 1.16) n functie de efortul electric. In al doilea r
and o poart
a AND
cu n intr
ari, de exemplu c
and n = 32, pe un singur nivel logic este tehnologic foarte
dificil de realizat, deci poarta se structureaz
a sub form
a de arbore din porti AND,
care au un num
ar mai mic de intr
ari, rezult
and un arbore cu mai multe niveluri de
AND. Dac
a, de exemplu, poarta AND se structureaz
a logic sub form
a de arbore din
porti AND2 atunci se obtin log2 n niveluri de AND2 iar ad
ancimea DCD2:n ar fi
D(n) = DDCDE + log2 n. Dar, de fapt, ad
ancimea arborelui de porti AND rezult
a
n functie de efortul F (Tabelul 1.15) al traseului prin arborele de porti AND care
substituie poarta ANDn.
Exemplul 2.12 Pentru cele trei structuri de poarta AND (notate cu varianta a, b si c)
reprezentate n Figura 2.29 s
a se estimeze care este cea mai rapid
a. Se consider
a c
a la fiecare
structur
a capacitatea de intrare Cin este de 4 unit
ati; estimarea se va face pentru dou
a valori
ale efortului electric H = 1 si H = 12. Apoi structura mai rapid
a s
a se dimensioneze.
g=2
p=4

g=1
p=1

g=10/3
p=8

g=5/3
p=2

a)
g=4/3
p=2

g=5/3
p=2

b)

g=4/3
p=2

g=1
p=1

c)
Figura 2.29 Trei variante de structurarea unei porti AND cu opt intr
ari.

218

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Solutie. Se calculeaz
a efortul logic total ca produs dintre efortul logic de pe fiecare
nivel (valorile se obtin din Tabelul 1.13) pentru fiecare dintre cele trei variante si se obtine:
Ga = 10/3 1 = 3, 33; Gb = 2 5/3 = 3, 33; Gc = 4/3 4/3 4/3 1 = 2.96. Analiz
and numai
dup
a efortul logic ar rezulta c
a varianta c ar fi cea mai rapid
a, dar nt
arzierea depinde de
efortul total, F = GBH, si nu numai de efortul logic. Aplic
and relatia 1.102, pentru calculul
nt
arzierii minime D pe un traseu, rezult
a:
varianta a :
varianta b :
varianta c :

= 2(2, 33 H)1/2 + 9
D
= 2(2, 33 H)1/2 + 6
D
= 4(2, 96 H)1/4 + 7
D

n care introduc
and cele dou
a valori pentru H = 1 si pentru H = 12. Se obtin valorile:

Varianta
a
b
c

N F 1/N
3,65
3,65
5,25

P
9,0
6,0
7,0

H=1
= N F 1/N + P
D
12,65
9,65
12,25

N F 1/N
12,64
12,64
9,77

P
9,0
6,0
7,0

H=12
= N F 1/N + P
D
21,64
18,64
16,77

Deci pentru efortul electric H = 1 (Cin = 4, C0 = H Cin = 4) varianta b are nt


arzierea
cea mai mic
a, iar pentru H = 12 (Cin = 4, C0 = 12 4 = 48) varianta c are nt
arzierea cea
mai mic
a.
Dimensionarea variantei c (H=12) : f = F 1/4 = (2, 96 12)1/4 = 2, 44. Pornind de la
ultima poart
a (inversor) care are C0 = 12 4 = 48 unit
ati, rezult
a sarcina pentru nivelul
al treilea (NAND2), Cin4 = 48 1/2, 44 = 19, 66. Sarcina pentru nivelul al doilea (NOR2)
este Cin3 = (19, 66 4/3)/2, 44 = 10, 73, iar sarcina pentru primul nivel (NAND2) Cin2 =
(10, 73 5/3)/2, 44 = 7, 33. In final, ca verificare, se poate calcula capacitatea de intrare
Cin = (7, 3 4/3)/2, 44 = 4.
Dimensionarea variantei b (H=1) : f = F 1/2 = (3, 33 1)1/2 = 1, 83. Pornind de la
ultima poart
a NAND2 care are sarcina C0 = H Cin = 1 4 = 4 rezult
a capacitatea de
sarcin
a pentru primul nivel (NAND4), Cin2 = (4 5/3)/1, 83 = 3, 64 valoare care este mai
mic
a dec
at capacitatea de intrare la primul nivel Cin = 4. Aceast
a valoare subunitar
a pentru
h1 = 3, 64/4 = 0, 91 apare datorit
a faptului c
a s-a egalizat efortul pe fiecare nivel, iar nivelul
unu are o poart
a care prezint
a un efort logic g1 = 2, rezult
a c
a h1 g1 = 0, 91 2 = 1, 82.
Valorile capacit
atilor de intrare Ci , calculate pentru fiecare nivel, se vor repartiza pe
dimensiunile portilor tranzistoarelor de intrare.

Din analiza structurii unui decodificator rezult


a: decodificatorul este structurat
pe un nivel AND, sau decodificarea este o functie logic
a AND (identificare
de cod/mintermi). Un DCDn:2n genereaz
a intern, si sunt disponibili la iesire, toti
cei 2n mintermi de n variabile. In consecinta
, un DCDn : 2n poate fi utilizat
pentru implementarea unei functii logice cu n variabile, dat
a sub forma
FND (sum
a de termeni canonici produs), deoarece genereaz
a toti termenii canonici
produs de n variabile, iar nivelul OR al implement
arii se adaug
a din exterior (o
poart
a OR care colecteaz
a termenii canonici care au valoarea 1). O form
a disjunctiv
a
FD, pentru implementare trebuie nt
ai extins
a la o form
a FND (sum
a de termeni
canonici) deoarece la iesirea decodificatorului oricum sunt disponibili toti termenii
cononici produs.
Circuitele decodificator, pe l
ang
a suportul de nivel AND n implementarea functiilor logice, poate modela si o functie aritmetic
a. Dac
a cuv
antul de intrare X,
cu lungimea de n biti si cuv
antul generat pe iesire Y , cu lungimea de 2n biti, sunt

219

2.4. CLC PENTRU FUNCT


II LOGICE

interpretate ca numere ntregi, exprimate n binar natural, atunci ntre aceste dou
a
numere exist
a relatia:
Y = 2X

(2.14)

adic
a, decodificatorul genereaz
a la iesire un num
ar care este egal cu doi la o putere
egal
a cu num
arul aplicat la intrare. Deoarece functia de exponentiere 2.14 este inversa
functiei de logaritmare 2.10 se confirm
a afirmatia de la nceputul acestui paragraf,
aceea c
a: decodificarea si codificarea sunt fiecare functia invers
a a celeilalte
(codifcarea este un nivel OR, iar decodificarea este un nivel AND).
Decodificarea (nivel AND) este o identificare de cod. De exemplu, urm
atoarele trei
configuratii ale unui cuv
ant de cod de patru biti: 1) x3 x2 x1 x0 = 1111; 2) x3 x2 x1 x0 =
0000; 3) x3 x2 x1 x0 = 1010 pot fi identificate, pe porti AND, n felul urm
ator:
Identificarea codului genereaza
"1"

1)

2)

3)

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

Identificarea codului genereaza


"0"

1
1) 1
1
1

1
1
1
1

0
0
0
0

2)

1
0
1
0

3)

0
0
0
0
1
0
1
0

1
1
1
1

0
0
0
0

1
0
1
0

Consider
and starea activ
a a semnalelor x3 , x2 , x1 , x0 pentru valorile binare din
configuratia cuv
antului de cod de identificat, se pot specifica aceste semnale conform
notatiei din Figura 1.7.
O organizare de decodificator, ca identificator de cod pe baz
a de NOR, este cea
cunoscut
a sub numele de decodificator Lyon-Schediwy [Sutherland 0 99]. La acest
decodificator toate iesirile sunt n L n afar
a de una, cea activ
a, care este n H.
O poart
a NOR CMOS realizeaz
a cu usurinta
iesirea L (prin tranzistoarele nMOS
conectate n paralel din ramura nspre VSS ), dar sunt dificult
ati s
a genereze la iesire
un nivel H prin toate tranzistoarele pMOS nseriate din ramura conectat
a la V DD .
Deoarece la acest codificator tot timpul numai o iesire este n starea H, (deci toate
celelalte retele de tip pMOS ale portilor NOR nu conduc) este posibil ca unele din
tranzistoarele de tip pMOS s
a intre n structura mai multor porti NOR, prin aceasta
se reduce num
arul de tranzistoare. In Figura 2.30 este structurat, n acest sens,
un DCD3:8 care este compus din opt identificatoare de cod, opt porti NOR. Mai
mult, pentru a asigura efort logic egal pentru cele trei semnale de intrare x2 , x1
si x0 (negate si nenegate) l
atimea tranzistoarelor de canal nMOS este unitate, iar
l
atimea celor cu canal pMOS este mai mare de W (l
atimea de canal), adic
a nmultit
cu puterile lui 2. Cu o astfel de structurare si cu tranzistoarele dimensionate n acest
mod, decodificatorul Lyone-Schediwy are performante de timp mult mai bune dec
at
organizarea de codificator ca n Figura 2.28-c la care, de fapt, ntr-o implementare
poarta AND4 nu este un singur nivel ci este substituit
a printr-un arbore cu dou
a sau
trei niveluri (Exemplul 2.12).

220

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

V DD
4w
4w
2w

2w
2w

2w
w

x0

x2

x2
O0

O1

O2

1
1

x1

1
1

x0
x1

O3

1
1

O4

O5

O6

O7

Figura 2.30 Decodificator 3:8 tip Lyon-Schedwy (identificator de cod pe baz


a de porti
NOR).

Exemplul 2.13 Celula sumator complet, a carei functionare este data n Tabelul 1.6,
s
a se implementeze pe un circuit DCD3:8.
Solutie. Din Tabelul 1.6 prin sintez
a pe baz
a de 1, forma FCD, rezult
a:
si =

7
X

(1, 2, 4, 7),

Ci =

7
X

(3, 5, 6, 7)

sau expresiile complementare:


si =

7
X
0

(0, 3, 5, 6),

Ci =

7
X

(0, 1, 2, 4)

Pentru implementare cu un DCD3:8, care genereaz


a toti cei opt mintermi de trei variabile,
va fi necesar doar s
a se adauge n exterior nivelul de OR care colecteaz
a termenii ce au

221

2.4. CLC PENTRU FUNCT


II LOGICE

valoarea 1. Se va face implementarea at


at pentru cazul c
and iesirile decodificatorului sunt
active n H c
at si n L. In aceste sens se vor transforma potrivit expresiile pentru si si Ci .
1.

Implementare pe baz
a de DCD3:8 cu iesirile active n H
a) Expresiile si si Ci se scriu:
si = P 1 + P 2 + P 4 + P 7 ;

Ci = P 3 + P 5 + P 6 + P 7

Implementarea se reduce la colectarea mintermilor respectivi printr-o poart


a OR4,
ad
augat
a n exterior, ca n Figura 2.31-a.
b) Uneori functia negat
a se sintetizeaz
a prin mai putini minterimi (nu este cazul pentru
celula sumator complet) ceea ce poate constitui un avantaj, micsorarea dimensiunii
portii ad
augate n exterior. Expresiile pentru si si C i se scriu
si = P 0 + P 3 + P 5 + P 6 s i = P 0 + P 3 + P 5 + P 6
C i = P0 + P1 + P2 + P4 C i = P0 + P1 + P2 + P4

pentru care corespunde implementarea din Figura 2.31-b. Colectarea mintermilor


corespunz
atori se face printr-o poart
a NOR4 ad
augat
a n exterior.
2.

Implementarea pe baz
a de DCD 3 : 8 cu iesirile active n L
a) Expresile si si Ci devin:
si = P 1 + P 2 + P 4 + P 7 = P 1 P 2 P 4 P 7
C i = P3 + P5 + P6 + P7 = P 3 P 5 P 6 P 7

Colectarea n exterior a mintermilor corespunz


atori se face printr-o poart
a NAND4,
Figura 2.31-c.
DCD 3:8

xi

22

yi

21

C i1

20

O7
O6
O5
O4
O3
O2
O1
O0

DCD 3:8

Ci

22

yi

21

C i1

20

si

a)

Ci

si

b)
DCD 3:8

xi

22

yi

21

C i1

20

c)

xi

O7
O6
O5
O4
O3
O2
O1
O0

O7
O6
O5
O4
O3
O2
O1
O0

DCD 3:8

Ci

xi

22

yi

21

C i1

20

si

O7
O6
O5
O4
O3
O2
O1
O0

Ci

si

d)

Figura 2.31 Implementarea celulei sumator complet pe un DCD3:8: a,b) pe decodificator cu iesiri active n H; c,d) pe decodificator cu iesiri active n L.

222

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

b) Expresiile negate pentru si si C i se scriu sub forma:


si = P 0 + P 3 + P 5 + P 6 s i = P 0 + P 3 + P 5 + P 6 = P 0 P 3 P 5 P 6
C i = P0 + P1 + P2 + P4 C i = P0 + P1 + P2 + P4 = P 0 P 1 P 2 P 4
De data aceasta colectarea n exterior a mintermilor se face printr-o poart
a AND4,
Figura 2.31-d.

Anterior s-a structurat DCDn:2n cu ad


ancimea constant
a (D(n) = 3), n mod inductiv, pornind de la DCDE si porti AND ad
aug
and succesiv c
ate un bit la cuv
antul
de intrare si s-au obtinut caracteristicile de ad
ancime si dimensiune exprimate prin
relatiile 2.13. Se poate face o structurare si definire a DCDn:2n , pornind n sens
invers, diviz
andu-l nt
ai n dou
a DCDn/2:2n/2 iar iesirile acestor decodificatoare sunt
intr
arile pe liniile si coloanele unei matrice format
a din 2n/2 2n/2 porti AND2,
Figura 2.32. Cuv
antul de intrare xn1 xn2 ...xn/2 xn/21 ...x1 x0 se separ
a n dou
a
semicuvinte, semicuv
antul xn1 xn2 ... xn/2 va genera o iesire activ
a pe liniile matricei iar semicuv
antul xn/21 ...x1 x0 va genera o iesire activ
a pe coloanele matricii,
n consecinta
poarta AND2 de la intersectia liniei si coloanei active va avea iesirea
1, restul de 2n 1 porti vor avea iesirea n zero. Aceast
a modalitate de decodificare
matriceal
a (decodificare bidimensional
a) se aplic
a si la decodificatoarele rezultate; fiecare din cele dou
a decodificatoare DCDn/2:2n/2 , unul pentru linii iar altul
pentru coloane, se structureaz
a la r
andul s
au prin divizarea n dou
a decodificatoare
DCDn/4 : 2n/4 unul pentru linii, altul pentru coloane si 2n/2 porti AND2. Se continu
a
aceast
a divizare cu doi, a fiec
arui decodificator, p
an
a c
and se ajunge la ultimul nivel
de structurare compus din dou
a DCDE care comand
a o matrice de 4 porti AND2.
Carecteristicile si definitia multiplexorului DCDn : 2n structurat recursiv sunt date
n [Stefan 0 00].
Definitia 2.9 Un DCDn : 2n se structureaz
a prin divizare n dou
a DCDn/2:2n/2
n/2
n/2
si o matrice de porti AND2, de dimensiunea 2
2 , ale c
aror intr
ari sunt toate
perechile de iesiri din cele dou
a decodificatoare. Cele dou
a DCDn/2:2n/2 de asemenea
se structureaz
a prin divizare n acelasi mod. Procesul de divizare recursiv
a se opreste
c
and se ajunge la DCDE. 
Dimensiunea definitiei pentru DCDn:2n este constant
a si independent
a de valoarea lui n deci conform definitiei 2.1 decodificatorul nu este un circuit complex ci
unul simplu, deci realizabil. Dar pentru a declara realizabilitatea circuitului trebuie
luat
a n considerare si dimensiunea sa. Cu valorile pentru decodificatorul elementar
DDCD (1) = 2, SDCD (1) = 3 si tin
and cont c
a prin Definitia 2.9 dup
a fiecare divizare
se genereaz
a dou
a DCDn/2 : 2n/2 si 2n porti AND2, se poate calcula dimensiunea
SDCD (n) si ad
ancimea DDCD (n) n felul urm
ator:
SDCD (n) = 2 SDCD (n/2) + 2n 2 =
= 2 [2 SDCD (n/4) + 2n/2 2] + 2n 2 = ...
O(2n )
DDCD (n) = DDCD (n/2) + DAN D (2) = [DDCD (n/4) + 1] + 1 = ... O(log n)
Compar
and caracteristicile acestei structuri (compus
a numai din DCD(1) si
AND2) cu cele ale structurii de ad
ancime constant
a (compus
a numai din DCD(1)

223

2.4. CLC PENTRU FUNCT


II LOGICE

O0

I1

x n/21

DCD n/2:2n/2

I0

x0
x1

O1

I n/21
O2n/2 1

y0

y1

y 2n/2 +1

2n/2

y
O0

n/2

I0
n

n/2

x n/2

2n/2 1

2n1

O1
O2n/2 1
DCD n/2:2n/2
I1
I n/21
x n/2+1

x n1

Figura 2.32 Explicativ


a pentru definirea recursiv
a a unui DCDn:2 n (decodificare
bidimensional
a).

si ANDn) se constat
a c
a dimensiunea a sc
azut de la O(n 2n ) la O(2n ) iar ad
ancimea
a crescut de la O(1) la O(log n) deci, teoretic, aceast
a structurare este mai usor realizabil
a n schimb asigur
a performante de vitez
a mai sc
azute (Degradarea performantei
de vitez
a cu mai mult dec
at s-a micsorat dimensiunea corespunde corel
arii dintre S(n)
si D(n), relatia 2.9). Dar, n practic
a, pentru implement
arile de tip VLSI un DCD cu
ad
ancimea constant
a, ca n Figura 2.28-c, nu poate fi realizat, portile ANDn se structureaz
a cu porti mai simple sub form
a de arbore. De asemenea, si la structurarea prin
diviz
ari, portile AND2 formeaz
a un arbore. Solutia de mediere ar fi structurare prin
divizare a DCD(n), dar dup
a prima sau a dou
a divizare DCD(n/2) sau DCD(n/4)
s
a fie un decodificator de tip Lyon-Schedwy.
Decodificatoarele eficiente din punct de vedere al timpului de propagare sunt necesare pentru adresarea memoriilor si pentru selectarea registrelor din b
ancile de registre
ale microprocesoarelor. Structurile de decodificator pentru aceste aplicatii ajung s
a
aib
a o valoare de efort total de valori ridicate (vezi Exemplul 1.30). Dar aspectele care
trebuie luate n considerare la proiectarea decodificatoarelor pentru astfel de aplicatii
sunt numeroase iar minimizarea efortului logic, pentru a obtine si o viteza, nu este
exclusiv. De exemplu, consideratiile de layout sunt importante deoarece adesea decodificatorul trebuie s
a se ncadreze n suprafata repartizata pentru memorie, suprafata
sa poate fi limitat
a, deci iat
a o constr
angere. De asemenea, limitarea puterii disipate
poate fi o alt
a constr
agere important
a, de obicei un decodificator rapid poate necesita
o putere disipat
a ridicat
a sau prea multe tranzistoare.
In realizarea de sisteme pe placa cu circuite discrete pentru decodficatoarele
DCDn:2n , cu n intr
ari si 2n iesiri, referite si cu termenul decodificator/multiplexor,
(vezi sectiunea 2.4.5) exist
a urm
atoarele circuite MSI: 74xx138 - DCD3:8; 74xx139 -

224

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

2 DCD2:4; 74xx154 - DCD4:16. Alte circuite decodificatoare pot s


a nu aib
a definite
toate cele 2n cuvinte de n biti pe intrare sau pot s
a nu utilizeze toate cele 2n iesiri
cum este cazul urm
atoarelor circuite integrate: 74xx42 - Decodificator din BCD n
zecimal; 74xx47 si 74xx49 - Decodificatoare din BCD pentru elemente de afisaj cu 7
segmente (vezi Exemplul 2.14).
2.4.3.1

Convertorul de cod

Convertorul de cod este un circuit combinational care pentru un cuv


ant de n biti
aplicat la intrare genereaz
a un cuv
ant de m biti la iesire, deci circuitul realizeaz
a
o aplicatie (mapare) ntre o multime a cuvintelor de intrare cu valori n multimea
cuvintelor de iesire. Definirea n acest mod a circuitului convertor de cod corespunde
cu definitia dat
a n sectiunea 2.1 circuitului combinational cu iesiri multiple si este
reprezentat ca schema bloc in Figura 2.1-a. Rezult
a c
a oricare CLC cu iesiri multiple
este, n fond, un convertor de cod (transcodor).

Decodificator Iesiri=2 n=Intrari


n:2n
doar cate una
(Nivel AND)
singura activa

Codificator
(Nivel OR)

Convertor
de cod
(ANDOR)

Figura 2.33 Organizarea de principiu pentru un convertor de cod.

Structura unui convertor de cod const


a dintr-o nseriere decodificator-codificator,
adic
a dou
a nivele logice AND-OR, Figura 2.33. Codul de intrare de n biti este aplicat
nivelului de decodificare AND rezult
and o singur
a iesire activ
a din cele 2 n . Aceast
a
iesire activat
a este aplicat
a ca o intrare pentru nivelul de codificare OR care genereaz
a
un cuv
ant de m biti pe iesire. De fapt, nserierea decodificator-codificator formeaz
a
un circuit cu cele dou
a niveluri logice necesare pentru modelarea oric
arei functii logice
sub form
a de sum
a de produse (AND-OR).

2.4.4

Multiplexorul, MUX

Circuitul multiplexor realizeaz


a n primul r
and o functie de comunicatie prin selectarea oric
arei linii de intrare Ii , dintr-un num
ar de 2n linii (I2n 1 , I2n 2 , ..., Ii , ...I1 ,
I0 ) si conectarea acesteia la o singur
a iesire, de unde, uneori, este referit ca circuit
selector. Functia de comunicatie selectarea realizat
a cu circuit multiplexor
este similar
a cu cea realizat
a de c
atre un selector rotativ mecanic, Figura 2.34-a. Selectorul rotativ mecanic conecteaz
a la iesire, n functie de pozitia contactului rotativ,
una dintre liniile de intrare. La circuitul multiplexor, cu 2n intr
ari de date si o iesire,
reprezentat ca schema bloc n Figura 2.34-b (notat prin MUX2n :1), selectarea liniei
de intrare de date Ii , pentru conectarea acesteia la iesirea O, se face prin aplicarea
pe intr
arile de selectare a indexului i exprimat ca num
ar n binar natural (cuv
ant
de selectare). Evident, pentru a putea selecta toate intr
arile, num
arul cuvintelor
de selectare (Sn1 Sn2 ...Si ...S1 S0 ) distincte trebuie s
a fie mai mare sau egal cu
num
arul total al intr
arilor. In general, circuitul MUX2n :1 pe l
ang
a cele 2n intr
ari de
date si un cuv
ant de selectare, cu lungimea minim
a de n biti, mai prezint
a si o intrare
de validare E (n general activ
a n stare L, E = E L).

225

I1

I0

d0
d1
O

I 2n2

d 2n2
d 2n1

Selectare

a)

b)

E_L

x1 x0 y
0

I 2n2
I 2n1

d0

I0

d1

I1
I2

0 0 d0

d2

0 1 d1

1 0 d2

d3 I 3

1 1 d3

I0
I1
I2
I3

d0
d1
d2
d3

Mux 2 n:1
O

E Sn1 S0

Enable (E)

I 2n1

I0
I1

MUX 4:1

2.4. CLC PENTRU FUNCT


II LOGICE

E S1 S0
E_L

E_L Selectare

c)

X1 X0

MUX 4:1
O y

MUX 2:1

d0 I
0

y
O

d1 I
1
DCDE

S0

d)

S1
e)

E_L x 1

S0
x0

E_L x 0

f)

Figura 2.34 Multiplexorul, MUX: a) selectorul rotativ mecanic - analogul mecanic al


multiplexorului; b) simbol de reprezentare pentru MUX2n :1; c,d,e) schema bloc, tabelul de
adev
ar si structura circuitului MUX4:1; f) structura multiplexorului elementar, MUX2:1.

Particulariz
and MUX2n :1 la n = 2 se obtine multiplexorul cu patru c
ai de intrare
(I3 , I2 , I1 , I0 ), selectabile cu un cuv
ant de doi biti S1 , S0 , cu schema bloc si tabelul
de adev
ar prezentate n Figura 2.34-c si 2.34-d. Din tabelul de adev
ar a MUX4:1 se
deduce urm
atoarea functie logic
a
y = E Ld3 x1 x0 + E Ld2 x1 x0 + E Ld1 x1 x0 + E Ld0 x1 x0

(2.15)

si este similar
a cu cea exprimat
a de relatia 1.82 sau 1.83. Aceast
a expresie este forma
canonic
a normal
a disjunctiv
a pentru oricare dintre cele 16 functii de dou
a variabile.
Structura circuitului MUX4:1 este cea din Figura 2.34-e. In aceast
a structur
a se distinge clar un circuit decodificator 2:4, ca cel din Figura 2.28-c, ale c
arui intr
ari x 1 , x0
sunt bitii cuv
antului de selectare iar cele patru iesiri din portile AND sunt colectate
dintr-un nivel OR. Se poate interpreta c
a cele patru porti AND ale decodificatorului,
prin intr
arile de selectare si cea de validare E, selecteaz
a care din cele patru intr
ari
de date (d3 , d2 , d1 , d0 ) este conectat
a la iesire prin nivelul ad
augat OR.
Un circuit DCD, care este un nivel de AND ce genereaz
a toti mintermii canonici
de n variabile, poate modela functii logice prin colectarea n exterior prin porti OR
a termenilor canonici care au valoarea 1 pentru functia respectiv
a (vezi Exemplul

226

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

2.13). Circuitul multiplexor, care este pe l


ang
a nivelul de AND si un nivel de OR
(intern), colecteaz
a n interior toti mintermii canonici de cele n variabile de selectare,
deci poate modela oricare functie de n variabile, rezult
and astfel ca un circuit logic
universal. Valoarea 0 sau 1 a unui termen canonic Pi n exprimarea functiei se fixeaz
a
prin valoarea coeficientului di aplicat pe intrarea de date Ii .
Din structura MUX4:1, prin eliminarea intr
arii de selectare x1 , se obtine MUX2:1
cu un singur bit de selectare x0 si dou
a intr
ari de date I1 , I0 , care este referit ca
multiplexorul elementar MUXE, Figura 2.34-f. Dac
a se consider
a intrarea de
validare permanent activ
a (E L = 0), se constat
a c
a structura de MUXE este identic
a
cu cea a celulei pentru implementarea recurent
a, sub form
a de arbore, a oric
arei
functii logice dezvoltat
a recurent, Figura 2.6-a. Pornind de la structurarea MUX2:1
si MUX4:1, se poate extinde structurarea la un MUX2n :1, care se compune dintrun DCDn:2n cu ad
ancime constant
a, similar ca structur
a cu cel din Figura 2.28-c,
si o poart
a OR cu 2n intr
ari. DCDn:2n din cadrul MUX2n :1 se compune din n
decodificatoare elementare DCDE si 2n porti AND cu n + 1 intr
ari (n intr
ari de la
cuv
antul de selectare, E si o intrare de date di ). Pentru structurarea n acest mod a
MUX2n : 1, referit
a multiplexor cu ad
anacime constant
a, se pot calcula caracteristicile
de dimensiune SM U X(n) si ad
ancime:
SM U X(n) = n SDCDE + 2n SAN D(n+1) + 1 SOR(2n ) =
n 3 + 2n (n + 1) + 1 2n O(n 2n )
Ad
ancimea are dou
a valori, prima pentru transferul pe traseul cuv
ant de selectareiesire care este de patru niveluri logice si a doua pe traseul de intrare de date I i la
iesire care este de dou
a niveluri logice. Aceast
a diferenta
trebuie luat
a n considerare la
comanda multiplexorului dac
a semnalele pe intr
arile de date si pe intr
arile de selectare
nu se aplic
a simultan, atunci este recomandat ca cele de selectare s
a fie primele aplicate
deoarece parcurg patru niveluri fata
de dou
a pentru cele de date. De fapt, aceste
caracteristici de dimensiune si ad
ancime sunt, teoretic, valori minime asimptotice.
Practic, pentru n de valoare ridicat
a este dificil de realizat porti AND(n+1) si OR2 n
pe un singur nivel logic; n plus, mai ales n tehnologia CMOS timpul de propagare
depinde pregnant de nc
arcare (vezi sectiunea 1.5.6).
Definitia 2.10
Un MUX 2n :1, selectat prin cuv
antul xn1 xn2 ...x1 x0 , se
structureaz
a dintr-un MUXE selectat cu xn1 si are ca intr
ari de date iesirile de la
dou
a MUX2n1 :1 selectate prin cuv
antul xn2 ...x1 x0 . Apoi, asupra celor dou
a multiplexoare MUX2n1 :1 se aplic
a acelasi procedeu de structurare. Procedeul recursiv
se opreste c
and se ajunge la MUX-uri selectate prin x0 . 
Prin structurarea unui MUX2n :1, conform
a Definitiei 2.10 , se obtine o retea
arborescent
a de (2n 1)MUX2:1 av
and n niveluri, Figura 2.35-a. Structura aceasta
de retea este identic
a cu structura arborescent
a pentru implementarea unei functii
canonice normale disjunctive dezvoltate recurent din Figura 2.7. Cele 2n intr
ari de
,,
date ale MUX2n :1 sunt intr
arile n multiplexoarele elementare frunze iar iesire este
,,
iesirea multiplexorului elementar r
ad
acin
a ; se observ
a c
a transferul este pe trasee
de la frunze nspre r
ad
acin
a. Pe fiecare traseu se parcurge acelasi num
ar de MUXE.
Aceast
a structur
a recursiv
a a unui MUX2n :1 are urm
atoarele caracteristici de dimensiune si ad
ancime: DM U X(n) O(n), SM U X(n) O(2n ).
Implementarea logic
a a multiplexoarelor n circuitele VLSI apare foarte simpl
a
c
and se utilizeaz
a elemente de trecere nMOS, porti de transmisie CMOS. Pornind

227

2.4. CLC PENTRU FUNCT


II LOGICE

d0
d1
d2
d3

I0

MUXE

I1

I0

MUXE

I1

I0

I0

MUXE

MUXE

I1

I1

I0

MUXE

I1

I0

MUXE

I1

I0

d 2n4
d 2n3
d2n2
d 2n1
a)

MUXE

I1

I0

I0

MUXE

MUXE

I1

I1

I0

MUXE

I1

I0

MUXE

I1

x0

x n3

x n2

x n1

d0
d1
d2
d3

d4
d5
d6
d7
MUXE

x0

b)
1xCI
12 conectari

x1
2xCI
28 conectari

x2
2xCI
23 conectari

2xCI
18 conectari

c)

Figura 2.35 Structurarea arborescent


a a unui multiplexor conform Definitiei
2.10: a) MUX2n :1 structurat din 2n MUX2:1; b) MUX8:1 realizat cu tranzistoare de trecere;
c) variante de structurare a MUX8:1 pe baz
a de MUX4:1 si MUX2:1

228

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

de la functia sa de transmisie, multiplexorul poate fi conceput din 2n ramuri de


transmisie care au un cap
at comun (iesirea) iar la cel
alalt cap
at al fiec
arei ramuri se
aplic
a data corespunz
atoare di care trebuie transmis
a. Fiecare ramur
a este compus
a
din n elemente de trecere nseriate (circuit AND), iar o ramur
a va fi deschis
a doar
pentru o singur
a configuratie a bitilor din cuv
antul de intrare xn1 xn2 ...x1 x0 . In
acest mod de implementare, un multiplexor elementar este compus numai din dou
a
ramuri pe care exist
a c
ate un element de trecere, unul dintre acestea este comandat
de x0 iar cel
alalt de x0 , semnalele de comand
a fiind generate de un DCDE.
O astfel de structur
a de MUX4:1 implementat
a cu porti de transmisie este prezentat
a n Figura 1.53-c. In structura din aceast
a figur
a exist
a redundanta
, ultimele
dou
a porti, una pe ramura lui di0 si cealalt
a pe ramura lui di2 , au un terminal comun
(iesirea) si sunt comandate cu acelasi semnal B, deci acestea dou
a pot fi substituite
printr-o singur
a poart
a. Liniile corespunz
atoare pentru di0 si di2 se unesc nainte de
poarta introdus
a (prin substituire) si se conecteaz
a la un terminal al acesteia, cel
alalt
terminal al portii se conecteaz
a la iesire (terminalul comun). Aceeasi simplificare se
poate face si cu portile comandate de B de pe liniile di1 si di3 . Va rezulta o retea
arborescent
a cu dou
a MUXE selectate de A, A urmate de un alt MUXE selectat de
B, B. In Figura 2.35-b este prezentat
a structurarea unui MUX8:1, sub form
a de
retea arborescent
a din MUXE, realizat
a cu tranzistoare de trecere nMOS. Se observ
a
c
a acest circuit se obtine prin maparea 1:1, cu MUXE cu tranzistoare de trecere, a
structurii recurente MUX2n :1, din Figura 2.35-a, prin particularizarea pentru n = 3.
Implement
arile sub form
a de retea arborescent
a sunt recomandate n sistemele integrate de performanta
ridicat
a si de putere redus
a. Totusi, pentru n de valoare
ridicat
a, timpul de propagare pe traseele de la frunze la r
ad
acin
a devine foarte mare.
In lungul unui traseu cu n tranzistoare de trecere, nt
arzierea este egal
a cu n 2 RC,
unde RC este nt
arzierea dat
a de reteaua echivalent
a a tranzistorului de trecere.
In Definitia 2.10 , structurarea prin recurenta
s-a specificat cu un pas egal cu unu,
adic
a pentru c
ate un bit al cuv
antului de selectare, rezult
and n fiecare nivel numai
MUXE. Dar se poate face structurarea pe grupuri de biti din cuv
antul de selectare,
de exemplu, dac
a se iau grupuri de c
ate doi sau trei biti rezult
a pentru nivelurile
respective din reteaua arborescent
a MUX22 :1, MUX23 :1 n loc de MUXE. Varianta
aceasta de structurare arat
a posibilitatea de obtinere a multiplexoarelor de capacitate
mare din circuite multiplexoare de capacitate inferioar
a, de exemplu, pe baza celor mai
utilizate n practic
a MUX4:1 sau MUX8:1. In Figura 2.35-c sunt prezentate variante
de compunere a unui MUX8:1 din altele de capacit
ati mai mici (4:1 si 2:1). Care
variant
a este mai bun
a? Pentru a r
aspunde la aceast
a ntrebare trebuie introdus un
criteriu de evaluare. Acest criteriu de evaluare ia n considerare num
arul de circuite
integrate utilizate, CI (exist
a 4 MUX2:1/cip; 2 MUX4:1/cip;1 MUX8:1/cip;)
si costul (care poate fi proportional cu num
arul de terminale/conect
ari). Num
arul
de terminale poate determina costul deoarece fiecare terminal trebuie lipit sau este
un punct de wrapare. Din cele patru variante de structurare ale MUX8:1/cip apare
c
a pentru criteriul ales cea mai bun
a variant
a este un singur MUX8:1/cip si cea
mai slab
a printr-o retea numai de MUX2:1. Dar s
a nu ne gr
abim, vom vedea c
a n
unele implement
ari, realizarea unui multiplexor de capacitate mai mare din circuite
de capacitate 2:1 poate fi cea mai avantajoas
a, vezi Exemplul 2.17.
Pentru implement
arile de sisteme exist
a urm
atoarele multiplexoare sub form
a de

2.4. CLC PENTRU FUNCT


II LOGICE

229

circuite integrate MSI:


74xx150
74xx151
74xx153
74xx157
2.4.4.1

1
1
2
4

MUX16:1
MUX8:1
MUX4:1, iar 74xx253 - 2 MUX4:1 are iesirea TSL
MUX2:1, iar 74xx257 - 2 MUX2:1 are iesirea TSL

Aplicatii cu circuite multiplexoare

Circuitul multiplexor poate modela o functie de comunicatie, (a) selectare de


date si o functie canonic
a normal
a disjunctiv
a, (b) implementare de functii logice.
Aplicatiile cu circuite multiplexoare se reduc la realizarea acestor dou
a tipuri de
functii.
a). Selectarea datelor. Circuitul MUX2n :1 poate fi utilizat pentru conversia paralel-serie a unui cuv
ant de 2n biti. Bitii cuv
antului de serializat se aplic
a pe
intr
arile de date I2n 1 , I2n 2 , ..., Ii , ..., I1 , I0 , iar prin configuratia cuv
antului de selectare xn1 xn2 ...x1 x0 un bit de pe o anumit
a intrare de date este aplicat la iesire.
Evident, serializarea bitilor cuv
antului de date se poate realiza n oricare secventa

dorit
a. Dac
a este necesar
a serializarea succesiv
a ncep
nd cu I 0 p
ana la I2n 1 atunci
secventele configuratiilor cuv
antului de selectare sunt n ordinea de crestere a numerelor naturale, care se pot obtine de la un num
ar
ator modulo 2n , iar pentru aceast
a
n
serializare sunt necesare 2 tacte de clock.
Uneori n arhitectura unui sistem apare un desen ca cel din Figura 2.36-a care simbolizeaz
a transferul unor cuvinte cu lungimea de k biti de la sursele P2n 1 , P2n 2 , ...,
Pi , ..., P1 , P0 (porturi surs
a) ntr-un singur loc de destintie (care poate fi un port, o
magistral
a etc.). Acest transfer poate fi inplementat cu k multiplexoare 2n :1 puse
n paralel, toate fiind comandate de acelasi cuv
ant de selectare, Figura 2.36-b. Bitii
cuv
antului de la portul Pi se aplic
a, c
ate unul, numai la intrarea de date Ii de la
fiecare dintre cele k multiplexoare, deci un port este legat la toate intr
arile de date
cu acelasi num
ar de la cele k multiplexoare. La aplicarea unui cuv
ant de selectare i,
totii bitii de pe intr
arile de date Ii ale celor k multiplexoare sunt transferati la iesirile
acestora, deci cuv
antul cu lungimea de k biti din portul Pi este transferat n portul
de iesire Pentru implement
arile VLSI c
and se lucreaz
a cu lungimi de cuv
and de 32,
64 biti, deci tot at
atea multiplexoare puse n paralel, nc
arcarea electric
a a semnalelor
se selectare este foarte mare ceea ce implic
a o bufferare, vezi Exemplul 1.28.
Pentru implement
arile n tehnologie CMOS o structur
a recomandat
a de multiplexor inversor cu 2n c
ai este prezentat
a n Figura 2.36-c, care se compune din ramuri
inversor TSL, Figura 1.46-c, toate conectate la o linie de magistral
a. Pentru semnale
de selectare ale ramurii i, Si S i = 01 (generate de un decodificator), at
at ramura n
c
at si ramura p ale inversorului CMOS sunt blocate, deci iesirea la linia de magistral
a
este n starea HZ, iar pentru Si S i = 10 ramura este n functionare normal
a de inversor, data de intrare este transferat
a negat la magistral
a, d i . Efortul logic total al
multiplexorului este 2n (4 + 4 )/(1 + ) = 4 2n , cu efortul logic pe o intrare de date
(2 + 2 )/(1 + ) = 2; aceeasi valoare 2 este si pentru o pereche (S i S i ) de semnale de
selectare. Rezult
a c
a efortul logic pe o intrare este constant si nu depinde de num
arul
de intr
ari, ceea ce ar sugera c
a se pot realiza multiplexoare rapide cu oric
ate linii
de intrare. Totusi, c
and lungimea k a cuvintelor selectate este de valoare ridicat
a,
a un efort ridicat (k MUX2n :1), desi
perechile de semnale de selectare Si S i necesit

230

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE
MUX

0 n 1
2 :1
1

2n porturi
de
intrare
(kbiti)

2n1
MUX

0 2n:1k1
1
P0

P1 k

MUX

P0

P 2n1

0 n k
2 :1
1

P1

2n1

P 2n1

k
a)

x n1

b)

Cuvantul de selectare comun


pentru toate cele
k x MUX 2 n:1

x0

Ramura TSL, inversor

V DD
S 2n1
S 2n1
d 2n1

linie de
magistrala

Port
de iesire
(kbiti)

S1

S0

S1

S0

d1

d0

c)
Figura 2.36 Selectarea secvential
a a datelor: a) reprezentare simbolic
a a unui punct
de selectare a datelor dintr-un sistem; b) selectarea unui port de intrare, dintr-un num
ar de
2n porturi cu lungimea de k biti, si conectarea la un port de iesire prin intermediul unui
grup de kMUX2n :1; c) structur
a n tehnologie CMOS de MUX2n :1 cu iesirea TSL pentru
comanda unei linii de magistral
a.

aceasta nu are un efect de m


arirea nt
arzierii pentru transferul datei di . C
and se iau
n considerare si capacit
atile parazite se constat
a c
a aceast
a structur
a nu este rapid
a
pentru un num
ar de intr
ari (ramuri inversor) ori c
at de mare, n general se limiteaz
a
la structura cu cel mult patru ramuri.
Exemplul 2.14 Sa se structureze un sistem pentru afisarea a doua cifre zecimale
a c
aror cod BCD este nscris n dou
a porturi A, B. Se vor utiliza elemente afisoare cu 7
segmente cu catodul comun.
Solutie.Pentru iluminarea unei cifre trebuie conectate simultan la tensiunea +V toti
anozii LED-urilor (segmentelor) care configureaz
a caracterul, iar catodul la mas
a, Figura
2.37. Conectarea simultan
a a segmentelor luminoase este realizat
a prin iesirile (a, b, c, d, e,
f , g), active n H, ale unui convertor de cod BCD-7 segmente 7449. Deoarece se utilizeaz
a
un singur decodificator 7449 pentru ambele elemente afisoare este necesar ca informatia s
a

231

2.4. CLC PENTRU FUNCT


II LOGICE

fie aplicat
a alternativ cu o frecventa
de minim 30Hz (T3,33ms) pentru ca, prin inertia
ochiului, cifra s
a apar
a afisat
a continuu. Pentru aplicarea alternativ
a, cu frecvent
a de 30Hz
a continutului celor dou
a porturi surs
a A si B pe intr
arile convertorului BCD-7 segmente,
Tabelul 2.2, sectiunea 2.4.7, se utilizeaz
a 4MUX2:1 ca selector de date (circuitul 74157).
Conectarea la mas
a a catodului comun din fiecare dintre cele dou
a afisoare A si B se realizeaz
a
printr-un DCD2 : 4 (1/2 74139) cu iesirile active n L si comandat sincron cu iesirea cuvintelor
A si B prin multiplexor. Sincronizarea este realizat
a cu semnalul de ceas CLK, care se aplic
a
pe intrarea I0 a decodificatorului si pe intrarea comun
a de selectarea G1 a grupului de patru
multiplexoare. Pe palierul pozitiv, CLK=1, se afiseaz
a cuv
antul din portul A iar pe palierul
CLK=0 se afiseaz
a cuv
antul din portul B.
4xMUX 2:1

A0
A1
A2
A3

G1
B0
B1
B2

DCD
BCD / 7segmente

1
0
1
0

a
b
c
d
e
f
g

4
W 8
7449

1
0
1

0
B3
Port
E
A Port
74157
B
Palier "1" selecteaza port A

CLK

+V

Afisor A

a
b
c
d
e
f
g

Afisor B

a
f

a
b

T<3,3ms

b
g

I0
I1

DCD 2:4

Palier "0" selecteaza port B


O0
O1
O2
O3

E
1/2 74139

Figura 2.37 Structur


a pentru multiplexarea informatiei pe afisoare cu 7 segmente.

b). Implementarea functiilor logice. Circuitul multiplexor MUX2n :1, prin


structura sa, produce pe nivelul de AND (decodificator) toti termenii cononici produs
de variabilele de selectare, fiecare minterm Pi fiind nmultit cu coeficientul di respectiv, iar prin nivelul interior de OR nsumeaz
a toate produsele obtinute, deci poate
modela orice functie de n variabile sub forma sa canonic
a normal
a disjunctiv
a, relatia
n
1.10. Un MUX2n :1 apare ca suport pentru implementarea tuturor celor 22 functii
de n variabile, particularizarea pentru o anumit
a functie fjn se face prin aplicarea
n
pe intrarea de date a setului de 2 coeficienti ai functiei, deci multiplexorul este
un circuit universal pentru implementarea oric
arei functii! Implementarea
functiei rezult
a ca o mapare direct
a a coeficientilor functiei cititi din tabelul de adev
ar
sau diagrama V-K pe intr
arile de date corespunz
atoare ale multiplexorului. Implementarea functiei pe multiplexor nu necesit
a minimizarea acesteia, dimpotriv
a, dac
a
o functie este dat
a n form
a redus
a/minim
a va trebui expandat
a p
an
a la obtinerea
formei normale disjunctive din care rezult
a care intr
ari de date ale multiplexorului
sunt 1 si care sunt 0 (adic
a valorile coeficientilor functiei).

232

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Pentru implementarea celor 16 functii de dou


a variabile x1 , x0 coeficientii functiei
fi2 se citesc din Figura 1.2-a, fie din relatia 1.82 (linia a i-a din matricea coeficientilor)
care se aplic
a unui MUX4:1, Figura 2.38. Din totalul de 16 MUX4:1, care modeleaz
a
cele 16 functii, sase pot fi eliminate deoarece functiile pe care le modeleaz
a se reduc
la valori banale (0, 1, x1 , x0 , x1 , x0 ), existente n sistem f
ar
a a mai fi necesar s
a fie
calculate.

0
0
0
0

MUX
4:1
00
01
10

11

0
0
1
1

x 1x 0

2
f1
MUX
4:1
00

0
0 01
0 10
1 11

x 1x 0

2
f8
MUX
4:1
00

1
0 01
0 10
0 11

x 1x 0

MUX
4:1
00
01
10

x1

11

x 1x 0

x 1x 0

f5

2
f2
MUX
4:1
00

0
0 01
1 10
0 11

x 1x 0

2
f9
MUX
4:1
00

x 1+x 0 1
0 01
0 10
1 11

x 1x 0

0
1
0
1

MUX
4:1
00
01
10

x0

11

x 1x 0

x 1x 0

f 10

1
0
1
0

2
f4
MUX
4:1
00

0
1 01
0 10
0 11

x 1x 0

2
f 11
MUX
4:1
00

x 1+x 0 1
0 01
1 10
1 11

x 1x 0

MUX
4:1
00
01
10
11

x 1x 0

x 1x 0

f 12

1
1
0
0

x0

2
f6
MUX
4:1
00

0
1 01
1 10
0 11

MUX
4:1
00
01
10

f 15

x1

11

x 1x 0

x 1+x 0 0
1
1
1

x 1x 0

2
f 13
MUX
4:1
00

x 1+x 0 1
1 01
0 10
1 11

x 1x 0

MUX
4:1
00

1
1
1
1

01
10

11

x 1x 0
2
f7
MUX
4:1
00
x 1+x 0
01
10
11
x 1x 0
2

f 14

x 1+x 0 1
1
1
0

MUX
4:1
00
01
10
11

x 1x 0

6 forme banale

f3

10 forme nebanale

f0

x 1x 0

Figura 2.38 Implementarea celor 16 functii de dou


a variabile pe circuite MUX4:1.

Dar, implementarea celor 16 functii de dou


a variabile poate fi efectuat
a consider
and functii de o singur
a variabil
a x0 , iar variabila x1 variabil
a reziduu este introdus
a n coeficientii functiei. Coeficientii functiei pot avea doar valori din multimea
{0, 1, x1 , x1 }, valori care nu trebuie calculate, deoarece exist
a n sistem. Avantajul practic al reducerii functiei la o functie de o singur
a variabil
a rezult
a printr-o
implementare pe un circuit mai simplu, MUX2:1, Figura 2.39. Evident, si pentru
implementarea pe MUX2:1 cele sase valori banale (0, 1, x1 , x0 , x1 , x0 ) ale functiilor de
dou
a variabile nu necesit
a multiplexoare.
Pentru aceast
a implementare elegant
a a unei functii pe multiplexor, c
and n este
ridicat, rezult
a un multiplexor de capacitate mare. Exist
a dou
a modalit
ati de a
reduce, eventual, capacitatea multiplexorului. In primul r
and, se ncearc
a s
a se introduc
a mai multe variabile reziduu rezult
and o functie de mai putine variabile. Aceast
a
variant
a duce la simplificarea structurii numai atunci c
and coeficientii obtinuti cu

233

2.4. CLC PENTRU FUNCT


II LOGICE

MUX
2:1

1 0
1 1

x0

2
f8
MUX
2:1

x1 0
0 1

1 0
1 1

0 0
1 1

x0

2
f4
MUX
2:1

x 1+x 0 0
0
x1 1

x0

2
f7
MUX
2:1

MUX
2:1

x0

x0

MUX
2:1

1 0
0 1

2
f2
MUX
2:1

x 1x 0 x 1 0
0 1

x0

2
f 11
MUX
2:1

x 1+x 0 1
0
x1 1

x0

x0
x 1x 0

x0

2
f 13
MUX
2:1

x 1+x 0 x 1 0
1 1

x0

MUX

2
f1
MUX
2:1

0 0
x1 1

x0

f 26
MUX
2:1

x 1x 0 x 1 0
x1 1

x0

2
f 14
MUX
2:1

x 1+x 0 1 0
x1 1

x0

MUX

2:1 x
2:1 x
x0 x
1
1 x1 0
1 0
x1 1
x1 1

x 1x 0

x0

x 1+x 0

x0

2
f9
MUX
2:1

x1 0
x1 1

x0

x 1+x 0

10 forme nebanale

MUX
2:1

0 0
0 1

f 12

f3

f 10

f5

f 15

6 forme banale

f0

x0

Figura 2.39 Implementarea celor 16 functii de dou


a variabile pe circuite MUX2:1
(variabila x1 este introdus
a ca variabil
a reziduu n coeficientii functiilor f i2 ).

variabile reziduu au forme banale sau au expresii ce pot fi calculate cu porti simple AND/NAND, NOR/OR sau XOR/NXOR. Foarte important n obtinerea unor
expresii simple pentru coeficientii cu variabile reziduu este modul de alegere, dintre
variabilele functiei, care s
a fie varaibilele reziduu si care s
a fie variabilele functiei de
ordin mai mic. Nu exist
a un algoritm care s
a exprime modul de alegere a variabilelor
pentru o implementare optim
a. Pentru o implementare cvasioptim
a, sau optim
a,
intuitia si exercitiul proiectantului n manipularea functiilor analitice, tabelelor de
adev
ar sau diagramele V-K pot fi factori de succes.
In al doilea r
and, se poate reduce capacitatea multiplexorului c
and, fie pentru
functia exprimat
a prin variabile reziduu, fie far
a, se descompune multiplexorul de
capacitate ridicat
a printr-o retea arborescent
a de multiplexoare de capacitate mai
mic
a, uzual din MUXE. Analiz
and iesirile acestor multiplexoare elementare, situate
la nivelul zero (nivelul frunzelor) sau la niveluri putin mai ridicate dec
at acesta,
se poate constata c
a unele dintre aceste niveluri produc valori banale sau functii
foarte simple, astfel se pot elimina multiplexoarele respective. Poate rezulta n urma
analizei, o structur
a hard cu mult mai simpl
a n raport cu multiplexorul initial. S
i
la implementarea pe structuri arborescente modul de alegere a variabilelor reziduu
poate duce la simplific
ari hard importante. In exemplele urm
atoare se vor utiliza
toate aceste modalit
ati pentru implementare.
Exemplul 2.15 Urmatoarea functie
f (A, B, C, D, E) =

31
X

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28)

s
a fie implementat
a numai cu circuite MUX4:1.

234

00

A
1
A
A

00

11

01
10
11

01
10
11

00
01
10
11

MUX 4:1

A
A
0
0

10

MUX 4:1

00
01

MUX 4:1

0
1
0
A

MUX 4:1

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

f(A,B,C,D,E)

Figura 2.40 Implementarea printr-o structur


a arborescent
a numai cu MUX4:1
31
P
a functiei F(A, B, C, D, E) = (1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28).
0

Solutie. Pentru a utiliza numai MUX4:1 functia se va transforma ca o functie de dou


a
variabile D, E cu coeficienti care cuprind variabilele reziduu A, B, C. Acesti coeficienti vor
fi si ei transformati nc
at s
a fie functii de dou
a variabile B, C iar variabila A introdus
a ca
variabil
a reziduu. Rezult
a o structur
a de retea arborescent
a cu dou
a niveluri, pe nivelul
,,
zero (frunze ) multiplexoarele 4:1 vor fi selectate de variabilele B, C av
and ca si coeficient
pe intr
arile de date, valori din multimea {0, 1, A, A} iar pe nivelul unu un multiplexor 4:1
selectat de variabilele D, E
f (A, B, C, D, E) = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P10 + P14 + P20 + P22 + P28 =
ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE+
+ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE =
= (ABC + ABC)DE + (ABC + ABC)DE + (ABC + ABC + ABC+
+ABC)DE + (ABC + ABC)DE =
= (0 BC + 1 BC + 0 BC + A BC)DE+
+(A BC + A BC + 0 BC + 0 BC)DE+

+(A BC + 1 BC + A BC + A BC)DE+
+(A BC + A BC + 0 BC + 0 BC)DE

Aceast
a expresie este implementat
a n Figura 2.40. Deoarece expresiile coeficientilor
produselor DE si DE sunt identice, se va calcula cu un singur MUX4:1, n nivelul zero, iar
rezultatul se aplic
a pe intr
arile 01 si 11 ale multiplexorului din nivelul unu.

Exemplul 2.16 Fie urmatoarea functie de 5 variabile


f (A, B, C, D, E) =

31
X
0

(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).

2.4. CLC PENTRU FUNCT


II LOGICE

235

S
a se implementeze utiliz
and un num
ar minim de circuite integrate. Se presupune c
a sunt
disponibile, la intrare, variabilele at
at negate c
at si nenegate.
Solutie. Din diagrama V-K, Figura 2.41-a rezut
a forma minim
a a functiei
f = AE + BC + BE = AE BC BE
care se implementeaz
a ca n Figura 2.41-b cu 3xNAND2 si 1xNAND3. Deoarece nu exist
a
circuite integrate care s
a aib
a simultan ambele tipuri de porti, se vor utiliza dou
a circuite
integrate: unul pentru 3xNAND2 si unul pentru 1xNAND3; pe fiecare circuit r
am
an
and porti
nefolosite. Deoarece n forma minim
a obtinut
a nu mai apare variabila D, se va implementa
n continuare o functie numai de 4 variabile A, B, C, E. Pentru implementare pe multiplexor,
forma minim
a se expandeaz
a la forma normal
a disjunctiv
a, operatie care este prezentat
a n
diagrama V-K din Figura 2.41-c. Implementarea pe un MUX16:1 se face direct prin maparea
coeficientilor din diagrama V-K pe intr
arile de date. Dar se poate utiliza un MUX8:1 dac
a
variabila A se va alege ca variabil
a reziduu, Figura 2.41-e (un singur circuit integrat).
Pentru implementarea pe MUX4:1 trebuie introduse n coeficienti dou
a din variabilele
reziduu. Dar care variant
a, de c
ate dou
a perechi de variabile (o pereche de variabile pentru selectarea multiplexorului iar celalalt
a pereche de variabile introduse ca variabile reziduu), duce
la implementarea cea mai simpl
a? In total cu cele patru variabile se pot realiza urm
atoarele
sase variante de perechi distincte (prima pereche corespunde variabilelor reziduu iar a doua
variabilelor de selectare):
V1 CE, AB; V2 AB, CE; V3 BE, AC;
V4 AC, BE; V5 BC, AE; V6 AE, BC
Pentru toate variantele, valorile coeficientilor cu variabile reziduu se pot deduce din
diagrama V-K din Figura 2.41-c. De exemplu, pentru varianta V1 (variabile de selectare
AB) se procedeaz
a n felul urm
ator:
pentru suprafata AB = 00, toti mintermii din c
asutele elementare ale acestei suprafete
au valoarea 0, deci d0 = 0.
pentru suprafata AB = 01, mintermii din c
asutele elementare 4,5 si 7 cuprinse n
interiorul acestei suprafete au valoarea 1. Acestia extrasi din diagram
a prin scriere
mpreun
a n functie de C, E rezult
a C AB + EAB = (C + E)AB deci d1 = C + E.
pentru suprafata AB = 11, numai mintermii din c
asutele 12,13 si 15 au valoarea 1,
prin scrierea impreun
a a lor rezult
a CAB + EAB = (C + E)AB, deci d3 = C + E.
pentru suprafata AB = 10, numai mintermii din c
asutele 9,11 au valoarea 1. Prin
scrierea impreun
a a lor rezult
a EAB, deci d2 = E.
Valorile rezultate ale coeficientilor cu variabile reziduu (C, E) sunt prezentate n tabelul
V1 din Figura 2.41-d. In mod asem
an
ator se procedeaz
a si pentru celelalte cinci variante.
Analiz
and tabelele tuturor variabilelor rezult
a c
a cea mai simpl
a form
a de implementare
corespunde lui V4 , coeficientii sunt numai din multimea valorilor banale 0, 1, A, A, C, C. Implementarea pe circuitul 74S153 (2xMUX4:1) este prezentat
a n Figura 2.41-f (un singur
circuit integrat, dar un MUX4:1 din componenta sa r
am
ane neutilizat).

Exemplul 2.17 Functia de patru variabile data n diagrama V-K din Figura 2.42-a
s
a se implementeze pe un MUX8:1 structurat ca n variantele din Figura 2.35-c.
Solutie. Functia de patru variabile pentru a fi implementat
a pe un MUX8:1 trebuie
exprimat
a cu o variabil
a reziduu, deci diagrama V-K din Figura 2.42-a este transformat
a n

236

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

ABC
000 001 011 010 110 111 101 100
DE 0
12
8
20
16
4
24
28
00
1
1

11
10

27

31

23

19

B
C

BC

11
10

26

30

22

18

B
E

BE

15

14

1
1

BC

1
1

1
1

01

00
4

1
1
1

11
12
13
15

10
8

11

14

E
1

10

c)

E
C
B
e)

b)
A
0
0
1
1

V1
B di
0 0
1 C+E
0 E
1 C+E

B
0
0
1
1

V4
E di
0 0
1 A
0 C
1 1

C
0
0
1
1

V2
E di
0 B
1 A+B
0 0
1 A+B

A
0
0
1
1

V5
E di
0 BC
1 B
0 BC
1 1

V CC

74S151

A
0
0
1
1

V3
C di
0 B
1 BE
0 B+E
1 E

B
0
0
1
1

V6
C di
0 AE
1 AE
0 1
1 E

I0
I1
I2
I3
I4
I5
I6
I7
20
21
22
G

74S153
1I 0
1I 1
1I 2
1I 3

f
f
A
C
MUX 8:1

E
B
f)

2I 0
2I 1
2I 2
2I 3
20
21
1G
2G

Figura 2.41 Modalit


ati de implementare a functiei
31
P
(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).
0

d)

V CC
A

AE
A

CE 0
00

10

17

AB

21

13

BE

11

29

a)

01

25

1O
2 x MUX 4:1

01

AE

A
E

2O

f (A, B, C, D, E)

237

2.4. CLC PENTRU FUNCT


II LOGICE

CD
AB 00
00 0

01

01 1

10 0
a)

0
1
A
A
0
1
A
A
d)

10

0
1

1 1

(1)
(5)
(2)
(6)
(3)
(7)

(0)

0
1

00
01

0
1

0
1

10
11

0
1

b)

1 x CI
7 conectari
(0)
(4)

(0)

0
1 (4)
(2)
0
1 (6)
A 3 (1)
A 3 (5)
A 3 (3)
A 3 (7)
c)

A variabila reziduu
CD
00 01 11 10
B
0
0 0 A 1A A

11 1

11

2 x CI
11 conectari

0
00
(2)
0
01
(4)
1
10
(6)
1
11

A3
00
A 3 (3) 01
A 3 (5) 10
A 3 (7) 11
B
e)

0
1

(1)

0
1

0
1

1 x CI
8 conectari
0
1

0
1

0
1

0
1

0
1

C
D
1 x CI
11 conectari
0
A
0
1
1
A
A
A
f)

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

000
001
010
011
100
101
110
111

B C

Figura 2.42 Implementarea unei functii de patru variabile pe diferite structur


ari
de MUX8:1.

diagrama V-K din Figura 2.42-b. Prin aceast


a transformare, pentru valorile indiferente ale
functiei se consider
a at
at 0 c
at si 1 ceea ce determin
a dou
a valori ale coeficientului n unele
c
asute elementare ale diagramei cu variabile reziduu. Pentru implementarea functiei se va
lua acea valoare a coeficientului care duce la o structur
a de circuit mai simpl
a.
Coeficientii functiei din diagrama V-K cu variabile reziduu se aplic
a pe intr
arile structurilor de MUX8:1. Coeficientul functiei din c
asuta cu num
arul i, exprimat n binar, se
aplic
a pe intrarea de date notat
a cu num
arul i ca n Figura 2.42-f. Dar la o structur
a de
arbore, intrarea a i-a este aceea la care, parcurg
and un traseu de la frunz
a la r
ad
acin
a, sirul
cifrelor binare nt
alnite la intrarea de date a fiec
arui multiplexor, formeaz
a tocmai num
arul
i exprimat n binar natural. De exemplu, n Figura 2.42-c, la intrarea la care ncepe traseul
prin a c
arei parcurgere se nt
alneste sirul de biti 1, 0, 1, se va aplica coeficientul din c
asuta
a cincea (5 = 101|2 ) din diagrama V-K, adic
a A. Pentru usurinta
n realizarea map
arii, la
intr
arile multiplexoarelor, s-au nscris, n paranteze, si num
arul n zecimal al coordonatei
c
asutei din diagrama V-K al c
arui coeficient se aplic
a pe acea intrare de date.
Se observ
a c
a la retelele arborescente care contin multiplexoare 2:1 sau 4:1, uneori,
se calculeaz
a valori banale, care oricum exist
a n sistem si nu mai trebuie calculate, deci
multiplexoarele respective se elimin
a. Efectu
and aceste elimin
ari si calcul
and indicatorii
de eficienta
(num
arul de circuite integrate, CI si num
arul de conect
ari), afirmatia de la
Figura 2.35-c, c
a implement
arile cu multiplexoare de capacitate mai mare sunt mai eficiente,
este contrazis
a. Din implement
arile din Figura 2.42 rezult
a c
a inplement
arile pe retelele
arborescente, av
and multiplexoare de capacitate mic
a, sunt mai eficiente. Aceast
a afirmatie
trebuie luat
a sub rezerva c
a obtinerea unei structuri simple depinde foarte mult de modul

238

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

potrivit de asignare a variabilelor reziduu.

Circuitul multiplexor prezint


a o limitare intrinsec
a termenii canonici produs,
generati pe nivelul AND, sunt utilizati doar o singur
a dat
a (prin colectarea n interior la o poart
a OR). In general, la implementarea unei functii costul implement
arii,
n mare parte, este determinat de generarea termenilor produs. Nu exist
a aceeasi
situatie la decodificator/demultiplexor unde termenii produs, datorit
a faptului c
a
sunt colectati n exterior n nivel OR, pot fi utilizati n mai multe porti OR dac
a
au un fan-out corespunz
ator, deci implementarea mai multor functii. Solutia care
apare este cea a utiliz
arii mpreun
a a multiplexorului cu decodificatorul.
P 2(j1n)1
DCD
P0

Retea de
porti OR

MUX 2 n:1

x j1

x n x n1 x 0

fi

Figura 2.43 Implementarea unei functii fij pe o structur


a compus
a decodificatormultiplexor.

Pentru o astfel de implementare combinat


a, decodificator-multiplexor, se consider
a o functie de j variabile fij . Se partajeaz
a variabilele n n variabile ale functiei
(xn1 , xn2 , ..., x1 , x0 ) si (j 1)n variabile reziduu (xj1 , xj2 , ..., xn+1 , xn ). Coeficientii de variabile reziduu sunt sume de produse de aceste variabile care se pot calcula
cu un DCD(j 1 n):2(j1n) si o retea extern
a se porti OR, apoi acesti coeficienti
sunt aplicati pe intr
arile de date ale multiplexoarelor MUX2n :1, Figura 2.43, la care
selectarea se face prin variabilele xn1 , xn2 , ..., x1 , x0 .

2.4.5

Demultiplexorul, DMUX

Circuitul demultiplexor DMUX poate realiza o functie de comunicatie prin conectarea unei linii de intrare I la oricare dintre liniile de iesire O2n 1 , O2n 2 , ..., O1 , O0 .
Functia aceasta de comunicatie distribuire a unei intr
ari la oricare din iesiri
pe care o realizeaz
a un cirucuit DMUX poate fi efectuat
a si de un selector rotativ mecanic, Figura 2.44-a. La distribuitorul mecanic, selectarea iesirii, la care se
conecteaz
a intrarea, se face prin pozitia contactului rotativ, iar la circuitul demultiplexor DMUX1:2n , cu o linie de intrare si 2n linii de iesire, printr-un cuv
ant de
selectarea cu lungimea de n biti xn1 , xn2 , ..., x1 , x0 , Figura 2.44-b. Operatia de demultiplexare, distribuirea unei intr
ari la oricare din cele 2n iesiri, apare ca o operatie
invers
a multiplex
arii (selectarea unei intr
ari din cele 2n si conectarea la o singura
iesire).

239

2.4. CLC PENTRU FUNCT


II LOGICE

Particulariz
and DMUX1:2n , pentru n = 2, se obtine demultiplexorul cu o singur
a
cale de intrare E (activ
a n L) si patru c
ai de iesire O0 , O1 , O2 , O3 , comandat pe
selectare prin cuv
antul x1 x0 , a c
arui schem
a bloc si tabel de adev
ar sunt prezentate
n Figura 2.44-c si 2.44-d. Din tabelul de adev
ar rezult
a expresia logic
a pentru fiecare
iesire: y0 = E Ly 1 y 0 ; y1 = E Ly 1 y0 ; y0 = E Ly1 y 0 ; y0 = E Ly1 y0 care corespund
implement
arii din Figura 2.44-e. Se pot da urm
atoarele dou
a interpret
ari: la iesirea
Oi selectat
a de configuratia cuv
antului de selectare, se transmite intrarea E L complementat
a (functia de comunicatie), sau, dac
a se consider
a intrarea permanent
activat
a E L = 0, iesirea Oi este activ
a c
and configuratia cuv
antului de selectare este
Pi ; deci conform ultimei interpret
ari se pot genera la iesire toti cei patru mintermi
P0 , P1 , P2 , P3 (functia de circuit logic). Ultima interpretare ne arat
a identitatea
function
arii si identitatea structur
arii, vezi sectiunea 2.4.3 si Figura 2.28-c, ntre decodificator si demultiplexor.
y0
y1
E_L

I
Selectare
O 2n1
E(Enable)
O2n2

x n1
b)

y0
y1

E_L

O 2n1
Sn1 S1S0

y 2n2
y2n1

a)

DMUX 1:2 n
O0
O1

y2n1

O0
O1
E O
2
O3
S1 S0
DMUX 1:4

O0
O1

y0
y1
y2
y3

x1 x0

x1 x0

Selectare

c)
O0 y0

E_L x 1x 0 Iesire
0 0

y0=E_Lx 1x 0

0 1

y1=E_Lx 1x 0

0 1 0

y2=E_Lx 1x 0

0 1 1

y3=E_Lx 1x 0

d)

E_L

e)

O0 y0
O1 y1

E_L

O3 y3
DCDE

O2 y2

DMUX 1:4

yi=0

DMUX 1:2

O1 y1

x1

x0

x0
f)

Figura 2.44 Demultiplexorul, DMUX: a) distribuitorul rotativ mecanic analogul


mecanic al demultiplexorului; b) simbol de reprezentare pentru DMUX1:2n ;c,d,e) simbol de
reprezentare, tabel de adev
ar si structura circuitului pentru DMUX1:4; f) structura demultiplexorului elementar, DMUX1:2.

Se poate generaliza, un decodificator DMUX1:2n este un distribuitor al valorii


complementate E L la iesirea Oi , selectat
a prin cuv
antul de selectare, iar un DCDn:2n
este un decodificator al cuv
antului de selectare, c
and intrarea de validare este activat
a

240

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

E L = 0, Figura 2.44-b. Deci se poate scrie identitatea DMUX1:2n (pentru E L = 0)


DCDn:2n . Aceasta explic
a de ce pentru decodificare sau pentru demultiplexare
exist
a un singur circuit integrat referit n cataloage ca decodificator/demultiplexor.
Si, n general, la acest circuit, semnalul de validare se obtine printr-o conjunctie ntre
mai multe semnale de validare, unele active n stare H, altele n stare L. Obtinerea
valid
arii din conjunctia mai multor semnale poate fi util
a ntr-un sistem, pentru c
a se
poate conditiona functionarea acelui sistem de realizarea (activarea) simultan
a a mai
multor semnale (conditii).
De exemplu, circuitul decodificator/demultiplexor 74xx138, cu tabelul de adev
ar
si cu simbolul de reprezentare date n Figura 2.45, are trei intr
ari de validare, una G 1
la care semnalul aplicat este activ n stare H, iar celelalte dou
a G2A si G2B la care
semnalele aplicate sunt active n stare L.
INTRARI
G1G2A_L G2B_LS2
0
1
1
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 1
1 0 0 1
1 0 0 1
1 0 0 1
a)

S1

0
0
1
1
0
0
1
1

S0

0
1
0
1
0
1
0
1

O7
1
1
1
1
1
1
1
1
1
1
0

O6
1
1
1
1
1
1
1
1
1
0
1

O5
1
1
1
1
1
1
1
1
0
1
1

IESIRI
O4 O3
1 1
1 1
1 1
1 1
1 1
1 1
1 0
0 1
1 1
1 1
1 1

O2
1
1
1
1
1
0
1
1
1
1
1

O1
1
1
1
1
0
1
1
1
1
1
1

O0
1
1
1
0
1
1
1
1
1
1
1

74xx138
DCD 3:8

G1
G
G2A_L 1
G
G2B_L 2A
G2B
x2
x1
x0

S2
S1
S0

O0
O1
O2
O3
O4
O5
O6
O7

y0_L
y1_L
y2_L
y3_L
y4_L
y5_L
y6_L
y7_L

b)

Figura 2.45 Circuitul 74xx138, DMUX1:8: a) tabelul de adev


ar; b) simbolul de
reprezentare.

Functionarea logic
a este direct
a o iesire este activ
a dac
a si numai dac
a validarea
este activ
a si este aplicat cuv
antul de selectare corespunz
ator. Astfel ecuatia logic
a,
n notatii de semnale interne din Figura 2.45-b, de exemplu pentru O5 , se scrie usor:
O5 = G1 G2A G2B S2 S 1 S0
|
{z
} | {z }
validare

selectare

Dar tin
and cont de cerculetele de negatie, care indic
a faptul c
a semnalele exterioare
corespunz
atoare sunt active n L (ntre semnalul exterior si cel interior n circuit exist
a
a anterioar
a se poate scrie n
un inversor G2A = G2A L, G2B = G2B L), ecuatia logic
functie de semnalele exterioare (aplicate sau generate)
Y5 L = O 5

= G1 G2A L G2B L x2 x1 x0 =
= G1 + G2A L + G2B L + x2 + x1 + x0

In acest caz, pentru o validare permanent


a, intrarea G1 se conecteaz
a la VCC iar
celelalte dou
a intr
ari G2A si G2B se conecteaz
a la mas
a.
Din structura DMUX1:4, prin eliminarea intr
arii de selectare x1 , se obtine structura demultiplexorului elementar DMUXE, reprezentat n Figura 2.44-f. Dar,

241

2.4. CLC PENTRU FUNCT


II LOGICE

de la DMUX1:4, prin extensie, se poate obtine si demultiplexorul cu 2n c


ai de iesire
DMUX1:2n prin extindere la n a num
arului de decodificatoare elementare si, de
asemenea, prin extinderea la n a num
arului de porti AND(n+1). Caracteristicile
pentru o astfel de structurare a DMUX1:2n sunt cele ale DCDn:2n adic
a o dimensiune SDM U X(n) O(n2n ) si o ad
ancime DDM U X(n) = 3 O(n). Ad
ancimea, dup
a
cum s-a analizat si la DCD, doar teoretic este 3, pentru c
a n realitate o poart
a
AND(n+1) nu poate fi structurat
a pe un singur nivel logic.
Dar un DMUX1:2n se poate defini (si proiecta) printr-o structurare recursiv
a de
DMUXE; consider
and de data aceasta c
a si iesirile sunt active n stare L (pentru
a se putea comanda intrarea de validare a urm
atorului DMUX, f
ar
a a mai ad
auga
inversoare).
Definitia 2.11 Un DMUX1:2n , selectat prin cuv
antul xn1 xn2 ...x1 x0 , se
structureaz
a dintr-un DMUXE selectat cu xn1 si ale c
arui iesiri comand
a intr
arile
a dou
a DMUX1:2n1 selectate prin cuv
antul xn2 xn3 ...x1 x0 . Apoi, asupra celor
dou
a DMUX1:2n1 se aplic
a acelasi procedeu de structurare, procedeul recursiv de
structurare se opreste c
and se ajunge la DMUX-uri selectate prin x0 . 

x n1

S0

E
DMUXE
O1
O0

x n2...x 1x 0
E
DMUX 1:2 n1
S0 O 2n1
O1 O0
Sn2

y 2n1

y 2n1+1 y 2n1

E
DMUX 1:2 n1
S0 O 2n1
O1 O0
Sn2

y 2n11

y1 y0

Figura 2.46 Structura recurent


a a DMUX1:2n .

Prin modul de structurare, conform acestei definitii, Figura 2.46, se obtine o retea
,,
arborescent
a de (2n 1)DMUXE distribuite pe n niveluri; pe nivelul zero, frunze ,
,,
selectat prin x0 sunt 2n/2 DMUXE, iar pe nivelul n, un singur DMUXE, r
ad
acin
a ,
selectat de xn1 . Aceast
a retea binar
a are o structurare asem
an
atoare cu cea obtinut
a
la structurarea MUX2n :1, dup
a Definitia 2.10 , diferenta const
a n sensul de transfer
al datelor. La MUX2n :1 datele de intrare se aplic
a la frunze, iar iesirea este prin
r
ad
acin
a, pe c
and la reteaua arborescent
a a DMUX1:2n se aplic
a o singur
a dat
a de
intrare la r
ad
acin
a, iar iesirea este prin frunze. Caracteristicile acestei structur
ari
sunt: dimensiunea SDM U X(n) O(2n ) iar ad
ancimea DDM U X(n) O(n).
Acest mod de structurare iterativ
a (la fel ca la multiplexoare) se poate realiza
nu numai cu pasul un bit de selectare, ci repartiz
and pe un nivel q biti de selectare,
aceasta nseamn
a k niveluri si pe fiecare nivel sunt DMUX1:2q , n = kq. Modul acesta
de structurare poate fi utilizat si pentru obtinerea unui DMUX1:2n pe k niveluri din
circuite DMUX1:2q obtenabile comercial.

242

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Perechea format
a din cele dou
a circuite cu functii inverse, un MUX2n :1 comand
a
(conectat printr-un singur fir la) un DMUX1:2n poate fi utilizat
a pentru transferul
serial al continutului unui port surs
a, cu lungimea de 2n biti, ntr-un alt port destinatie
de aceeasi lungime. Bitii portului surs
a sunt aplicati la cele 2n intr
ari de date ale
n
n
MUX2 :1, iar cele 2 iesiri ale DMUX1:2n sunt aplicate la intr
arile portului destinatie.
Ambele cuvinte de selectare sunt generate sincron de la un num
ar
ator binar modulo
2n , deci pe durata a 2n tacte de ceas aplicate num
ar
atorului se efectueaz
a transferul
serial, bit-cu-bit, din portul surs
a n portul destinatie.

2.4.6

Memoria numai cu citire, ROM

Functia de memorare o posed


a acele circuite digitale care pot stoca (nmagazina)
si regenera, la comand
a, informatia sub form
a de cuv
ant.
Organizarea logic
a a memor
arii datelor, dar si cea pe suportul fizic, este sub forma
unei matrice cu A-num
ar de linii (adrese) si D-num
ar de coloane, Figura 2.47-a.
In fiecare nod al matricei poate fi stocat un bit. Se consider
a c
a pe fiecare linie a
matricei este stocat
a informatia sub forma unui cuv
ant cu lungimea D biti, de unde
si termenul uzual de linie de cuv
ant; num
arul de biti ai cuv
antului este egal cu
num
arul de coloane. Referirea la o linie de cuv
ant se face prin adresa sa, care, n
general, este num
arul de ordine al liniei matricei. De exemplu, n acest
a figur
a, la
adresa 0 (prima linie) este stocat cuv
antul de n biti Dn1 Dn2 ...D1 D0 = 10...11, la
adresa 1 (linia a dou
a) cuv
antul 11...01, iar la adresa 2n 1 (ultima linie) cuv
antul
01...10. La activarea adresei unei linii de cuv
ant se va genera la iesire, pe coloane
linii de bit cuv
antul care este nscris (n locatia de) la adresa respectiv
a.
Capacitatea memoriei, exprimat
a n biti, rezult
a ca fiind egal
a cu produsul A D.
In general, capacitatea memoriei se exprim
a n num
ar de adrese nmultit cu lungimea
cuv
antului (1bit, un byte, un cuv
ant) stocat la o locatie, de exemplu: 1Kbit (1Kadrese
x1bit, 1K= 210 = 1024); 1Mbyte (1Madrese x1byte, 1 M= 220 ); 1Gcuv
ant (1Gadrese
x1cuv
ant, 1G= 230 ); lungimea D n biti a cuv
antului se specific
a sau se subntelege.
Un circuit care, prin structura sa, poate s
a mapeze organizarea matriceal
a a
datelor este circuitul ROM (Read Only Memory); acest circuit este un suport
NUMAI pentru citirea datelor nscrise, nu si pentru modificarea (nscrierea) acestora.
Referirea corect
a a circuitului este circuitul ROM si nu memoria ROM, totusi ultima
sintagm
a s-a fixat; n consecinta
, n aceast
a carte se vor utiliza ambele exprim
ari. La
circuitul ROM stocarea informatiei este non-volatil
a deoarece la pierderea tensiunii
de alimentare informatia nu este pierdut
a. Nevolatilitatea informatiei se datoareaz
a
faptului c
a suportul unui bit, ntr-un nod al matricei, este prezenta sau absenta n
acel nod a unei conexiuni (realizat
a printr-un: fuzibil, diod
a, sau tranzistor). Aceast
a
invaliditate a circuitului ROM de a nu putea fi nscris, cauzat
a de o structurare mai
simpl
a, este eliminat
a de c
atre un alt circuit de memorie, RAM, prezentat n sectiunea
3.6.
Pentru un ciruit ROM, organizarea logic
a de principiu este prezentat
a n Figura
2.47-b. Liniile de cuv
ant ale matricei sunt iesirile de la DCDn:2n , deci activarea unei
locatii rezult
a n urma aplic
arii unui cuv
ant de adres
a An1 An2 ...A1 A0 la intrarea
decodificatorului. Cuv
antul de date de la locatia adresat
a, nainte de a fi generat n
exterior, de exemplu, pe o magistral
a, este bufferat; n cazul conect
arii la o magistral
a,
bufferele de iesire trebuie s
a fie de tip TSL. Comanda bufferelor TSL este realizat
a

2.4. CLC PENTRU FUNCT


II LOGICE

243

prin conjunctia a dou


a semnale de comand
a CS L (Chip Select) si OE L (Output
Enable). Matricea memoriei prezint
a, n fiecare nod, o diod
a si are nscris acelasi
continut ca si cel nscris n matricea de la figura Figura 2.47-a. Pentru un bit 1,
nscris ntr-un nod, dioda respectiv
a este conectat
a ntre linie si coloan
a, iar pentru
un bit 0, nscris, fuzibilul este ars n acest nod, deci dioda nu realizeaz
a conexiunea
ntre linie si coloan
a. Conform conexiunilor la diode, la activarea primei linii va fi
citit cuv
antul Dm1 Dm2 ...D1 D0 = 10...11, pentru linia a doua cuv
antul 11...01, iar
pentru linia de adres
a 2n 1 cuv
antul 01...10.
Aplicatiile cu circuite ROM pot fi ncadrate n dou
a grupe: a) aplicatii de tip
aritmetic si b) aplicatii de tip logic.
a). Aplicatiile de tip aritmetic se reduc la implementarea unor tabele de date,
LUT (Look-Up Table). LUT-ul este o reprezentare a unei functii prin valorile sale
numerice, nscrise n diferite locatii ale circuitului ROM. Adresa locatiei se determin
a
prin configuratia binar
a a valorilor variabilelor de intrare ale functiei. Deci, pentru
o anumit
a configuratie a variabilelor functiei adresa unei locatii din locatia respectiv
a, se obtine, la iesirea circuitului ROM, cuv
antul binar care reprezint
a valoarea
functiei.
b). Aplicatiile de tip logic se reduc la implementarea unei functii logice n
general cu iesiri multiple pe cele dou
a niveluri AND si OR ale circuitului ROM, deci
acesta este un circuit combinational.
In structura matricei o linie de bit, prin diodele conectate la rezistenta R, constituie un circuit max, ca cel din Figura 1.11-b, care n logic
a pozitiv
a este o poart
a
OR. Aceast
a poarta OR, de fapt, colecteaz
a la intrarea bufferului de iesire acele
iesiri ale DCDn:2n la care exist
a diod
a cu fuzibilul nears, adic
a nsumeaz
a logic
unii din termenii canonici de variabilele An1 , An2 , ..., A1 , A0 . De exemplu, linia
de bit D1 realizeaz
a valoarea functiei logice care nsumeaz
a mintermii 1 P 0 + 0
P1 + ... + 1 P2n 1 . Dac
a se priveste circuitul ROM ca un CLC cu iesiri multiple, acesta este un convertor de cod (transcodor), pentru o configuratie a cuv
antului
de intrare, An1 , An2 , ..., A1 , A0 se genereaz
a o configuratie a cuv
antului de iesire,
Dm1 , Dm2 , ..., D1 , D0 , care, de fapt, realizeaz
a o dependenta
intrare iesire ca circuitul cu schema de principiu din Figura 2.33.
La fel ca si multiplexorul, circuitul ROM este un circuit logic universal pentru c
a
prezint
a at
at nivelul de AND c
at si nivelul de OR, dar spre deosebire de multiplexor, la
ROM nivelul de OR este programabil si poate fi un circuit cu iesiri multiple (genereaz
a
un cuv
ant de date). ROM-ul, av
and posibilitatea de a fi programat, pe nivelul de
OR (codificator), poate fi mai eficient folosit, adic
a toti cei 2n maxtermi generati
pe nivelul de AND (decodificator) pot fi utilizati pentru implementarea mai multor
functii si nu numai pentru una singur
a ca la multiplexor. Functia de implementat nu
trebuie minimizat
a deoarece nivelul decodificator produce toti cei 2n termeni canonici.
Implementarea unei functii se face prin maparea direct
a a tabelului de adev
ar pe
matricea OR programabil
a a ROM-ului; pe linia de bit (coloana) alocat
a functiei
respective pentru termenii canonici care au valoare 1 fuzibilul diodei r
am
ane intact,
iar pentru termenii care au valoare 0 conexiunea se exclude prin arderea fuzibilului.
Pentru aplicatiile n care memoria numai cu citire este utilizat
a ca un LUT, aceasta
trebuie inclus
a ntr-un sistem pe baza de P , Figura 2.47-c. Memoria ROM se
conecteaz
a la cele trei magistrale ale sistemului n modul urm
ator: intr
arile de adres
a
la magistrala de adresare, iesirile de date la magistrala de date, iar la magistrala de

244

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Adresa
Linii
de
cuvant
(locatii)

1 0

1 1

1 1

0 1

DCD n:2n
O0
A0
I0
O1
A1
I1
A n1

2n1 0 1

1 0

Dm1 Dm2
a)

I n1
O2n1

CS_L
OE_L

D1 D0

m coloane de
date (linii de bit)

Poarta
OR

b)
Dm1 Dm2
D1
Cuvant de date

D0
D1

D0
D1

Dm1

Dm1
n
(2 m) ROM
A0
A1

P A 0
A1

A n1

A n1

D0

Magistrala de date

Magistrala de adresare

CS
OE

WRITE
READ
c)
Magistrala
de adresare

Adresa nu
este definita

Bitii cuvantului de adresa sunt


stabili pe magistrala de adresare
AA

Magistrala
de control

READ

Magistrala
de date
d)

Datele de la locatia adresata


sunt valide pe magistrala de date
t1

t2

t3

Figura 2.47 Memoria numai cu citire, ROM: a) structurarea matricial


a, de principiu,
pentru informatia sub form
a de cuvinte binare; b) structurarea matriceal
a a unui circuit
ROM; c) conectarea la magistralele P a unui circuit ROM; d) diagramele de timp ale
semnalelor de control pentru efectuarea operatiei de citire.

245

2.4. CLC PENTRU FUNCT


II LOGICE

control, care n acest caz este reprezentat


a doar de semnalul READ generat de P ,
se conecteaz
a intrarea de validare a iesirii, OE. La generarea unui cuv
ant de adres
a
de c
atre P , din locatia de adres
a respectiv
a, se obtine cuv
antul care se depune
pe magistrala de date de unde este citit de c
atre P . Pentru conexiunile din acest
sistem n circuitul de memorie pot fi citite numai cuvintele de adres
a care au bitul
An1 = 0, deoarece acest bit este utilizat pentru activarea semnalului de selectare
a circuitului, CS, activ n L. In procesul de citire a memoriei trebuie ndeplinit
ao
anumit
a secventialitate n aplicarea cuv
antului de adres
a si a semnalelor de control
CS L si OE L.
In Figura 2.47-d sunt prezentate diagramele de semnale pentru efectuarea operatiei
de citire. La momentul t1 , cuv
antul adres
a generat de microprocesor se aplic
a pe
magistrala de adresare la intrarea memoriei si ncepe decodificarea adresei. In momentul t2 , prin semnalul READ, generat tot de P , se comand
a bufferele de iesire
pentru trecerea lor din HZ n starea lor normal
a. Abia ncep
and din momentul t3
datele din locatia de memorie sunt validate pe magistrala de date si pot fi citite de
c
atre P . Se defineste timpul de acces, AA , ca intervalul de timp din momentul
aplic
arii cuv
antului de adres
a la intrarea memoriei (t1 ) p
an
a c
and datele la iesire
sunt valide (t3 ), deci c
and datele pot fi citite. Acest parametru important al circuitelor ROM are valori cuprinse ntre 20 90ns pentru cele n tehnologie bipolar
a
si ntre 70 400ns pentru cele CMOS. Pentru o proiectare se recomand
a consultarea
foii tehnice a circuitului respectiv deoarece n aceast
a prezentare simplificat
a au fost
omisi alti parametrii de timp (vezi Figura 3.92-a).
La implementarea functiilor logice pe memorii numai cu citire, este normal
a tendinta de a se utiliza circuite ROM c
at mai simple si mai ieftine, deci de capacitate c
at
mai mic
a. In acest sens, se recomand
a ca reducerile la functiile logice de implementat
s
a se fac
a n primul r
and pe num
arul variabilelor de intrare. Deoarece capacitatea
memoriei n biti este 2n m, micsorarea intr
arilor cu o unitate reduce capacitatea de
dou
a ori (2n m/2n1 m = 2), pe c
and micsorarea iesirilor cu o unitate duce la o
capacitate de numai m/(m 1) ori mai mic
a, (2n m)/2n (m 1) = m/(m 1)).
Posibilitatea de micsorare a num
arului de variabile aplicate la o memorie numai cu
citire apare la acele functii care sunt partial definite la intrare (unele configuratii
binare nu au sens pentru functie) sau, pentru mai multe configuratii binare de intrare,
functia are aceeasi iesire. Configuratiile care genereaz
a aceeasi iesire sunt grupate
ntr-o clas
a de echivalenta
care necesit
a pentru exprimare doar o singur
a configuratie
binar
a (cod). Dac
a la o functie cu n variabile, un num
ar de n1 variabile (n1 < n)
pot fi grupate ntr-un num
ar de clase de echivalente care pot fi exprimate cu p biti
(p < n1 ), atunci num
arul de intr
ari ale memoriei pentru implementare scade de la n
la n n1 + p.
Exemplul 2.18 Pe un circuit ROM sa se implementeze urmatoarea functie:
f (x5 , x4 , x3 , x2 , x1 , x0 ) =

63
X

(4, 5, 20, 29, 41, 42, 45, 57, 53, 58, 61, 63)

Solutie. Implementarea se poate face direct prin nscrierea valorii 1 n locatiile ale c
aror
adrese sunt specificate n lista mintermilor, pe un modul memorie compus din patru circuite
de capacitate 16 4 biti; D3 = f , ceilalti trei biti de iesire D2 , D1 , D0 r
am
an neutilizati,
Figura 2.48-d. Dar pentru cei 13 termeni produs ai functiei care au valoare logic
a 1, printr-o

246

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Tabelul termenilor
canonici ai functiei
Variabile
P i x 5x 4 x 3x 2x 1x 0 cod
4 00 0100 0
5 00 0101 1
15 0 0 1 1 1 1 5
20 0 1 0 1 0 0 0
29 0 1 1 1 0 1 4
41 1 0 1 0 0 1 2
42 1 0 1 0 1 0 3
45 1 0 1 1 0 1 4
47 1 0 1 1 1 1 5
53 1 1 0 1 0 1 1
58 1 1 1 0 1 0 3
61 1 1 1 1 0 1 4
63 1 1 1 1 1 1 3

Tabelul claselor de
echivalenta
Variabile
cod
0
1
2
3
4
5

x 3x 2x 1x 0
0 1 0 0
0 1 0 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

b)

a)
x0
x1
x2
x3
x4
x5
d)

z 2z 1z 0
000
001
010
011
100
101

Tabelul de adevar al
functiei dupa compresie
Variabile
Iesiri
P i x 5x 4 z 2z 1z 0 y3y2y1y0

4
5
15
20
29
41
42
45
47
53
58
61
63

00
00
00
01
01
10
10
10
10
11
11
11
11

000
001
101
000
100
010
011
100
101
001
011
100
101

1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000

c)
ROM
(644)biti
4(164)biti

y0
y1
y2
y3

x0
x1
x2
x3
x4
x5
e)

z0
ROM 1
z
(164) biti 1
z2

ROM 1
324 biti
2(164)biti

y0
y1
y2
y3

Figura 2.48 Explicativ


a pentru succesiunea etapelor n compresia variabilelor
unei functii n scopul reducerii capacit
atii memoriei ROM folosit
a pentru implementare.
mp
artire a variabilelor functiei n dou
a grupe x5 x4 si x3 x2 x1 x0 , se poate realiza o compresie
prin identificarea unor clase de echivalente. Intre cele 13 cuvinte binare care sunt cuvinte de
adres
a ce se aplic
a la intrarea memoriei ROM, pentru grupul de variabile x3 x2 x1 x0 exist
a
numai sase subcuvinte binare distincte, deci s-a identificat sase clase de echivalenta
notate
cu 0 , 1 , 2 , 3 , 4 , 5 ca n Figura 2.48-a. S
ase clase de echivalenta
pot fi codificate
numai cu 3 biti z2 z1 z0 ca n tabelul din Figura 2.48-b. Transcodarea de la patru variabile
x3 , x2 , x1 , x0 la trei variabile z2 , z1 , z0 se face cu un circuit ROM16 4 biti (un bit de iesire
este neutilizat). In final, functia se poate exprima doar cu 5 variabile x5 , x4 si z2 , z1 , z0 ca n
tabelul din Figura 2.48-c, cu o implementare doar pe dou
a circuite ROM164 plus nc
a unul
pentru transcodorul claselor de echivalenta
, Figura 2.48-e. Fata
de modalitatea direct
a de
implementare cu circuite patru ROM de 164 biti, Figura 2.48-d, s-a economisit un circuit
de 164 biti.

Din analiza comparativ


a a tabelelor de adev
ar ale functiilor booleene pentru
aplicatii logice si a celor pentru aplicatii aritmetice (numerice) se constat
a f
ar
aa
g
asi o explicatie riguroas
a c
a: raportul ntre num
arul configuratiilor variabilelor de
intrare ale functiei care produc valoarea 1 pentru iesire, sau num
arul configuratiilor
care produc valoarea 0 pentru iesire, supra num
arul total de configuratii ale vari-

2.4. CLC PENTRU FUNCT


II LOGICE

247

abilelor de intrare ale functiei, 2n , este egal cu 0.5 pentru functiile aritmetice si mult
diferit de 0.5 pentru functiile logice. Se poate verifica aceast
a observatie prin compararea tabelelor de adev
ar ale operatorilor logici AND,OR,NAND,NOR de dou
a
variabile si tabelul de adev
ar al operatorului aritmetic XOR (sum
a modulo doi) de
dou
a variabile (se poate extinde si pentru n > 2).
Ca o consecinta
a acestei observatii se deduce c
a pentru implementarea unei functii
logice, pe baz
a de 1, sub form
a FCD (sum
a de mintermi) este necesar a se genera
putini mintermi din num
arul total de 2n ai functiei. De asemenea, dac
a functia are
multe valori 1 si putine valori 0, se poate face sinteza functiei negate f prin sumarea
mintermilor pentru (putinele) configuratii la care functia are valoarea 0 si apoi prin
negarea lui f se obtine functia, deci tot un num
ar mic de mintermi ce trebuie generati
n raport cu num
arul total de mintermi 2n . Dar la o implementare pe un ROM sunt
generati toti cei 2n mintermi indiferent dac
a sunt utilizati n sinteza functiei sau nu;
pentru un num
ar mare de variabile de intrare costul gener
arii mintermilor neutilizati
devine destul de ridicat. In concluzie, pentru implementarea aplicatiilor aritmetice
(LUT-uri, programe de calculator) circuitul ROM este o solutie recomandat
a, dar
pentru implementarea aplicatiilor logice, mai ales pentru n ridicat, ROM-ul nu este
recomandat. Vom vedea c
a pentru implementarea functiilor logice, cu n ridicat si
num
ar redus de mintermi necesari, este recomandat circuitul PLA.
2.4.6.1

Realizarea circuitelor si modulelor ROM

Adresarea bidimensional
a. Pentru o memorie ROM de capacitate 2n m
biti, cu n biti de adrese si m biti de date pe iesire, Figura 2.47-a, se poate calcula
dimensiunea SROM (n,m) . Consider
and fiecare linie de bit ca o poart
a OR cu 2n intr
ari
si pentru fiecare buffer de iesire TSL trei terminale rezult
a:
SROM (n,m)

= SDCD(n) + m SOR(2n ) + m SBuf f er


= n 2n + m 2n + m 3
O((n + m) 2n )

O astfel de dimensiune pentru n de valoare ridicat


a genereaz
a dificult
ati la implementarea ROM. In general, n > m, iar m = 2k are valori uzuale de 1,4, sau 8.
Dificult
atile de implementare sunt datorit
a num
arului mare de iesiri de la DCDn:2 n
si valorii relativ mic
a a lui m. De exemplu, pentru circuitul 27C040 ROM cu capacitatea 4M (512K 8 = 1019 23 = 222 biti) ar rezulta un decodificator cu (512 1024)
iesiri, ceea ce ar fi foarte greu de realizat, iar dimensiunile matricei ar fi 219 8, ori
,,
aceast
a suprafata
filiform
a ar fi cu totul neconvenabil
a pe aria de Si. Se recomand
a
ca suprafetele ocupate pe aria de Si s
a fie p
atratice (sau dreptunghiulare) din motive
tehnologice si de mpachetare (conexiuni si pini). Aceste dou
a dificult
ati, num
arul
mare de iesiri ale DCD n : 2n c
at si suprafata filiform
a a matricei, pot fi dep
asite prin
modul de adresare bidimensional
a.
La adresarea bidimensional
a, exprimat
a prin Definitia 2.9, cuv
antul de adres
a
An1 An2 ...A1 A0 se mparte n dou
a subcuvinte de adres
a cu lungimea n2 biti
(An1 An2 ...An1 An1 ) si cel
alalt cu lungimea de n1 biti (An1 1 An1 2 ...A1 A0 ), n
general n1 si n2 au valori apropiate sau chiar egale, n = n1 + n2 . In felul acesta se
realizeaz
a dou
a decodificatoare, unul DCDn2 :2n2 pentru decodificarea liniilor matricei
and un num
ar de iesiri
si cel
alalt DCDn1 :2n1 pentru decodificarea coloanelor, fiecare av
mult mai mic dec
at decodificatorul initial DCDn:2n ; 2n1 << 2n , 2n2 << 2n , 2n1

248

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

2n2 = 2n . Matricea initial


a, care avea 2n linii cu m biti pe fiecare linie, se scaleaz
a la o
n2
matrice care are 2 linii dar cu m2n1 biti pe fiecare linie, deci raportul dimensiunilor
se modific
a de la 2n /m >> 1 la 2n2 /m 2n1 1. Prin trecerea de la o matrice
,,
filiform
a la una p
atratic
a, capacitatea memoriei, 2n+k biti, nu se modific
a, se pot
calcula valorile pentru n1 si n2 cu urm
atoarele relatii: n2 = (n + k)/2, n1 + k = (n +
k)/2; m = 2k . Recalcul
and dimensiunea SROM (n,m) pentru adresarea bidimensional
a
rezult
a:
SROM (n,m) = SDCD(n2 ) + m 2n1 SOR(2n2 ) + SDCD(n1 )
+m SBuf f er
(2.16)
= n 2 2 n2 + m 2 n1 2 n2 + n 1 2 n1 + m 3
n
O(m 2 )
Valoarea dimensiunii proportionale cu capacitatea memoriei (m 2n ) nu mai poate
fi micsorat
a!
In aceast
a variant
a de adresare bidimensional
a decodificatorul de linii, prin subcuv
antul de adres
a de n2 biti, va activa c
ate o linie pe care exist
a m cuvinte de c
ate
2n2 biti, iar decodificatorul de pe coloane va trebui s
a selecteze si s
a aplice la iesire
c
ate un bit din fiecare din cele m cuvinte ale liniei activate. Aceast
a selectare se
realizeaz
a cu un grup de mMUX2n1 :1, subcuv
antul de adres
a An1 1 An1 2 ...A1 A0
se aplic
a pe intr
arile de selectare ale tuturor celor m multiplexoare. Practic, pentru
un subcuv
ant de adres
a aplicat la grupul de multiplexoare se extrag bitii din aceeasi
pozitie ale celor m cuvinte. Logic, memoria r
am
ane o structurare de matrice cu 2 n
linii si m coloane.
Pentru circuitul 27C040 folosit anterior, printr-o decodificare bidimensional
a la
care dac
a se alege n1 = 11 si n2 = 8 se obtine o structurare cu un decodificator
pentru linii cu 211 = 2048 iesiri, pe fiecare linie sunt 2048 biti, iar pentru selectarea
cuv
antului de iesire de 8 biti sunt necesare 8MUX28 :1; dimensiunea matricei este
p
atratic
a 211 /8 28 = 1.
In organizarea de principiu, pentru decodificarea bidimensional
a a unui circuit
ROM, pe l
ang
a validarea bufferelor de iesire TSL, prin conjunctia dintre semnalele
Chip Select si Output Enable, exist
a si o comand
a pentru cele trei componente: decodificatoare, matrice si multiplexoarele pe iesire, pentru trecerea n regimul de asteptare
(stand by). Regimul de asteptare se obtine prin neactivarea semnalului CS L, aplicat si ca semnal de conectare la sursa de alimentare Power On, care va deconecta
alimentarea componentelor respective. Deci c
and circuitul ROM nu este selectat,
automat, consumul s
au de putere se reduce, prin trecerea n regim de asteptare, p
an
a
la 10% din cel n regimul normal.
In Figura 2.49-b este prezentat
a, ca o exemplificare, o posibil
a structurare de
decodificare bidimensional
a a unui circuit ROM cu organizarea logic
a de 32K 8 biti.
Decodificatorul cu 15 intr
ari si (32 1024) iesiri este substituit cu un DCD9:2 9 la care
se aplic
a subcuv
antul A14 A6 si 8MUX64:1 (toate selectate de acelasi subcuv
ant
A5 A0 ). In acest fel, matricea programabil
a (nivelul OR) de la raportul dimensiunilor
215 /23 = 212 este scalat
a la raportul 29 /(8 26 = 1 deci a devenit p
atratic
a; pe fiecare
linie, initial contin
and un cuv
ant de date de 8 biti, au fost plasate dup
a scalare 8
cuvinte de date fiecare de c
ate 64 biti.
Tipuri de circuite ROM. Personalizarea unui circuit ROM pentru o anumit
a
aplicatie este realizat
a prin informatia care se nscrie pe nivelul SAU matricea
programabil
a. Aceast
a informatie, valorile bitilor n fiecare nod al matricei, este

249

2.4. CLC PENTRU FUNCT


II LOGICE

A n1
A n2

Matrice
programabila

DCD
n2:2
An

n2

(Nivel de OR)
n
n
2 2 x m 2 1 biti

n2

Power On

Power On

mx2
Power On

A n 1
1
A n 2

n1

m x MUX 2 1:1

A0
CS_L
OE_L
a)
32K x 8biti
A 14
A 13
A 12
A 11
A 10
A9
A8
A7
A6

DCD
9:512

512

b)

D0

29x6429x6429x6429x6429x6429x6429x6429x64
biti biti biti biti biti biti biti biti

64
A5
A4
A3
A2
A1
A0

Dm1 Dm2

64

64

64

64

64

64

64

MUX MUX MUX MUX MUX MUX MUX MUX


64:1 64:1 64:1 64:1 64:1 64:1 64:1 64:1

D7

D6

D5

D4

D3

D2

D1

D0

Figura 2.49 Decodificarea bidimensiona


a a circuitului ROM: a) organizarea general
a, de principiu, cu un DCDn2 :2n2 pentru activarea liniilor si cu un grup de mMUX2n1 :1
pentru selectarea coloanelor; b) particularizarea structur
arii anterioare pentru o memorie
ROM cu organizarea logic
a de 32K 8 biti.

250

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

elaborat
a de c
atre utilizator dar nscrierea/programarea n noduri se face n diferite
modalit
ati, fie de c
atre produc
atorul circuitului, fie de c
atre utilizator. In functie de
modalitatea fizic
a de programare exist
a mai multe tipuri de circuite ROM.
1. ROM programat prin mascare. Informatia pentru aplicatie, elaborat
a de
proiectant, este trimis
a la turn
atoria de siliciu. Fabricantul, pe baza acestei informatii,
genereaz
a una sau dou
a m
asti si termin
a fazele de fabricatie ale circuitului ROM,
adic
a se nscrie 1 sau 0 n nodurile matricei. Fizic, aceast
a nscriere prin mascare se
reduce la prezenta sau absenta n fiecare nod a unei conexiuni, ntre linia de cuv
ant
si lina/coloana de bit. Evident, odat
a faza de programare ncheiat
a, prezenta unei
erori n programarea nodurilor duce la rebutarea circuitului. Datorit
a costului ridicat
de fabricatie si imposibilitatea corect
arii unei erori, realizarea aplicatiilor cu ROM
programat prin mascare este indicat
a pentru generarea de functii standard, cum ar fi
tabele de conversie foarte uzuale (LUT), functii specifice generate de c
atre utilizator
si c
and este nevoie de o productie de serie mare (produse auto, de larg consum etc.).
2. ROM programabil, PROM (Programmable Read Only Memory). Acest
tip de circuit ROM a ap
arut ca un r
aspuns la nevoia utlilizatorului de a nu mai fi
legat de turn
atoria de siliciu si de timpul lung necesar realiz
arii aplicatiei. Fabricantul
produce circuitul care este deja nscris n toate nodurile sale fie cu bitul 1, fie cu bitul
0, depinde cum este organizat ROM-ul. Fizic, aceasta nseamn
a c
a n fiecare nod
exist
a un fuzibil ntre linia de cuv
ant si lina de bit sau un tranzistor conectat cu
drenul la linia de bit iar poarta este comandat
a de linia de cuv
ant, ca n Figura 2.50-a
si a c
arei surs
a/emitor este legat la mas
a printr-un fuzibil. Intr-un nod realizat cu
tranzistor, al c
arui fuzibil nseriat n surs
a nu este ars, atunci c
and linia de cuv
ant care
comand
a poarta este n stare activ
a (se genereaz
a mintermul respectiv) va forta la
potentialul masei tensiunea pe linia de bit, respectiv linia de bit va fi un 1 logic atunci
c
and mintermul respectiv are valoarea logic
a 0. Rezult
a c
a o linie de bit realizeaz
a n
logic
a pozitiv
a functia NOR de toti mintermii ale c
aror tranzistoare conectate la acea
linie nu au fuzibilul ars, iar dup
a bufferul inversor de iesire se obtine functia OR.
Programarea PROM-ului este efectuat
a de c
atre utilizator cu ajutorul unui programator, prin care fuzibilul este ars numai n acele noduri n care informatia initial
a
nscris
a prin fabricatie trebuie schimbat
a n bitul complementar. Practic, se selecteaz
a
nodul prin linia de cuv
ant si lina de bit corespunz
atoare si apoi, pe linia de bit se aplic
a
un impuls de tensiune de valoare ridicat
a (10-30V) care forteaz
a un curent prin fuzibil
ce duce la arderea acestuia. Inconvenientele care pot s
a apar
a la aceste dispozitive o
singur
a dat
a programabile, OTP au fost prezentate la sf
arsitul sectiunii 1.2. Desi
PROM-ul elimin
a dependenta de turn
atoria de siliciu, totusi dezavantajul rebut
arii
circuitului n cazul unei erori de programare nu este eliminat, acest dezavantaj este
eliminat de urm
atoarele tipuri de ROM reprogramabile.
3. ROM reprogramabil, EPROM (Eraseble Programmable ROM). Facilitatea de stergere a continutului unui circuit ROM si apoi reprogramarea se bazeaz
a
pe functionarea tranzistorului cu poart
a flotant
a a c
arei structur
a este prezentat
a n
Figura 2.50-b.
Tranzistorul cu poart
a flotant
a, fata
de un nMOS normal, are dou
a porti suprapuse, poarta flotant
a si poarta de control, separate printr-un strat de SiO 2 . Poarta
flotant
a, spre deosebire de cea de control, nu are n exterior un terminal de acces
si este izolat
a n masa de SiO2 care o nconjoar
a, iar stratul de SiO2 ntre aceast
a
poart
a si substrat este foarte subtire, cel mult 10nm. In anumite conditii, de ten-

gg

251

2.4. CLC PENTRU FUNCT


II LOGICE

[Z [Z Z[ dede [Z dede
[Z [Z [Z ^^ ed Z[ _^^_ de __^^
[Z [Z [Z [Z

`a`a

Linie de
cuvant

n+

n+

`a`a
cb

fgf \] ]\ \] \] \]
f `a`a ]\ `a`a ihih ]\ ihih \] \] \]
cb ]\ bc ihihih \] ihihhi \] \] \]
Poarta
de control

Metal

~10nm

n+

+V CC
SiO2

Linie de cuvant

Substrat p
Poarta flotanta

Linie de bit

Tranzistor
de acces

b)

Linie de
cuvant

Tranzistor
programabil
Poarta de
control

Linie
de bit

Fuzibil

Iesire
data

a)

Iesire
data

Figura 2.50 Structurarea de noduri pentru circuite ROM: a) nod de ROM programabil; b) nod de EEPROM.

siuni aplicate pe terminalele tranzistorului, electronii cu energie ridicat


a din canal
,,
(hot electron ) pot str
abate stratul foarte subtire de SiO2 p
ana la poarta flotant
a,
iar aceasta, fiind izolat
a, r
am
ane nc
arcat
a permanent cu sarcina negativ
a captat
a
(permanent nseamn
a cel putin 10 ani chiar si la temperatura de 125 grade Celsius).
Aceast
a sarcin
a negativ
a permanent
a de pe poarta flotant
a creste tensiunea de prag
Vpn a tranzistorului nMOS la aproximativ 7V, ceea ce practic nseamn
a c
a acesta
este blocat pentru toate tensiunile normale ale circuitului (5 6)V. Procesul poate fi
reversiblil, prin aplicarea unui fascicol de radiatie ultraviolet
a care anuleaz
a sarcina
negativ
a acumulat
a pe poarta flotant
a, deci tranzistorul devine iar
asi comandabil cu
tensiunile normale ale circuitului.
Structurarea unui nod pentru un circuit EPROM este similar
a cu cea a unui nod
dintr-un circuit PROM descris
a anterior un tranzistor care conecteaz
a linia de bit
la mas
a printr-un fuzibil. Numai c
a, la EPROM, tranzistorul de acces care leag
a la
mas
a linia de bit are n surs
a nseriat un tranzistor cu poart
a flotant
a n loc de fuzibil.
Programarea nodului, adic
a blocarea tranzistorului cu poarta flotant
a prin colectarea
unei sarcini negative pe poarta flotant
a, se face n felul urm
ator: se activeaz
a linia de
cuv
ant (poarta tranzistorului de acces); se aplic
a prin linia de bit (si tranzistorul de
acces) pe drenul tranzistorului cu poarta flotant
a o tensiune n jur de 12 volti; se aplic
a
un impuls de tensiune de 13 14 volti pe poarta de control care ajut
a la colectarea
sarcinii negative (electroni) pe poarta flotant
a. Rezult
a c
a tranzistorul cu poarta
flotant
a, pentru care tensiunea de prag Vpn a devenit ridicat
a, ntrerupe conectarea
la mas
a n acel nod al liniei de bit chiar dac
a tranzistorul de access corespunz
ator
este comandat. Stergerea nodului se face prin expunerea circuitului, timp de 2030 de minute, n radiatii ultraviolete. Circuitele EPROM au pe partea superioar
a
o fereastr
a, transparent
a la radiatii ultraviolete, realizat
a din cuartz. Dezavantajul
acestui mod de stergere apare prin faptul c
a circuitul EPROM trebuie scos din soclul
s
au de pe placa de circuit inprimat iar stergerea sa este total
a, adic
a se sterg toate
nodurile, nu numai nodul care ar urma s
a fie reprogramat.
Exist
a urm
atoarele circuite EPROM tip Intel obtenabile comercial:

252

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

2716-16K(2Kx8biti);
2764-64K(8Kx8biti);
27256-256K(32Kx8biti);
27C010-1M(128Kx8biti);
27C210-1M(64Kx16biti);
27C040-4M(512Kx8biti);

2732-32K(4Kx8biti);
27128-128K(16Kx8biti);
27512-512K(64Kx8biti);
27C020-2M(256Kx8biti);
7C220-2M(128Kx16biti);
27C240-4M(256Kx16biti);

4. Memoria ROM cu stergere pe cale electric


a EEPROM, E2 PROM
(Electricaly Erasable Programmmable ROM). Acest tip de ROM elimin
a dezavantajele de la EPROM si anume, circuitul nu mai trebuie scos din soclu pentru stergere
pentru c
a aceast
a operatie se face pe cale electric
a. Practic, stergerea se face ca si
nscrierea prin aplicarea unei tensiuni pe poarta de control, dar de data aceasta, o
tensiune de polaritate inversat
a, care elimin
a spre substrat sarcina negativ
a acumulat
a pe poarta flotant
a. Stergerea se face nu pe bit ci pe blocuri care pot ajunge p
an
a
la 64Kbytes (de exemplu, la o memorie de 1Mbyte sau mai mare).
O variant
a de EEPROM este memoria flash. Frecvent, memoriile Flash se produc sub form
a de cartele astfel nc
at s
a fie utilizate n aparatura portabil
a cum ar fi:
camerele digitale, telefoane mobile, mbr
ac
amintea electronic
a, transferul informatiei
ntre dou
a calculatoare (simularea unei diskete). In viitor, memoria Flash poate
substitui harddisk-ul oferind un timp de acces n jur de 100ns, fata
de 610 ms la
harddisku-rile actuale. Obstacolul care exist
a, actual, la memoriile flash const
a n
num
arul limitat de stergeri/nscrieri, nu cu mult peste 10.000 ori si capacitatea de
stocare care a ajuns doar la sute de Mbytes (fata
de 120 de Gbytes la harddisk-uri
uzuale acum).
In Tabelul 2.1 [Wakerly 0 2000] sunt sintetizate caracteristicile circuitelor ROM
obtenabile comercial.

Tabelul 2.1
Tipuri de circuite ROM

Tipul

Tehnologia

ROM cu
mascare
ROM cu
mascare

NMOS,
CMOS
Bipolar

PROM
EPROM
EEPROM

Timp de
acces AA
10-200ns

Timp de
nscriere
> 2 3 s
apt.

<100ns

> 2 3 s
apt.

Bipolar

<100ns

10 50s/byte

NMOS,
CMOS
NMOS

25-200ns

10 50s/byte

50-200ns

10 50s/byte

Comentarii
OTP, consum
redus de putere
OTP, consum
ridicat, densitate
scazut
a
OTP, consum
ridicat
Reutilizabil
a,
consum sc
azut
10.000-100.000 limit
a nscrieri/citiri

2.4. CLC PENTRU FUNCT


II LOGICE

2.4.6.2

253

Module de memorie ROM

Necesit
atile n aplicatii cu memorie ROM pot dep
asi capacit
atile pe care le prezint
a
circuitele discrete obtenabile comercial. Pentru astfel de aplicatii se realizeaz
a module
de memorie ROM care extind capacitatea circuitelor ROM discrete. Pentru a putea
fi integrate n module, circuitele ROM sunt prev
azute cu un semnal de control de
selectare circuit, CS (n general, activ n stare L). Fata
de circuitele ROM discrete,
un modul ROM realizeaz
a o extensie fie a capacit
atilor de adresare, fie a lungimii
cuv
antului memorat sau fie a am
andorura simultan.
1. Extinderea capacit
atii de adresare. Extinderea apare ca o rezolvare a realiz
arii unei memorii cu capacitate de adresare C din circuitul ROM cu num
ar de
c adrese, ceea ce impune utilizarea a C/c = p circuite componente cu c adrese. Se
va exemplifica realizarea unui modul cu capacitatea de adresare 4K adrese din circuite ROM de capacitate 1K 8 biti, rezult
a c
a sunt necesare 4K/1K = 4 circuite.
Deoarece adresarea unui ROM de 1K adrese se face cu un cuv
ant de adres
a de 10
biti, A9 , A8 , ..., A1 , A0 , iar pentru adresarea modulului de 4k sunt necesari 12 biti de
adres
a A11 , A10 , ..., A1 , A0 , aceasta ar impune extinderea decodificatoarelor (interne)
ale circuitelor cu nc
a 2 biti A11 si A10 . Dar, extinderea este posibil
a doar n exterior
cu un DCD2:4 pe ale c
arui intr
ari sunt aplicati bitii de adres
a A11 si A10 , prin aceasta
fiecare circuit ROM va fi selectat pe intrarea CS de c
atre o iesire a decodificatorului
exterior, Figura 2.51-a. In spatiul de adresare de 4K, ce poate fi acoperit cu un cuv
ant
de adrese cu lungimea de 12 biti (de la 000HFFFH cu exprimare n hexazecimal, H),
segmentul de adrese repartizat fiec
arui circuit ROM se obtine prin construirea mapei
adreselor memoriei. Bitii de adres
a A9 ...A0 se aplic
a la toate cele patru circuite de 1K
adrese, iar bitii A10 si A11 sunt utilizati, prin decodificare, la selectarea a c
ate unui
circuit de 1K adrese. Segmentele de adres
a ale circuitelor, prin al
aturare, formeaz
a
un spatiu de adresare continuu de 4K adrese.
2. Extinderea at
at a capacit
atii de adresare c
at si a lungimii cu
antului. Folosind
acelasi circuit ROM, cu capacitatea 1Kx8biti pentru realizarea unui modul de capacitate 2Kx16biti, rezult
a c
a sunt necesare 2K 16biti/1K 8biti = 2 2 circuite;
extinderea este at
at pe adrese 2 1K = 2K adrese c
at si ca lungime de cuv
ant de
date 2 8biti = 16 biti Figura 2.51-b.
Extinderea de adrese este similar
a ca la modulul anterior cu deosebirea c
a, de
data aceasta, n exterior se adaug
a un DCD1:2, bitul de adres
a A10 pentru selectarea
celor dou
a segmente de adrese. Fiecare iesire a decodificatorului selecteaz
a simultan
c
ate dou
a circuite de capacitate 1Kx8biti, ROM0 cu ROM2 si ROM1 cu ROM3. La
circuitele dintr-o pereche se aplic
a acelasi cuv
ant de adres
a A9 ...A0 dar din unul se
citeste byte-ul superior iar din cel
alalt byte-ul inferior din care se compune cuv
antul
de date pe magistrala de date. In aceste exemple de extindere se consider
a c
a iesirile
de date ale circuitelor ROM sunt de tip TSL.
Uneori, c
and sunt disponibili suficienti biti n cuv
antul de adresare, se elimin
a
DCD-ul exterior pentru extinderea capacit
atii de adresare, iar pentru selectarea a c
ate
unui circuit ROM este asignat (repartizat) un bit disponibil din cuv
antul de adres
a.
Avantajul acestui mod de adresare adresare liniar
a n raport cu adresarea cu
codificarea complet
a este simplitatea; dar n acest caz segmentele de adrese acoperite
de c
atre fiecare circuit ROM component nu se mai al
atur
a ntr-o zon
a continu
a din
spatiul de adresare. De exemplu, dac
a sunt disponibili n cuv
antul de adresare bitii
A13 , A12 , A11 , A10 care sunt repartizati pentru selectare respectiv a circuitele ROM3,

254

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Magistrala de adrese

A 11A0

A 11

A 10

A 9A0

CS
ROM 0 D7D0
1K x 8biti

Mapa adreselor memoriei


A11A10A 9
A 1A 0
ROM 3
(FFFCFF)H

DCD 2:4

ROM 2
O0
O1
O2
O3

READ

A 9A0

A 9A0

A 9A0

Magistrala de date

CS
ROM 1 D7D0
1K x 8biti
CS
ROM 2 D7D0
1K x 8biti

(BFF800)H

1 1

1 0

ROM 1
0 1
(7FF400)H
ROM 0
0 0
(3EF000)H

CS
ROM3 D7D0
1K x 8biti

1
1

1 1
1 0

0
1
1

0 0
1 1
1 0

0
1
1

0 0
1 1
1 0

0
1
1

0 0
1 1
1 0

0 0

a)

DCD 1:2

A 10A0

Magistrala de adrese

A 9A0

CS
ROM 0
1K x 8biti

D7D0

A 9A0

CS
ROM 1
1K x 8biti

D7D0

A 9A0

CS
ROM 2 D15D8
1K x 8biti

A 9A0

CS
ROM3 D15D8
1K x 8biti

READ

b)

Magistrala de date
D15D0

Mapa adreselor memoriei


A 1A 0
A10A 9A 8

1
ROM 1
1
si
ROM 3 1
0
(7FF400)H
0
1
ROM 0
1
si
ROM 2 0
0
(3EF000)H
0

1
1

1 1
1 0

0
0
1
1

0
0
1
1

0
0

0 1
0 0

1
0
1
0

Figura 2.51 Organizarea modulelor de memorie ROM prin: a) extinderea capacit


atii
de adresare; b) prin extinderea simultan
a at
at a capacit
atilor de adresare c
at si a lungimii
cuv
antului de date.

2.4. CLC PENTRU FUNCT


II LOGICE

255

ROM2, ROM1,si ROM0, pentru modelul de 4K din Figura 2.51-a, se obtin prin
construirea mapei adreselor memoriei urm
atoarele segmente neal
aturate de adrese:
ROM3, 2000H-23FFH; ROM2, 1000H-13FFH; ROM1, 0800H-0BFFH; ROM0, 0400H07FFH

2.4.7

Dispozitivele logice programabile, PLD

Dispozitivele logice programabile, PLD (Programming Logic Device) au ap


arut ca o necesitate pentru eliminarea inconvenientelor pe care le prezentau circuitele
logice universale MUX, ROM, n implementarea functiilor logice sub form
a de sum
a
de produse, si anume:
generarea tuturor termenilor canonici produs desi, n general, nu sunt necesari
toti;
formele minime/reduse ale functiilor nu pot fi implementate. Pentru implementarea acestora trebuie parcurs drumul invers, adic
a expandarea formelor
reduse la form
a canonic
a;
inexistenta facilit
atii de implementare a functiei si prin negata acesteia, c
and
functia negat
a este mai simpl
a (unele circuite MUX au at
at iesirea negat
a c
at
si nenegat
a).
2.4.7.1

Matricea Logic
a Programabil
a, PLA

Prima variant
a de dispozitiv logic programabil, PLD, sub form
a de matrice logic
a
progrmamabil
a PLA (Programmable Logic Array), a fost introdus n anul 1975 de
c
atre firma Signetics Inc. Organizarea de principiu al unui circuit PLA, Figura 2.52-a,
poate fi privit
a ca fiind similar
a cu a memoriei ROM, numai c
a de data aceasta nu
este programat doar nivelul de OR (codificator) ci si nivelul AND (decodificator).
Aceast
a facilitate suplimentar
a, de programabilitate pe matricea AND, face posibil
a
generarea numai a unui num
ar p de termeni produs (p << 2n ), nu neap
arat canonici
de variabile de intrare. In afara celor dou
a matrice programabile, n structurarea unui
PLA mai apar: 1) un nivel de bufferare pe intrare, care produce pentru fiecare dintre
cele n intr
ari at
at valoarea negat
a c
at si cea nenegat
a (acest nivel din punct de vedere
logic este compus din n decodificatoare elementare); 2) un nivel de isire pe XOR care
prin programare poate genera, fie valoarea functiei, fie valoarea negat
a a functiei.
Deci circuitul PLA este caracterizat de n intr
ari, de p porti AND programabile
fiecare cu 2n intr
ari (n variabile negate si n nenegate) si de m porti OR programabile
cu p intr
ari (care sunt iesirile portilor AND). Circuitul PLA poate fi structurat si pe
matrice programabil
a numai de tip NAND deoarece implementarea pe dou
a niveluri
NAND-NAND este echivalent
a cu implementarea pe 2 niveluri AND-OR.
In nodurile matricei AND, de dimensiune 2n linii de intrare si 2n p coloane
si n nodurile matricei OR, de dimenisune p coloane (termeni produs obtinuti la
iesirile portilor AND) si p m linii (m porti OR fiecare cu p intr
ari), modalit
atile
de programare pot fi cele deja descrise la memoria ROM. Se pot realiza PLA-uri, de
tipul OTP, c
and n nod exist
a o diod
a nseriat
a cu un fuzibil ori un tranzistor (bipolar
sau unipolar) nseriat cu un fuzibil, ca n Figura 2.50-a, sau se pot realiza PLA-uri cu

256

I0
I1
I n1
p termeni
produs

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE
Ii

I0
I0
I n1

AND

Nod de
matrice

programabila

P0 P1

P p1

Matrice

V CC

Nivelul
inversor

Ii
O0

OR
programabila
Om1 I i

Ii

m functii
de n variabile
b)

Ii
Ii

Nod
neprogramat
(simbol)
Ii
Ii

Ii

Ii

Fuzibil
ars pt. I

Fuzibil
ars pt. I

Ii
Ii

a)

Ii

Ii

Matrice

I n1

Ii

Nici un
fuzibil ars
I iI i=0

Ii

Ii
Ii

Ambele
fuzibile
arse. Iesire
indiferenta
pentru I i

Figura 2.52 Matricea logic


a programabil
a, PLA: a) organizarea de principiu cu
evidentierea celor dou
a niveluri (matrice) programabile; b) simbolurile pentru reprezentarea
st
arii nodurilor din matricea decodificatoare.

reprogramare (stergere pe cale electric


a sau cu fascicol UV), c
and n nod este prezent
un tranzistor cu poarta flotant
a, ca n Figura 2.50-b.
In aplicatii, pentru descrierea nodurilor matricelor programabile, sunt folosite reprezent
arile logice simbolice din Figura 2.52-b. Un nod n care exist
a o leg
atur
a
electric
a ntre linie si coloan
a este simbolizat cu un punct (nod programat), iar acest
punct lipseste n nodul n care nu exist
a o leg
atur
a electric
a (nod neprogramat).
Evident, dac
a ambele noduri, at
at pentru intrarea Ii c
at si pentru I i , sunt programate poarta AND, n care intr
a coloanele respective, va genera un termen produs a
c
arui valoare este permanent zero (Ii I i = 0). Poarta AND n care intr
a at
at nodul Ii
c
at si I i , dar ambele sunt neprogramate (fuzibilele au fost arse!), va genera un produs
ce este indiferent n raport cu intrarea Ii (nu contine aceast
a variabil
a).
O structur
a tipic
a pentru un circuit PLA (82S100, Signetics) este cea din Figura
2.53, alte variante obtenabile comercial pot fi deduse sau se recunosc n aceasta. Circuitul 82S100 prezint
a 16 intr
ari (I0 , I1 , ..., I15 ), 48 de porti AND fiecare av
and c
ate 32
de intr
ari. Se pot genera cel mult 48 de termeni produs fiecare de maxim 16 variabile.
Cele 8 functii care se pot inplementa, ca o sum
a de maxim 48 termeni produs, pot
fi generate la iesirile O0 , O1 , ..., O7 , fie negate, fie nenegate prin programarea portilor
XOR. Iesirile sunt generate prin bufferele de iesire TSL comandate prin semnalul valarul total de fuzibile este de 1928; o memorie PROM care
idare iesire, OE L. Num
poate implementa o functie de 16 variabile trebuie s
a aib
a pe nivelul OR programabil
216 = 65536 fuzibile!
La o memorie ROM o configuratie binar
a a cuv
antului de intrare genereaz
a prin

257

2.4. CLC PENTRU FUNCT


II LOGICE
01

I0

15

01

15

01

15

Nivelul AND
(decodificator)
programabil

I1

Numar de
fuzibile =
=21648=1536

I 15
Buffere
de
intrare

AND 0

AND 1

0
Nivelul OR 1
(codificator)
programabil 47
0
1
Numar de
fuzibile=
=848=384 47
0
1
47
Numar total de fuzibile=1536+384+8=1928

AND 47
+5V
OR0

O0

O1

OR1

O7

OR7

Inversoare
programabile

OE_L

Figura 2.53 Structur


a tipic
a pentru un circuit PLA.

decodificare doar un singur termen canonic produs, pe c


and la un circuit PLA o
configuratie binar
a de intrare poate genera nici unul, unul sau mai multi termeni
produs, respectiv acelasi termen produs poate fi generat de mai multe configuratii de
intrare. Aceast
a neunivocitate rezult
a din posibilitatea c
a unele din intr
arile portilor
AND s
a fie programate indiferent, ntr-un termen produs, n raport cu anumite variabile (ambele fuzibile ale variabilei sunt arse).
Exemplul 2.19 Sa se realizeze sinteza si sa se implementeze pe un circuit PLA un
convertor de cod BCD-7 segmente. Notarea segmentelor LED ale afisorului cu 7 segmente
corespunde celei din Figura 2.37.
Solutie. Functiile logice a, b, c, d, e, f, g care activeaz
a segmentele LED n functie de
cifrele zecimale exprimate n BCD sunt date n Tabelul 2.2. Pentru configuratiile binare
1010, 1011, 1100, 1101, 1110 si 1111, care nu apar nciodat
a n codul BCD, valorile functiilor
sunt indiferente. Minimiz
and corelat cele 7 functii, pe diagramele V-K din Figura 2.54,
rezult
a urm
atorii 7 implicanti primi care sunt utilizati n mai mult dec
at ntr-o singur
a
functie: W, Y Z, X Z, Y X, Y Z, XZ si XY . Acesti implicanti primi se genereaz
a o singur
a
dat
a pe matricea programabil
a AND si sunt utilizati n matricea programabil
a OR, ori de
c
ate ori este nevoie. Pentru implementare s-a structurat un circuit PLA generic cu 4 intr
ari,
13 porti AND si 8 porti OR.

258

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE
Tabelul 2.2
Tabelul de adev
ar pentru convertorul BCD-7 segmente

W
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

X
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

Z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

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

d
1
0
1
1
0
1
1
0
1
0
-

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
-

Din acest exemplu reiese c


a realizarea unui CLC pe un PLA poate fi destul de
laborioas
a. Spre deosebire de circuitele prezentate p
an
a acum la circuitul PLA implementarea necesit
a minimizarea functiei, iar dac
a se implementeaz
a mai multe functii,
implementarea acestora necesit
a o minimizare corelat
a. In mediile de programare
automat
a exist
a programe care, pornind de la functia logic
a, g
aseste expresia minim
a
n sum
a de produse at
at a functiei c
at si functiei negate, iar apoi decide care din
cele dou
a este mai avantajoas
a (are mai putine produse) si n functie de tipul de
circuit PLA utilizat trimite la programator programul pentru programarea nodurilor.
Multe circuite PLA dispun de un fuzibil de securitate prin care, dup
a ce este ars,
elimin
a posibilitatea de a se citi mapa nodurilor programate, prin aceasta se exclude
posibilitatea de copiere a produsului.
Implementarea unui circuit PLA se realizeaz
a cu aceeasi structur
a, at
at pentru
matricea AND c
at si pentru matricea OR, sub forma unei matrice de porti NOR, ca
n figura 2.55-a. O poart
a NOR a unei astfel de matrice este compus
a din tranzistoare
nMOS conectate n paralel si un tranzistor cu canal initial ca rezistenta
de sarcin
a.
Dar o structur
a de poart
a NOR n logic
a pozitiv
a va realiza n logic
a negativ
a operatorul logic NAND, ceea ce este demonstrat prin tabelele de adev
ar din Figura 2.55-d.
Consider
and logica negativ
a, la iesirea primei matrice, conform conexiunilor realizate,
se obtin termenii: P1 = xy z, P2 = xz si P3 = xyz. Si a doua matrice, n logica
negativ
a, va realiza operatorul NAND, deci la iesire se obtin functiile:
f1 = P1 P2 = P 1 + P 2 = xy z + xyz; f2 = P 2 = xz; f3 = P1 P2 = P 1 + P 2 = xy z + xz
Faptul c
a prima matrice de NOR-uri realizeaz
a nivelul de AND, iar a doua nivelul
de OR rezult
a prin utilizarea cerculetelor de negatie ca n Figura 2.55-b si c. Deplas
and cerculetele de negatie de la iesirea portilor NAND, de la prima matrice, la
intr
arile portilor NAND de la a doua matrice NAND acestea se transform
a n porti

259

2.4. CLC PENTRU FUNCT


II LOGICE

WX
00
YZ
00 1

01

11

10

10
1

01

11

a=W+WZ+YZ+XZ
WX
00 01 11 10
YZ
1
00 1
1

01
11

10

d=XZ+YZ+XY+XYZ

WX
00
YZ
00 1
01

11

10

01

11

10
1

1
1

WX
00
YZ
00 1

11

1
1

c=W+Z+Y+XZ
WX
00 01 11 10
YZ
1
1
00 1

11

11

f=W+YZ+XY+XZ
WX
00 01 11 10
YZ
1
1
00

Z
Y

01

X
W
Z

10

e=YZ+XZ

W YZ XZ YX YZ XZ XY XZ X YZ

01

10
1

01

11

01

10

b=W+X+YZ+YZ
WX
00 01 11 10
YZ
1
00 1

10

01

11

10

XYZ

g=W+YZ+XY+YX
a
b
c
d
e
f
g

Figura 2.54 Sinteza si implementarea convertorului de cod BCD-7 segmente pe


un circuit PLA (generic).

260

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

x
y
MATRICE
AND

P 1=xyz

P 2=xz P 3=xyz
f 1=xyz+xyz
f 2=xz

Sarcina
(cu canal
initial)
V DD

f 3=xyz+xz
b)
P1

P2

P3

f1

f2

f3
P 1=xyz P 2=xz
a)

d)

MATRICE OR
Aadevarat, Ffals
a b a+b
a b ab
A A F
F F A
A F A
F A F
F A A
A F F
F F A
A A F
Logica pozitiva

P 3=xyz
f 1=xyz+xyz

a b ab
A A F
A F A
F A A
c)
F F A
Logica negativa

f 2=xz
f 3=xyz+xz

Figura 2.55 Modalitate de implementare a unei matrice PLA: a) sub form


a de
dou
a matrice de porti NOR; b,c,d) demonstrarea conversiei NOR - NOR (logic
a pozitiv
a) n
NAND - NAND (logic
a negativ
a) ceea ce este echivalent cu AND - OR

2.4. CLC PENTRU FUNCT


II LOGICE

261

OR, conform conversiei binecunoscute NAND - NAND = AND - OR (vezi sectiunea


2.3).
2.4.7.2

Matricea logic
a programabil
a cu nivel OR fix, PAL

Circuitul PAL (Programmable Array Logic) este o variant


a modificat
a a circuitului PLA. Modific
arile fata
de PLA const
a n: existenta numai a matricei AND
programabile, matricea OR fix
a (neprogramabil
a), invers ca la circuitul ROM, si o
facilitate ca unele dintre terminalele circuitului s
a poat
a fi utilizate at
at ca intr
ari
c
at si ca iesiri. Aceste modific
ari reduc flexibilitatea gener
arii functiilor logice dar
simplific
a programarea si eficientizeaz
a utilizarea terminalelor circuitului.
O structur
a tipic
a de circuit PAL (PAL16L10) este prezentat
a n Figura 2.56, care,
de fapt, este reprezentarea putin simplificat
a a circuitului PAL16L8. In compunerea
codului de denumire a circuitului primul num
ar specific
a num
arul de terminale de
intrare, n cazul acesta 16, iar al doilea este num
arul terminalelor de iesire, aici 8.
Circuitul PAL16L8 are 20 de pini (sunt inclusi si cel de mas
a si de alimentare), ceea
ce nseamn
a c
a num
arul total de terminale de intrare si de iesire necesar (16 + 8 + 2
= 26) este mai mare dec
at num
arul de pini existenti (20). Aceast
a diferenta
rezult
a
din posibilitatea de utilzare a unor pini at
at ca terminale de iesire c
at si ca terminale
de intrare.
Exist
a grupuri de c
ate 8 porti logice AND programabile, fiecare poart
a din grup
are 32 de intr
ari pentru 16 variabile de intrare (negate si nenegate). Din fiecare
grup, c
ate 7 porti AND au iesirile cablate la intr
arile unei porti OR iar a opta
poart
a AND din grup, poarta de validare a iesirii, comand
a prin iesirea sa starea
de functionare a unui buffer inversor TSL, care este conectat la iesirea portii OR. Un
num
ar de 10 terminale, I1 , I2 , ..., I10 , sunt utilizate numai pentru aplicarea variabilelor
de intrare, dou
a terminale O1 si O8 sunt numai terminale de iesire, iar 6 terminale,
I/O2 , I/O3 , I/O4 , I/O5 I/O6 si I/O7 , pot fi programate at
at ca terminale de intrare
c
at si ca terminale de iesire. De pe cele 6 terminale bidirectionale semnalul de iesire
este introdus si n reteaua programabil
a AND printr-un buffer de intrare, similar ca
de la oricare terminal de intrare. Num
arul de fuzibile de pe nivelul AND programabil
este 32 intr
ari n poart
a 8 porti 8 grupuri = 2048.
Valoarea logic
a generat
a de poarta de validare, a opta poart
a AND din grupurile
care au un terminal de tipul I/O, determin
a dac
a pinul terminalului respectiv este
utilizat pentru intrare sau pentru iesire. Poarta AND de validare a iesirii poate
fi programat
a s
a genereze permanent la iesirea sa valoarea 0 ceea ce nseamn
a c
a
bufferul inversor TSL este n starea de nalt
a impedanta
(HZ), deci terminalul este
un terminal de intrare, Figura 2.57-a, sau poate fi programat
a s
a genereze permanent
1 ceea ce nseamn
a c
a bufferul de iesire are o functionare normal
a de poart
a inversor,
deci terminalul este de iesire, Figura 2.57-b. Sau, poarta de validare poate avea o
valoare pe iesirea sa, care se calculeaz
a n functie de configuratiile binare aplicate pe
intrarea sa, caz n care terminalul n timp si modific
a starea corespunz
ator (altern
and
starea de terminal de intrare cu cea de terminal de iesire).
C
and bufferul inversor are iesirea sa n starea HZ spre pinul I/O corespunz
ator,
acesta este un terminal de intrare deci se aplic
a o variabil
a de intrare. Deci n total,
pot fi aplicate maximum 16(= 10 + 6) variabile de intrare.
Dac
a bufferul inversor TSL are functionare normal
a (I/O este terminal de iesire)

262

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

(1)
I1

(2)
I2

(3)

0
1
2
3
4
5
6
7

(19)
O1

0
1
2
3
4
5
6
7

(18)
I/O 2

I3

(17)

(4)

I/O 3

I4

(16)
I/O 4

(5)
I5

(15)
I/O 5

(6)
I6

(14)
I/O 6

(7)
I7

(8)
I8

(9)

0
1
2
3
4
5
6
7

(13)
I/O 7

0
1
2
3
4
5
6
7

(12)
O8
(11)

I9

I 10
Figura 2.56 Structura tipic
a de circuit PAL (PAL16L10).

263

2.4. CLC PENTRU FUNCT


II LOGICE

1
Intrare

Iesire

buffer TSL
a)

buffer TSL
b)

Figura 2.57 Explicativ


a pentru posibilitatea de transfer bidirectional la un terminal I/O: a) utilizarea ca terminal de intrare; b) utilizarea ca terminal de iesire.

este posibil ca o functie de maximum 7 termeni produs, obtinut


a la iesirea portii OR,
s
a fie generat
a la pinul corespunz
ator (terminal de iesire) sau s
a fie aplicat
a napoi
n matricea AND programabil
a, ca variabil
a de intrare. Aceast
a facilitate de aplicare
napoi apare ca o solutie pentru situatiile c
and functia de implementat este o sum
a
de mai mult de 7 termeni produs. In astfel de cazuri, functia se partajeaz
a ntr-un
grup de 7 termeni produs si alte grupuri de maximum 6 termeni produs; la prima
trecere se calculeaz
a pe un grup de 7 porti AND si o poart
a OR (cu conexiunea fix
a
ntre acestea) suma de 7 termeni produs care apoi se reintroduce n reteaua AND.
Pe un alt grup la aceast
a sum
a de sapte termeni se mai adaug
a, prin sumare, alti
6 termeni produs, iar rezultatul se introduce iar
asi n reteaua AND; reintroducerile
pot continua p
an
a la sumarea tuturor termenilor produs ai functiei. Aceste treceri
repetate prin retea m
aresc timpul de calcul pentru functie. Valori curente pentru
timpul de propagare, de la oricare intrare la oricare iesire, sunt sub 10ns. De asemenea,
aceast
a facilitate de reintroducere (feedback) a unei valori calculate d
a posibilitatea
implement
arii circuitelor secventiale.
2.4.7.3

Circuitul de tip GAL

Circuitul GAL (Generic Array Logic) poate fi privit ca un circuit PAL la care
s-au introdus anumite facilit
ati pentru o extindere a posibilit
atilor de utilizare (a fost
introdus de Lattice Semiconductor). Codul de denumire este similar cu cel PAL, de
exemplu GAL20V8 indic
a 20 de intr
ari si 8 iesiri.
Astfel de facilit
ati apar pe terminalele bidirectionale I/O prin mbog
atirea circuisticii respective denumirea pentru aceast
a circuistic
a este de macrocelul
a de iesire.
In Figura 2.58 este desenat un terminal I/O de la un circuit GAL, care este, de fapt,
grupul de celule AND corespunz
atoare terminalului I/O4 de la structurarea tipic
a de
PAL din Figura 2.56, dar acum are pe iesire o macrocelul
a de iesire. Un circuit
GAL are at
atea astfel de grupuri, care au iesirea pe o macrocelul
a, c
ate terminale
I/O prezint
a. Din aceast
a figur
a se observ
a c
a n macrocelul
a s-a inclus si poarta
OR, colectoare de termeni produs, care uzual are la iesirea sa un XOR pentru a putea
selecta polaritatea, adic
a: fie functia, fie functia negat
a. In circuistica macrocelulei
sunt incluse: buffer de iesire TSL; celul
a pentru validarea iesirii (bufferului); multiplexoare pentru diferite select
ari de semnale; latch-uri pentru memorarea de semnale
si evident, cale de reintroducere a semnalului, obtinut la iesirea portii OR (sum
a de
produse), n matricea programabil
a AND (vezi sectiunea 4.5). Circuitul GAL poate
implementa o gam
a mare de circuite combinationale si secventiale.

264

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

CLK
0

8 10 12 14 16 18 20 22 24 26 28 30

0
1

Macro

celula

3
4

I/O 4

logica
de
iesire

I5

CLK

6
7

Figura 2.58 M
arirea posibilit
atilor de procesare/utilizare a semnalului asignat
unui terminal I/O prin introducerea unei macrocelule de iesire.

2.5

CIRCUITE COMBINAT
IONALE
PENTRU FUNCT
II NUMERICE

Procesarea informatiei, n sistemele digitale, se bazeaz


a pe algoritmi ce utilizeaz
a
ntr-o pondere ridicat
a operatii aritmetice. In consecinta
, o mare parte din circuistica sistemelor digitale este construit
a din circuite cu functii numerice. In raport cu
circuitele logice, n general, la circuite numerice gradul de replicare este mai mare.
Aceast
a replicare apare n urma faptului c
a operatiile aritmetice se realizeaz
a asupra
cuvintelor cu lungime relativ mare si, mai mult, operatia respectiv
a se aplic
a identic
asupra fiec
arei pereche de biti din cuvintele procesate. In consecinta
, la circuitele cu
functii numerice metoda general
a de sintez
a se bazaez
a pe identificarea unui circuit
elementar/celul
a care proceseaz
a o pereche de biti, urm
and apoi replicarea p
an
a la
nivel de cuv
ant (vezi sectiunea 2.2.5).In continuare, prezentarea circuitelor cu functii
numerice se va face prin identificarea circuitului elementar/celulei, apoi prin replicarea
acesteia se obtine circuitul numeric extins.

2.5.1

Comparatorul

Circuitul comparator determin


a identitatea ntre bitii de acelasi rang a dou
a cuvinte. Pe l
ang
a relatia de egalitate a celor dou
a cuvinte comparate, se poate determina
si o relatie de mai mare, mai mic. In general, prin comparator sub form
a de circuit
integrat discret se ntelege circuitul care determin
a pentru dou
a numere, exprimate n binar, relatiile de ordine =, <, >; deci calculeaz
a functia de egalitate F e , de
inferioritate Fi si de superioritate Fs . Sinteza unui comparator, de exemplu, pentru
dou
a cuvinte de patru biti, A = A3 A2 A1 A0 si B = B3 B2 B1 B0 , dup
a metoda normal
a de sintez
a pornind de la tabelul de adev
ar ar fi destul de greoaie. O astfel de
sintez
a ar necesita pentru fiecare dintre functiile Fe , Fs si Fi c
ate un tabel cu 256 linii
(configuratii de intrare).
O alt
a modalitate de sintez
a a comparatorului utilizeaz
a ideea expus
a n sectiunea
2.2.5, identificarea unei celule repetitive n structurarea circuitului. O astfel de celul
a

265

2.5. CLC PENTRU FUNCT


II NUMERICE

A
B

A
0
0
1
1

fi

Comp.
fe
de
1 bit f s

B
0
1
0
1

fe
1
0
0
1

fs
0
0
1
0

fi

fi
0
1
0
0

A
B

a)
A3
A2
A1
A0

A<B

Fi

A=B

Fi

fs
f e3
fs 3

fe
f e3
fs 2
f e1
f e3
f e2
fs 1
0
fe
f e3
f e2
f e1

fe
f e3
fs 2
Fs
f e1
f e3
A>B f e 2
fs 1
0
fe
f e3
f e2
f e1
s0
Fi

Fe f e3
fe
2
fe
Fs f 1
e0
A>B
s
Fe

B3
B2
B1
B0

fs
f e3
fs 3

Fe
A=B

Fe

s
Fs

+5V s
Fe
s
Fi
s
Fs

A 7A 6A 5A 4
C1

B7 B6 B5 B4

74xx85

A=B
fs
A>B

FSS

b)

A<B
fe

Fe
Fs
Fi

s
Fe
s
Fs
s
Fi

A 3A 2A 1A 0
C0

Fi
A<B

B3 B2 B1 B0

74xx85

F e (A=B)
F s (A>B)
F i (A<B)

c)
Figura 2.59 Comparatorul: a) circuitul comparator pentru dou
a cuvinte de un bit;
b) circuitul comparator pentru cuvinte de patru biti; c) comparator pentru cuvinte de un
byte realizat pe baza circuitelor 74xx85.

replicabil
a, ce se poate identifica, este celula comparator pentru dou
a cuvinte A si B de
c
ate un singur bit, care genereaz
a cele trei functii fe , fi si fs . Sinteza comparatorului
de doi biti este simpl
a pentru c
a se pleac
a de la un tabel de adev
ar cu numai patru
+ A B = A B,
configuratii de intrare, Figura 2.59-a. Functiile obtinute fe = A B
sunt implementate fiecare pe c
fi = A B si fs = A B
ate o poart
a apoi acestea sunt
reunite ntr-un singur circuit comparatorul pentru dou
a cuvinte de un bit.
Baz
andu-se pe celula comparator pentru cuvinte de c
ate un singur bit se poate
face sinteza unui comparator pentru cuvinte de n biti, ca exemplificare se va face
sinteza pentru cuvinte de patru biti; comparatorul de patru biti este uzual n aplicatii
ca circuit integrat discret. Relatiile de ordine F se determin
a din relatiile de ordine
f pentru fiecare pereche de biti, dar pornind de la perechea cu rangul cel mai ridicat
n felul urm
ator:

266

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

relatia de egalitate Fe , A = B a cuvintelor de patru biti exist


a c
and: A3 = B3
si A2 = B2 si A1 = B1 si A0 = B0 ceea ce formal se exprim
a prin:
Fe = fe3 fe2 fe1 fe0
relatia de superioritate Fs , A > B exist
a c
and: A3 > B3 sau A3 = B3 si
A2 > B2 sau A3 = B3 si A2 = B2 si A1 > B1 sau A3 = B3 si A2 = B2 si
A1 = B1 si A0 > B0 ceea ce duce la urm
atoarea expresie logic
a
Fs = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0
relatia de inferioritate Fi , A < B, se deduce printr-un rationament asem
an
ator
si are forma
Fi = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0
Evident c
a pot fi calculate numai dou
a din cele trei functii deoarece fiecare dintre
acestea se poate deduce din conjunctia negatelor celorlalte dou
a functii.
Fe = Fi Fs

Fi = Fs Fe

Fs = Fe Fi

Totusi, din rationamente de nc


arcare si de a uniformiza timpii de propagare,
fiecare dintre aceste functii se implementeaz
a separat ca n Figura 2.59-b. Circuitul
comparator de patru biti trebuie s
a aib
a posibilitatea de a fi utilizat si ca o component
a n realizarea comparatoarelor pentru cuvinte cu lungime multiplu de patru
biti. Pentru calculul fiec
arei dintre cele trei relatii, de ordine ntre dou
a numere, se
porneste de la rangurile superioare. Chiar dac
a pe un interval continuu de biti, al
celor dou
a cuvinte, relatia de ordine este ndeplinit
a evident c
a relatia pe cuv
antul
ntreg nu va fi ndeplinit
a dac
a pe intervalul de biti superior acestui interval relatia
respectiv
a nu este ndeplinit
a. In consecinta
, fiecare circuit de patru biti pentru calculul uneia dintre cele trei relatii Fe , Fi si Fs trebuie s
a primeasc
a, ca o validare, de
la circuitul intervalului superior de patru biti, semnalul respectiv al relatiei de ordine
in
and cont si de aceasta, relatiile anterioare de ordine se modific
a
Fe s , Fi s si Fs s . T
n felul urm
ator:
Fe
Fs
Fi

= fe3 fe2 fe1 fe0 Fe s


= fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 +
+fe3 fe2 fe1 fe0 Fs s
= fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0 +
+fe3 fe2 fe1 fe0 Fi s

Circuitul 74xx85 este un comparator care modeleaz


a aceste relatii. In Figura
2.59-c este prezentat
a o structur
a pe baz
a de circuite 74xx85 pentru determinarea
relatiilor de ordine ntre dou
a cuvinte de un byte. Se observ
a c
a semnalele relatiei de
ordine Fe , Fi si Fs calculate pe circuitul comparator C1 al intervalului de biti 7 4
se aplic
a sub forma semnalelor Fe s , Fi s , Fs s la circuitul comparator urm
ator C0 , al
intervalului de biti 3 0.

2.5. CLC PENTRU FUNCT


II NUMERICE

2.5.2

267

Sumatorul

Adunarea este operatia aritmetic


a cu frecventa cea mai ridicat
a care se realizeaz
a
pe echipamentele de calcul electronic, se consider
a c
a si incrementarea este tot o
adunare, c
and un operand este unu. In consecinta
, exist
a tendinta justificat
a ca
timpul de realizare a operatiei de sumare T , luat foarte adesea ca reper de comparatie
pentru performante de vitez
a ale sistemelor de calcul, s
a fie c
at mai mic. De exemplu,
dac
a timpul operatiei de sumare, pe un procesor, este redus de la 3ns la 2, 5ns aceasta
nseamn
a o crestere de la 3, 33 106 adun
ari/s cu nc
a 670.000 adun
ari/s. De aceea,
structurile de circuite sumator si celulele componente ale acestora continu
a, nc
a, s
a
fie intens studiate n functie de tehnologia de implementare. In aceast
a sectiune se
vor expune doar structurile fundamentale de circuite sumatoare la care pot fi reduse
multe din sumatoarele existente. Pentru o abordare exhaustiv
a a circuitelor aritmetice
recomand
am [Omondi 0 94].
2.5.2.1

Sumatorul cu Transport Progresiv, STP

Sumarea a dou
a numere binare exprimate sub forma a dou
a cuvinte A si B cu
lungimea de n biti se realizeaz
a prin adunarea fiec
arei perechi de biti Ai si Bi ncep
and
cu perechea A0 , B0 , de rang zero (20 ), p
an
a la perechea An1 , Bn1 , de rang n 1
(2n1 ). Pe fiecare rang, adunarea se realizeaz
a cu un circuit denumit celul
a sumator
complet, notat
a simbolic (3, 2). Celula sumator (3, 2), de exemplu, pentru rangul
i (corespunde ponderii 2i n valoarea num
arului) are trei intr
ari (Ai ,Bi si transportul
anterior, Ci1 , generat de celula de rang i1) si dou
a iesiri (si suma, si Ci , transportul
urm
ator, care se aplic
a la celula urm
atoare, de rang i + 1, ca transport anterior). In
Figura 2.60-a este reprezentat
a numai celula de rang 2i a unui sumator la care, de pe
cele dou
a magistrale pentru cuvintele de nsumat A si B, se aplic
a bitii Ai si Bi si se
genereaz
a bitul sum
a si pe linia i a magistralei S pentru cuv
antul sum
a.
Exist
a si celul
a semi-sumator (2, 2), care sumeaz
a doar cele dou
a intr
ari A i
si Bi , far
a transport anterior, si genereaz
a si si Ci . Tabelul de adev
ar al celulei
(3, 2) este prezentat n Tabelul 1.6. Expresiile logice deduse, relatiile 1.15 si 1.16, n
sectiunea 1.14 pentru si si Ci arat
a c
a suma si este functia P ARIT AT E(Ai , Bi , Ci1 )
(are valoarea 1 c
and un num
ar impar de intr
ari sunt 1, Figura 2.19-b), iar transportul
urm
ator Ci este functia logic
a M AJORIT AR(Ai , Bi , Ci1 ) (are valoarea 1 c
and cel
putin dou
a din cele trei intr
ari sunt 1). Rescriem aceste relatii logice:
si
Ci

= P ARIT AT E(Ai , Bi , Ci1 ) = Ai Bi Ci1


= M AJORIT AR(Ai , Bi , Ci1 ) = Ai Bi + Ai Ci1 + Bi Ci1 =

(2.17)

= Ci1 (Ai Bi ) (Ai Bi )


Ultima form
a a relatiei pentru Ci a fost adus
a la o exprimare numai cu operatori NAND pentru a putea fi implementat
a NAND-NAND, care duce la o structur
a
de circuite mai rapide dec
at circuitele implementate pe dou
a niveluri neinversoare
AND-OR. Conform exprim
arilor prin relatiile 2.17 rezult
a pentru celula (3, 2) implementarea din Figura 2.60-b.
Relatiile anterioare pentru si si Ci pot fi exprimate si n felul urm
ator, utile pentru
implementare n tehnologie CMOS:

268

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

A
B

n
1

Ci

Ai

A
B

Bi

Ai

Bi

Ci

C i1

(3,2)

C i1
(3,2)

a)

A
B

si

n
1

Ai

1
Bi

C i1

Ai

Ai

Bi

Bi

C i1

C i1

V DD
Ai
Bi

(figura 1.64c)

si

si

A
B

V DD
A

1
Bi

Ai

Ci

Ci

si
1

B
C i1

Ci

C i1

C i1

(3,2)

B
C i1

Ci

Ai +Bi +Ci1

(3,2)

d)

si

A i A i Bi Bi C i1C i1 C
i1

Ci

c)

b)

si

A
B

B
C i1

si
B
A
C i1
Ci

si

Figura 2.60 Celule sumator complet, (3, 2): a) modul de conectare a celulei de rang i
a unui sumator, la magistralele cuvintelor de nsumat (A,B) si la magistrale cuv
antului sum
a
S; b) structura logic
a a celulei conform relatiei 2.17; c,d) structura logic
a si implementarea
n tehnologie CMOS conform relatiilor 2.18 si 2.19.

2.5. CLC PENTRU FUNCT


II NUMERICE

si
Ci

= Ai Bi Ci1
= Ai Bi + Ci1 (Ai + Bi )

269

(2.18)

Se observ
a c
a, spre deosebire de relatiile 2.17, c
and componenta (A i Bi ) calculat
a n expresia lui si era utilizat
a si n expresia lui Ci , acum fiecare functie este
calculat
a independent, ceea ce creeaz
a posibilitatea realiz
arii unui lant al tuturor
circuitelor generatoare de Ci independent de porti ale generatoarelor de sum
a si . Implementarea celulei (3, 2), conform relatiilor 2.18, este prezentat
a n Figura 2.60-c;
este desenat circuitul electric numai pentru Ci , cel pentru si este desenat n Figura
1.64-c. Realizarea celulei sumator complet necesit
a 32 de tranzistoare.
O alt
a form
a de exprimare pentru si si Ci este urm
atoarea:
si
Ci

= Ai Bi Ci1 + (Ai + Bi + Ci1 ) (Ai Bi + Ci1 (Ai + Bi )) =


= Ai Bi Ci1 + (Ai + Bi + Ci1 ) C i1
= Ai Bi + Ci1 (Ai + Bi )

(2.19)

a de
De data aceasta generatorul de sum
a utilizeaz
a expresia lui C i1 , calculat
generatorul de transport urm
ator. Structurarea corespunz
atoare a celulei (3, 2) este
prezentat
a n Figura 2.60-d. Realizarea celulei necesit
a 28 de tranzistoare deoarece n
anumite organiz
ari de sumatoare sunt necesare semnalele si si Ci , deci amplificatoarele
de iesire pentru aceste dou
a semnale pot fi eliminate; structura din figur
a corespunde
cazului de utilizare si si Ci .
Sumatorul cu transport progresiv pentru sumarea a dou
a numere de n biti, se
obtine prin punerea n paralel a n celule sumator complet, dar portile generatoare de
transport urm
ator se nseriaz
a ncep
and de la celula de rang zero p
an
a la celula de
rang (n1); transportul urm
ator Ci1 , generat de celula de rang (i1), este aplicat ca
transport anterior la celula urm
atoare de rang i, Figura 2.61-a. La aplicarea simultan
a
pe cele dou
a magistrale A si B a numerelor de nsumat si a transportului de intrare n
sumator C1 (la celula de rang zero, n general, se consider
a C1 = 0) se genereaz
a,
pe magistrala S, cuv
antul sum
a rezultat si la iesire transportul urm
ator C n1 , de la
celula corespunz
atoare perechii de biti cei mai semnificativi. Dimensiunea sumatorului
cu transport progresiv este SSU M (n) = 5 n O(n). Cu o astfel de dimensiune si
structur
a, prin replicarea celulei (3, 2), sumatorul cu transport progresiv este usor
realizabil deoarece rezult
a o geometrie pe siliciu simpl
a si repetitiv
a.
In ceea ce priveste timpul de sumare T acesta este tot n O(n) ceea ce pentru
n de valori mari, de exemplu pentru lungimile de cuv
ant de 64 sau 128 biti la procesoarele actuale, determin
a ca acest tip de sumator s
a nu fie aplicabil. Timpul de
sumare T trebuie s
a fie mai mare sau egal cu cel mai lung timp de propagare al
transportului care apare c
and transportul C0 = 1 generat n celula de rang zero
(se consider
a C1 = 0) se propag
a progresiv din celul
a n celul
a p
an
a la celula de rang
n1 unde se genereaz
a transportul Cn1 .Timpul cel mai lung de propagare se obtine,
de exemplu, c
and se adun
a operanzii A = 11 . . . 11, B = 00 . . . 01 si se calculeaz
a cu
relatia (se consider
a c
a toti bitii celor dou
a cuvinte se aplic
a simultan)
= A0 B0 C0 + (n 2)C(i1) Ci + C(n2) sn1 T
n care:

(2.20)

270

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

A0 B0 C0 este intervalul de timp din momentul aplic


arii bitilor A0 , B0 , pe prima
celul
a de rang zero, p
an
a la generarea transportului C0 ;
C(i1) Ci este timpul de propagare al transportului pe o celul
a, din momentul
aplic
arii semnalului Ci1 p
an
a la generarea lui Ci ;
C(n2) sn1 este nt
arzierea, la celula de rang n 1, din momentul aplic
arii
transportului anterior Cn2 p
an
a la generarea bitului de sum
a s(n1) .
Din relatia 2.20 se deduce c
a pentru sumatoarele cu n mare reducerea timpului total de propagare este sensibil
a la micsorarea propag
arii transportului pe celula
sumatoare, C(i1) Ci . La un sumator implementat cu celule cu structura din Figura
2.60-d micsorarea componentei C(i1) Ci se poate obtine prin eliminarea inversorului
de iesire din partea de generare de transport a celulei, deci se va utiliza numai Ci n
loc de Ci . Utilizarea lui Ci n loc de Ci , pentru micsorarea lui , va impune n organizarea sumatorului ca la celulele din pozitiile pare (si nu rangurile pare!) s
a se aplice
intr
arile negate Ai ,Bi n loc de Ai si Bi ; dar aceast
a alternare, ntre Ai , Bi si Ai ,Bi
c
and se trece de la pozitii impare la pozitii pare, atrage dup
a sine ca si inversorul de
pe iesirea si , al celulelor din pozitii pare, s
a fie eliminat.
Evident, un sumator nu poate fi comandat pentru o nou
a operatie de sumare
dec
at numai dup
a un interval de timp egal cu timpul de sumare T , rezult
a c
a
timpul de propagare al transportului este un parametru limitativ n viteza de lucru a
sumatoarelor.
In aceeasi modalitate n care s-a structurat sumatorul se poate face si structurarea unui sc
az
ator care realizeaz
a sc
aderea num
arului B (sc
az
ator) din num
arul A
(desc
azut), A B. Tabelul de adev
ar pentru o celul
a sc
az
ator complet, (3, 2),
este prezentat n Tabelul 1.6, are trei intr
ari (Ai , bitul desc
azut; Bi , bitul sc
az
ator;
Ii1 , mprumutul anterior) si dou
a iesiri (di , diferenta rezultat
a; Ii , mprumutul
urm
ator). Prin sinteza pe baz
a de 1 se obtin relatiile:
di =Ai Bi Ii1
Ii =Ai Bi + Ai Ii1 + Bi Ii1
i Ii1 , iar la a doua
pentru care, la prima relatie, utiliz
and identitatea Bi Ii1 = B
aplic
and teorema lui De Morgan, se obtin exprim
arile:
i Ii1
di =Ai B
i + Ai Ii1 + B
i Ii1
Ii =Ai B

(2.21)

Compar
and relatiile 2.17 cu relatiile 2.21 se poate face o echivalenta
ntre celula
sumator complet si celula sc
az
ator complet. Aceast
a echivalenta
determin
a urm
atoarea afirmatie: o celul
a sumator complet devine o celul
a sc
az
ator complet dac
a bitul
Bi se consider
a activ n starea low, Bi L (devine sc
az
atorul), transportul anterior
Ci1 se consider
a activ n starea low, I(i1) L (devine mprumutul anterior) si transportul urm
ator Ci se consider
a activ n starea low, Ii L (devine mprumutul urm
ator).
Reprezentarea pentru o celul
a (3, 2) este dat
a n Figura 2.61-b. Rezult
a c
a organizarea de sumator cu transport progresiv poate fi transformat
a ntr-o organizare
de sc
az
ator cu mprumut progresiv dac
a: bitii cuv
antului B, nainte de aplicare la
sumator, sunt complementati printr-un inversor (devine sc
az
ator) iar transporturile

271

2.5. CLC PENTRU FUNCT


II NUMERICE

A
B

n
A n1

C n1

Bn1

1 1

Ai

C n2

(3,2)
1

1 1

Ci

sn1

Bi
C i1

(3,2)
1

I i_L

B
A

(3,2)

I (i1)_L
C n1
S

di
b)

n
n
n

B1

(3,2)
1

Bi_L

Ai

C1

si

a)

1 1

A1

1 1

A0

C0

s1

B0

(3,2)

C 1

s0

n
B
1

Sumator/Scazator pentru
cuvinte de n biti
n

C 1

c)

Figura 2.61 Sumatorul cu transport progresiv, STP: a) organizare de principiu pentru un sumator STP de n biti; b) reprezentarea (schem
a bloc) celulei sc
az
ator complet
(3, 2); c) organizare de principiu pentru un circuit sumator/sc
az
ator comandat care realizeaz
a sc
aderea pentru c = 1 si adunarea pentru c = 1.

sunt considerate active n starea low (devin mprumuturile) si, evident, mprumutul
initial I1 L = 1 (invers ca la functionarea de sumator C1 = 0) este inactiv n H
(transportul initial C1 era inactiv n starea L).
Aceeasi transformare a sumatorului n sc
az
ator poate fi realizat
a pornind de la
faptul c
a o sc
adere AB poate fi privit
a ca o adunare a num
arului A cu complementul
fata
de doi a num
arului sc
az
ator B, (B = [B]2 ), deci A + [B]2 . Complementul
fata
de doi se obtine din complementul fata
de unu [B]1 , care se realizeaz
a prin
complementarea lui B, la care apoi se adaug
a 1, adic
a [B]2 = [B]1 + 1. Un inversor
comandat de o variabil
a de control c se obtine cu o poart
a XOR, Bc. Se poate genera
at
at A + B c
at si A B, n functie de valoarea variabilei de control, cu urm
atoarea
expresie:

A+Bc+c=

A + [B]1 + 1 = A + [B]2 = A B
A+B+0=A+B

pentru c = 1
pentru c = 0

(2.22)

Implementarea corespunz
atoare este reprezentat
a n Figura 2.61-c, pentru c = 0
se realizeaz
a adunarea A + B, iar pentru c = 1 se realizeaz
a sc
aderea A B, deci o
structurare de sumator/sc
az
ator, S/D, comandat.
2.5.2.2

Sumatoare de performant
a ridicat
a

La sumatorul cu transport succesiv, deoarece timpul de sumare T nu poate fi

272

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

mai mic dec


at timpul de propagare al transportului , relatia 2.20, n ntregul lant
de celule, rezult
a performanta
de vitez
a sc
azut
a. De fapt, la orice tip de sumator,
adunarea obtinut
a nu poate fi considerat
a efectuat
a p
an
a nu se calculeaz
a corect at
at
bitul sum
a sn1 c
at si bitul de transport urm
ator Cn1 . Dar acestea nu pot fi calculate corect p
an
a nu se primeste transportul anterior Cn2 , care la r
andul s
au depinde
de sosirea transportului Cn3 si asa mai departe p
an
a se ajunge la generarea lui C0 .
Toate tipurile de sumatoare, si exist
a foarte multe, pentru a obtine performante de
vitez
a superioare celui cu transport progresiv, prin diferite artificii logice sau de organizare, calculeaz
a valoarea Cn1 ntr-un timp mai mic dec
at cel necesar pentru
transportul progresiv din celul
a n celul
a, relatia 2.20. In acest sens, se vor prezenta
diferite modalit
ati de reducere a timpului de calcul pentru determinarea propag
arii
transportului aplicate la trei tipuri de circuite sumatoare denumite: a) sumator cu
transport anticipat, b) sumator cu lant Manchester si c) sumator cu selectarea transportului.
a). Sumatorul cu transport anticipat, STA. Ideea transportului anticipat
const
a n calculul transportului Ci1 , pentru obtinerea sumei si = Ai Bi Ci1
la celula sumatoare de rang i, nu n functie de valorile anterioare ale transporturilor
C0 , C1 , . . . , Ci2 (care necesit
a timp de propagare) ci n functie numai de valorile
care se aplic
a n primul moment la intr
arile sumatorului adic
a C1 , A0 si B0 , A1 si
B1 , . . . , Ai1 si Bi1 , cum este sugerat din Figura 2.62-a. Pentru acest calcul n
avans/anticipat al valorii lui Ci , generat de celula de rang i, se vor utiliza variabilele
intermediare pi propagare si gi generare introduse pentru o celul
a (3, 2) n Tabelul
1.6 si care acum se vor redefini n contextul unui sumator.
Pentru o configuratie a valorilor bitilor Ai , Bi , aplicat
a la celula de rang i,
exist
a o generare de transport urm
ator Ci = 1 atunci c
and variabila generare are
valoarea 1 indiferent de intr
arile anterioare C1 , Ai1 A0 , Bi1 B0 . Evident,
configuratia de intrare, pentru care Ci = 1, este Ai = 1 si Bi = 1, deci variabila
intermediar
a generare este obtinut
a prin produsul logic gi = Ai Bi .
Variabila intermediar
a propagare va avea valoarea pi = 1 pentru acele configuratii ale valorilor bitilor Ai , Bi pentru care se produce Ci = 1 n prezenta
unui transport anterior Ci1 = 1 (generat de intr
arile anterioare C0 , Ai1 A0 ,
Bi1 B0 ). Aceast
a propagare prin celul
a se realizeaz
a c
and cel putin un bit
de intrare pe celula i are valoarea 1, deci variabila intermediar
a propagare
este o sum
a logic
a de intr
ari pi = Ai + Bi .
Pe celula i se genereaz
a transport urm
ator atunci c
and gi = 1 SAU atunci c
and
Ci1 = 1 si exist
a propagare (pi = 1), rezult
a relatia:
Ci = gi + pi Ci1 = Ai Bi + (Ai + Bi ) Ci1

(2.23)

Dar pentru propagare n loc de relatia sum


a logic
a se poate utiliza operatorul
XOR, pi = Ai Bi care acoper
a numai configuratiile Ai = 1 si Bi = 0 sau Ai = 0
si Bi = 1 nu si configuratia Ai = 1 si Bi = 1. Oricum, pentru configuratia Ai = 1
si Bi = 1 exist
a transport urm
ator, Ci = 1, n relatia 2.23, chiar dac
a acesta nu este
obtinut prin propagare ci prin generare gi = Ai Bi = 1; ceea ce rezult
a si din faptul c
a
urm
atoarea relatie este o identitate Ai Bi +(Ai +Bi )Ci1 = Ai Bi +(Ai Bi )Ci1 .

273

2.5. CLC PENTRU FUNCT


II NUMERICE

Deci pentru transportul urm


ator este corect
a si relatia urm
atoare:
Ci = gi + pi Ci1 = Ai Bi + (Ai Bi ) Ci1

(2.24)

care are avantajul c


a propagarea pi odat
a calculat
a (ca sum
a modulo doi) poate fi
utilizat
a si pentru calculul lui si dup
a cum se observ
a din urm
atoarele dou
a grupuri
de relatii aplicabile unei celule (3, 2):
grup 1
gi
pi
Ci
si

=
=
=
=

A i Bi
Ai Bi
gi + pi Ci1
pi Ci1

grup 2
gi
pi
Ci
si

=
=
=
=

A i Bi
Ai + Bi
gi + pi Ci1
Ai Bi Ci1

(2.25)

Pornind de la relatia 2.24, pentru un sumator de n biti, exprim


and transportul
urm
ator al unei celule sumator n functie de transportul initial de intrare C1 si de
toate variabilele de propagare si generare ale celulelor anterioare se obtin expresiile:
C0
C1
C2
..
Ci

= g0 + p0 C1
= g1 + p1 C0 = g1 + p1 g0 + p1 p0 C1
= g2 + p2 C1 = g2 + p2 g1 + p2 p1 g0 + p2 p1 p0 C1

(2.26)

= gi + pi gi1 + pi pi1 gi2 + + pi pi1 pi2 . . . p3 p2 p1 p0 C1

din care rezult


a posibilitatea ca, n paralel, s
a se calculeze anticipat toate transporturile urm
atoare f
ar
a a mai astepta transportul anterior. Fiecare transport urm
ator,
Ci , n aceste relatii se calculeaz
a pe dou
a niveluri logice AND-OR plus nc
a un nivel
logic pentru calculul variabilelor intermediare gi , pi (respectiv pe o poart
a AND sau o
poart
a OR/XOR), deci n total trei niveluri logice. Pentru timpul de calcul al sumei
si se mai adaug
a nc
a un nivel corespunz
ator portii XOR, Figura 2.62-a. Rezult
a
c
a timpul de sumare T , egal cu cel al fiec
arei celule, este constant si corespunde
parcurgerii a patru niveluri logice indiferent de num
arul de biti ai sumatorului.
Aceast
a performanta
de vitez
a atr
ag
atoare la STA, timp de sumare constant egal
cu patru niveluri logice, este mult diminuat
a la implement
ari pentru n de valori mari
datorit
a cresterii dimensiunii, fan-out si fan-in, capacit
atilor parazite si iregularit
atii
geometrice pe siliciu (layout). Consider
and pentru o poart
a XOR o dimensiune dubl
a
fata
de AND sau OR rezult
a dimensiunea unui STA:
SST A (n) = (n3 + 9n2 + 74n)/6 O(n3 )
Circuitul pentru generarea lui Cn1 necesit
a n porti AND din care una cu n intr
ari
plus o poart
a OR cu n + 1 intr
ari (portile AND sau OR cu n > 4 prin asociativitate
se realizeaz
a pe mai multe niveluri, vezi Exemplul 2.12). De asemenea, fiecare semnal
gi trebuie s
a comande (n i) intr
ari iar pi trebuie s
a comande (i+1)(n-1) intr
ari. In
consecinta
, STA-urile sunt limitate, n general, la n = 4.
Pentru un STA cu n = 4 un circuit pentru generarea lui C3 este prezentat n
Figura 2.62-b. Organizarea circuitului se bazeaz
a pe rescrierea expresiei lui C 3 n
felul urm
ator:
C3 = g3 + p3 (g2 + p2 (g1 + p1 (g0 + p0 C1 )))

274

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Ai
Bi
A i1
A0
Bi1

a)

B0
C 1

pi=A i+Bi
Circuit
pentru
generarea
transportului
anticipat

C i1

p3

g3

g2

C 1
CLK

C2

g0

s2

C1

22

C1

s1

C0

21

C0

p0

A0
B0

s3

C2

23

p1
g1

Generare
si

C3

p2

A2
B2

g1

g0

b)

g3

A1
B1

g2

p2

p0

C3

Generare
Ci
p3

A3
B3

V DD
CLK

p1

Generare
pi, gi

si

20

s0

C 1

C 1

c)

A n
n
A n1

C n1

S n

A n1m
Bn1

Bn1m

C 2m1

m bit STA
sn1

A 2m1

snm

B2m1

Am

m bit STA
s2m1

A m1
Bm
C m1
sm

Bm1

A0

B0
C 1

m bit STA
sm1

s0

d)
Figura 2.62 Sumatorul cu transport anticipat, STA: a) schema de principiu pentru
celula de rang i a unui STA; b) circuitul dinamic CMOS (nMOS) pentru generarea transportului anticipat C3 peste patru ranguri de sumator; c) organizarea unui STA de patru
biti cu identificare pentru fiecare rang al celor trei generatoare componente (pentru pi si gi ,
Ci , si , iar calculul se face dup
a grup 1 din relatiile 2.25); d) organizarea unui sumator cu
transport progresiv, dar pe baz
a de blocuri cu transport anticipat, STAB.

2.5. CLC PENTRU FUNCT


II NUMERICE

275

cu o implementare de tip dinamic pe o poarta CMOS (nMOS) domino. Circuite


generatoare doar pentru C2 , C1 sau C0 se pot obtine din structura circuitului pentru
C3 prin eliminarea succesiv
a respectiv a perechilor g2 , p2 ; g1 ,p1 si g0 ,p0 .
Organizarea de principiu a unui STA este prezentat
a n Figura 2.62-c, n care
sunt indicate cele trei generatoare componente: generatorul gi , pi , generatorul de
transport urm
ator Ci si generatorul de sum
a si . Aceste trei generatoare pentru un
rang i(= 0, 1, 2, 3) se obtin prin particularizare n circuitele din figurile 2.62-a si 2.62-b.
Obtenabile comercial, ca circuite integrate discrete, exist
a circuitele sumatoare
74xx283 si 74xx83, care sunt STA de patru biti.
Deoarece este dificil de realizat STA cu n ridicat se poate utiliza avantajul metodei
transportului anticipat prin organizarea sumatorului prin nserierea a n/m blocuri cu
transportul anticipat, fiecare bloc fiind de m biti, un astfel de sumator este referit ca
sumator cu transport anticipat pe blocuri, STAB, cu reprezentarea din Figura
2.62-d. STAB poate fi privit ca un sumator cu transport progresiv care are drept
celule module de m biti cu transport anticipat. Ad
ancimea pentru aceast
a organizare
este 2(n/m + 1) niveluri logice, deci intermediar ntre STP si STA, iar dimensiunea
este n/m ori a unui STA de m biti.
Se pot concepe si alte organiz
ari de sumatoare pe baz
a de blocuri componente STA
dar la care se elimin
a transportul progresiv dintre blocuri si se realizeaz
a pentru c
ate
un grup de blocuri, n exteriorul fiec
arui grup, un circuit pentru calculul transportului
anticipat. De exemplu, pentru numere de 64 biti, dac
a se utilizeaz
a module STA de
4 biti rezult
a patru grupuri, fiecare grup de c
ate patru blocuri, deci patru circuite exterioare, fiecare circuit exterior calculeaz
a transportul anticipat pentru c
ate un grup
(pe patru STA de patru biti). Apoi, peste cele patru circuite de calcul de transport
anticipat se poate conecta n exteriorul lor un al cincelea asemenea circuit, care calculeaz
a transportul anticipat pe ntreg sumatorul de 64 biti [Wakerly 0 2000][Omondi
0
94]. Pentru calculul n exterior al transportului anticipat exist
a circuitul 74xx182,
Figura 2.76-c.
b). Sumatorul cu lant Manchester, SM. Acest tip de sumator, unul din
primele utilizate, realizeaz
a un traseu separat pentru propagarea transportului. De
fapt, si n organizarea unui sumator cu transport progresiv cu celule ca cea din Figura
2.60-b se realizeaz
a o cale continu
a (un lant) de la C1 p
an
a la Cn1 pentru propagarea transportului. Rezult
a c
a, un sumator cu lant Manchester este un sumator cu
transport progresiv cu particularizarea c
a pe traseul de propagare nu sunt porti ci
comutatoare comandate. In Figura 2.63 sunt prezentate segmentele corespunz
atoare
celulelor de rang (i 1) si i din lantul unui sumator Manchester.
Din tabelul de adev
ar din aceast
a figur
a se deduce: pentru configuratia bitilor
Ai Bi = 01 sau 10 comutatorul Spi (de propagare) conecteaz
a Ci1 la Ci , iar pentru
configuratia Ai Bi = 11 comutatorul Sgi (de generare) determin
a valoarea 1 pentru
transportul urm
ator, Ci . Pentru Ai Bi = 00 comutatorul S0i aplic
a valoarea 0 pentru Ci . Evident, comenzile celor trei comutatoare, calculate cu porti AND, XOR si
NAND cu cei doi biti Ai , Bi sunt exclusive. Ca elemente comutatoare pot fi utilizate
tranzistoare de trecere sau porti de transmisie CMOS astfel c
a timpul de propagare
este foarte redus.
In anumite implement
ari, pentru cresterea vitezei, transportul se consider
a activ
n stare L, aceasta permite ca n intervalul dintre dou
a operatii de sumare lantul (fizic)
de transfer (de exemplu, din tranzistoare de trecere) s
a fie nc
arcat la potential H,

276

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Celula i
"1"
A iBi

Celula (i1)

Sgi
Spi

Ci

A i+Bi
A iBi
"0"

Soi

pi
si

A i1Bi1

Sg(i1)

C i1
A i1Bi1

A i Bi
Sp(i1)

A i1+Bi1
So(i1)

pi1

C i2

Si

0 0 So=A iBi
0 1
1 0

Spi=A i+Bi

1 1 Sgi=A iBi

s(i1)

Figura 2.63 Structurarea de principiu a unui sumator cu lant Manchester.

iar c
and se realizeaz
a sumarea, celula care produce un transfer urm
ator, va desc
arca
lantul la potentialul masei. Se alege aceast
a variant
a deoarece, lantul fiind echivalent
cu o sarcin
a capacitiv
a, desc
arcarea la potentialul masei se realizeaz
a cu o constant
a de
timp mai mic
a dec
at constanta de timp de nc
arcare la potentialul H si prin aceasta
rezult
a o valoare mai mic
a pentru timpul de propagare al transportului (T
). Aceast
a schimbare a polarit
atii de activare pentru transport determin
a pentru
comutatorul Sgi = Ai Bi s
a fie conectat la mas
a, iar comutatorul S0i = Ai + Bi s
a
fie conectat la 1 (potentialul H), n raport cu organizarea din Figura 2.63. Structura
de sumator cu lant Manchester este simpl
a si ordonat
a ceea ce l recomand
a pentru
implement
ari VLSI.
Ideea de a realiza o cale separat
a pentru propagarea transportului este utilizat
a
si la sumatoarele cu saltul transportului. La variantele de sumatoare cu saltul
transportului se realizeaz
a n exterior, peste c
ate un grup de celule, un traseu de grup
separat pentru propagarea transportului care intr
a n acel grup. C
and propagarea
pe acel grup de celule (egal cu produsul logic al variabilelor propagare ale tuturor
celulelor din grup) are valoarea 1, traseul de grup este comandat n conductie realiz
and
o cale direct
a (n exteriorul grupului) pentru transportul de intrare n grup p
an
a la
iesirea din grup, elimin
andu-se astfel timpul lung de propagare al transportului din
celul
a n celul
a. Ideea poate fi dezvoltat
a n sensul c
a se poate realiza de asemenea
nc
a un traseu, peste alte c
ateva trasee de grup, care va fi comandat n conductie (va
scurtcircuita traseele de grup) c
and sunt n conductie toate traseele de grup (produsul
logic al propag
arilor de pe traseele de grup este 1) [Omondi0 94].
c). Sumatorul cu selectarea transportului, SST. Atractia si performantele
sumatorului cu selectarea transportului sunt datorate ideii simple pe care se bazeaz
a
functionarea sa. Intr-un sumator, divizat n blocuri, suma calculat
a corect pe un bloc
nu este realizat
a p
an
a nu soseste transportul anticipat de la blocul anterior. Dar,
acest transport, c
and soseste, nu poate fi dec
at 1 sau 0, deci se pot realiza dou
a
blocuri sumator, n paralel, care sumeaz
a aceleasi numere cu deosebirea c
a unui bloc
i se aplic
a permanent 1 ca transport anterior iar celuilalt 0 ca transport anterior. In
momentul c
and transportul anterior soseste se va selecta suma deja calculat
a de la
blocul care a avut aplicat transportul anterior egal cu valoarea transportului sosit de
la blocul anterior.

277

2.5. CLC PENTRU FUNCT


II NUMERICE
A 2m1 B2m1

A m Bm

C2m1

C2m1

Sumator m biti

A 2m1

Selectare
pentru
urmatoarele
doua blocuri
in paralel

1
s2m1
B2m1 A m

A m1Bm1
Cin=1
Cm
s1m
Bm
Cin=0

A 0 B0
C1

Sumator m biti

Sumator m biti
0
C2m1
0
s0m
s2m1
1 0
1 0
s2m1

a)

sm

sm1

s0

C31
lantul de
propagare al
transportului
1
C31

Sumator
6 biti

Cin=1

1
C25

s25s19

4
C3

Sumator
4 biti

C1

Sumator
4 biti

0 C =0
C12
in

s12s8

Cin=1

Sumator
5 biti

Sumator
4 biti

0 C =0
C18
in

s18s13

Cin=1

1
C7

Sumator
6 biti

Sumator
5 biti

0
C25 Cin=0

Cin=1

1
C12

Sumator
7 biti

0
C31 Cin=0

Sumator
6 biti

Sumator
6 biti

b)

1
C18

0
6

s31s26

Cin=1

Sumator
7 biti

0
C7 Cin=0

s7s4

s3s0

Figura 2.64 Sumatorul cu selectarea transportului, SST: a) la cele dou


a module care
functioneaz
a n paralel, unul cu Cin = 1 altul cu Cin = 0, se alege suma, deja calculat
a, care
corespunde valorii transportului Cin sosit de la modulul anterior; b) organizarea unui SST
pentru cuvinte de 32 biti.

Organizarea de principiu a SST este reprezentat


a n Figura 2.64-a. Blocurile componente pot fi oricare tip de sumator (STP, STA, cu lant Manchester, etc.). Primul
bloc sumeaz
a bitii Am1 . . . A0 si Bm1 . . . B0 ai cuvintelor de sumat, iar, n acelasi
timp, urm
atoarele dou
a blocuri sumeaz
a tot m biti din subintervalele A2m1 . . . Am
si B2m1 . . . Bm ale cuvintelor de sumat, dar la unul se aplic
a Cin = 1 iar la cel
alalt
Cin = 0. Aplic
and simultan, pe intr
arile celor trei blocuri, bitii corespunz
atori ai
numerelor de sumat, cu o anumit
a nt
arziere (care depinde de tipul de organizare al
blocurilor sumatoare), se genereaz
a transporturile urm
atoare Cm , C2m1 0 , C2m1 1
si cele trei sume. Cu ajutorul transportului urm
ator Cm , generat de primul bloc,
prin intermediul unui grup de mMUX2 : 1 se va selecta doar suma de la acel bloc
urm
ator care a realizat sumarea pentru Cin = Cm . In acelasi timp cu selectarea

278

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

0
sumei, se selecteaz
a, tot n functie de Cm , care din transporturile urm
atoare C2m1
si
1
C2m1 , generate respectiv pentru Cin = 0 si Cin = 1, se va aplica la urm
atoarele dou
a
blocuri. Acest transport urm
ator selectat va realiza aceleasi operatii de selectare pentru urm
atoarele dou
a blocuri sumator ca si transportul Cm pentru cele dou
a blocuri
n paralel din figur
a.
Pentru a optimiza timpii de propagare, blocurile nu sunt de lungimi egale. Semnalul de selectare pentru dou
a blocuri care functioneaz
a n paralel, se calculeaz
a, n
lantul de propagare al transportului pe dou
a niveluri de porti, n functie de transporturile urm
atoare C 0 si C 1 de la cele dou
a blocuri anterioare. Aceasta nseamn
a, n
cazul n care toate blocurile ar avea aceeasi lungime, c
a semnalul de selectare ajunge
la urm
atoarele dou
a blocuri n paralel cu o nt
arziere de dou
a nivele logice dup
a ce
sumarea pe aceste blocuri s-a efectuat, se presupune c
a la toate blocurile intr
arile se
aplic
a simultan. Deoarece sumarea a doi biti se realizeaz
a pe dou
a niveluri logice,
rezult
a c
a fiecare pereche de blocuri urm
atoare poate avea o lungime cu un bit n plus
fata
de perechea de blocuri anterioare. Aplic
and acest mod de optimizare rezult
a
pentru un SST de 32 biti urm
atoarele lungimi de module 4-4-5-6-7-6, Figura 2.64-b,
ceea ce determin
a un timp de sumare egal cu nt
arzierea prin 18 niveluri de porti,
(4 + 1 + 1 + 1 + 1 + 1) 2 = 18. Trebuie observat c
a pentru semnalul de selectare
creste fun-out-ul pe m
asur
a ce creste lungimea modulelor componente, ceea ce devine
un impediment la implementare cu n ridicat, la fel ca la STA.

Tabelul 2.3
Caracteristicile asimptotice ale unor tipuri de sumatoare

Tipul de
sumator
STP
STA
SM
SST

Timpul
sumare
T
O(n)
O(log n)
O(n)

O( n)

Aria
consumat
a pe
siliciu, ASi
O(n)
O(n log n)
O(n)
O(n)

Pentru sumatoarele prezentate, valorile asimptotice, la cresterea num


arului de biti
n a cuvintelor sumate, ale caracteristicilor timp de sumare T si aria ocupat
a la implementarea n siliciu, ASi , sunt prezentate n Tabelul 2.3. Cunoasterea comport
arii
asimptotice a sumatoarelor este util
a n ntelegerea lor dar, luarea unor decizii de organizare tin
and cont numai de valorile asimptotice, poate ascunde o capcan
a. In general,
organizarea unui sumator se face pe baz
a de blocuri, ca n Figura 2.62-a sau Figura
2.64-b, a c
aror lungime nu dep
aseste ordinul unit
atilor. Dar pentru blocuri sumatoare
cu lungimi de ordinul unit
atilor, de exemplu n = 4, diferentele de performanta
sau
de implementare ntre diferitele tipuri de structuri sumatoare, ca cele din Tabelul 2.3,
nu sunt asa de evidente. Rezult
a c
a, aproape indiferent de tipul de bloc folosit, important devine modul cum se organizeaz
a/conecteaz
a aceste blocuri ntr-un sumator
de lungime ridicat
a (32,64,128 biti).

2.5. CLC PENTRU FUNCT


II NUMERICE

2.5.3

279

Multiplicatorul

Echipamentele digitale sunt nzestrate tot mai frecvent cu circuite specializate pentru multiplicare; unit
atile aritmetice specializate (coprocesoare) sau procesoarele digitale de semnal se num
ar
a printre acestea. Procesarea digital
a a semnalelor (corelatia,
convolutia, filtrarea, analiza frecvential
a) este un domeniu care si bazeaz
a performantele pe puternice circuite de multiplicare. Circuitul de multiplicare poate fi realizat
cu un CLC deoarece rezultatul nmultirii depinde exclusiv doar de cei doi operanzi.
Se vor prezenta trei organiz
ari de circuite de multiplicare (multiplicatorul matriceal,
multiplicatorul tip arbore Wallace si multiplicatorul tabelar). S-a limitat prezentarea
numai la aceste trei organiz
ari, pe care le consider
am de baz
a, deoarece multe circuite
multiplicator utilizate pot fi recunoscute ca variante ale uneia din aceste trei.
2.5.3.1

Multiplicatorul matriceal

Metoda de nmultire, de exemplu, pentru dou


a numere de cinci biti
A = A4 A3 A2 A1 A0 , B = B4 B3 B2 B1 B0 , cu creionul pe h
artie dup
a regula comun
a,
nv
atat
a n scoala primar
a, este prezentat
a n Figura 2.65-a. Produsul rezultat cu
lungimea de zece biti, P = p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 , se obtine prin adunarea succesiv
a
a produselor partiale AB0 , AB1 , AB2 , AB3 si AB4 , fiecare produs partial, nainte de
adunare, fiind deplasat la st
anga cu o pozitie (adic
a nmultit cu 21 ). Pentru realizarea
unui circuit de multiplicare, conform metodei de nmultire prezentate, este necesar
a se identifica o structur
a de celul
a elementar
a component
a a acestui circuit. S
a
analiz
am cum este realizat si utilizat n operatia de nmultire, din aceast
a matrice, un
produs de doi biti dintr-un produs partial, de exemplu produsul A2 B2 . Acest produs
se realizeaz
a simplu printr-o poart
a AND, deoarece exist
a identitate ntre operatorii
produs aritmetic si produs logic.
Acest produs A2 B2 se nsumeaz
a cu rezultatul adun
arii s31 de pe aceeasi coloan
a,
adic
a suma anterioar
a ntre A4 B0 si A3 B1 , se nsumeaz
a cu transportul anterior, C12 ,
provenit de la termenul produs din dreapta de pe aceeasi linie A1 B2 si, n urma acestor nsum
ari, se genereaz
a un bit sum
a, s22 , care se va nsuma cu termenul produs
urm
ator A1 B3 , de pe aceeasi coloan
a, si se genereaz
a un bit de transport urm
ator,
C22 , care este aplicat la termenul produs din st
anga, A3 B2 , de pe aceeasi linie. Toate
acestea corespund cu operatiile realizate de o celul
a sumator (3, 2), Figura 2.65-b.
Rezult
a c
a circuitul multiplicator poate fi compus din 4 4 = 16 celule elementare,
sumator (3, 2), c
ate una pentru fiecare termen produs Ai Bj , iar trecerea de la matricea operatiei de multiplicare la topologia circuitului de multiplicare se face printr-o
mapare 1:1, nlocuind fiecare produs de doi biti cu o celul
a elementar
a, Figura 2.65-c.
Se observ
a c
a n structura matriceal
a a circuitului multiplicator la toate celulele de
pe o linie se aplic
a acelasi bit Bj , j = 0, 1, 2, 3, 4 al nmultitorului B si la toate celulele
de pe aceeasi diagonal
a se aplic
a acelasi bit Ai , i = 0, 1, 2, 3, 4 al denmultitului A.
Aceast
a structurare a multiplicatorului, sub form
a de paralelogram, poate fi usor
desenat
a si sub form
a de matrice p
atrat
a pentru a fi potrivit
a unui layout pe siliciu.
Din organizarea circuitului multiplicator se poate deduce usor c
a dimensiunea sa
este n O(n2 ). Fiecare linie a multiplicatorului este de fapt un sumator cu transport progresiv. Timpul cel mai lung de nmultire se obtine c
and o intrare la prima
celula A0 B0 afecteaz
a transportul urm
ator de la ultima celula A4 B4 , adic
a bitul produs p9 , iar pentru aceast
a propagare traseul cel mai lung este n lungul sumatorului

280

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

A2

B2
s31

C 22
A4 A3 A2 A1 A0 x
B4 B3 B2 B1 B0
A 4B0 A 3B0 A 2B0 A 1B0 A 0B0
A 4B1 A 3B1 A 2B1 A 1B1 A 0B1
Bj
A 4B2 A 3B2 A 2B2 A 1B2 A 0B2
C ij
A 4B3 A 3B3 A 2B3 A 1B3 A 0B3
A 4B4 A 3B4 A 2B4 A 1B4 A 0B4
Ai
p9 p8 p7 p6 p5 p4 p3
p2 p1 p0
b)
a)

p9

C 12

(3,2)
s22
(3,2) + AND

C (i1)j

sij
A

A4

A3

A2

A1

A 4B0

A 3B0

A 2B0

A 1B0

A 4B1

A 3B1

A 2B1

A 1B1

A 0B1

A 4B2

A 3B2

A 2B2

A 1B2

A 0B2

A 4B3

A 3B3

A 2B3

A 1B3

A 0B3

A 4B4

A 3B4

A 2B4

A 1B4

A 0B4

p8

p7

p6

p5

p4

p3

Ai

s(i1)(j1)

A0

B0

A 0B0
B1

B2 B
B3
B4

p2

p1

p0

c)
Figura 2.65 Circuitul multiplicator matriceal: a) matricea produselor partiale obtinut
a
la nmultirea a dou
a cuvinte A si B de cinci biti; b) celula elementar
a ((3, 2)) care modeleaz
a
un termen dintr-un produs partial al nmultirii; c) structurarea unui circuit multiplicator
matriceal pentru n = 5.

corespunz
ator primei linii, prin coloana cu celulele A3 B1 , A2 B2 , A1 B3 si apoi prin
celulele A0 B4 , A1 B4 , A2 B4 , A3 B4 , A4 B4 corespunz
atoare sumatorului de pe ultima
linie (produsul partial AB4 ). Dac
a se consider
a, pentru simplitate, c
a nt
arzierea pe o
celul
a de la oricare intrare a sa la oricare iesire este m atunci timpul de multiplicare
Tm cel mai mic este de 13 m . Iar n cazul unui nmultitor pentru dou
a cuvinte de
n biti se obtine (3n 2)m Tm , adic
a n O(n) ceea ce pentru lungimea actual
a de
64 biti, a numerelor reprezentate n virgul
a fix
a, determin
a viteze destul de sc
azute.
Modalit
ati de a mbun
at
ati performanta de vitez
a a multiplicatorului matriceal

281

2.5. CLC PENTRU FUNCT


II NUMERICE

A 4A 3A 2A 1A 0x
B4 B3 B2 B1 B0

A 4B0
A 3B0
A 2B0
A 1B0
A 0B0
A 4B1
A 3B1
A 2B1
A 1B1
A 0B1
A 4B2 A 3B2
A 2B2
A 1B2
A 0B2

Sumator cu
salvarea
transportului
(SSLT)
A 4B3 A 3B3

(3,2)
A 4B4 A 3B4
(3,2)

A 2B4
(3,2)

(3,2)
A 2B3
(3,2)
A 1B4
(3,2)

(3,2)
A 1B3
(3,2)

(3,2)

(3,2)

SSLT1
AB3
SSLT2

(3,2)

A 0B4
(3,2)

Sumator cu propagarea transportului


(SPT)
p6
p5
p4
p9 p8 p7

AB2

(3,2)

A 0B3
(3,2)

AB0

AB1

AB4
SSLT3

(3,2)

SPT
p3

p2

p1

p0

Figura 2.66 Organizarea multiplicatorului matriceal cu salvarea transportului,


MMST.

constau, fie n micsorarea num


arului de produse partiale, deci de adun
ari ale acestora,
fie prin efectuarea a c
at mai multe adun
ari de produse partiale n paralel sau fie printro structurare f
ar
a transport progresiv a sumatoarelor.
Din organizarea anterioar
a de multiplicator matriceal, n tendinta de a creste
performanta de vitez
a, se poate obtine cu mici modific
ari un multiplicator reprezentat n Figura 2.66 denumit multiplicator matriceal cu salvarea transportului,
MMST. M
arirea performantei de vitez
a rezult
a prin nsum
ari de produse partiale n
paralel si prin utilizarea de sumatoare cu salvarea transportului, SSLT.
La organizarea matriceal
a anterioar
a a multiplicatorului, suma partial
a dup
a a
i-a linie, a produsului partial ABi1 , poate fi calculat
a corect numai dup
a ce s-a
primit transportul urm
ator de la sumarea partial
a de la linia anterioar
a, adic
a de la
linia produsului partial ABi2 . Aceste nt
arzieri n determinarea corect
a a sumelor
partiale se datoreaz
a faptului c
a sumatorul de pe fiecare linie este un sumator cu
transport progresiv. Se poate ca transportul urm
ator de la celula Ai Bj s
a nu mai fie
aplicat la celula urm
atoare Ai+1 Bj , de pe aceeasi linie, ci la celula urm
atoare Ai Bj+1
de pe linia urm
atoare. In felul acesta se obtine, n acelasi timp, pe fiecare linie a
matricei la fiecare celul
a o informatie corect
a a celulei, dar exprimat
a prin perechea:
sum
a s si transport C. Structura aceasta de celule sumatoare, n paralel, ntre care
nu exist
a transport progresiv, de pe o linie a matricei care genereaz
a perechile s,
C, este referit
a ca sumator cu salvarea transportului. Fiecare linie din matricea
multiplicatoare formeaz
a un sumator cu salvarea transportului, SSLT de n biti.
Dac
a se consider
a, pentru simplitate, c
a nt
arzierea pe o celul
a de la oricare intrare a
sa la oricare iesire este m , nseamn
a c
a din momentul aplic
arii pe intr
ari a operanzilor
A si B, dup
a o nt
arziere egal
a cu (n 1) m se obtin perechile de valori s, C la
iesirea sumatorului cu salvarea transportului de pe penultima linie a matricei. Apoi,

282

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

introduc
and aceste perechi, s, C, ntr-un sumator cu propagarea transportului, cu
timpul de sumare T , se obtine n ultima linie cuv
antul produs corect. Sumatorul cu
propagarea transportului poate fi oricare tip de sumator prezentat n sectiunea 2.5.2.
Timpul de multiplicare Tm respect
a relatia Tm (n 1)m + T si este mai mic cam
de trei ori comparativ cu cel al multiplicatorului matriceal prezentat anterior, dar tot
n O(n) (evident T depinde de tipul de sumator cu propagarea transportului folosit).
Dimensiunea multiplicatorului se calculeaz
a pe matricea celor n(n 1) celule plus pe
sumatorul cu propagarea transportului, dar se situeaz
a n O(n2 ).
Aceast
a organizare de multiplicator cu salvarea transportului mai poate fi mbun
at
atit
a prin utilizarea facilit
atilor de sumare paralel
a. Se observ
a c
a celulelor sumatoare
din prima linie li se pot aplica pe intr
ari trei produse partiale AB0 , AB1 si AB2 (ca n
Figura 2.66) elimin
and astfel din organizarea matriceal
a anterioar
a dou
a linii. Pentru
multiplicatorul de n = 5 biti din figur
a rezult
a Tm 3m +T , iar pentru cazul general
Tm = (n 2)m + T . Multiplicatorul matriceal cu salvarea transportului duce la o
regularitate a geometriei de realizare, deci este indicat pentru implement
arile VLSI.
2.5.3.2

Multiplicatorul tip arbore Wallace

Performanta de vitez
a, la multiplicatorul tip arbore Wallace, se obtine printro sumare paralel
a de produse partiale ntr-o structur
a de arbore care realizeaz
a o
compresie n raportul 3:2. Pe un sumator cu salvarea transportului, SSLT, se pot
aplica simultan trei produse partiale si se pot obtine dou
a cuvinte: cuv
antul sum
a si
cuv
antul transport; un SSLT este format din celule (3, 2) nenseriate prin intermediul
transportului anterior. De fapt celula (3, 2) poate fi privit
a ca un num
ar
ator de biti 1
continuti n cuv
antul de intrare, cum este prezentat n ultimele trei coloane din Tabelul
1.6. De exemplu, dac
a cele trei intr
ari la celul
a sunt A = 1, B = 0, C = 1 num
arul
de biti 1 ai cuv
antului 101 este exprimat codificat n binar de perechea obtinut
aa
iesirilor C, s, care este pentru acest caz egal
a cu 10 adic
a 2; sau pentru A = 1, B = 0,
C = 0, care formeaz
a cuv
antul de intrare 100 n celula sumator complet, perechea
obtinut
a C, s, are valoarea 01, adic
a 1 n binar natural.
In Figura 2.67-a este prezentat, pentru nmultirea a dou
a cuvinte A, B cu lungimea de sase biti, modul cum se pot grupa, succesiv, c
ate trei cuvinte care aplicate la
un SSLT va genera numai dou
a cuvinte.
Structura arborelui de tip Wallace, pentru n = 6, este dat
a n Figura 2.67-b.
Fiecare din cele sase produse partiale se obtine usor pe c
ate un grup de sase porti
AND2, deci n total 36 de porti AND2. Structurarea arborelui urm
areste succesiunea
aplic
arii tripletelor la sumatoarele cu salvarea transportului. Pe primele dou
a sumatoare cu salvarea transportului SSLT1 si SSLT2 se aplic
a simultan Triplet1 si Triplet2.
Pe nivelul doi exist
a un singur sumator SSLT3 care din Sum
a2, Transport1 si Sum
a1
genereaz
a Transport3 si Sum
a3. Sumatorul SSLT4, de pe nivelul trei, realizeaz
a
conversia de la Transport2, Transport3 si Sum
a3 la Transport4 si Sum
a4. Ultimul
nivel care sumeaz
a Transport4 cu Sum
a4 trebuie s
a fie un sumator cu propagarea
transportului, SPT, de orice tip prezentat n sectiunea 2.5.2.
In cazul general, pentru un multiplicator Wallace de n biti cele n produse partiale,
fiecare de n biti, se grupeaz
a n k0 tripleti, n = 3k0 + l0 unde 0 l0 2, se aplic
a
primului nivel compus din k0 sumatoare cu salvarea transportului si se obtin k0 perechi
sum
a si transport. Pentru al doilea nivel de sumatoare cu salvarea transportului se

283

2.5. CLC PENTRU FUNCT


II NUMERICE

A= 110101x
B= 101011
110101
110101
000000
110101
Triplet 2
000000
110101
100011100111

110101
110101
000000
Suma 1 01011111
Transport 1 01000000

110101
000000
110101
Suma 2 11100001
Transport 2 00101000

Suma 3
Transport 3
Transport 2
Suma 4
Transport 4

Suma 1 01011111
Transport 1 01000000
Suma 2 11100001
Suma 3 11100010111
Transp 3 00010010000

Triplet 2

Triplet 1

Triplet1

Suma 4 11011000111
Transp 4 01000100000
Produs 100011100111
a)
A 5B5

11100010111
00010010000
00101000
11011000111
01000100000

A 1B1 A 0 B0

A 5B5 A 0B5 A 5B4 A 0B4 A 5B3

A 0B3

SSLT2
Transport 2
Suma 2

Transport 1

SSLT4

SSLT1
Suma 1

SSLT3
Suma 3

Transport 3

Transport 4

A 0B2 A 5B1 A 0B1 A 5B0 A 1B0

A 5B2

Suma 4

Sumator cu propagarea transportului


(SPT)
b)

p11

p10

p9

p8

p7

p6

p5

p4

p3

p2

p1

p0

Figura 2.67 Multiplicatorul arbore tip Wallace pentru n = 5: a) modalitatea de


formare a tripletilor pentru fiecare nivel al arborelui; b) structurarea arborelui pe baz
a de
sumatoare cu salvarea transportului, SSLT, si un sumator cu propagarea transportului, SPT.

284

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

grupeaz
a n continuare n k1 tripleti conform relatiei 2k0 +l0 = 3k1 +l1 unde 0 l1 2
si se genereaz
a k1 perechi sum
a si transport. Acest proces se continu
a n compresii
consecutive de 3:2 pe un num
ar de dlog 3/2 ne nivele p
an
a c
and se obtine o singur
a
pereche sum
a si transport care sunt sumate n final pe un sumator cu propagarea
transportului. Deci timpul minim de multiplicare Tm este egal cu nt
arzierea pe
o poart
a AND plus timpul de propagare prin dlog3/2 ne niveluri de SSLT la care se
adaug
a timpul de sumare T , pe sumatorul cu propagarea transportului. Dimensiunea
multiplicatorului este n O(n2 ).
Multiplicatorul Wallace are performanta
de vitez
a mai bun
a dec
at multiplicatorul
matriceal cu salvarea transportului dar, totusi, din cauza neregularit
atii layout-ului,
ultimul este preferat n implement
arile VLSI.
Ideea de structurare a multiplicatorului sub form
a de arbore a generat celule cu
compresia diferit
a de 3:2. Pentru o compresie 2:1 rezult
a o structurare de arbore
binar. Alte organiz
ari pe baz
a de celule cu compresia (5 : 3), (7 : 3) si (15 : 4)
reduc ad
ancimea arborelui dar nu neap
arat reduc si timpul de multiplicare deoarece
odat
a cu cresterea raportului de compresie creste si nt
arzierea pe celul
a [Omandi
0
94][Petterson 0 96][Smith 0 97].
2.5.3.3

Multiplicatorul tabelar

Dup
a cum reiese si din denumire, multiplicatorul tabelar este o tabel
a (LUT) care
contine toate produsele ntre dou
a cuvinte de lungime de n biti. Teoretic, acest tip de
multiplicator ar trebui s
a fie cel mai simplu si mai rapid. Tabelul de adev
ar pentru
produsul a dou
a cuvinte, A1 A0 si B1 B0 de doi biti, este prezentat n Figura 2.68-a.
Se pot deduce expresiile logice pentru fiecare din cei patru biti p3 p2 p1 p0 ai cuv
antului
produs:
p0
p1
p2
p3

1 B0 + A1 A0 B1 B0 + A1 A0 B
1 B0 + A 1 A0 B1 B0 = A 0 B0
= A1 A0 B
0 + A1 A0 B1 B0 + A1 A0 B
1 B0 + A1 A0 B1 B0 + A1 A0 B
1 B0
= A1 A0 B1 B
0 = A1 A0 B1 + A1 A0 B
0 + A1 A0 B0 + A1 B
1 B0
+A1 A0 B1 B
0 + A1 A0 B1 B0 + A1 A0 B1 B
0 = A1 A0 B1 + A1 B1 B
0
= A1 A0 B1 B
= A 1 A0 B1 B0 .

care pot fi implementate cu porti logice, cu DCD + OR sau cu un circuit ROM.


Implementarea cea mai recomandat
a pentru astfel de tabele este cu circuite ROM;
cele dou
a cuvinte de n biti formeaz
a, prin al
aturare, adresa de 2n biti a locatiei
unde este stocat cuv
antul produs, al celor dou
a cuvinte, cu lungimea de 2n biti.
Limitarea, fie de capacitatea de adresare, fie de lungime de cuv
ant stocat, impus
a de
un anumit circuit ROM la implementarea unei tabele de nmultire, poate fi dep
asit
a
prin segmentarea lungimii operanzilor. In acest sens, n Figura 2.68-b, este prezentat
a
nmultirea segmentat
a a operanzilor 1234 5678. Fiecare operand s-a segmentat n
dou
a numere 12 cu 34 si 56 cu 78 si s-au efectuat nmultirile fiecare cu fiecare, apoi
s-au sumat produsele segmentate obtinute pe dou
a niveluri de sumator, evident la
sumare s-a tinut cont de deplas
arile necesare. Pentru segmentarea a dou
a numere
binare cu lungimea de 16 biti A = A15 ...A1 A0 n A158 cu A70 si B15 ...B1 B0 n
B158 cu B70 , n Figura 2.68-c se prezint
a o variant
a posibil
a pentru implementarea
tabelelor de nmultire pe circuite ROM cu capacitatea de adresare de 64K. Tabelul
nmultirii a dou
a cuvinte binare de 8 biti ncape ntr-o capacitate de 216 (2 8)

285

2.5. CLC PENTRU FUNCT


II NUMERICE

Intrari
Intrari
Iesiri
(Adresa)
(Adresa)
A 1A 0 B1B0 p3p2p1p0 A 1A 0 B1B0
0 0 0 0 0 00 0 1 0 0 0
0 0 0 1 0 00 0 1 0 0 1
0 0 1 0 0 00 0 1 0 1 0
0 0 1 1 0 00 0 1 0 1 1
0 1 0 0 0 00 0 1 1 0 0
0 1 0 1 0 00 1 1 1 0 1
0 1 1 0 0 01 0 1 1 1 0
0 1 1 1 0 01 1 1 1 1 1
a)

Iesiri

1234x5678
12 x
34 x
78
56
204
96
84
170
1904
936

12 x
56
72
60
672

p3p2p1p0
0 00 0
0 01 0
01 0 0
011 0
0 00 0
0 01 1
0 11 0
1 11 1

16

ROM
64k x16bit
8

16

ROM
64k x16bit
8

16

69104
96252
7006652

b)

Sumator, 16 bit

16

A 158
8

B158

A 70
B158

A 158
B70

A 70
B70

Sumator, 16 bit

16

16

24

Sumator, 24 bit
c)

A 150 B150

ROM
64k x16bit
8

936
2652
96252

672
1904
69104

A 158 A 158 A 70 A 158 A 158 A 70 A 70 A 70


8
8
8
8
8
8
8
8
ROM
64k x16bit

34 x
78
272
238
2652

p31p 8

p7p 0

Figura 2.68 Multiplicatorul tabelar: a) tabelul de adev


ar pentru nmultirea a dou
a
cuvinte de doi biti, A1 A0 B1 B0 ; b) modalit
ati de substituire a nmultirii numerelor cu multe
cifre, prin segmentare, cu mai multe nmutiri de numere cu cifre mai putine; c) structurarea
circuitului pentru nmultirea a dou
a cuvinte de 16 biti, prin segmentare, pe baz
a de circuite
ROM si sumatoare.

biti, adic
a dou
a circuite ROM de 64x8biti conectate n paralel, n total sunt necesare
8 astfel de circuite ROM.
Timpul de multiplicare Tm se compune din timpul de acces la memorie AA
plus nt
arzierea pe calea cea mai lung
a determinat
a de nivelurile de sumatoare. Dimensiunea multiplicatorului este dimensiunea/capacitatea memoriei 22n 2n deci n
O(n 22n ) plus cea a sumatoarelor utilizate. Aceast
a valoare ridicat
a a dimensiunii
limiteaz
a nc
a implementarea multiplicatorului tabelar. Probabil, cu cresterea densit
atii de integrare simultan cu reducerea costului si acest tip de multiplicator poate
deveni atractiv.
O modalitate care poate duce la micsorarea capacit
atii ROM necesar
a pentru
tabele const
a n efectuarea indirect a multiplic
arii prin logaritmare si antilogaritmare

286

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

conform relatiei:
A B = antilog(log A + log B)
Pentru aceast
a implementare sunt necesare dou
a tabele (una pentru stocarea
logaritmilor si una pentru antilogaritmi) si un sumator. Aceste tabele au evident
mai putine intr
ari dec
at o tabel
a care realizeaz
a direct nmultirea (2 n intr
ari)
iar lungimea cuv
antului stocat n aceste tabele depinde de nivelul de eroare care se
accept
a n rezultatul nmultirii (indicat pentru nmultiri de numere reprezentate n
virgul
a flotant
a, unde produsul obtinut de 2n biti se reduce doar la n biti). Timpul de
multiplicare este determinat de accesul la cele dou
a memorii (tabele) plus cel necesar
sum
arii.

2.5.4

Circuite de deplasare

Circuitele de deplasare (shift-are) transfer


a fiecare bit de intrare xi , i = 0, 1, 2, . . . ,
n 1, al unui cuv
ant de n biti, ntr-un bit de aceeasi valoare n cuv
antul de iesire dar
deplasat fata de pozitia i cu D pozitii, conform relatiei:
yiD = xi
Mai exact, acest proces de deplasare al cuv
antului de intrare X, ntr-un cuv
ant
de iesire Y este caracterizat de urm
atoarele m
arimi:
directia de deplasare (st
anga/dreapta);
distanta de deplasare D (exprimat
a n binar prin num
arul de pozitii);
conditiile de cap
at.
Prin conditiii de cap
at se ntelege modul cum se procedeaz
a cu bitii care ies din
intervalul de index al cuv
antului [n 1, n 2, . . . , 1, 0], respectiv cu ce se completeaz
a
pozitiile r
amase libere la cel
alalt cap
at al cuv
antului.
Cuv
antul c
aruia i se aplic
a deplasarea poate avea semnificatia de num
ar (n care
fiecare pozitie corespunde unui rang n exprimarea ponderat
a n baza 2 a valorii num
arului), sau are semnificatia doar a unui sir de biti (c
and pozitia nu determin
a
o pondere binar
a). Corespunz
ator acestor dou
a semnificatii pe care le poate avea
cuv
antul deplasat, rezult
a respectiv o deplasare aritmetic
a sau o deplasare logic
a.
Printr-o deplasare aritmetic
a cu D pozitii (spre st
anga) num
arul respectiv este
nmultit cu 2D iar printr-o deplasare aritmetic
a cu D pozitii (dreapta) num
arul
este mp
artit cu 2D . Dac
a num
arul reprezentat binar este f
ar
a semn atunci at
at la
deplasarea st
anga, Figura 2.69-a, c
at si deplasarea dreapta, Figura 2.69-b, bitii care
ies din intervalul pozitiilor [n 1, n 2, . . . , 1, 0] se pierd n num
arul reprezentat la
iesirea circuitului de deplsare iar pozitiile r
amase goale n acest interval se completeaz
a
cu zero. La deplasarea logic
a se procedeaz
a la fel dar cuv
antul supus deplas
arii
st
anga/dreapta nu mai este interpretat ca un num
ar ci doar ca un sir de biti.
La deplasarea numerelor cu semn, care au bitul de semn n pozitia (n 1), acesta
trebuie p
astrat (extensia de semn) indiferent dac
a num
arul este multiplicat cu
2D sau 2D . De exemplu, num
arul 20|10 = 10100|2 , iar -20 n complement de doi se
obtine 10100 01011 + 1 01100 1 01100 = [20]2 . La deplasarea spre dreapta a

287

2.5. CLC PENTRU FUNCT


II NUMERICE

Intrare
Iesire

x n1

yi+D

xi

x 1x 0

x n1

y1+D y0+D

yn1D

Deplasare stanga
a)

xi

x 1x 0

yiD

x n1

xi

yn1

yi yi1 y1y0

Deplasare dreapta
b)

x 1x 0

Rotire dreapta
c)

Figura 2.69 Modalit


ati de realizare a operatiei de deplasare/rotire: a,b) deplasare
st
anga/dreapta; c) rotire dreapta.

num
arului [20]2 cu dou
a pozitii (mp
artire cu 22 ) trebuie completat bitul de semn n
cele dou
a pozitii din st
anga, se obtine: 111011 (1)25 + 1 24 + 1 23 + 0 22 + 1 21 +
0
1 2 = 5. La deplasarea spre st
anga cu o pozitie (inmultire cu 2), bitul de semn iese
n afara intervalului de sase biti (semnul trebuie p
astrat), intervalul trebuie extins la
sapte biti, se obtine: 1011000 (1)26 +025 +124 +123 +022 +021 +020 = 40.
Exist
a si cazul particular de deplasare st
anga/dreapta c
and pozitiile (n 1) si 0
se consider
a vecine, circuitul de deplasare n acest caz este referit ca circuit rotitor, Figura 2.69-c. Prin rotire, deoarece bitii care ies din intervalul de index la un
cap
at sunt introdusi la cel
alalt cap
at, nu r
am
an pozitii libere deci nu se fac complet
ari cu zero. Exemplific
am rotirea cu sirul format din primele opt litere din alfabet
(s-au substituit bitii prin litere) ABCDEF GH care printr-o rotire la dreapta cu
sase pozitii (D = 6) se obtine CDEF GHAB iar printr-o rotire la st
anga cu dou
a
pozitii (D = 2 = 8 6) se obtine CDEF GHAB, adic
a acelasi cuv
ant n ambele
cazuri. Lungimea cuv
antului de n biti, n general, este un num
ar putere a lui 2, deci
n D este complementul fata
de doi [D]2 al lui D. Din aceast
a observatie rezult
a c
ao
structur
a de rotitor poate realiza at
at rotirea spre st
anga c
at si rotirea spre dreapta,
deoarece o rotire cu D (dreapta) este echivalent
a cu o rotire spre st
anga exprimat
a
de un num
ar de pozitii egal cu [D]2 . In exemplul dat, comanda de deplasare dreapta
cu sase pozitii 6 = 110|2 se substituie cu comanda spre st
anga cu dou
a pozitii spre
st
anga [6]2 = 8 6 = 1000 110 = 010 = 2.
Analiz
and pe Figura 2.69, n ce const
a operatia de deplasare, se constat
a c
a este
o selectare a unui bit de intrare si transferul acestuia ntr-o alt
a pozitie la iesire f
ar
a
a-i modifica valoarea. Ori, aceast
a operatie de selectare, de la intrare la iesire, este
proprie circuitului multiplexor. Dac
a se extinde aceasta de la bit la nivel de cuv
ant
se constat
a c
a operatia de deplasare poate fi realizat
a cu o structur
a de selectare
secvential
a a datelor cu multiplexoare ca n Figura 2.36-b. Un circuit de deplasare,
pentru un cuv
ant de n biti, structurat ca un circuit de selectare a datelor, pe baz
a
de multiplexoare, este format din n multiplexoare n paralel, fiecare multiplexor cu
un num
ar de intr
ari de date n. Fiecare din cele n cuvinte obtinut, de exemplu,
prin deplasarea st
anga cu D pozitii (D [n 1, 0]) este stocat ntr-un port iar bitii
acestui port sunt aplicati la intrarea cu acelasi num
ar a tuturor celor n multiplexoare
n paralel. La aplicarea cuv
antului de selectare (deplasare) D, comun pentru toate
intr
arile de selectare ale multiplexoarelor, este selectat portul de intrare n care este
nscris cuv
antul deja deplasat cu D pozitii spre st
anga si aplicat la portul de iesire.
Structurarea anterioar
a a circuitului de deplasare, ca selector de cuvinte (nscrise

288

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

deja n configuratii deplasate) din n porturi de intrare, poate fi restr


ans
a la un singur
port de intrare ca n Figura 2.70-a, unde portul de intrare este o magistral
a de patru
biti pe care se aplic
a cuv
antul de deplasat X = x3 x2 x1 x0 . La iesirea circuitului de
deplasare st
anga de patru biti pentru deplas
arile de 0, 1, 2, 3 pozitii se obtin respectiv
urm
atoarele cuvinte x3 x2 x1 x0 , x2 x1 x0 0, x1 x0 00 si x0 000. La o astfel de structurare,
cu un singur port de intrare, bitul j (linia j a magistralei) nu se mai aplic
a doar la
intrarea j de date a unui singur multiplexor, ca pentru structurarea anterioar
a, ci se
aplic
a la fiecare din multiplexoare dar pe intr
ari de date diferite (a se vedea, de exemplu, linia de magistral
a x0 ). La deplasarea spre st
anga a cuv
antului de patru biti n
pozitiile r
amase libere, unde n cazul general ar intra bitii din pozitiile 1, 2, 3, . . .
dar care n cazul acesta nu exist
a, se introduc zero-uri prin conectarea la mas
a a
intr
arilor corespunz
atoare ale multiplexoarelor.
x3
x2
x1
x0
D1
D0
y3
y1
a)

I3

I2

I1 I0
MUX 4 : 1

I3 I2 I1 I0
MUX 4 : 1

I3

I2

I3 I2 I1 I0
MUX 4 : 1

I3

I2

I1 I0
MUX 4 : 1

I3

I2

I3

I2

I1 I0
MUX 4 : 1

y2
y0

x3
x2
x1
x0
D1
D0
y3
y1
b)

I3

I1 I0
MUX 4 : 1

I1 I0
MUX 4 : 1

I2

I1 I0
MUX 4 : 1

y2
y0

Figura 2.70 Exemplu de structurare a circuitelor de deplasare/rotire pe baz


a
de multiplexoare: a) circuit de deplasare st
anga pentru cuvinte de patru biti; b) circuit
rotitor de patru biti.

Varianta de circuit rotitor de patru biti este reprezentat


a n Figura 2.70-b. Aici, se
observ
a clar c
a fiecare bit de intrare, linie de magistral
a, se aplic
a la fiecare multiplexor
dar pe intr
ari diferite. La fel ca si la circuitul de deplasare, scriind cele patru cuvinte
care se pot obtine la iesire x3 x2 x1 x0 , x2 x1 x0 x3 , x1 x0 x3 x2 si x0 x3 x2 x1 se deduce
foarte usor la care linie de magistral
a se conecteaz
a fiecare intrare a multiplexoarelor.
Caracteristicile de ad
ancime si dimensiune ale circuitului de deplasare dreapta/

2.5. CLC PENTRU FUNCT


II NUMERICE

289

st
anga, CDD/S, sunt determinate de cele n multiplexoare n felul urm
ator:
DCDD/S (n) O(1)
SCDD/S (n) = n SM U X(n) O(n2 log n)
rezult
a si produsul dimensiune-ad
ancime:
SCDD/S (n) DCDD/S (n) O(n2 log n)
(SM U X(n) O(n 2n )) aceast
a relatie dedus
a n sectiunea 2.4.4 corespunde cazului
c
and n este num
arul de intr
ari de selectare la MUX2n :1, dar n cazul CDD/S n
este num
arul de intr
ari de date la MUXn:1 deci relatia pentru dimensiune devine
SM U X(n) = O(n log n)).
Dimensiunea mare pe care o implic
a o astfel de structurare a circuitului de deplasare (cea a circuitului rotor este la fel) poate ridica dificult
ati de implementare.
In plus, ad
ancimea atractiv
a n O(1) poate fi mult nr
aut
atit
a de fan-out-ul ridicat.
Fiecare bit al cuv
antului de intrare comand
a n intr
ari de date ale multiplexoarelor si
la fel, fiecare intrare de selectare se aplic
a la n multiplexoare.
Cauza acestor neatr
ag
atoare performante ale circuitului de deplasare cu structurarea anterioar
a rezid
a n realizarea pe un singur nivel, format din nMUXn:1, a
tuturor celor n deplas
ari comandabile prin cuv
antul D = Dk1 Dk2 ...D1 D0 , unde
k = dlog2 ne. Dar valoarea num
arului de pozitii de deplasat rezult
a, ca la oricare
num
ar binar, printr-o sum
a ponderat
a dup
a puterile lui 2 din cuv
antul de control
D. De exemplu, pentru un cuv
ant de deplasat cu lungimea de 8 biti o comand
a
de deplasare cu 6 pozitii D = D2 D1 D0 = 110, 6 = 1 22 + 1 21 + 0 20 poate fi
realizat
a prin dou
a deplas
ari succesive nt
ai o deplasare de dou
a pozitii (D 1 = 1)
pe un nivel de multiplexoare, apoi cuv
antul rezultat se aplic
a pe urm
atorul nivel de
multiplexoare unde se realizeaz
a o deplasare de patru pozitii (D2 = 1), deci la iesire
se obtine o deplasare cu 6 pozitii. In plus, un nivel cu numai cu o singur
a valoare
de deplasare, din cele n posibile se poate realiza numai cu multiplexoare nMUX2:1,
iar aplicarea bitilor cuv
antului de intrare la intr
arile multiplexoarelor MUX2:1 se face
dup
a o regul
a foarte simpl
a. Pentru nivelul format din nMUX2:1, comandat de bitul
de control D2 (unde se realizeaz
a deplasarea cu 4 pozitii, D2 22 ), bitul i din cuv
antul
de intrare se aplic
a la intrarea de date 0 a multiplexorului i si la intrarea 1 de date a
multiplexorului i + 4, dac
a deplasarea este st
anga sau la intrarea 1 de la multiplexorul
i 4, dac
a deplasarea este la dreapta. La acest nivel de deplasare comandat de D 2 ,
pentru D2 = 0 cuv
antul de intrare va fi obtinut la iesire f
ar
a deplasare (deplasare
zero, 0 22 ), iar pentru D2 = 1 la iesire se obtine cuv
antul de intrare deplasat cu
patru pozitii, 1 22 = 4. O structurare pe trei niveluri succesive de c
ate 8 M U X2 : 1
pentru un cuv
ant de 8 biti este prezentat
a n Figura 2.71-a. Pentru un cuv
ant de
control D = 101, primul nivel va efectua o deplasare cu D0 20 = 1 pozitie, al doilea
nivel o deplasare cu D1 21 = 0 pozitii, iar ultimul nivel o deplasare cu D2 22 = 4
pozitii. In total 1+0+4=5 pozitii.
Ad
ancimea circuitului de deplasare D 0CDD/D (n) cu niveluri succesive este egal
a cu
num
arul de niveluri de multiplexoare log2 n, D0CDD/S (n) O(log n) si este mai mare
dec
at la structurarea anterioar
a unde era constant
a si egal
a cu D CDD/S (n) = 4, iar
fan-out-ul unui semnal de bit, ce se aplic
a la intrarea unui nivel format din nMUX2:1,
este egal cu doi, indiferent de lungimea cuv
antului de deplasat, n schimb, fan-out-ul

290

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

8
Deplasare
D02 0
sau
0x2 0
Deplasare
D12 1
sau
0x2 1
Deplasare
D22 2
sau
0x 22

8 MUX 2 :1

x3
D0

y3

x2

T03

T13

T23

T33

x1

T02

T12

T22

T32

x0

T01

T11

T21

T31

T00

T10

T20

T30

8
8 MUX 2 :1

D1

8
8 MUX 2 :1

Y i+D =X i
a)

D2

Y
b)

y2

y1

y0

Cuvantul de control: T 33T23...T 03T02T01T00

Figura 2.71 Structuri de circuite de deplasare/rotire: a) pe baz


a de niveluri succesive
de nMUX2:1; b) pe baz
a de matrice de comutatie.

unui bit Di , din cuv


antul de control, r
am
ane tot n. Dimensiunea circuitului este:
S 0CDD/S (n) = log2 n n SM U X2:1 = 4 n log2 n O(n log n)
rezult
and produsul dimensiune-ad
ancime n O(n log2 n)
S 0CDD/S (n) D0CDD/S (n) = 4 n log2 n log2 n O(n log 2 n)
produs care este mai mic dec
at O(n2 log n) al variantei anterioare de structurare pe
un singur nivel a circuitului de deplasare:
SCDD/S (n) DCDD/S (n) > S 0CDD/D (n) D0CDD/S (n)
Aceast
a relatie admite aceeasi interpretare, care s-a dat la analiza relatiei 2.8 n ceea ce
priveste corelarea ntre ad
ancime si dimensiune c
and se caut
a un circuit de vitez
a mai
ridicat
a (sporul de vitez
a este mai mic dec
at cresterea n dimensiune n circuistic
a).
Similar, se poate structura si un circuit rotitor din niveluri succesive de multiplexoare, fiecare nivel urm
ator realiz
and rotatii cresc
atoare dup
a puterile lui doi,
caracteristicile de ad
ancime si dimensiunea sunt aceleasi cu cele deduse anterior.
Circuitul general care poate implementa cele mai multe proces
ari asupra unui sir de
biti (deplasare logic
a dreapta/st
anga, rotatie st
anga/dreapta, deplasarea aritmetic
a
st
anga/dreapta, inversarea ordinii, amestecare, extragere de biti etc.) este matricea
de comutatie, Figura 2.71-b. In fiecare nod ij al unei matrice de comutatie n n
exist
a un element de comutatie care conecteaz
a coloana i la linia j, deci fiecare coloan
a
i (linia de intrare xi ) poate fi conectat
a la oricare linie de iesire yj . Ca element de
comutatie poate fi utilizat
a poarta CMOS de transmisie sau un tranzistor de trecere
(uzual nMOS). Dezavantajul principal pentru o astfel de matrice de comutatie este

291

2.5. CLC PENTRU FUNCT


II NUMERICE

P 4Rotatie dreapta (S2S1S0=100)


P 3Rotatie stanga (S2S1S0=111)
P 2Deplasare logica stanga (S2S1S0=010)
P 1Deplasare aritmetica dreapta (S2S1S0=001)
P 0Deplasare logica dreapta (S2S1S0=000)
x2
x3
MUX 6
x3
x3
8:1
0
x1

x0

x3

x2

x1

x0

x2

x1

x0

x2

x1

x0

x2

x1

x0

x3

x3

x3

x2

x1

x0

MUX 5
8:1

MUX 4
8:1

x3

MUX 3
8:1

x2

MUX 2
8:1

x1

MUX 1
8:1

x0

MUX 0
8:1
S2 S1 S0

Matricea de
comutatie
4x4

y3

y2

y1

y0

1
2
3
DCD 2:4
D1
D0

Figura 2.72 Structurarea unui circuit shifter de 4 biti pe baza unei matrice de
comutatie 4 4 si a unui sistem de selectare secvential
a 7MUX8:1

num
arul mare, n2 , de conexiuni individuale de comand
a care trebuie aplicate la elementele de comutatie din cele n2 noduri (un cuv
ant de control cu lungimea de n2
biti).
In cazurile particulare, c
and se implementeaz
a pe matricea de comutatie doar
un singur tip de procesare (o singur
a operatie), num
arul de comenzi individuale se
restr
ange. Pentru o matrice 3232 utilizat
a, de exemplu, doar pentru rotire st
anga vor
fi necesare numai 32 de comenzi individuale corespunz
atoare distantelor de deplasare
cu 0, 1, 2, ..., 30, 31 pozitii. Pentru o rotire st
anga cu D pozitii vor fi comandate
elementele de comutatie din n noduri astfel alese nc
at un bit de pe coloana i s
a
fie mapat pe linia j = i + D; rezult
a c
a pentru toate tranzistoarele din nodurile
i, i + D, i = 0, 1, ..., 31, portile vor fi cablate mpreun
a si comandate cu semnalul
obtinut la iesirea unui decodificator c
and pe intrarea acestuia se aplic
a mum
arul
D (D = 0, 1, ..., 30, 31) n binar. Restr
angerea doar la un singur tip de operatie pe
matricea de comutatie reduce num
arul de comenzi la n, dar semnalul cablat pentru

292

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

fiecare dintre aceste comenzi trebuie s


a asigure un fan-out egal cu n.
Totusi, exist
a posibilitatea ca pe o matrice de comutatie, desi cablat
a doar pentru o anumit
a operatie, s
a poat
a fi realizate si alte operatii prin modificare deja n
exterior a cuv
antului care se aplic
a la intrare, ca n Figura 2.72, un astfel de circuit
este referit ca shifter (Barrel Shifter). Acest circuit shifter contine o matrice de
comutatie compus
a din 4 4 porti CMOS de transmisie care este cablat
a doar pentru
realizarea deplas
arilor dreapta cu 0, 1, 2, 3 pozitii, prin valorile cuv
antului de control al
deplas
arii, D1 D0 , egale respectiv cu: 00, 01, 10, 11 (aplicate la intrarea unui DCD2:4).
Dar, la intrarea matricei se aplic
a pentru fiecare tip de operatie, realizat
a de shitfter,
un cuv
ant obtinut deja prin modificarea cuv
antului de intrare x3 x2 x1 x0 . Fiecare
cuv
ant, modificat si nscris n unul din porturile P0 , P1 , P2 , P3 , P4 , printr-un sistem
de selectare compus din 7MUX8:1, este selectat prin cuv
antul S2 S1 S0 si aplicat la
intrarea matricei de comutatie. Deci, cuvintele de control S2 S1 S0 si D1 D0 determin
a, primul, tipul de operatie, iar al doilea, num
arul de pozitii de deplasare. Acest
shifter poate realiza urm
atoarele operatii: deplasare logic
a dreapta/ st
anga, rotatie
dreapta/st
anga si deplasare aritmetic
a dreapta. Deoarece la fiecare MUX8:1 mai exist
a trei intr
ari de date neutilizate se mai pot selecta nc
a trei porturi (nedesenate n
figur
a) n care se poate introduce cuv
antul x3 x2 x1 x0 modificat pentru implementarea
a nc
a trei operatii.

2.5.5

Unitatea Aritmetic
a si Logic
a, ALU

2.5.5.1

Calea de date

Sistemele digitale de calcul, at


at din punct de vedere al proiect
arii si realiz
arii lor
c
at si din punct de vedere al trat
arii didactice, pot fi organizate/compuse din dou
a
p
arti, denumite foarte general, calea de date si calea de control (vezi Figura 3.14).
In calea de date se realizeaz
a operatii de tip logic sau aritmetic asupra cuvintelor
binare (operanzi), iar calea de control selecteaz
a operatia care se efectueaz
a n calea
de date si pentru operatia selectat
a se comand
a etapele de realizare.
Organizarea unei posibile c
ai de date este prezentat
a n Figura 2.73-a. Aceast
a cale
de date contine, pentru realizarea conexiunilor n vederea transferurilor, trei magistrale, dou
a pentru operanzii surs
a A, B si una pentru operandul rezultat R. Operanzii
surs
a si operandul rezultat (destinatie) sunt stocati ntr-un bloc de registre (echivalentul fizic al notiunii de port). Selectarea unui port (operand) pentru nscrierea
continutului s
au pe o magistral
a surs
a se realizeaz
a cu un cuv
ant de selectare S A sau
SB aplicat unui grup de multiplexoare, care compun un bloc de selectare a datelor
cu o structur
a ca n Figura 2.36-b. In aceast
a cale de date fiecare bloc de selectare
este compus din nMUX16:1, deoarece se consider
a c
a blocul de registre contine
16 porturi cu lungimea de n biti, iar selectarea acestora se realizeaz
a prin cuvintele
de selectare de patru biti SA = SA3 SA2 SA1 SA0 , SB = SB3 SB2 SB1 SB0 . Inscrierea
operandului rezultat, de pe magistrala rezultat R, ntr-un port destinatie se realizeaz
a prin intermediul unui bloc secvential de distributie selectat prin cuv
antul de
selectare SD = SD3 SD2 SD1 SD0 (n acest caz, blocul de distributie este constituit din
nDMUX1:16).
Intr-o cale de date este absolut necesar
a o unitate logico-aritmetic
a, ALU
(Arithmetic Logic Unit) si, uneori, aceasta este nseriat
a cu un circuit de deplasare
(barrel shifter). Unitatea logico-aritmetic
a efectueaz
a o operatie asupra celor doi

293

2.5. CLC PENTRU FUNCT


II NUMERICE

operanzi A, B aplicati, prin cele dou


a magistrale surs
a, la intr
arile sale si genereaz
a
operandul rezultat O care, nainte de a fi aplicat pe magistrala rezultat R, poate fi
modificat n circuitul de deplasare prin: deplas
ari aritmetice/logice, st
anga dreapta,
rotiri, extrageri de biti sau gupuri de biti. Valoarea de deplasare n shifter este
prescris
a prin cuv
antul de control D care n acest caz are 5 biti D4 , D3 , D2 , D1 , D0 ,
deoarece se consider
a c
a lungimea de cuv
ant procesat este egal
a cu n = 32.
n

Magistrala sursa B
Magistrala sursa A
n

n
SA

n MUX
16 : 1

SB

n MUX
16 : 1

Bloc de registre
(16 porturi)
(P 1,P 2,...,P 14,P 15)

SD

b)

n
CR
EQ
Z
P
OV
SG

Unitatea Aritmetica si Logica

Selectare
sursa A

(ALU)
O

Fanioane

Magistrala rezultat R
Selectare
sursa B

Selectare
destinatie D

F2
F1
F0

Circuit de
deplasare
(Barrel shifter)

1:16

Bn1 B0

A n1 A 0

n DMUX

a)
Cod
operatie

B
A

n
Valoare
deplasare

D4
D1
D0

s/d=1, stanga
s/d=0, dreapta
sf/r=1, shiftare
sf/r=0, rotire

F 2 F 1 F 0 SA SA SA SA SB SB SB SB SD SD SD SD D4 D3 D2D1 D0 s/d sf/r


3
2
1
3
2
1
0
3
2
1
0
0

Figura 2.73 Calea de date: a) organizare posibil


a a unei c
ai de date cu trei magistrale;
b) formatul binar al cuv
antului de comand
a a unei operatii n calea de date (instructiune n
cod masin
a).

Proiectarea unei ALU porneste de la nivelul arhitectural al acesteia, adic


a de
,,
,,
la ceea ce vede un utilizator/programator. Se vede interfatarea/conectarea cu
celelalte elemente din calea de date prin intr
ari si iesiri. Intr
ari la calea de date
sunt cele dou
a cuvinte de pe magistrala A si B si bitii de control pentru operatia de
efectuat. Num
arul operatiilor pe care le poate realiza o unitate logico-aritmetic
a este
de la c
ateva p
an
a la zeci; n organizarea din figur
a se pot realiza doar opt operatii
deoarece cuv
antul de control are numai 3 biti F2 , F1 , F0 .
Iesirile din ALU sunt: cuv
antul rezultat O cu lungimea de n biti si semnalele
indicatorii de conditii (care nscriu anumite fanioane/flag-uri, bitii de conditii).
Indicatorii de conditii specific
a anumite relatii ntre cei doi operanzi sau anumite caracteristici valorice ale operandului rezultat. Se poate introduce un indicator pentru
oricare conditie dac
a este necesar
a a fi utilizat
a n evaluarea corectitudinii operatiei
efectuate sau pentru conditionarea operatiilor urm
atoare. Ca exemplificare, enumer
am sase din bitii de conditii cel mai des utilizati:

294

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

CARRY(CR) este bitul care indic


a dep
asirea de capacitate la reprezentarea numerelor ntregi pozitive. Intr-un sistem de calcul exist
a o lungime maxim
an
a unui cuv
ant cu care se poate opera. Pentru o lungime mai mare nu exist
a
suportul fizic de a fi reprezentat. Rezult
a c
a se poate opera numai cu numere
care pot fi reprezentate cu cei n biti. O operatie sau un num
ar care necesit
a
mai mult dec
at n biti genereaz
a o dep
asire de capacitate. Bitul CR are valoarea
transportului urm
ator Cn1 din cuv
antul de iesire, adic
a de la rangul n 1 la
rangul n, de la pozitia n la n + 1 (care nu exist
a).
EQUAL(EQ) este bitul care indic
a identitatea celor dou
a cuvinte A si B. Valoarea
sa se genereaz
a prin porti NXOR, Ai Bi , asupra fiec
arei pereche de biti care
apoi se colecteaz
a ntr-o poart
a AND.
ZERO(Z) este bitul care indic
a faptul c
a rezultatul operatiei este un cuv
ant compus
din n zerouri. Valoarea sa se genereaz
a prin colectarea tuturor bitilor cuv
antului
rezultat ntr-o poart
a OR.
PARITY(P) este bitul care indic
a paritatea sau imparitatea cuv
antului rezultat
dac
a este interpretat ca num
ar. Valoarea sa este identic
a cu valoarea bitului de
rang zero al cuv
antului O.
OVERFLOW(OV) este bitul de dep
asire de capacitate la reprezentare numerelor
cu semn. In reprezentarea numerelor cu semn (n complement fata
de 1, n
complement fata
de 2, n m
arime si semn) bitul de semn (bitul cu indice n 1)
are valoarea 1 pentru un num
ar negativ si valoarea 0 pentru un num
ar pozitiv. Dep
asirea de capacitate, Cn2 , apare ca un transport de la bitul cel mai
semnificativ al num
arului (bitul cu indicele n 2) la bitul de semn si dac
a
bitul de semn indic
a o operatie eronat
a (de exemplu adunarea a dou
a numere
pozitive genereaz
a un num
ar negativ). Un algoritm simplu, care determin
a
existenta dep
asirii la numere cu semn reprezentate n complement fata
de doi,
este: neidentitatea dintre valoarea transportului Cn2 de la On2 la On1 si
valoarea transportului Cn1 generat de la bitul de semn On1 (Cn1 6= Cn2 ).
In consecinta
, valoarea sa se calculeaz
a simplu printr-o poart
a XOR, OV =
Cn1 Cn2 .
SIGN(SG) este bitul care indic
a semnul cuv
antului rezultat, O, c
and este interpretat ca num
ar cu semn, SG On1 .
Se fixeaz
a pentru ALU din figur
a codurile de selectare si mnemonicile operatiilor
corespunz
atoare n felul urm
ator:
F2 F1 F0 = 000, AND (produsul logic); Oi = Ai Bi , i = 0, 1, ..., n 1
F2 F1 F0 = 001, OR (sum
a logic
a); Oi = Ai + Bi , i = 0, 1, ..., n 1
F2 F1 F0 = 010, TFM (trecere f
ar
a modific
ari); O = A
F2 F1 F0 = 011, DCR (decrementare); O = A 1
F2 F1 F0 = 100, XOR (sum
a modulo 2); Oi = Ai Bi , i = 0, 1, ..., n 1

295

2.5. CLC PENTRU FUNCT


II NUMERICE

F2 F1 F0 = 101, ADD (adunare modulo 2n , operanzii sunt numere


ntregi); O = A + B
F2 F1 F0 = 110, SUB (sc
adere modulo 2n , operanzii sunt numere
ntregi); O = A B
F2 F1 F0 = 111, INC (incrementare); O = A + 1
Operanzii surs
a sunt referiti prin num
arul de port din care se citesc si sunt selectati
prin cuvintele SA si SB , iar operandul rezultat este referit prin num
arul portului
destinatie n care se nscrie, selectabil prin cuv
antul SD (cele 16 porturi sunt notate
cu P1 , P1 , ..., P14 , P15 ).
Comanda c
aii de date pentru realizarea unei operatii este descris
a de o instructiune
care are urm
atoarea form
a (n limbaj de asamblare):
MNEMONIC OPERATIE PD , PS1 , PS2

; PD (PS1 OPERATIE PS2 )

cu urm
atoarea semantica: asupra operanzilor surs
a din porturile surs
a P S1 si PS2 se
efectueaz
a operatia OPERATIE iar rezultatul se nscrie n portul destinatie P D . De
exemplu, pentru efectuarea operatiei de adunare ntre operanzii din porturile P13 si
P7 , iar operandul rezultat s
a fie nscris n portul P5 , se scrie urm
atoarea instructiune
n limbaj de asamblare:
ADD

P5 , P13 , P7

(2.27)

Instructiunea din limbaj de asamblare este convertit


a (asamblat
a), folosind codurile operatiilor si codurile cuvintelor de selectare din calea de date, ntr-un cuv
ant
binar care comanda efectuarea operatiei respective n calea de date. Formatul acestui
cuv
ant reprezentat n Figura 2.73-b este compus din urm
atoarele 7 subc
ampuri:
1. codul operatiei F2 F1 F0
2. codul portului surs
a A: SA3 SA2 SA1 SA0
3. codul portului surs
a B: SB3 SB2 SB1 SB0
4. codul portului destinatie D : SD3 SD2 SD1 SD0
5. valoarea deplas
arii D3 D2 D1 D0
deplasarea st
6. s/d,
anga s = 1, deplasarea drepata d = 0
7. sf /
r, shiftare sf = 1, rotatie r = 0.
Pentru instructiunea anterioar
a (ADD P5 , P13 , P7 ),introduc
and n fiecare c
amp
codul corespunz
ator, rezult
a urm
atorul cuv
ant binar de comand
a (instructiune n
limbaj/cod masin
a), scris cu spatii ntre subc
ampuri:
101

1101

0111

0101

0000

Acest cuv
ant de comand
a, prin bitii s
ai fiecare subc
amp de biti aplicat pentru
comand
a la elementul corespunz
ator din calea de date realizeaz
a n calea de date
procesarea continut
a n instructiunea (dat
a n limbaj de asamblare) din relatia 2.27.

296
2.5.5.2

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Organizarea si implementarea unei unit


ati logico-aritmetice

Dup
a definirea arhitecturii ALU, n contextul unei c
ai de date, se trece la stabilirea
organiz
arii interne a acesteia, adic
a la alegerea acelor p
arti componente care pot realiza toate functiile definite prin arhitectur
a. Exist
a diferite p
arti componente/blocuri
care pot realiza aceeasi functie, ceea ce nseamn
a c
a pot fi mai multe variante de
realizare intern
a, deci pentru aceeasi arhitectur
a pot exista mai multe organiz
ari.
Elaborarea unei organiz
ari, care s
a asigure suport pentru toate operatiile efectuate
de ALU poate fi g
andit
a n dou
a variante.
A
B

n
n

n OR
32

pi

32

b)

n XOR

gi

n CA

32

F1
F0

C i1

CGTA

n MUX 8:1
O
n

CR Z OV
EQ P
SG

a)

F2
F1
F0

n AND

F2
F1
F0

B
A

n
n

A n1

Bn1
Bn2
A n2

A1

ALU n1 ALU n2

ALU
O

CR

EQ

OV

B1

A0

B0

ALU 1 ALU 0

gi
pi

CGTA

Ci
n

SG

Figura 2.74 Variante de organizare a unei ALU: a) organizare ca o asamblare de


blocuri/circuite specializate ntr-o structur
a de selectare secvential
a de date pe baz
a de
multiplexor; b) organizare din n felii de unit
ati logico-aritmetice de un bit conectate n
paralel.

In prima variant
a se concepe ALU ca o asamblare de blocuri/circuite specializate,
Figura 2.74-a. Fiecare bloc realizeaz
a o operatie din repertoriul ALU asupra cuvintelor de intrare. Blocul circuitelor aritmetice, nCA, realizeaz
a operatiile de adunare,
sc
adere, incrementare/decrementare primind deja calculate, pentru fiecare pereche de
biti Ai si Bi , valorile pentru sum
a modulo de la blocul nXOR si valorile transporturilor anticipate Ci1 de la circuitul de generare a transporturilor anticipate, CGTA.
Transporturile anticipate sunt calculate pe baza semnalelor intermediare de generare
gi si propagare produse pi de blocurile nAND si nOR, care asigur
a si operatiile
logice corespunz
atoare n ALU.
Aceste blocuri specializate opereaz
a simultan, dar numai iesirea unuia este selectat
a, prin blocul de multiplexoare nMUX8:1, la iesirea ALU, prin aplicarea codului
operatiei pe intrarea de selectare F2 , F1 , F0 . Valorile bitilor de conditii se determin
a
usor, din bitii cuv
antului de iesire, conform definitiilor date mai sus. De fapt, aceast
a

2.5. CLC PENTRU FUNCT


II NUMERICE

297

organizare poate fi asimilat


a ca un bloc de selectare secvential
a a datelor pe baz
a de
multiplexoare, Figura 2.36-b. Dimensiunea unei ALU organizat
a n aceast
a modalitate apare ca o sum
a a dimensiunilor blocurilor specializate si a blocului multiplexor
de selectare, ultimul av
and ponderea cea mai ridicat
a n valoarea dimensiunii.
In a dou
a variant
a se concepe ALU ca o punere n paralel a n unit
ati logicoaritmetice elementare, ALUE. Fiecare ALUE constituie o felie (slice) din ALU
care realizeaz
a toate operatiile din repertoriul ALU, dar numai pentru cuvinte de 1
bit. Printr-o optimizare a celulei ALUE, cu aceast
a organizare, se poate obtine o
dimensiune mai redus
a dec
at la prima variant
a de organizare.
La ambele variante de ALU, deoarece se compun din blocuri cu ad
ancime constant
a, performantele de vitez
a pot fi mbun
at
atite prin modul de realizare a blocurilor
CGTA. Se vor prezenta n continuare structuri de ALUE.
2.5.5.3

Structurarea unei ALU elementare

Functiile unei unit


ati logico-aritmetice elementare, ALUE pot fi realizate cu ajutorul a diferite structuri de circuite. Este ales un anumit circuit de ALUE n functie
de performantele dorite sau modalitatea de implementare. Implementarea se poate
face n oricare variant
a expus
a n acest capitol (cu porti logice, DCD + porti logice,
multiplexoare, ROM, PLA; cu componente discrete sau integrate). Exist
a o multitu,,
dine de trasee n realizarea unui sistem digital. Pentru functiile pe care trebuie s
a le
realizeze un sistem se poate defini o anumit
a arhitectur
a. Aceast
a arhitectur
a poate
fi sustinut
a de mai multe organiz
ari si la r
andul ei, o organizare poate fi implementat
a prin mai multe structuri de circuite. Ca exemplificare, pentru organizarea ALU,
compus
a din ALUE, se vor prezenta dou
a modalit
ati de structurare pentru celula
logico-aritmetic
a: ca un circuit logic combinational implementat prin porti logice si
ca un circuit realizat pe un ROM sub forma unui tabel, LUT.
O celul
a de unitate logico-aritmetic
a poate fi g
andit
a ca o scalare la lungimea de
cuv
ant de 1 bit a unei organiz
ari ALU de n biti, de exemplu, pornind de la varianta de
organizare din Figura 2.74-a. In acest sens, o variant
a de circuit ALUE este cea din
Figura 2.75-a care poate fi privit
a ca o structur
a de selectare secvential
a a datelor pe
baz
a de multiplexor, vezi Figura 2.36-b, dar din porturi de un bit. Operatiile realizate,
dar la nivel de un bit, sunt aceleasi ca cele definite n sectiunea anterioar
a (Figura
2.74-a) si, de asemenea, sunt utilizate aceleasi coduri pentru cuv
antul F2 F1 F0 de
selectare la iesirea MUX8:1 a unei operatii logice sau aritmetice. Pentru operatiile de
produs logic, sum
a logic
a si sum
a modulo 2 sunt introduse n circuit respectiv portile
AND, OR si XOR, selectate respectiv prin codurile 000,001 si 100. Codul de selectare
010 las
a cuv
antul A s
a treac
a nemodificat, TFM. Pentru aplicatiile aritmetice care
utilizeaz
a si transportul anterior Ci1 (DCR - 010, ADD - 101, SUB - 110, INC 111) este introdus
a o a dou
a poart
a XOR. Cu un al doilea multiplexor 4 : 1, selectat
i , 0
potrivit tot cu bitii F1 , F0 , se genereaz
a pentru bitul Bi urm
atoarele valori: Bi , B
si 1. Incrementarea, INC, se realizeaz
a ca o sumare cu unu A + B + C1 = A + 0 + 1,
deci pentru Bi se genereaz
a valoarea 0 prin inversorul comandat XOR c
and F2 = 1.
Pentru decrementare, DCR, valorile lui Bi si C1 trebuie s
a fie inversate fata
de
incrementare deci se genereaz
a pe inversorul comandat Bi = 1 c
and F2 = 0. Portile
AND si OR genereaz
a si variabilele intermediare gi si pi care se aplic
a circuitului
de generare a transportului anticipat, CGTA, neinclus n acest desen. Ponderea n

298

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Adresa
Continut
F 2 F 1 F 0 A i Bi C i1 Oi C i

b)

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

A
B

n
n

XOR

ADD

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

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

A n1
3

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

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

LUT n1
64 2 bit

C n1

c)
A

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

A n2

Bn1
1

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

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

Ai

pi
gi

TFM
010 000

001

C n2

100 011 101 110 111

MUX 8 : 1

A1

B1

3 1

On2

F2
F1
F0

Oi

a)

LUT n2
64 2 bit

On1

F1
F0
C i1

Bn2
1

"1"
F2

00 01 10 11
MUX 4 : 1

C2

A0

B0

3 1

LUT 1
64 2 bit

C1

O1

3
0

F2
F1
F0

LUT 0
64 2 bit
O0

n
n

B A
n1
3

Bi

Bn1
1

A n2
3

Bn2
1

A1

3 1

B1

A0
3

B0 F 2
F1
F0
3 1 1
CGTA

C n2
LUT n1
64 1 bit
On1
d)

C0

C n3
LUT n2
64 1 bit
On2

LUT 1
64 1 bit
O1

0
LUT 0
64 1 bit
O0

Figura 2.75 Structuri de unit


ati logico-aritmetice elementare ALUE: a) ALUE
structurat
a ca un circuit de selectare de date pe baz
a de multiplexor; b) tabelul de adev
ar
pentru operatiile XOR si ADD implementate n LUT; c) ALU structurat
a pe baz
a de LUTuri cu transport progresiv; d) si cu transport anticipat.

2.5. CLC PENTRU FUNCT


II NUMERICE

299

dimensiunea ALUE este determinat


a de partea de selectare, adic
a de multiplexoare.
Pentru implementarea ALUE sub forma unui LUT nscris ntr-un ROM se porneste
de la tabelul de adev
ar a fiec
arei operatii ce trebuie realizat
a. Variabilele tabelului
sunt intr
arile n ALUE adic
a intr
arile de selectare F2 , F1 , F0 , perechea de biti Ai , Bi
si transportul anterior Ci1 , toate acestea formeaz
a un cuv
ant de 6 biti care va fi
utilizat ca un cuv
ant de adresare la circuitul ROM pe care se implementeaz
a LUT i
(fiecare LUT va avea 64 de adrese). Bitii nscrisi la o locatie din ROM sunt cei doi biti
de iesire din ALUEi : Ci si Oi , care acum sunt generati din LUTi . In Figura 2.75-b
este prezentat tabelul de adev
ar numai pentru implementarea operatorilor AND si
XOR.
,,
Implementarea unei ALU cu felii , const
and din LUT-uri nscrise n circuite ROM
cu capacitatea de 64 2, biti este reperezentat
a n Figura 2.75-c. Structurarea ALU
este cu transport progresiv, bitul de transport Ci citit din LUTi se aplic
a la LUTi+1 ,
deci un timp de calcul n O(n). Se poate reduce acest timp de calcul pe ALU n
O(1) dac
a se structureaz
a ca n Figura 2.75-d. Transportul urm
ator C i nu se mai
citeste din ROMi (capacitatea ROM-ului pentru un LUT se reduce la 64 1bit) ci se
genereaz
a de catre un CGTA pe baza tuturor perechilor de biti Ai si Bi .
Ca unitate logico-aritmetic
a de patru biti poate fi utilizat si circuitul MSI 74xx181
reprezentat n Figura 2.76-b, iar operatiile realizate sunt date n tabelul din Figura
2.76-a. Prin cuv
antul de cod F3 F2 F1 F0 se poate selecta una din cele 16 operatii
aritmetice asupra celor doi operanzi A = A3 A2 A1 A0 si B = B3 B2 B1 B0 c
and valoarea
semnalului de control este M = 0, respectiv se poate selecta una din cele 16 operatii
logice c
and M = 1. In expresiile functiilor din acest tabel, produsul logic si suma
logic
a sunt notate prin simbolurile si +, iar pentru adunare si sc
adere sunt folosite
cuvintele plus si minus. Operatiile logice (M = 1) sunt realizate numai ntre perechile
Ai si Bi (i = 0, 1, 2, 3), nu exist
a semnal de transport de intrare C1 = 0, de asemenea
nu exist
a transporturi ntre ranguri. In schimb n operatiile aritmetice (M = 0) pe
l
ang
a perechile Ai si Bi trebuie considerat transportul de intrare C1 si transporturile
ntre ranguri. Structura intern
a a circuitului 74xx181 este realizat
a pentru transport
anticipat.
Atention
am faptul c
a semnalele de intrare A3 L A0 L, B3 L B0 L si cele de
iesire O3 L 0 L sunt active n starea L. Se poate ca la circuitul 74xx181 s
a se
considere aceste semnale active n starea H, dar atunci expresiile functiilor date n
tabelul anterior se modific
a in felul urm
ator. Ca circuit logic, M = 1, la aplicarea
unui cod de selectare F3 F2 F1 F0 se obtine o functie logic
a dual
a (relatia 1.2) celei care
este indicat
a n tabel pentru acel cod de selectare. In schimb, ca circuit aritmetic,
M = 0, la aplicarea unui cod de selectare se obtine o functie aritmetic
a, dar aceasta
este diferit
a fata
de cea dat
a n tabel pentru acel cod de selectare (este necesar a se
cunoaste documentatia tehnic
a a circuitului).
Exist
a si dou
a iesiri G L si P L care exprim
a o generare si o propagare peste toate
cele patru ranguri ale circuitului 74xx181 si care se calculeaz
a conform relatiilor 2.25
si 2.26 astfel:
G L = (g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 )
P L = p 3 p2 p1 p0

(2.28)

Aceste dou
a iesiri permit extensia, n implementarea de ALU, pentru cuvinte
multiplu de patru biti prin utilizarea de circuite 74xx181. Consider
and fiecare circuit

300

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

Intrari de
selectare
F3 F2 F1 F0
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

Functii
Aritmetice ( M=0 )
Logice ( M=1 )
=A minus 1 plus C 1
=A
=A B minus 1 plus C1
=A+B
=AB minus 1 plus C1
=A+B
=1111 plus C 1
=1111
=A plus (A+B) plus C 1
=AB
=AB plus (A+B) plus C 1
=B
=A minus B minus 1 plus C1 =A+B
=A+B plus C 1
=A+B
=A plus (A+B) plus C 1
=AB
=A+B
=A plus B plus C 1
=AB plus (A+B) plus C 1
=B
=A+B plus C 1
=A+B
=A plus A plus C 1
=0000
=AB plus A plus C 1
=AB
=AB
=AB plus A plus C 1
=A plus C in
=A

a)

6
5
4
3
8
7
2
1
23
22
21
20
19
b) 18

F0
F1
G
F2
P
F3
M
C 1
A=B
A0
B0 74x181
O0
A1
O1
B1
O2
A2
O3
B2
A3
C out
B3

13
3
4
1
2
14
15
5
c) 6

C 1
G
G0
P0
P
G1
P 1 74x182
G2
C1
P2
C2
G3
C3
P3

A 15 A 14 A 13 A 12
B15 B14 B13 B12

A 11 A 10 A 9 A 8
B11 B10 B9 B8

A7 A6 A5 A4
B7 B6 B5 B4

74xx181
ALU 3

74xx181
ALU 2

74xx181
ALU 1

G3

P3

G
d)

C 1

C3

G2 P 2

C 1

G
C2

G1 P 1

O1512

O118

14
9
10
11
13
16
10
7
12
11
9

A3 A2 A1 A0
B3 B2 B1 B0 C in
74xx181
ALU 0

C 1

G
C1

74xx182

17
15

O74

G0 P 0

C 1

C 1
O30

Figura 2.76 Realizarea unit


atilor logico-aritmetice pe baz
a de circuite standard: a) tabelul de adev
ar si (b) reprezentarea circuitului unitate logico-aritmetic
a de patru
biti 74xx181; c) reprezentarea circuitului pentru calculul transportului anticipat, 74xx182;
d) structurarea unei ALU de 16 biti prin punere n paralel a 4 circuite 74xx181 iar calculul
transportului anticipat se realizeaz
a n exterior cu circuitul 74xx182.

2.5. CLC PENTRU FUNCT


II NUMERICE

301

74xx181 numai ca o pereche de biti, pentru care sunt determinate valorile variabilelor
intermediare G si P , se pot calcula cu aceste variabile intermediare valorile de transport anticipat pe un grup de circuite. De exemplu, pentru un grup de patru circuite
ALU (ALU0 ,ALU1 ,ALU2 ,ALU3 ) de patru biti fiecare, pe baza perechilor de variabile intermediare de la fiecare circuit (G0 , P0 ),(G1 , P1 ),(G2 , P2 ),(G3 , P3 ) precum si a
transportului de intrare C1 , se pot calcula valorile de transport anticipat C0 , C1 , C2
respectiv la intr
arile de la ALU1 ,ALU2 si ALU3 . Pe baza relatiilor 2.25 si 2.26 pentru
C0 , C1 si C2 se obtin expresiile:
C0 = G0 + P0 C1
C1 = G1 + P1 G0 + P1 P0 C1
C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C1
Circuitul MSI 74xx182, reprezentat n Figura 2.76-c, calculeaz
a transporturile anticipate C0 , C1 , C2 pentru un grup de patru unit
ati ALU. Acest circuit mai genereaz
a
si o pereche (G, P ) de variabile intermediare pe un grup de patru unit
ati ALU, aceast
a
pereche fiind necesar
a pentru calculul transportului anticipat n exteriorul unui grup
de patru circuite MSI 74xx182.
O exemplificare de realizare a unei unit
ati logico-aritmetice de 16 biti pe baza
a 4 circuite ALU de 4 biti (74xx181) este prezentat
a n Figura 2.76-d. Circuitul
pentru calculul transportului anticipat 74xx182 calculeaz
a pe baza perechilor (G, P )
de la fiecare unitate logico-aritmetic
a (74xx181) valorile de transport anticipat pentru
ALU3 , ALU2 si ALU1 . Dar, unitatea logico-aritmetic
a se poate extinde de la 16 biti
la 64 de biti, iar aceast
a structurare poate fi g
andit
a ca fiind format
a din 4 grupuri
de c
ate 16 biti. In exteriorul acestor patru grupuri de c
ate 16 biti se realizeaz
a, cu un
circuit 74xx182, o cale pentru calculul transporturilor anticipate, necesare grupurilor
ce contin rangurile de biti 31 16, 47 32, 63 48, pe baza perechilor G, P de grup
generate de cele 4 circuite 74xx181 precum si a transportului initial C1 . Deci, la
aceast
a ALU de 64 de biti exist
a n exteriorul unui grup de patru circuite ALU, de
patru biti, o cale realizat
a cu un 74xx182 pentru calculul anticipat al transportului pe
grup. Apoi, n exteriorul acestor patru circuite 74xx182 exist
a nc
a o cale pe un alt
74xx182 pentru calculul anticipat al transporturilor ntre grupuri. In total 16 circuite
ALU 74xx181 si 5 circuite pentru calculul transportului anticipat 74xx182.

302

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

PROBLEME1
P2.1 Pentru un cuv
ant de n biti, xn1 xn2 . . . x1 x0 , s
a se implementeze functia
paritate f (=1 pentru un num
ar impar de biti 1, =0 pentru un num
ar par de biti 1
n cuv
ant) cu porti XOR2. In ce conditii aceleasi structuri de circuit, n care se face
substitutia XOR2 N XOR2 calculeaz
a aceeasi functie?
P2.2 Pentru circuitele din figur
a s
a se deduc
a expresiile f1 , f2 ,f3 si f4 , apoi s
a se
construiasc
a tabelele de adev
ar.
A
B
C
D

f1
a)

A
B
f2 C

A
B
C
D

b)

B
D

f3
c)

A
B
C
D

f4
d)

P2.3 S
a se demonstreze echivalentele grafice din figur
a.

P2.4 S
a se complementeze si s
a se aduc
a la forma minim
a expresiile logice urm
atoare:
a) f = [(AB)A] [(AB)B], functia A B exprimat
a prin operatorul NAND;
b) f = (A + B + C)(AB + CD) + BCD;
c) f = (ABC + BCD) + (ACD + B C D + BCD).
P2.5 S
a se minimizeze urm
atoarele functii utiliz
and diagrame V-K:
P7
a) f1 (A, B, C) = 0 (0, 2, 3, 4, 5, 7);
P15
b) f2 (A, B, C, D) = 0 (0, 1, 4, 5, 9, 11, 13, 15);
P
c) f3 (A, B, C, D, E) = 31
0 (0, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 28).

Pentru punctele a) si b), s


a se exprime forma minim
a at
at ca sum
a de produse c
at si
ca produs de sume.
P2.6 S
a se minimizeze urm
atoarele functii utiliz
Pand diagrame V-K:
a)F = ABC + AB C + ABC; b)F (A, B, C) = 70 (1, 3, 5, 6, 7);
c)F (A, B, C, D) = ABC + AD + BCD;
P15
d)F (A, B, C, D) = 0 (1, 3, 4, 5, 6, 9, 11, 12, 13, 14);
P31
e)F (A, B, C, D, E) = 0 (0, 2, 8, 10, 16, 18, 24, 26);
f )F (A, B, C, D) = A B CD + ABCD + ABCD + AB CD;
1 Solut
iile

problemelor pot fi accesate pe situl c


artii

303

2.5. CLC PENTRU FUNCT


II NUMERICE

Q15
g)F (A, B, C, D) = 0 (2, 3, 4, 6, 7, 10, 11, 12);
Q
h)F (A, B, C, D, E) = 31
0 (0, 2, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 24, 25, 26, 27)
P2.7 S
a se identifice
implicant
ii primi esentiali pentru urm
atoarele expresii:
P15
a) f (A, B, C, D) = 0 (1, 5, 7, 8, 9, 10, 11, 13, 15);
P31
b) f (A, B, C, D, E) = 0 (5, 7, 9, 12, 13, 14, 15, 20, 21, 22, 23, 25, 29, 31).
P2.8 Utiliz
and diagrama
a se arate c
a functia:
P15 V-K, s
f1 (A, B, C, D) = 0 (0, 2, 5, 7, 8, 10, 13, 15)
P15
este negata functiei: f2 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14),
Q15
si este identic
a cu functia: f3 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14)
P2.9 S
a se minimizeze
urm
atoarele funct
ii utiliz
and diagrame V-K:
P
P
15
a) f (A, B, C, D) = 15
(2,
3,
4,
5,
13,
15)
+
d(8,
9, 10, 11);
0
0
P15
P15
b) f (A, B, C, D) = 0 (1, 5, 7, 9, 13, 15) + 0 d(8, 10, 11, 14);
P15
P15
c) f (A, B, C, D) = 0 (0, 2, 4, 8, 10, 14) + 0 d(5, 6, 7, 12);
P31
d) f (A, B, C, D, E) = 0 (1, 3, 4, 6, 9, 11, 12, 14, 17, 19, 20, 22, 25, 27, 28, 30)+
P31
+ 0 d(8, 10, 24, 26);
P2.10 Se consider
a functia:
P
P15
15
f (A, B, C, D) = 0 (3, 6, 11, 14, 15) + 0 d(2, 5, 12, 13)
S
a se exprime ca o functie de trei variabile si ca o functie de dou
a variabile: a) utiliz
and
tabelul de adev
ar al functiei; b) utiliz
and diagrama V-K.
P2.11 Pentru functiile reprezentate n diagramele V-K din figura urm
atoare s
a se
scrie forma minim
a.
B
f1

B
f2

B
f3

B
f4
a)

A
0

A
0

A
0

A
0

f5

C
f6

C
f7

C
f8

AB
00

01

11

10

AB
CD

f9

AB
00

01

11

10

00

01

11

10

AB

AB
00

01

11

10

DE 1

DE d

00

01

11

10

00

01

11

10

AB
CD

f 10

00

01

11

10

00

01

11

10

P2.12 S
a se introduc
a variabile reziduu n expresia coeficientilor functiilor de la
problema P2.6, astfel nc
at n fiecare functie s
a fie numai dou
a variabile. Reduceti
num
arul de variabile at
at folosind tabelul de adev
ar c
at si diagrama V-K. Pentru

304

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

functiile de dou
a variabile rezultate din diagramele V-K s
a se scrie forma minim
a.
Pentru aceste forme minime s
a se compare rezultatele cu cele obtinute la problema
P2.6.
P2.13 S
a se realizeze sinteza unui circuit convertor de cod din codul zecimal codificat
binar BCD 2-4-2-1 n codul de afisare pe matrice cu sapte segmente. Matricea de sapte
segmente este TIL-312. Toate cele sapte LED-uri au anodul alimentat comun de la
+5V. Un segment este luminat c
and pe catodul s
au este comandat potentialul logic
,,
0 .
P2.14 Functionarea a dou
a motoare M1 si M2 este comandat
a de trei ntrerup
atoare: S1 , S2 si S3 . Motorul M2 functioneaz
a tot timpul c
at cele trei ntrerup
atoare sunt
nchise. Motorul M1 functioneaz
a dac
a fie S2 , fie S1 (dar nu si simultan) sunt nchise
iar S3 este deschis.S
a se realizeze circuitul logic combinational care implementeaz
a
aceast
a comand
a.
P2.15 S
a se analizeze, utiliz
and diagramele de timp ale semnalelor si diagramele
V-K, dac
a circuitul din figura (a) poate genera hazard static 1. In cazul aparitiei
hazardului, s
a se propun
a solutia de eliminare.
A
B
C

a)

G1

G3

G2
G4

A
AB

G5

C
f

f
B

b)

P2.16 S
a se implementeze functia: f (A, B, C, D) = 15
0 (1, 3, 4, 5, 7, 10, 11, 12, 14, 15)
sub form
a OR-AND f
ar
a a produce hazard static.
P2.17 S
a se explice de ce circuitele care implementeaz
a mintermi pot produce
hazard static 1, iar cele care implementeaz
a maxtermi pot produce hazard static 0.
P2.18 S
a se pun
a n evidenta
hazardul static pentru fiecare din urm
atoarele functii
si s
a se determine unPcircuit care elimin
a hazardul si ndeplineste aceeasi functie logic
a:
a) f (A, B, C, D) = 15
(5,
7,
8,
9,
10,
11,
13,
15);
P015
b) f (A, B, C, D) = 0 (5, 7, 13, 15);
P15
c) f (A, B, C, D) = 0 (0, 2, 4, 6, 12, 13, 14, 15);
d) f (A, B, C, D) = (A + B + D)(A + C + D)(A + B + C);
e) f (A, B, C, D) = (A + B + D)(A + B + C + D)(A + C)(B + C);
f) f (A, B, C, D) = B C D + ABC + BC.
P2.19 S
a se determine dac
a circuitul din figura (b), de la P2.15, produce hazard
static. In caz afirmativ, s
a se modifice structura astfel nc
at s
a fie eliminat hazardul.
P7
P2.20 Pentru functia f (x2 , x1 , x0 ) = 0 (3, 5, 7) s
a se deduc
a diagrama de decizie
binar
a redus
a (ROBDD).
P2.21 Urm
atoarea functie s
a se implementeze cu un num
ar minim de porti NAND.
f = ABD + ACD + BCD + ABC

305

2.5. CLC PENTRU FUNCT


II NUMERICE

P2.22 S
a se realizeze o poart
a DAR care are patru intr
ari si dou
a iesiri cu simbolul
grafic din figura al
aturat
a. Functia realizat
a trebuie s
a fie
adev
arat
a c
and n statuarea valorilor variabilelor de intrare din A 1
f1
primul grup A1 , B1 sau din al doilea grup A2 , B2 se aplic
a sen- B1
sul conjunctiei DAR. Privind simetria simbolului grafic functia A 2
f2
realizat
a trebuie s
a fie simetric
a n raport cu variabilele A si B B
2
din fiecare grup; de asemenea trebuie s
a fie simetrice cele dou
a
grupuri. Apoi, cu aceast
a DAR s
a se implementeze functia
P15a poart
f (A1 , B1 , A2 , B2 ) = 0 (3, 7, 11, 12, 13, 14) cu o poart
a DAR plus o poart
a OR cu
dou
a intr
ari.
P2.23 Utiliz
and numai 4 porti NAND cu 8 intr
ari s
a se implementeze un codificator
16:4. Care sunt nivelurile active de semnal pentru intr
ari si pentru iesiri?
P2.24 Pe baza circuitului codificator prioritar cu 8 intr
ari 74XX148, , s
a se structureze un codificator prioritar cu 16 intr
ari.
P2.25 S
a se implementeze un CLC la intrarea c
aruia se aplic
a un cuv
ant M de
opt biti si un cuv
ant N de trei biti. Iesirea f a circuitului va fi activ
a c
and M este
multiplu de 2N .
P2.26 S
a se implementeze un CLC la intrarea c
aruia se aplic
a un cuv
ant M de
16 biti si un cuv
ant N de 2 biti. Iesirea f a circuitului va fi activ
a c
and M este un
N
multiplu de 22 .
P2.27 Intr-un cuv
ant de un byte X = x7 x6 x5 x4 x3 x2 x1 x0 s
a se determine c
and
exist
a doar un singur bit cu valoarea zero.
P2.28 S
a se proiecteze un CLC cu opt intr
ari Ii L si opt iesiri Oi L , i = 0, 1 . . . 7.
Circuitul genereaz
a numai iesirea Oi L = 0 n care i este pozitia celui mai semnificativ
bit activat din cuv
antul de opt biti aplicat pe intrare.
P2.29 S
a se realizeze un CLC prin intermediul c
aruia 8 periferice sunt legate la un
microprocesor (P ). La activarea unuia sau a mai multor periferice acest circuit va
genera c
atre P o cerere de ntrerupere IRQ L si codul perifericului activat cu nivelul
cel mai ridicat de prioritate; nivelul de prioritate creste de la 0 la 7. Exceptie de la
aceast
a regul
a este numai n cazul n care sunt activate simultan mai multe periferice
printre care sunt activate si perifericele 7 si 2, n acest caz se genereaz
a catre P
codul perifericului 2.
P2.30 Utiliz
and circuitul 74XX138, DCD3:8, s
a se realizeze o structur
a de DCD5:32.
P2.31
DCD3:8,
P2.32
P2.33
[0, 7]
P2.34

Urm
atoarele functii: Y1 = 2x si Y2 = 22 s
a fie implementate pe circuite
x fiind un num
ar binar n intervalul [000,111].
S
a se implementeze operatia: y = 2x1 + 2x2 , x1 , x2 [0, 7], x1 6= x2
S
a se realizeze un CLC care implementeaz
a functia y = 2(x1 +x2 ) , x1 , x2

Utiliz
and circuitul 74LS138,
decodificator 3:8, s
a se implementeze functia:
P
f (A, B, C, D) = (0, 1, 3, 5, 7)
P2.35 Utiliz
and circuite 74LS138, decodificator 3:8 ,s
a se implementeze urm
atoarele
functii:
P
P
a) f1 (A, B, C) = (0,
Q 2, 5, 7); b) f3 (A, B, C, D) = (0,
Q3, 5, 6, 9, 10, 11, 12, 13);
c) f2 (A, B, C, D) = (2, 3, 4, 7); d) f4 (A, B, C, D) = (2, 3, 6, 7, 8, 9, 13, 14, 15).
P2.36 Implementati o celul
a sumator complet cu ajutorul unui circuit decodificator

306

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

74LS138.
P2.37 S
a se implementeze cu circuite 74LS138, DCD3:8, circuitul logic combinational cu iesiri multiple definit de functiile:
f1 = P 0 + P 3 + P 5 + P 7
f2 = P1 + P2 + P4 + P5 + P8 + P11 + P12 + P14 + P15
f3 = P3 + P4 + P6 + P12 + P14 + P15
f4 = P1 + P2 + P5 + P6 + P7 + P8 + P9 + P15
P2.38 Se pot implementa urm
atoarele functii doar cu dou
a circuite integrate?
f1 = A B C + ABC , f2 = A BC + ABC , f3 = ABC + ABC , f4 = AB C + ABC
P2.39 Un circuit 74XX138 DCD3:8 este comandat pe int
arile A,B,C cu semnalele
de iesire de la un num
ar
ator asincron modulo 8. S
a se analizeze momentele c
and pe
iesirile circuitului pot apare glitch-uri.
P2.40 La celula sumator complet, implementat
a n problema P2.36, se aplic
a
pe cele trei intr
ari A,B,C, n locul semnalelor Ai , Bi si Ci1 semnalele de iesire de
la un num
ar asincron modulo 8. S
a se determine la care comutarea dintre st
arile
num
ar
atorului asincron iesirile si si Ci1 ale celulei se pot genera glitch-uri.
P2.41 Numai cu dou
a circuite 74XX138, DCD3:8, s
a se realizeze un DCD4:16.
P2.42 S
a se determine functiile implementate pe urm
atoarele circuite.
B
C
A
B
C

DCD2:4
O0
I1
O1
I0
O2
E
O3
DCD2:4
O0
I1
O1
I0
O2
E
O3
a)

MUX2:1

f1
A

f2

MUX2:1

0
1

0
1

f3

C
MUX2:1

C
b)

0
1

f4

P2.43 S
a se organizeze un MUX32:1 pe baza circuitelor: 74XX151 MUX8:1;
74XX153 MUX4:1; 74XX139 DCD2:4. Toate aceste circuite au o intrare de validare G
activ
a n starea low; circuitul 74XX151 genereaz
a at
at iesirea negat
a c
at si nenegat
a.
P2.44 S
a se realizeze o selectare de date de la patru porturi P3 , P2 , P1 si P0 , fiecare
de patru biti, la o magistral
a.
P2.45 In figur
a este schitat
a posibilitatea de sumare a unui operand cu lungimea
de k biti de la unul din porturile PA1,PA2,PA3,PA4 cu un alt operand de aceeasi
lungime de la unul din porturile PB1,PB2,PB3,PB4, iar rezultatul este distribuit la
unul din porturile destinatie PD1,PD2,PD3,PD4. S
a se structureze cele dou
a circuite de selectare de pe intrare si circuitul de distributie de pe iesire. S
a se scrie
cuvintele de selectare SA , BB , SD pentru urm
atoarele transferuri: PA1+PB1PD1
si PA2+PB4PD3.
P
P2.46 Pentru functia logic
a, f (A, B, C) = 70 (0, 1, 3, 6, 7) s
a se realizeze o implementare:
a) numai cu MUX 2:1; b) numai cu MUX 8:1; c) cu MUX 2:1 si MUX 4:1.
Consider
and ca o m
asur
a a dimensiunii num
arul de terminale (2n + n + 1) ale unui

307

2.5. CLC PENTRU FUNCT


II NUMERICE
PA1 PA2 PA3 PA4
SA

PB1 PB2 PB3 PB4

S0

SUMATOR
k+1

S0
k+1
PD1

k+1
PD2

k+1
PD3

k+1
PD4

MUX 2n : 1, s
a se determine dimensiunea pentru fiecare dintre aceste implement
ari.
P2.47 S
a se implementeze
functiile:
P
P
f1 (A, B, C, D) = P(0, 1, 3, 4, 7, 8, 10, 11, 15), f2 (A, B, C, D) = (3, 4, 5, 6, 13, 14, 15),
f3 (A, B, C, D) = (0, 1, 4, 5, 6, 9, 12, 14)
n urm
atoarele variante: a) numai cu MUX 2:1; b) numai cu MUX 4:1; c) numai
cu MUX 16:1; d) cu MUX 2:1 si MUX 4:1 sau MUX 8:1. S
a se aprecieze dimensiunea
implement
arii prin num
arul de circuite utilizate si num
arul de terminale.
P
P
P2.48 Fie functia f (A, B, C, D) =
(3, 6, 11, 14, 15) +
d(2, 5, 12, 13). S
a se
implementeze cu circuitul 74LS151, MUX 8:1.
P2.49 Implementati cu circuite 74LS151, MUX 8:1 celula sumator complet. Prin
introducerea unei variabile reziduu, s
a se realizeze o implementare si cu circuitul
74LS153, MUX4:1.
a se
P2.50 Fie functia f (A, B, C, D, E) = ABE + A BDE + ABCE + ACDE. S
implementeze cu un circuit 74LS151, MUX8:1.
P2.51 Utiliz
and circuitul
a se implementeze functia:
P 74LS151 MUX8:1, s
f (A, B, C, D, E) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31)
Se va folosi intrarea de validare pentru una din variabilele reziduu.
P2.52 S
a se implementeze functia: f (A, B, C, D, E) = ABE + A BDE + ABCE +
ACDE
(prezentat
a si n problema P2.50), utiliz
and circuitele 74LS138 DCD3:8 si 74LS153
MUX4:1.
P2.53 S
a se implementeze
P functia:
f (A, B, C, D, E) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31)
utiliz
and circuitul 74LS138 DCD3:8 si circuitul 74LS153 MUX4:1. S
a se compare
structura obtinut
a cu implementarea problemei P2.51.
P2.54 S
a se implementeze n ROM un convertor din codul binar 7 segmente n
BCD.
P2.55 Pentru problema P2.27 s
a se conceap
a o implementare pe circuit ROM.
P2.56 S
a se implementeze pe un circuit ROM calculul p
atratului numerelor cuprinse
n intervalul [0,7].
P2.57 Un sistem cu microprocesor cu o magistral
a de adresare de 10 biti are alocat

308

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

pentru cele patru periferice ale sale #0, #1, #2, #3 urm
atoarele adrese: 3C0H, 3C1H,
3C2H si 3C3H. S
a se realizeze variante de circuite de decodificare pentru aceste adrese.
P2.58 Un sistem cu microprocesor cu o magistral
a de adresare de 16 biti are alocat
pentru cele patru periferice ale sale #0,#1,#2 si #3 urm
atoarele adrese: ED0CH,
ED0DH, ED0EH si ED0FH. S
a se realizeze o variant
a de decodificare complet
a pentru
periferice utiliz
and un circuit 74LS138, un circuit comparator 74LS682 si porti.
P2.59 a) S
a se conceap
a un modul de memorie ROM de capacitate 8K 16 biti
utiliz
and circuitele EPROM 2716. Intr-un spatiu de adresare de 64k (A15 A0 ) acest
modul va acoperi intervalul de adrese 64k 56k. Circuitul EPROM2716 prezint
a
dou
a semnale de control, unul este selectare circuit CE L/PRM (Chip Enable/ Programare), iar cel
alalt este validare iesire OE L (Output Enable - comanda iesirii din
TSL n stare normal
a); pentru obtinerea datelor pe iesire trebuie activate ambele
semnale simultan.
b) Utiliz
and circuite EPROM 2708, 1K 8 biti, (prezint
a un singur semnal CS L
(Chip Enable/ Output Enable)) si circuite decodificator 74XX138, 74XX139, s
a se
structureze urm
atoarele module de memorie: 1K 16 biti, 8K 8 biti, 8K 16 biti.
Fiecare din aceste module are asignat un interval de adresare ncep
and cu adresa
0000H; se consider
a un spatiu de adresare de 64K (A15 A0 ).
P2.60 Pe un circuitPROM cu organizarea 64 1 bit s
a se implementeze functia:
f (F, E, D, C, B, A) = (0, 1, 2, 3, 4, 5, 6, 9, 11, 12, 13, 15, 16, 19, 21, 25,
26, 28, 29, 30, 31, 33, 34, 36, 37, 39, 41, 44, 45, 46, 49, 51, 53, 55, 57, 59, 60, 61, 62)
P2.61 S
a se implementeze urm
atoarele functii pe o structur
a de ROM cu capacitatea
64 1: f1 (F, E, D, C, B, A) = F D B + F DBA + F ED CBA;
f2 (F, E, D, C, B, A) = F EDA + F ECA + F ED CB + F EDCBA;
f3 (F, E, D, C, B, A) = F E D B + F E DCA;
f4 (F, E, D, C, B, A) = F EDA + F EDCB + F EDCB;
P2.62 S
a se implementeze pe o memorie ROM de capacitate 328 biti urm
atoarele
convertoare de cod: a) convertor din cod 2-4-2-1 la matrice cu sapte segmente (vezi
P2.13 si P2.65); b) convertor din BCD n cod EXCESS3 (codul EXCESS3 se obtine
din codul BCD la care se adun
a cuv
antul 0011|2 = 3|10 ). S
a se calculeze gradul
de utilizare al memoriei, exprimat prin raportul dintre num
arul de biti nscrisi si
capacitatea memoriei.
P2.63 Utiliz
and circuite ROM de capacitate 256 8 biti, n care sunt nscrise
toate nmultirile ntre numerele binare de patru biti, precum si circuite sumatoare de
lungimi corespunz
atoare, s
a se structureze un multiplicator simultan pentru cuvinte
de un byte.
P2.64 S
a se implementeze pe structuri PLA si PAL (cu patru termeni produs
cablati pe fiecare poart
a OR) un convertor din BCD n cod Gray.
P2.65 S
a se implementeze pe o structur
a PLA generic un convertor din codul 2421
n codul pentru o matrice cu sapte segmente. Codul 2421 este: 0 0000; 1 0001;
2 1000; 3 1001; 4 1010; 5 1011; 6 1100; 7 1101; 8 1110; 9 1111;,
iar configurarea cifrelor zecimale din LED-uri se consider
a ca n Figura 2.37.
P2.66 S
a se implemeteze pe o structur
a de circuit PLA generic un comparator
digital pentru dou
a cuvinte A si B cu lungimea de 4 biti. Circuitul genereaz
a la iesire:
A = B, A > B si A < B. Nu se primesc semnale pentru relatiile de ordonare de la un

2.5. CLC PENTRU FUNCT


II NUMERICE

309

modul comparator de rang superior.


P2.67 S
a se realizeze circuite pentru identitatea a dou
a cuvinte.
P2.68 Utiliz
and circuitul comparator digital de patru biti 74XX85, s
a se implementeze structuri care s
a realizeze urm
atoarele operatii: a) Pentru dou
a cuvinte
A si B iesirea fs s
a fie adev
arat
a c
and A<B. C
and A>B iesirea fi s
a fie adev
arat
a.
b) Pentru dou
a cuvinte A si B s
a se realizeze urm
atoarele relatii de ordonare: egal(=),
mai mic(<), mai mic sau egal(), mai mare(>), mai mare sau egal(), diferit(6=).
P2.69 De la iesirile de pondere 23 , 22 , 21 , 20 ale unui num
ar
ator sincron n cod binar
natural modulo 16 se obtine cuv
antul A = A3 A2 A1 A0 , iar de la iesirile complementare
se obtine cuv
antul n complement fata de 1, A = A3 A2 A1 A0 . Cuvintele A si A se
aplic
a pe intr
arile unui circuit comparator de patru biti 74XX85. S
a se deseneze
formele de und
a la cele trei iesiri ale circuitului (A > B, A = B, A < B) c
and
num
ar
atorul parcurge toate cele 16 st
ari (0 15).
P2.70 Utiliz
and circuitul comparator de patru biti 74XX85 si porti s
a se realizeze
o structur
a care genereaz
a urm
atoarele relatii de ordine:
A N ; M A; M A N ; A < M ; A > N
ude M si N sunt dou
a constante cuprinse n intervalul [0, 2n 1], n=4
P2.71 Utiliz
and trei circuite comparator digital de patru biti 74XX85 si porti, s
a
se realizeze o structur
a care pentru trei variabile A, B, C activeaz
a (n stare 1) una
din cele trei iesiri fA , fB , fC n functie de relatia adev
arat
a din urm
atoarele trei:
fA = 1 dac
a B < A > C fB = 1 dac
a A < B > C fC = 1 dac
aA<C >B
P2.72 Utiliz
and circuitul 74XX283, sumator cu transport anticipat pentru cuvinte
de patru biti, s
a se realizeze diferite variante de sumatoare de trei biti si de doi biti.
P2.73 S
a se realizeze sinteza unei celule semisumator pentru sumare n sistemul de
numeratie n baz
a trei. Implementarea se va face cu porti NAND.
P2.74 S
a se structureze o celul
a sumator modulo trei, apoi cu aceasta s
a se organizeze un sumator cu transport anticipat modulo 38 .
P2.75 S
a se structureze o celul
a sumator pentru adunarea n cod BCD.
P2.76 Utiliz
and circuite 74LS181, unitate logico-aritmetic
a de patru biti si circuite 74LS182, unitate pentru calculul transportului anticipat pe patru ranguri, s
a se
organizeze o unitate logico-aritmetic
a pentru cuvinte de 64 de biti.
P
P2.77 S
a se realizeze un circuit, format numai din celule sumator complet (3, 2),
care s
a calculeze num
arul (exprimat n binar natural, NBCD) de biti care au valoarea
1 ntr-un cuv
ant de 7 biti, apoi s
a se extind
a pentru un cuv
ant de un byte.
P
P2.78 Utiliz
and celule sumator complet
(3, 2), s
a se realizeze un modul care
incrementeaz
a un cuv
ant de trei biti, la fel, un modul, pentru decrementare.
P2.79 Pentru un sumator de sase biti realizat n varianta de sumator cu propagarea
transportului , SPT, si n varianta cu transport anticipat, STA, s
a se determine:
1. expresiile pentru C5 ; 3. timpul minim de sumare, TP .
2. num
arul de porti pentru implementarea
lui C5 ;
P
Se va considera organizarea de celul
a (3, 2) din Figura 2.60-b, iar C1 = 0.
P2.80 Realizati un circuit pentru sumarea a trei cuvinte de doi biti.
P2.81 Realizati un circuit pentru multiplicarea a dou
a cuvinte, unul de doi biti
X = x1 x0 iar cel
alalt de trei biti Y = y2 y1 y0 , utiliz
and fie numai module sumator
pentru cuvinte de doi biti si porti AND2, fie numai module sumator pentru cuvinte

310

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT


IONALE

de trei biti si porti AND2.


P2.82 S
a se structureze o Unitate Aritmetico - Logic
a Elementar
a, ALUE, care
s
a realizeze urm
atoarele operatii: 1) trece B i ; 2) Ai > Bi ; 3) Ai + Bi + Ci1 ;
4) Ai Bi Ci1 .
P2.83 Utiliz
and o (celul
a) ALUE (structurat
a la P2.82), s
a se organizeze o ALU
de patru biti.
P2.84
S
a se structureze o ALUE care s
a realizeze urm
atoarele opt operatii:
1) nscrie zero (stergere); 2) (B A); 3) (A B); 4) (A + B); 5) A B; 6) (A B);
7) (A B); 8) nscrie 1 (set).

Capitolul 3

CIRCUITE LOGICE
SECVENT
IALE
Circuitul Logic Combinational, CLC, exprimat formal prin tripletul (X,Y,F),
determin
a pentru o configuratie binar
a de intrare de n biti, definit
a pe multimea
X = {0, 1}n, o configuratie de iesire de m biti, apartin
and multimii Y {0, 1}m,
adic
a realizeaz
a aplicatia F : X Y . In functionarea unui CLC, cel putin teoretic,
nu se ia n considerare variabila timp, transferul intrare-iesire fiind instantaneu; n
suportul formal utilizat, algebra Booleean
a, nu exist
a variabila timp. Aceast
a lacun
a a suportului formal se pl
ateste, uneori, sub forma gener
arii de hazard la unele
implement
ari ale CLC-ului, c
and pe durata timpului de transfer (n realitate neinstantaneu) valorile obtinute la iesirea circuitului apar ca o violare a postulatului de
a, la un CLC transferul
existenta complementarului: x + x = 0! si xx = 1!. Totodat
este unidirectional, nu exist
a si un transfer de la iesire c
atre intrare, adic
a o reactie.
Intr-o abordare foarte general
a un Circuit Logic Secvential, CLS, se poate considera ca o extensie a unui CLC cu o conexiune de reactie si n functionarea sa, implicit,
se consider
a si variabila timp (propagarea neinstantanee). Se poate lua si reciproca:
un CLS numai cu transfer unidirectional si instantaneu este un CLC. Aceast
a abordare
de definire, implicit, determin
a si o structurare general
a a unui CLS pornind de la un
CLC.
Secventialitatea implic
a evenimente/st
ari care se succed n timp unul dup
a altul.
In functie de modul cum este marcat
a aceast
a tranzitie, de la un eveniment/stare la
urm
atorul, circuitele/sistemele pot fi asincrone sau sincrone. Pentru cele asincrone,
aceast
a tranzitie/evolutie, este determinat
a de ns
asi structura circuitului/sistemului
prin timpul s
au propriu de propagare (constanta de timp), pe c
and la cele sincrone
tranzitia este marcat
a din exterior prin timpul, perioada/frecventa unui semnal de
ceas/clock.

312

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

3.1

CIRCUITE LOGICE SECVENT


IALE
ASINCRONE

Structura general
a a unui CLS asincron este reprezentat
a n Figura 3.1, referit
a
uneori ca structur
a Huffman, care poate fi considerat
a c
a rezult
a pornind de
la un CLC c
aruia i s-au atasat c
ai de reactie prin intermediul elementelor de
nt
arziere, notate cu 0 , 1 , . . ., k1 . Variabilele de intrare (principale) sunt:
xn1 (t), . . . x1 (t), x0 (t), iar m
arimile de iesire sunt: ym1 (t), . . . , y1 (t), y0 (t), similar ca la un CLC cu n intr
ari si m iesiri. O configuratie a variabilelor de intrare
principale este un vector de intrare Xi , i = 0, 1, 2, . . . , (2n 1), acesti vectori formeaz
a
multimea intr
arilor, notat
a cu X. De asemenea, configuratiile m
arimilor de iesire
formeaz
a multimea iesirilor, notat
a cu Y . Asupra celor dou
a multimi X si Y , sunt
corecte aceleasi consideratii care s-au expus la CLC (vezi relatia 2.1). In plus, CLCul mai produce la momentul t nc
a alte k variabile de iesire wk1 (t), . . . , w1 (t), w0 (t)
care prin leg
aturi de reactie si prin intermediul elementelor de nt
arziere i , i =
0, 1, . . . , (k 1), se aplic
a pe intrare ca variabile de intrare secundare la momentul t + i , zk1 (t + k1 ), . . . , z1 (t + 1 ), z0 (t + 0 ). Consider
and c
a nt
arzierile i ,
introduse de elementele de nt
arziere sunt toate egale cu , se pot scrie urm
atoarele
relatii pentru cele k intr
ari secundare zi , i = 0, 1, 2, . . . , (k 1) : zk1 (t + ) =
wk1 (t), . . . , z1 (t + ) = w1 (t), z0 (t + ) = w0 (t). Rezult
a c
a circuitul combinational
din structura CLS-ului este un circuit cu (n + k) intr
ari si (m + k) iesiri.
x 0 (t )
Intrari
principale x1 (t )
X

Intrari
secundare
Z

xn-1(t )
z 0 (t )
z 1 (t )

y0
y1

CLC
cu:
(n+k)intrari
Y(t)=f(x(t),z(t))
Q =g(x(t),z(t))

zk-1(t )

CLC2

Y(t)

Y(t)=
f(x(t),q(t))

CLC1

Q (t)

X(t) n

ym

(m+k)iesiri
+

w0 (t )
w1(t )

Q (t)=
g(x(t),q(t))

wk-1(t )

zk-1(t )= wk(t-); zk-1(t+)= wk-1(t )


k-1

a)

z 1 (t ) = w0 (t-); z 1(t+)= w1(t )


1
z 0 (t ) = w0 (t-) ; z 0 (t+) = w0 (t )
0
Starea prezenta q(t)

Starea urmatoare q+ (t)

q(t)=q+ (t- )

q(t+)=q+ (t)

Q(t)
k

SA
b)

Figura 3.1 Circuitul logic secvential, CLS: a) structurare de principiu pentru un CLS
asincron (Huffman); b) structurare cu separarea functiei de transfer intrare-iesire, de cea
de tranzitie a st
arilor.

3.1. CIRCUITE LOGICE SECVENT


IALE ASINCRONE

313

Pentru nt
arzierile i nu trebuie s
a se nteleag
a si s
a se considere c
ate un element
fizic de nt
arziere introdus special pe c
ate o linie de reactie. In implement
arile normale
ale unui CLS asincron leg
atura de reactie se realizeaz
a printr-o conectare direct
a de
la iesire la intrarea secundar
a, deci iesirea wi devine instantaneu intrarea zi (evident
dac
a timpul de propagare pe leg
atura de reactie respectiv
a este zero). In schimb,
propagarea de semnal n structura CLC-ului, de la intr
arile principale xi si intr
arile
secundare zi nspre iesirile wi , se realizeaz
a pe trasee cu anumite ad
ancimi (niveluri
logice), deci exist
a nt
arzieri care trebuie luate n considerare; de exemplu o nt
arziere
de 5 10ns pe fiecare nivel logic. Dar, n explicatia anterioar
a, pentru fiecare din
semnalele wi , i = 0, 1, . . . , (k 1) s-a considerat c
a exist
a c
ate o nt
arziere i . Intr-o
abordare didactic
a, analiza unui CLS asincron se poate simplifica dac
a se consider
a
c
a nt
arzierile de propagare din interiorul CLC-ului sunt zero dar, n compensatie,
pe fiecare linie de reactie ntre wi spre zi se introduce nt
arzierea i aferent
a iesirii
wi din CLC. Simplificarea poate merge si mai departe prin supozitia facut
a anterior,
c
a toate aceste nt
arzieri i , introduse pe leg
aturile de reactie, sunt egale cu . In
acest mod de abordare didactic la CLS transferul intrare-iesire este instantaneu prin
CLC, n schimb variabilele wi devin variabile de intrare secundar
a, zi , numai dup
a
intervalul de timp .
Configuratia intr
arilor secundare sau cuv
antul format cu valorile binare ale celor k
variabile secundare la momentul t, zk1 (t) . . . , z1 (t), z0 (t) defineste o m
arime intern
a
proprie circuitului secvential denumit
a starea prezent
a a circuitului, notat
a cu
q(t). Cuv
antul format din valorile de iesire wk1 (t) . . . w1 (t), w0 (t) formeaz
a starea
urm
atoare notat
a cu q+ (t). In raport cu intr
arile principale si iesirile circuitului,
care sunt m
arimi vizibile n exterior(la borne), starea q(t) este o m
arime intern
a
proprie circuitului, neaccesibil
a la bornele circuitului. Datorit
a introducerii
elementelor de nt
arziere pe linile de reactie apar evidente urm
atoarele relatii ntre
starea prezent
a si starea urm
atoare:
q(t) = q + (t ); q(t + ) = q + (t)

(3.1)

Adic
a starea prezent
a q(t) este identic
a cu starea urm
atoare q + (t ), care a fost
n urm
a la momentul (t ), sau starea prezent
a q(t + ), care va fi la momentul
(t+), este egal
a cu starea urm
atoare q + (t) din momentul t (starea urm
atoare devine
stare prezent
a dup
a nt
arzierea ).
Deoarece starea prezent
a q(t) este aceeasi cu starea urm
atoare q + (t ), care a
fost n urm
a la momentul (t) si care a fost calculat
a n functie de st
arile anterioare,
nseamn
a c
a n functionarea circuitului, prin intr
arile de reactie, intervine si evolutia
,,
anterioar
a a circuitului, adic
a influenteaz
a si istoria . Apare clar faptul c
a la un
CLS, n raport cu un CLC, iesirile sunt dependente nu numai de intr
arile prezente
ci si de intr
arile anterioare care au determinat succesiunea st
arilor anterioare si care
se reg
asesc n valoarea st
arii prezente. Partea combinational
a a CLS pe baza unei
configuratii de intrare X(t) si a st
arii prezente q(t) calculeaz
a valorile configuratiei
de iesire Y (t) precum si starea urm
atoare q + (t). Aceste dou
a transferuri, spre cele
dou
a tipuri de m
arimi de iesire, sunt evidentiate n Figura 3.1-b prin reprezentarea
separat
a a celor dou
a p
arti combinationale CLC2 si CLC1.
Pentru o formalizare a exprim
arii function
arii unui CLS se introduc urm
atoarele
notatii:

314

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Multimea Q = {qp , . . . , q2 , q1 , q0 } este multimea st


arilor circuitului; pot
exista maximum p = 2k st
ari exprimate printr-un cuv
ant cu lungimea de k biti
de forma zk1 . . . zl . . . z1 z0 , zl {0, 1}. Si multimea Q, ca si multimea Y , este
incomplet definit
a |Q| 2k ; multimea st
arilor realizate de circuit este definit
a
pe multimea nevid
a a p
artilor lui Q, adic
a pe P (Q)
Functia de transfer f intrare-iesire a CLS-ului exprim
a procesul de modificare a iesirilor n dependenta de cuv
antul de intrare si de cuv
antul st
arii prezente
prin relatii de forma:
y0 (t) = f0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t))
y1 (t) = f1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t))
.................................................................
ym1 (t) = fm1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t))
f :X QY

(3.2)

Functia de tranzitie a st
arilor g exprim
a determinarea st
arii urm
atoare;
adic
a pe baza st
arii prezente si a cuv
antului de intrare se calculeaz
a starea
urm
atoare q + (t) prin relatii de forma:
w0 (t) = g0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t))
w1 (t) = g1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t))
................................................................
wk1 (t) = gk1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t))
g :X QQ

(3.3)

Fiec
arui element din produsul cartezian X Q poate s
a-i corespund
a mai multe
elemente din multimile Y sau Q. Deoarece iesirile circuitului sunt definite pe p
arti
ale multimii de iesire P (Y ) si la fel st
arile sunt definite pe p
arti ale multimii st
arilor
P (Q) relatiile 3.2 si 3.3 trebuie scrise sub forma:
f : X Q P (Y )
g : X Q P (Q)

(3.4)

totusi, uneori, pentru usurinta scrierii se utilizeaz


a formele anterioare. Aplicatiile
anterioare (3.2 si 3.3) corespund cu cele din relatiile 3.4 c
and oricare element din
P (Y ) si P (Q) are cardinalul 1(contine un singur element).
Cu notatiile introduse un CLS poate fi exprimat ca un cvintuplu:
CLS = (X, Y, Q, f, g)

(3.5)
,,
Dac
a multimea st
arilor este multimea vid
a Q (circuitul nu are istorie )
atunci: g : X nu exist
a functie de tranzitie a st
arilor iar, f : X Y se
reduce la f : X Y , deci se obtine:
CLS|Q CLC = (X, Y, f )
Rezult
a c
a un CLS la care multimea st
arilor este multimea vid
a se reduce la un CLC
(iesirile sunt functie doar de vectorul de intrare X si nu exist
a reactie). Se poate

3.1. CIRCUITE LOGICE SECVENT


IALE ASINCRONE

315

concluziona c
a elementul care face trecerea de la combinational la secvential
este conexiunea de reactie; si invers, desfacerea reactiei la un circuit secvential l
transform
a n circuit combinational.
La un CLS, pe baza produsului cartezian ntre cuv
antul X(t) aplicat pe intrare si
al st
arii prezente Q(t), circuitul combinational calculeaz
a cuv
antul iesirii Y (t), relatia
3.2, si la fel, calculeaz
a starea urm
atoare Q+ (t), relatia 3.3. Dup
a nt
arzierea
cauzat
a de transferul pe liniile de reactie, starea urm
atoare Q+ (t) devine noua n
momentul (t + ), Q(t + ) = Q+ (t).
S
a presupunem c
a la intrarea principal
a se aplic
a cuv
antul X1 (t) si starea prezent
a
a circuitului este q1 (t) = zk1 (t) . . . z1 (t)z0 (t). Pe baza produsului cartezian X1 (t)
q1 (t), pe circuitul combinational, se calculeaz
a cuv
antul de iesire Y1 (t) precum si
cuv
antul st
arii urm
atoare q1+ (t) = wk1 (t) . . . w1 (t)w0 (t), iar dup
a nt
arzierea , de
propagare pe liniile de reactie, starea urm
atoare devine starea prezent
a q 2 (t + ) =
q1+ (t). Consider
am nemodificat cuv
antul de intrare X1 (t + ) (= X1 (t)) din nou pe
baza produsului cartezian X1 (t + ) q2 (t + ) se calculeaz
a iesirea Y2 (t + ) si
cuv
antul st
arii urm
atoare q2+ (t + ) care dup
a nt
arzierea devine starea prezent
a
q3 (t + 2) = q2+ (t + ) si asa mai departe!. Dar, aceasta nseamn
a c
a acest proces
de evolutie din stare n stare (traseu), pentru acelasi cuv
ant aplicat pe intrare, este
infinit, adic
a circuitul nu se stabilizeaz
a ntr-o anumit
a stare, denumit
a stare stabil
a.
Conditia ca o stare a circuitului s
a fie stabil
a se reduce la identitatea cuv
antului
st
arii prezente q(t) cu cel al st
arii urm
atoare q + (t), calculat
a pe baza produsului
cartezian X(t) q(t), adic
a wi (t) = zi (t) pentru toate valorile i = 0, 1, 2, . . . , (k 1).
Pentru o anumit
a intrare aplicat
a c
and cuv
antul a ajuns ntr-o stare stabil
a, adic
a
nu se mai modific
a n timp, circuitul poate fi considerat c
a evolueaz
a permanent
din aceeasi stare tot cu aceeasi stare. Uneori variabilele wi (t) ale st
arii urm
atoare
calculate sunt referite ca variabile de excitatie, deoarece prin intermediul acestora
circuitul este trecut ntr-o alt
a stare.
Exemplul 3.1 Pentru circuitul din Figura 3.2 sa se analizeze starile stabile.
Solutie. Circuitul prezint
a o singur
a intrare x, o singur
a iesire y, doi biti pentru starea
prezent
a, z1 , z0 , exprimat
a prin cuv
antul z = z1 z0 , si doi biti pentru starea urm
atoare
calculat
a, w1 , w0 , (functii de excitatie), exprimat
a prin cuv
antul w = w1 w0 . Int
arzierile de
propagare pe traseele portilor logice si pe conexiunea de reactie s-au concentrat n dou
a valori
de timp de nt
arziere, 1 , 0 care s-au introdus pe liniile de reactie. Timpul de propagare
pe o poart
a poate fi specificat ca fiind, de exemplu, n intervalul 5 10ns, deci chiar pentru
trasee cu topologie identic
a, pentru calculul functiilor de excitatie w1 , w0 , timpii de nt
arziere
sunt n general diferiti, 1 6= 0 .
Din structura circuitului se deduc functiile de excitatie (tranzitia circuitului), w1 , w0 si
functia de transfer intrare-iesire y
w1 = x + z 1 z 0
w0 = x + z 1 z 0
y = z 1 z0 + z 1 z0
Cu aceste relatii pentru cele patru st
ari posibile ale circuitului, z1 z0 = 00, 01, 11, 10 si cele
dou
a valori ale variabilei de intrare x = 0, 1 se calculeaz
a valorile pentru w1 , w0 , care sunt
prezentate n primele dou
a tabele din Figura 3.2-b. In ultimul tabel din aceast
a figur
a,
obtinut din cele dou
a tabele anterioare, sunt figurate pentru fiecare pereche a produsului
cartezian, z1 z0 x, format ntre starea prezent
a si intrarea aplicat
a, valorile calculate ale

316

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

.
.
.

..
z0

a)
x
z

z1 1
z0 1

t0

w0

1
0

t0+

0
Stare : S

1
I

1
S

w0 1

z1 1
z0 1
w1 1
w0 1

0
0
0
0
0

y 1

0
Stare : S

t0

1
0

1
1

x
z1z0
0
1
00 00 /0 11/0

01 1

01 01 /1 11/1

11 0

11 0

11 00/0

10 1

10 0

10 10 /1 11/1

w1

w0

t0

t
x

t0+ 0 t0+ 1

0
I

t
I

t0+

11

01 01

11

z1z0 00

00

11

w1w0 00

11

11

11 00

11

10 10

11

00

00

11

Stare :

x 1
z

z1 1
z0 1
w1 1
w0 1
y 1

Stare :

0
0

x
0
z1z0
00 00

t0

1
0

t0+ 0

1
1

t0+ 1

t
t

0
0
S

0
I

t
I

t t0 t0+ 0 t0+ 1
x 0 1 1 1

x
z1z0
0
00 00

1
11

11

z1z0 00 00 01 11

01 01

11

w1w0 00 11 11 11

11 00

11

10 10

11

x
z1z0
0
00 00

1
11

01 01

z1z0 00 00 01

11

w1w0 00 11 11

11

11 00

11

Stare : S I I
00 00 01

S
11

10 10

11

d)

w1 w0/y

11 /0

t0 t0+ 0 t0+ 1
t
x 0 1 1
1

x
1 z1z0 0
00 0
1

01 0

b)

w1 1

x 1
z

x0
z1z0 0
00 0

c)

w1

w1

y=z1z0+z1z0

w0=x+z1z0

w0

z1

w1=x+z1z0

Stare : S I I
00 00 10

S
11

e)

Figura 3.2 Analiza st


arilor stabile pentru un circuit CLS asincron:

a) structur
a circuit; b) tabelul de evolutie al st
arilor; c) analiza traseului obtinut
00 00 11 pentru cazul 1 = 2 = ; d) analiza traseului obtinut 00

00 01 11 pentru cazul 0 < 1 ; e) analiza traseului obtinut 00 00


10 11 pentru cazul 1 < 0 .

3.1. CIRCUITE LOGICE SECVENT


IALE ASINCRONE

317

st
arii urm
atoare si a iesirii, w1 w0 ; y. Cuvintele de cod ale st
arilor prezente sunt notate n
partea st
ang
a a tabelului, la nceputul fiec
arei linii, iar valorile aplicate intr
arii sunt figurate
la cap
atul superior al fiec
arei coloane din tabel. Din acest tabel, referit ca tabelul de
evolutie al st
arilor, se poate deduce de exemplu c
a: pentru starea prezent
a z1 z0 = 11 si
intrarea aplicat
a x = 0 se calculeaz
a starea urm
atoare w1 w0 = 00 si iesirea y = 0, (00/0),
iar pentru aceeasi stare prezent
a 11, dar cu intrarea aplicat
a x = 1, se calculeaz
a starea
urm
atoare 11 si y = 0, (11/0).
Conditia de stabilitate pentru o stare, w1 (t)w0 (t) z1 (t)z0 (t) impune ca pe fiecare linie
din tabelul de evolutie al st
arilor, corespunz
atoare unei st
ari prezente, s
a existe cel putin
o stare urm
atoare calculat
a cu un cod identic cu cel al st
arii prezente. De exemplu, pe
prima linie, corespunz
atoare st
arii prezente z1 z0 = 00, se genereaza 00/0 pentru x = 0
si se genereaz
a 11/0 pentru x = 1, deci starea urm
atoare calculat
a w1 w0 = 00 este o
stare stabil
a(circuitul r
am
ane tot n starea prezent
a 00, respect
a conditia 00 = 00); dar n
schimb starea urm
atoare calculat
a w1 w0 = 11 nu este o stare stabil
a, pentru starea prezent
a
z1 z0 = 00, deoarece 11 6= 00 (circuitul nu r
am
ane n starea prezent
a). St
arile urm
atoare
calculate care sunt stabile, se evidentiaz
a n tabelul de evolutie al st
arilor prin ncercuire.
Pe aceeasi linie a tabelului pot exista mai multe st
ari stabile(ncercuite), de exemplu la un
tabel care are 2n coloane, acesta corespunde unui circuit cu n intr
ari principale, deci aceleiasi
st
ari prezente i se pot aplica 2n configuratii de intrare. Tabelul de evolutie al st
arilor este
referit ca tabelul primitiv de evolutie al st
arilor dac
a pe fiecare linie a sa exist
a doar
o singur
a stare stabil
a (ncercuit
a), cum este cazul acestui tabel analizat. De asemenea,
cuv
antul care reprezint
a produsul cartezian Q X este referit ca starea total
a a
circuitului. O stare total
a este stabil
a dac
a la intersectia corespunz
atoare a st
arii prezente
si a intr
arii aplicate, n tabelul de evolutie al st
arilor, este o stare urm
atoare calculat
a notat
a
ncercuit si respectiv, este o stare total
a instabil
a pentru o stare urm
atoare calculat
a notat
a
nencercuit. Pentru acest circuit, din tabelul de evolutie, rezult
a c
a exist
a patru st
ari totale
stabile z1 z0 x = 000, 010, 111, 100 si patru st
ari totale instabile 001, 011, 110, 101.
La un circuit secvential asincron, av
and o stare prezent
a stabil
a prin aplicarea unui
cuv
ant de intrare, evolutia poate fi: tot n aceeasi stare stabil
a, ntr-o alt
a stare stabil
a, n
una dintre mai multele st
ari stabile posibile (curs
a critic
a) sau o ciclare ntre mai multe st
ari
instabile (oscilator). Pentru circuitul din figur
a se vor analiza trei cazuri posibile de evolutie
a st
arilor c
and se afla n starea total
a stabil
a z1 z0 x = 000 si intrarea se modific
a de la 0 la 1.
Pentru fiecare caz evolutia st
arilor va fi reprezentat
a simultan prin trei modalit
ati: diagrama
de evolutie n timp a semnalelor, tabelul de evolutie n timp al st
arilor si tabelul de evolutie
al st
arilor (notatiile S si I indic
a pentru starea prezent
a atins
a c
a: este stabil
a, respectiv
instabil
a).
1. 1 = 0 = Figura 3.2-c. (Propagarea semnalelor pe ambele conexiuni de reactie
se realizeaz
a n acelasi timp , iar propagarea pe partea combinational
a se face instantaneu,
timp zero). Pentru z1 (t0 )z0 (t0 ) = 00 si x(t0 ) = 1 se calculeaz
a, pe baza relatiilor anterioare,
starea urm
atoare w1 (t0 )w0 (t0 ) = 11. Deci circuitul trece din starea stabil
a 00 n starea
instabil
a 00, z1 (t0 )z0 (t0 ) = 00 6= w1 (t0 )w0 (t0 ) = 11, si r
am
ane n aceast
a stare instabil
a pe
durata dup
a care trece n noua stare prezent
a de la momentul t0 +, z1 (t0 +)z0 (t0 +) =
11. In noua stare prezent
a se calculeaz
a starea urm
atoare care este w1 (t0 +)w0 (t0 +) = 11
si pentru care este ndeplinita conditia z1 (t0 +)z0 (t0 +) = 11 = w1 (t0 +)w0 (t0 +) = 11,
deci noua stare prezent
a este o stare stabil
a, 11 , circuitul ram
ane n aceast
a stare. Evolutia
a fost starea stabil
a 00 , starea instabil
a 00 si apoi n starea stabil
a 11 .
2. 0 < 1 , Figura 3.2-d. Aceast
a relatie arat
a c
a bitul w0 al st
arii urm
atoare calculate
se propag
a n bitul z0 al st
arii prezente mai repede dec
at bitul w1 n z1 . In momentul t0
a
c
and x se modific
a din 0 n 1 se trece din starea prezent
a stabil
a 00 n starea instabil

318

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

00, z1 (t0 )z0 (t0 ) = 00 6= w1 (t0 )w0 (t0 ) = 11. Dup


a durata 0 noua stare prezent
a este
z1 (t0 + 0 )z0 (t0 + 1 ) = 01 care pentru x = 1 genereaz
a w1 (t0 + o )w0 (t0 + 0 ) = 11 6= 01,
deci si aceast
a stare prezent
a 01 este instabil
a. In momentul t0 + 1 si bitul w1 se propag
a
n z1 iar noua stare prezent
a este z1 (t0 + 1 )z0 (t0 + 1 ) = 11 pentru x = 1 calcul
and bitii
st
arii urm
atoare rezult
a w1 (to + 1 )w0 (t + 1 ) = 11, deci starea prezent
a 11 este o stare
stabil
a. Evolutia a fost starea stabil
a 00 , trecerea n starea instabil
a 00(la momentul t0 ),
trecerea n starea instabil
a 10 (la momentul t0 + 0 ) si n final trecerea n starea stabil
a
11 (la momentul t0 + 1 ).
3. 1 < 0, Figura 3.2-e. De data aceasta bitul w1 al st
arii urm
atoare calculate se
propag
a n bitul z1 al st
arii prezente naintea propag
arii bitului w0 n z0 . Analiza evolutiei
st
arilor se realizeaz
a similar ca la punctul 2 si rezult
a o succesiune 00 00 10 11 .
In concluzie acest circuit din starea total
a 000 poate trece n starea total
a 001 (n functie

de valorile nt
arzierilor 1 si 0 ) prin una din urm
atoarele trei succesiuni:

00 00

11 sau 00 00 01 11 sau 00 00 10 11 . Cursa pentru un circuit este

necritic
a dac
a pornind dintr-o stare, pe oricare traseu, se ajunge n final n aceeasi stare
total
a stabil
a, cum este n cazul analizat. In opozitie, un circuit prezint
a o curs
a critic
a
dac
a din aceeasi stare total
a initial
a se ajunge n st
ari totale stabile diferite n functie de
traseul urmat.
Conditia de curs
a critic
a pentru un circuit asincron poate aparea c
and dou
a sau mai
multe din variabilele binare de stare zi si schimb
a valoarea la o modificare n cuv
antul de
intrare X(t). In consecinta
, printr-o judicioas
a codificare a st
arilor circuitului, n tabelul de
evolutie al st
arilor, se poate realiza un circuit f
ar
a curse critice. La un circuit f
ar
a curse
critice trebuie ca pe traseul de evolutie al st
arilor n fiecare moment de trecere de la o stare
instabil
a la o alt
a stare instabil
a, s
a se modifice doar un singur bit n cuv
antul st
arii calculate.
Poate exista si cazul c
and evolutia st
arilor este pe un traseu ciclic format numai pe st
ari
instabile ceea ce determin
a o functionare de oscilator pentru circuit. Dar s
a analiz
am
un astfel de regim n Exemplul 3.2. Analiza si sinteza circuitelor secventiale asincrone este
destul de dificil
a dac
a nu se introduc anumite restrictii. In acest sens, n primul r
and se
admite c
a n configuratia de intrare X(t) la un moment dat se modific
a doar un singur bit.
S
i n al doilea r
and, se consider
a c
a o modificare a semnalului de intrare nu are loc p
an
a c
and
circuitul nu a ajuns ntr-o stare stabil
a. Un circuit secvential asincron care respect
a
aceste dou
a restrictii este referit ca circuit ce functioneaz
a n mod fundamental.

Exemplul 3.2 Sa se analizeze functionarea circuitelor secventiale asincrone realizate


numai cu inversoare nseriate.
Solutie. Se disting dou
a structuri cu num
ar impar si num
ar par de inversoare nseriate.
a) In Figura 3.3-a este prezentat un circuit secvential asincron realizat printr-o leg
atur
a
de reactie la o poart
a NAND2. Pentru intrarea x = 1 poarta NAND2 are o functionare
de inversor w = z. Din tabelul de evolutie al st
arilor, Figura 3.3-b, se observ
a c
a pentru
coloana x = 1 nu exist
a nici o stare stabil
a. Pentru starea prezent
a z = 0 si intrarea x = 1 se
calculeaz
a starea urm
atoare w = 1 care genereaz
a o tranzitie, w z = 1, pe linia a doua a
tabelului, unde pentru starea prezent
a z = 1 si intrarea x = 1 se calculeaz
a starea urm
atoare
w = 0 care genereaz
a o tranzitie, w z = 0, pe linia nt
aia a tabelului, unde pentru starea
prezent
a z = 0 si intrarea x = 1 se calculeaz
a starea urm
atoare w = 1 care genereaz
a o

319

3.1. CIRCUITE LOGICE SECVENT


IALE ASINCRONE

x
z

CLC
w

pt x=1

pHL
pLH

a)
x

c)

x
0
0
1
1

w
b)

z
0
1
0
1

xz =w
1
1
1
0

z 0
0 1
1 1

1
1
0

w
1
z

pHL

pLH

pHL

pLH

pHL

pLH

T= PHL+ PLH
Figura 3.3 CLS asincron realizat prin nserierea unui num
ar impar de inversoare:
a) structur
a realizat
a pe baza unei singure porti NAND2; b) tabelul de evolutie al st
arilor;
c) variatia n timp a semnalelor generate.

tranzitie w z = 1 pe linia a doua a tabelului si procesul se repet


a, adic
a trece ncontinuu
ntre st
arile instable z = 0 si z = 1. Pe baza schemei echivalente, ca CLS asincron Huffman,
din Figura 3.3-a, se pot reprezenta semnalele z si w,Figura 3.3-c, consider
and inversorul cu
timp de transfer zero, iar timpii s
ai de propagare pHL si pLH sunt introdusi ca nt
arzieri pe
leg
atura de reactie. Pentru x = 0 modific
arile st
arii prezente z nu se transmit prin poarta
NAND2, w este permanent 1, dar pentru x = 1 starea prezent
a z se transmite prin poart
a
cu valoarea complementat
a, w = z (vezi tabelul de adev
ar). Pentru starea prezent
a z = 1 si
x = 1 se calculeaz
a instantaneu starea urm
atoare w = 0 care devine stare prezent
a z = 0,
dup
a nt
arzierea pHL , pe baza c
aruia se calculeaz
a noua stare urm
atoare w = 1 care devine
stare prezent
a z = 1 dup
a nt
arzierea pLH si procesul se repet
a. Deci circuitul are functionare
de generator de semnal dreptunghiular cu perioada T = pHL + pLH . Functia de generator de
semnal dreptunghiular o are orice CLS asincron la care partea combinational
a este o nseriere
a unui num
ar impar n de inversoare, perioada semnalului generat fiind T = n(pHL + pLH )
vezi Exemplul 1.17.
b) In Figura 3.4-a este prezent
a o structur
a de CLS asincron realizat prin inserarea a dou
a
porti NAND2, iar pentru cuv
antul de intrare x1 x0 = 11 fiecare poart
a este echivalent
a cu un
arei valori sunt
inversor, Figura 3.4-b. Functia de tranzitie este w = zx1 x0 = zx1 + x0 ale c

x0
x1
z
a)

CLC

b)

pt x1x0=11
pHL,
pLH

pLH,
pHL

x1x0
z 00 01 11 10

1 1 0 0 1

c)

0 1 0 1 1

Figura 3.4 CLS asincron realizat prin nserierea unui num


ar par de inversoare:
a) structur
a realizat
a pe baza a dou
a porti NAND2; b) structur
a echivalent
a ca CLS Huffman; c) tabelul de evolutie al st
arilor.

320

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

trecute n tabelul de evolutie al st


arilor din Figura 3.4-c. Pentru coloana x1 x0 = 11 se observ
a
c
a at
at starea z = 0 c
at si starea z = 1 sunt stabile, adic
a starea urm
atoare calculat
a w este
identic
a cu starea prezent
a si se tranfer
a n stare prezent
a dup
a nt
arzierea = pHL + pLH .
Din acest tabel se observ
a c
a pentru toate combinatiile de intrare x1 x0 = 00, 01, 11, 10 exist
a
st
ari stabile pentru circuit (o discutie necesit
a cazul c
and x1 x0 = 00, vezi sectiunea 3.3.1).
Se poate generaliza aceast
a afirmatie, un CLS asincron compus prin nserierea unui num
ar
par de inversoare are pentru fiecare cuv
ant de intrare cel putin o stare stabil
a.

3.2

CIRCUITE LOGICE SECVENT


IALE
SINCRONE

,,
La un circuit logic secvential asincron variabila timp curge continuu, exist
a
ncontinuu transfer de la iesire spre intrare, pe calea de reactie, deci o evolutie dintr-o
stare n alta (chiar si c
and este ntr-o stare total
a stabil
a se poate considera c
a circuitul
evolueaz
a incontinuu din acea stare tot n acea stare). Spre deosebire de circuitul
,,
asincron, la un circuit logic secvential sincron variabila timp are o curgere
discret
a, trecerea/tranzitia dintr-o stare n urm
atoarea se face numai n momentele
bine definite de c
atre semnalul de ceas/clock. Semnalul de ceas (clock) este un semnal
dreptunghiular periodic care comut
a ntre L si H si invers cu un coeficient de umplere
50%, Figura 3.5, simbolizat n circuite prin abreviatia CLK. Comutarea repetat
a
ntre L si H este utilizat
a pentru a marca timpul, unitatea de timp fiind perioada T
a acestui semnal; un moment pe scara timpului se marcheaz
a doar printr-un multiplu
de perioad
a de clock: . . . , iT, (i + 1)T, (i + 2)T, . . ..
Ceasul n circuitele sincrone poate actiona pentru marcarea timpului prin unul
din palierele sale, referit ca palier activ. De exemplu, marcarea timpului pe palierul
activ H este reprezentat
a n Figura 3.5-a, iar marcarea timpului cu frontul activ
cresc
ator/ anterior/ pozitiv sau cu frontul activ descresc
ator/posterior/negativ este
reprezentat
a respectiv n Figura 3.5-b si 3.5-c. Marcarea pe palier(=interval) se face
ntr-un mod mai grosier, pe c
and marcarea pe front este un mod foarte precis.

SU
CLK

CLK
iT

a)

CLK
iT

(i+1)T
b)

(i+1)T

CLK
iT

c)

(i+1)T
d)

iT

Figura 3.5 Semnale de ceas pentru sincronizare pe: a) pe palier; b,c) pe frontul
pozitiv/crec
ator respectiv negativ/descresc
ator; d) fereastra de decizie = SU + H axat
a
pe frontul de sincronizare, pe durata c
aruia semnalul de sincronizat nu trebuie s
a si modifice
valoarea.

3.2.1

Sincronizarea semnalelor asincrone

Inainte de prezentarea CLS sincrone se va analiza modul n care un semnal este

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

321

sincronizat. Prin sincronizarea unui semnal se ntelege aducerea acelui semnal n


,,
acelasi timp cu semnalul de ceas. Aceasta nseamn
a c
a semnalul asincron este
citit/esantionat si nscris ntr-un element de memorare numai n momentele discrete
dictate de semnalul de ceas. Dar care va fi valoarea citit
a pentru un semnal asincron
c
and sincronizarea se face pe palier? Dificil de spus, deoarece semnalul fiind cu variatia
,,
,,
asincron
a poate s
a si modifice valoarea ntre 0 si 1 de nenum
arate ori pe durata
palierului impulsului de ceas; n aceast
a situatie n elementul de memorare se va
nscrie valoarea pe care o are semnalul asincron pe frontul de sf
arsit al palierului activ.
Evident c
a, pentru a face o citire corect
a trebuie s
a se impun
a ca semnalul s
a nu se
modifice pe durata palierului. La esantionarea pe front, consider
and c
a panta acestuia
este infinit
a (durata frontului f = 0), conditia de a se mentine nemodificat semnalul
asincron doar ntr-un singur punct este mai usor de ndeplinit. Dar si la sincronizarea
pe front se impune ca semnalul asincron s
a nu si modifice valoarea pe un interval de
timp de prestabilire SU (set-up) nainte de front si apoi pe nc
a un interval de
timp de mentinere H (hold) dup
a front, relatia 3.23; deci nici o modificare
pe l
atimea unei ferestre (de decizie) cu l
atimea = SU + H axat
a pe
frontul semnalului de ceas, Figura 3.5-d. Aceast
a restrictie de nemodificare pe
intervalul este impus
a de c
atre functionarea elementului fizic bistabilul care
realizeaz
a citirea si memorarea semnalului asincron. Bistabilul (a se vedea Figura
3.5-d) la o modificare a semnalului asincron (de sincronizat) n intervalul , poate
memora fie valoarea logic
a 1, fie valoarea logic
a 0, deci nu se poate controla valoarea
care se nscrie (functionare nedeterminist
a). Teoretic, aceste restrictii de nemodificare
n momentul esantion
arii duc la afirmatia c
a un semnal asincron (fiind asincron poate
s
a se modifice oric
and) nu poate fi sincronizat corect. Din analiza cazurilor urm
atoare
se va vedea c
and aceast
a concluzie este corect
a si c
and nu.
Se consider
a cazul c
and trei semnale asincrone A = 0, B = 0, C = 1 sunt esantionate simultan, dar numai semnalul C si modific
a valoarea de la 1 la 0 n fereastra de
decizie , centrat
a pe frontul pozitiv de ceas de la momentul iT, Figura 3.6-a. Dup
a
frontul pozitiv de sincronizare se memoreaz
a fie cuv
antul ABC = 001 fie cuv
antul
ABC = 000, dar ambele cuvinte sunt corecte deoarece oricare dintre acestea sunt
generate de c
atre sursa cuv
antulului ABC. Dac
a la frontul iT se obtine cuv
antul
ABC = 001 la urm
atorul front de sincronizare (i + 1)T , consider
and c
a semnalul
C si p
astreaz
a nemodificat
a noua valoare 0, se memoreaz
a valoarea corect
a, adic
a
ABC = 000. Deci necitirea corect
a la momentul iT poate fi privit
a ca o nt
arziere a
sincroniz
arii cu un tact a cuv
antului ABC = 000.
Cazul c
and pentru cele trei semnale asincrone, n fereastra de decizie de pe frontul pozitiv al semnalului de ceas de la momentul iT, se modific
a dou
a dintre semnale, C de la 1 la 0 si B de la 0 la 1, este reprezentat n Figura 3.6-b. Dup
a
frontul pozitiv de sincronizare se pot memora unul din urm
atoarele patru cuvinte
ABC = 001, 010, 000, 011, iar dup
a al (i+1)T front de sincronizare, dac
a nu mai apar
modific
ari, cu nt
arziere de un tact se obtine cuv
antul corect ABC = 010. Deci n
intervalul dintre iT si (i+1)T, datorit
a indeciziei semnalului citit, pot ap
area si cuvintele ABC = 000 si ABC = 011 care sunt incorecte deoarece sursa nu a generat
aceste cuvinte ci doar cuvintele 001 si 010. Deci la modificarea a doi sau mai multi
biti, sincronizarea nu poate fi sigur
a.
In concluzie pentru sincronizarea corect
a a unui grup (cuv
ant) de semnale asincrone este necesar
a respectarea restrictiei ca la un moment dat s
a se modifice doar

322

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

A 1
0
1
B
0
1
C 0

t
t

SU

SU

CLK
a)

A=0
B=0
C=1

iT

corect
A1
0
1
B
0
1
C
0

(i+1)T

A=0
A=0
B=0 sau B=0
C=0
C=1

corect

corect

t
t
t

SU

SU

b)

A=0
B=0
C=0

CLK
A=0
B=0
C=1

iT

A=0
A=0
A=0
A=0
B=0 sau B=1 sau B=0 sau B=1
C=1
C=0
C=1
C=0
corect

corect

incorect

incorect

(i+1)T

A=0
B=1
C=0
corect

Figura 3.6 Sincronizarea (memorarea) semnalelor asincrone: a) nscrierea corect


a
a unui cuv
ant c
and se modific
a doar un singur bit; b) posibilitatea de nscriere incorect
a
c
and se modific
a mai mult de un singur bit n fereastra de decizie .

un singur semnal. Cazul particular c


and aceste semnale se obtin ca un cuv
ant de la
un CLC cu iesiri multiple, posibil nc
arcate cu hazard, pentru o sincronizare corect
a
este necesar s
a se astepte p
an
a se consum
a timpul de propagare pentru producerea
acestor semnale. Dac
a pentru un grup de semnale c
and sunt sincronizate se consider
a
fiecare semnal cu semnificatie individual
a, deci nu o semnificatie n grup/n cuv
ant,
atunci sincronizarea fiec
aruia n parte este corect
a n oricare moment de timp. Pe
c
and la un grup de semnale asincrone care se constituie ntr-un cuv
ant de cod, codul
exprimat de acel cuv
ant depinde de valoarea tuturor semnalelor din acel cuv
ant si nu
doar de unul singur, sincronizarea corect
a este imposibil
a.

3.2.2

Automate finite: structur


a, definitii, clasific
ari

Structura de principiu a unui CLS sincron se obtine din cea a unui CLS asincron,
Figura 3.1, n care elementele de nt
arziere i sunt substituite cu elemente de memorare/(registru de stare) ca n Figura 3.7-a (Registrul de stare este un circuit registru
prezentat n sectiunea 3.5. Registrul este un circuit de memorare n care se poate
nscrie un cuv
ant binar numai la aplicarea unui semnal de nc
arcare/nscriere, momentan consider
am c
a semnalul de nc
arcare este semnalul de ceas. Dup
a nscriere,

323

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

X(iT)

CLC

Z(iT)

Y(iT)=f(X(iT),Z(iT))

Y(iT)

W(iT)=g(X(iT),Z(iT))

Q(iT)

Y(iT)

CLC

Q (iT)

Y(i+1)T:=Y(iT)

Registru

Q((i+1)T):=Q (iT)

Q((i+1)T):=Q (iT)

Registru
de
stare
CLK

CLK

a)

c)
T

T
q(i1)T

iT

(i+1)T

Timp de stare,q(iT)
Perioada
tranzitorie

Perioada stabila
W(iT)=g[X(iT),Z(iT)]

Timp de stare,q((i+1)T)

Perioada
tranzitorie

Y(iT)=f[X(iT),Z(iT)]

(i+2)T
q((i+2)T)

Perioada stabila
W((i+1)T)=g[X(i+1)T,Z(i+1)T]
Y((i+1)T)=f[X(i+1)T,Z(i+1)T]

b)
X(iT)

W(iT)

Y(iT)

X((i+1)T)

W((i+1)T) Y((i+1)T)

X((i+2)T)

Z(iT):=W((i1)T)

Z((i+1)T):=W(iT)

Z((i+2)T):=W((i+1)T)

Y(iT):=Y((i1)T)

Y((i+1)T):=Y(iT)

Y((i+2)T):=Y((i+1)T)

Figura 3.7 Circuitul secvential sincron: a) structur


a de principiu; b) succesiunea n
timp a operatiilor de transfer f si de tranzitie g; c) structura de principiu pentru CLS sincron
cu iesirea n
arziat
a.

cuv
antul este permanent generat la iesirea registrului si poate fi utilizat ca intrare la
alte circuite.)
Bitii wi calculati ai functiei de excitatie, cuv
antul st
arii urm
atoare, vor fi nscrisi
n registrul de stare numai n momentele de aplicare ale fronturilor active (pozitive)
din semnalul de ceas . . . , (i 1)T, iT, (i + 1)T, . . .. Odat
a nscrisi bitii st
arii urm
atoare
n momentul iT , n registrul de stare, acestia vor deveni bitii st
arii prezente Z(iT ).
Pe baza st
arii prezente Z(iT ) si intr
arii X(iT ) (se consider
a c
a intrarea este sincronizat
a cu acelasi semnal de ceas ca si bitii st
arii prezente) se va calcula transferul
intrare iesire si functia de excitatie pentru starea urm
atoare,
Y (iT ) = f [X(iT ), Z(iT )]
W (iT ) = g[X(iT ), Z(iT )]

(3.6)

La urm
atorul impuls de ceas (i + 1)T , bitii calculati W (iT ) ai st
arii urm
atoare q + (iT )
sunt nscrisi n registrul de stare si devin bitii Z((i+1)T ) ai st
arii prezente q((i+1)T ).

324

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Din nou, pe baza st


arii prezente q((i+1)T ) si a intr
arii X((i+1)T ) se calculeaz
a dup
a
relatiile 3.6, iesirea Y ((i + 1)T ) si bitii functiei de excitatie W ((i + 1)T ) care nscrisi
n registrul de stare, la momentul (i + 2)T , devin bitii Z((i + 2)T ) ai st
arii prezente
q((i + 2)T ). Se observ
a c
a asignarea st
arii urm
atoare calculate Q + (iT ), reprezentat
a
prin bitii functiei de excitatie W (iT ), n stare prezent
a Q((i + 1)T ) se face numai
n momentul (i + 1)T prin nscrierea n registrul de stare Q((i + 1)T ) := Q+ (iT ).
Numai n momentul aplic
arii frontului activ al semnalului de ceas, pentru nscrierea
n registrul de stare, se poate considera c
a bucla este nchis
a n restul intervalului
de timp, p
an
a la aplicarea urm
atorului front activ al impulsului de ceas, bucla este
deschis
a. Deci, nu exist
a un transfer continuu a st
arii urm
atoare calculat
a Q+
n stare prezent
a Q pe leg
atura de reactie ca la CLS asincron. In intervalul
de timp dintre dou
a fronturi active ale semnalului de ceas, circuitul poate fi privit ca
un circuit combinational, care pe baza cuvintelor de intrare X(iT ) si Z(iT ) calculeaz
a
iesirile Y (iT ) si W (iT ). Inexistenta unui transfer continuu pe conexiunea de reactie,
cu exceptia momentelor aplic
arii fronturilor active ale semnalelor de ceas, i confer
a
CLS-ului asincron o functionare de circuit deschis care totdeauna este stabil, adic
a
trece dintr-o stare stabil
a n alt
a stare stabil
a.
Transferurile ntre dou
a impulsuri succesive de ceas, pe partea combinational
aa
circuitului secvential sincron sunt prezentate n Figura 3.7-b. Din momentul aplic
arii
impulsului de ceas iT se calculeaz
a, pe partea combinational
a, W (iT ) si Y (iT ), dar
bitii acestor configuratii calculate pot fi afectati de hazard datorit
a parcurgerii unui
num
ar diferit de niveluri logice, deci citirea lor trebuie facut
a numai dup
a consumarea
regimului tranzitoriu. Asignarea st
arii prezente Q((i+1)T ) := Q+ (iT ) si citirea iesirii
Y (iT ) sunt corecte numai n perioada de regim stabilizat. Aplicarea urm
atorului
impuls de ceas nu trebuie s
a fie mai devreme de consumarea regimului tranzitoriu,
deci frecventa maxim
a a semnalului de ceas cu care se poate comanda CLS-ul se
determin
a cu relatia:
fmax =

1
1
=
Tmin
pmaxCLC + pBQ + SU Q

(3.7)

n care:
pmaxCLC - timpul de propagare maxim pe circuitul combinational (care determin
a durata regimului tranzitoriu, afectat de hazard).
pBQ - timpul de propagare pe registrul (bistabilul) de stare.
SUQ - timpul de prestabilire (figura 3.5-d). Bitii calculati wi ai st
arii urm
atoare
si aplicati pe intrarea registrului de stare trebuie s
a nu se modifice cu cel putin
SU nainte de aplicarea frontului activ de ceas.
De foarte multe ori, la fel ca si bitii calculati W (iT ) ai st
arii urm
atoare si bitii
calculati Y (iT ) ai cuv
antului de iesire nainte de a fi disponibili la iesire sunt memorati
(nscrisi ntr-un registru de iesire), Figura 3.7-c. Deci, bitii Y (iT ) calculati pentru
impulsul de ceas iT vor fi disponibili la iesire la urm
atorul impuls de ceas (i + 1)T
numai dup
a ce au fost nscrisi n registru, Y ((i+1)T ) := Y (iT ). Un astfel de CLS este
referit cu nt
arziere n contrast cu cel f
ar
a registru care este referit CLS imediat.
La un CLS sincron imediat iesirea depinde de starea curent
a. Modificarea intr
arii
se simte la iesire pe durata st
arii prezente. Iesirea poate fi afectat
a de hazard, deci

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

325

trebuie citit
a doar dup
a consumarea regimului tranzitoriu. CLS sincron cu nt
arziere
are iesirea dependent
a de starea anterioar
a (corespunz
atoare ciclului anterior de ceas).
Deoarece se presupune c
a bitii de iesire au fost nscrisi n registrul de iesire dup
a
consumarea regimului tranzitoriu, iesirea nt
arziat
a nu este afectat
a de hazard. Deci
,,
la un circuit cu nt
arziere o modificare a intr
arii X(iT ) se va simtii la iesire numai
dup
a frontul activ de ceas (i + 1)T , adic
a cu o nt
arziere de un tact.
Structura de CLS sincron care contine n bucla de reactie un circuit de memorare/registru, care la r
andul s
au constituie un CLS, este referit
a prin termenul de
automat (finit) sau cu abreviatia FSM (Finite State Machine). In continuare se vor prezenta succint doar acele definitii si clasific
ari ale automatelor [Creang
a
0
73][Stefan 0 00] [Maican 0 99] care vor fi utilizate n aceast
a lucrare.
Definitia unui automat finit A este similar
a cu cea data prin relatia 3.5 pentru
un CLS asincron cu deosebirea c
a timpul nu mai este o variabil
a continu
a ci discret
a, multiplu de perioada semnalului de ceas, iT , adic
a variabilele circuitului sunt
esantionate, dar pe fronturile active
A = (X, Y, Q, f, g)

(3.8)

Definitia 3.1 Dac


a pentru oricare configuratie de intrare si de stare prezent
a,
functiile de transfer, f , si de tranzitie, g, au cardinalul unitate (contine un singur
element), atunci automatul este determinist, altfel este nedeterminist
q Q, x X, |f (q, x)| = 1, |g(q, x)| = 1

(3.9)

La un automat determinist din starea prezent


a si pentru intrarea aplicat
a se cunoaste exact iesirea precum si starea pentru tactul urm
ator, pe c
and la unul nedeterminist, starea urm
atoare si iesirea sunt cunoscute doar ca elemente care apartin
P (Q), respectiv P (Y ) (vezi relatia 3.4).
Definitia 3.2 Un automat A este finit dac
a cele trei multimi X, Y si Q sunt
finite. 

Este necesar a se evidentia faptul c


a un automat cu un num
ar finit de st
ari poate
prelucra siruri infinite aplicate pe intrare, definite pe multimea finit
a X, si poate
genera la iesire siruri infinite, definite pe multimea finit
a Y.

Definitia 3.3 Un automat A autonom, sau orologiu, este un automat la care


multimea finit
a a intr
arilor are cardinalul unitate |X| = 1 

Pentru automatul autonom, multimea configuratiilor de intrare este permanent


aceeasi ceea ce d
a automatului o comportare independent
a de exterior, vezi Exemplul
3.2. Automatul genereaz
a variatii la iesire f
ar
a s
a se modifice configuratia de intrare.

Definitia 3.4 O evolutie/traiectorie a automatului A este un sir de st


ari
nl
antuite q0 q1 . . . qi qi+1 . . ., iar starea q0 este starea initial
a a
evolutiei. O evolutie cu proprietatea:
qi Q, Xi X, qi+1 g(qi , Xi )

(3.10)

326

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

este o evolutie admisibil


a 
Definitia 3.5 Totalitatea st
arilor din care poate porni automatul este multimea
st
arilor initiale Q0 , Q0 Q 
In functie de cardinalul multimii Q0 automatele pot fi:
- automat cu o singur
a stare initial
a Q0 Q, |Q0 | = 1
- automat cu mai multe st
ari initiale Q0 Q, |Q0 | > 1
- automat neinitial(toate st
arile pot fi initiale), Q0 = Q
Intr-o stare initial
a nu se ajunge printr-o evolutie generat
a de configuratii din multimea semnalelor de intrare X ci printr-o alt
a comand
a exterioar
a, de exemplu printr-o
comand
a de initializare sau prin conectarea la tensiune se genereaz
a starea initial
a.
Definitia 3.6 O stare a automatului este considerat
a inaccesibil
a dac
a oricare
traiectorie n spatiul st
arilor ce porneste din st
ari initiale nu o contine. 
Evident, se poate vorbi de st
ari inaccesibile numai n cazul automatelor initiale
|Q0 | 1. De exemplu, dac
a pentru un automat cu trei biti de stare z2 z1 z0 pot exista
opt st
ari q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 , dar sunt definite numai cinci st
ari, q0 q4 , n
functionarea automatului atunci cele trei st
ari, q5 , q6 , si q7 sunt inaccesibile.
Definitia 3.7 Dou
a st
ari qi si qj sunt echivalente qi qj dac
a pentru oricare
configuratie de intrare aplicat
a X se genereaz
a aceleasi iesiri, iar st
arile urm
atoare
qi+1 = g(qi , X), qj+1 = g(qj , X) sunt identice sau echivalente.
f (qi , X) = f (qj , X); g(qi , X) g(qj , X)

(3.11)

In etapa de definire a function


arii unui automat se poate introduce informatie
redundant
a care duce la un num
ar total de st
ari mai mare dec
at num
arul de st
ari
care poate descrie functionarea automatului. Dac
a un grup de st
ari se demonstreaz
a
c
a sunt echivalente, toate st
arile acelui grup sunt substituite printr-o singur
a stare,
astfel reduc
andu-se num
arul total de st
ari ale automatului.
Definitia 3.8

Un semiautomat, SA, este definit prin tripletul:


SA = (X, Q, g)

(3.12)

Prin notiunea de semiautomat se identific


a n cadrul unui automat numai acea
parte care este responsabil
a pentru generarea st
arii interne. Structural, semiautomatul se obtine prin eliminarea din structura automatului a p
artii care calculeaz
a
functia de transfer, f . Pentru cele patru organiz
ari de automate reprezentate n
Figura 3.8 sunt delimitate structurile care formeaz
a semiautomatul, SA. Semiautomatul este format din partea de circuit combinational, CLC1, care calculeaz
a functia
g si registrul din calea de reactie. Unui semiautomat i se pot atasa diferite p
arti
combinationale, CLC2, pentru diferite functii f , deci pe baza unui semiautomat se
pot realiza mai multe automate. Dar si unui automat i se pot asocia diferite semiautomate. In proiectarea unui automat se porneste de la definirea function
arii automatului

327

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE
X(iT)

SA

CLC 2
f
SA

Q (iT)

CLC 1
g

Q(iT)

X(iT)

Y(iT)

CLC 2
f

Registru
1

Q(iT)

CLC 1
g

CLK

CLK

X(iT)
Q(iT)

Q (iT)

Y((i+1)T):=Y(iT)

Registru
2

Registru
1

Q(iT):=Q ((i1)T)

Q(iT):=Q ((i1)T)
a)

Y(iT)

b)
SA

CLC 1 Q (iT)
g

Reg
1

X(iT)
CLC 2 Y((i+1)T)
Q(iT)
f

CLK

SA
CLC 1
g

Q (iT)

Reg
1

CLC 2
f

Reg
2

CLK
+

Q(iT):=Q ((i1)T)
c)

Q(iT):=Q ((i1)T)

Y((i+1)T):=f(Q(iT))

Y((i+2)T):=f(Q(iT))

d)

Figura 3.8 Variante de automate Mealy si Moore structurate pe baza unui semiautomat, SA: a,b) structurare fundamental
a pentru automatele Mealy imediat si Mealy
cu nt
arziere; c,d) structurare fundamental
a pentru automatele Moore imediat si Moore cu
nt
arziere.

adic
a de la descrierea functiei de transfer intrare-iesire. Deoarece transferul intrare,,
iesire este dat, proiectantului i r
am
ane spatiu de manevr
a doar n proiectarea si
optimizarea semiautomatului.
In functie de modul cum se calculeaz
a functia de transfer f a automatului, exist
a
dou
a tipuri de automate: Mealy si Moore.
Definitia 3.9

Un automat Mealy este definit prin cvintuplu A=(X,Y,Q,f,g)

cu:
f : X Q Y

g : X Q Q

(3.13)

La automatul Mealy partea combinational


a calculeaz
a at
at functia de transfer f
c
at si cea de tranzitie g pe baza produsului cartezian X Q.
Definitia 3.10

Un automat Moore este definit prin cvintuplu A(X,Y,Q,f,g)

cu:
f :QY

g : X Q Q


(3.14)

La automatul Moore functia de tranzitie g se calculeaz


a la fel ca la automatul
Mealy, pe baza produsului cartezian X Q, pe c
and functia de transfer f este calculat
a

328

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

doar pe baza st
arii prezente Q. Iesirea automatului Moore este dependent
a de intrare
doar prin intermediul tranzitiilor realizate n spatiul st
arilor.
Fiecare din aceste dou
a tipuri de automate poate fi realizat cu functionare imediat
a
sau nt
arziat
a, Figura 3.8.
Automatul Mealy imediat, Figura 3.8-a. Se observ
a c
a structura acestui automat se obtine prin completarea semiautomatului SA cu CLC2 care calculeaz
a iesirea
Y (iT ) pe baza produsului cartezian dintre starea prezent
a si intrarea prezent
a
Y (iT ) = f (X(iT ), q(iT ))
Iesirea Y (iT ) citit
a nainte de consumarea perioadei de regim tranzitoriu va fi afectat
a
de hazard. Mai mult, dac
a intrarea nu este sincronizat
a, cum am considerat, ci se
modific
a asincron oric
and n intervalul iT si (i + 1)T , aceste modific
ari se simt n
iesire.
Automatul Mealy cu nt
arziere, Figura 3.8-b. Completarea SA se face at
at
cu circuitul CLC2 pentru calculul functiei de transfer, f , c
at si cu un registru, Reg2,
pentru memorarea iesirii Y (iT ). Introducerea unui registru va face ca modific
arile
provocate n iesirea Y (iT ) pe intervalul iT (i + 1)T , datorate regimului tranzitoriu,
de la o intrare sincronizat
a, sau datorate variatiilor intr
arii, de la o intrare asincron
a,
s
a nu mai poat
a ajunge la iesire. Valoarea iesirii este asignat
a, doar n momentele
de aplicare a frontului activ de ceas la Reg2, cu valoarea calculat
a pe baza intr
arii si
st
arii anterioare
Y ((i + 1)T ) := f (X(iT ), q(iT ))
deci iesirea reflect
a intrarea cu o nt
arziere de un tact.
Automatul Moore imediat, Figura 3.8-c. Deoarece la acest automat iesirea se
calculeaz
a ca functie numai de stare prezent
a, relatia 3.14, la SA se adaug
a circuitul
CLC2 care are ca intr
ari doar starea prezent
a. Deoarece n starea prezent
a se reflect
a
intrarea anterioar
a si nu cea prezent
a, iesirea este nt
arziat
a cu un tact fata
de intrare
(la fel ca la automatul Mealy cu nt
arziere). Deci pentru intrarea prezent
a se obtine
iesirea numai peste un tact.
Y ((i + 1)T ) := f (q((i + 1)T )) = f (g(X(iT ), q(iT )))
Desi se obtine o izolare a iesirii fata
de intrare, nu exist
a doar CLC2 ntre intrare si
iesire, totusi automatul Moore imediat poate genera hazard pe iesire. Hazardul este
generat de faptul c
a circuitul CLC2 poate avea de la intrarea (iesirea Reg1) p
an
a la
iesirea sa un num
ar diferit de niveluri logice pentru fiecare traseu de transfer. Foarte
frecvent, la acest tip de automat se elimin
a circuitul CLC2, iesirea fiind identic
a cu
starea
Y Q

(3.15)

ceea ce elimin
a hazardul combinational din iesire.
Comportamental, un automat Moore imediat poate fi echivalent cu un automat Mealy
cu nt
arziere deoarece la ambele iesirea calculat
a pe baza st
arii prezente si a intr
arii
prezente va fi asignat
a la iesire, dar pe urm
atorul front activ de ceas.
Automatul Moore cu nt
arziere, Figura 3.8-d. Pentru a se elimina posibilitatea de hazard pe iesire de la automatul Moore imediat se adaug
a pe iesire un

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

329

registru, Reg2, obtin


andu-se automatul Moore cu nt
arziere. La nt
arzierea iesirii
fata
de intrare cu un tact de la Moore imediat, de data aceasta se mai introduce
,,
nc
a o nt
arziere de un tact, deci automatul Moore cu nt
arziere simte o intrare
transferat
a la iesire cu o nt
arziere de dou
a tacte.
Y ((i + 2)T ) := f (q((i + 1)T )) = f (g(X(iT ), q(iT )))
O clasificare neclasic
a a circuitelor digitale. Clasificarea clasic
a a circuitelor
digitale n dou
a mare clase: circuite logice combinationale, CLC si circuite logice
,,
secventiale CLS este foarte nc
ap
atoare , prezent
and o puternic
a lips
a de nuantare.
In fiecare din cele dou
a clase sunt cuprinse at
at circuite cu o definitie simpl
a c
at si
circuite cu o definitie complex
a, at
at circuite nestructurate c
at si circuite puternic
structurate. Mai mult, dac
a pentru circuitele combinationale se poate face o mapare
direct
a ntre ce vrem s
a facem (functie) si cum vrem s
a facem (structur
a), la
circuitele secventiale aceast
a mapare structur
afunctie nu totdeauna este
biunivoc
a. O tendinta
de structurare a circuitelor a existat permanent n conceptia
inginereasc
a, at
at pentru a realiza un suport de cuprindere si ntelegere, dar si pentru
modalit
atile de implementare dictate de tehnologie.
In evolutia sistemelor n natur
a, dar si n abordarea mental
a a acestora, este
evident saltul care apare la trecerea de la sistemul deschis la sistemul nchis (cu
reactie), adic
a introducerea conexiunii de reactie. Un sistem cu reactie n raport cu
cel deschis (f
ar
a reactie) poate c
ap
ata o anumit
a autonomie fat
a de intrare, o
anumit
a adaptabilitate. In functie de modul cum se structureaz
a sistemul, baz
anduse pe reactie/reactii, acesta poate deveni chiar complet autonom fata
de intrare (vezi
Definitia 3.3 ), iar spectrul functiilor realizate poate fi extins.
Bazat pe notiunea de reactie, n extensiile structurate, profesorul Gh.Stefan [Stefan
0
91] a postulat o abordare de clasificare pentru sistemele digitale care este redat
a n
continuare.
1. Extensia sistemelor digitale se face prin urm
atoarele procedee:
a
b
c
d

extensia serie, Figura 3.9-a


extensia paralel, Figura 3.9-b
estensia serie-paralel, Figura 3.9-c
extensia prin introducerea unei bucle de reactie, Figura 3.9-d

2. Sistemul de ordinul zero, SO 0, este circuitul combinational, deoarece nu are


nici o bucl
a de reactie. Ordinul unui sistem poate fi de la 0 la n, respectiv notat
prin(SO 0, SO n) corespunz
ator num
arului de la 0 la n al buclelor de reactie
care se includ una n alta.
3. Extensiile de tip a, b, c, ale unor sisteme ce au un ordin egal cu n, genereaz
a tot
un sistem de ordin n.
4. Extensia de tip d, (printr-o conexiune de reactie) ntr-o retea de sisteme ce
contin cel putin un sistem de ordin n, genereaz
a un sistem de ordin n + 1. De
exemplu, n aceast
a sectiune s-a introdus notiunea de automat care se ncadreaz
a
n SO 2 deoarece cuprinde registrul de stare, care are o reactie n structura
sa, deci este un SO 1, peste care se nchide nc
a o bucl
a (cea care transform
a
starea urm
atoare calculat
a n stare prezent
a), deci dou
a bucle de reactie.

330

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

S1

x1

y1

y2

y2
y

y1

xr

y2
x4

S3
c)

x
S2

y1
x3

S2

y1
b)

S1

x2

S1

S2
a)

x1

S4
y

y2

sr
d)

Figura 3.9 Procedee pentru structurarea sistemelor digitale: a) extensia serie;


b) extensia paralel; c) extensia serie-paralel; d) extensia prin nchiderea unei bucle de reactie.

Utiliz
and aceast
a abordare de clasificare, implicit, se ntelege c
a sistemele de ordin
superior au o mai evident
a sl
abire a corespondentei biunivoce, structur
a-functie, n
raport cu cele de ordin mai redus, pentru c
a includ mai multe conexiuni de reactie.
In aceast
a lucrare se utilizeaz
a totusi, clasificarea clasic
a de circuite combinationale
si circuite secventiale, dar n cadrul circuitelor secventiale pentru fiecare grup de
circuite se va indica si ordinul n care se ncadreaz
a conform postul
arii anterioare.

3.2.3

Modalit
ati de reprezentare ale automatelor

In capitolul doi, dup


a definirea CLS, s-au prezentat modalit
ati de reprezentare
ale functiei de transfer intrare-iesire, sectiunea 2.2. Si n acest capitol, dup
a fundamentarea structur
arii si function
arii unui CLS, se vor prezenta modalit
ati de reprezentare ale celor dou
a functii f si g. De data aceasta sunt mai numeroase modalit
atile
de reprezentare, dintre acestea vor fi expuse doar: Graficul de tranzitie al st
arilor,
Tabelul de tranzitie al st
arilor, Diagrama de variatie n timp a semnalelor, Organigrama ASM .
Evident c
a se va alege acea modalitate de reprezentare care duce la o m
asur
aa
complexit
atii c
at mai simpl
a. Complexitatea, dup
a cum s-a ar
atat n Definitia 2.1,
poate fi apreciat
a printr-o m
arime asociat
a dimensiunii definitiei. O variant
a de estimare a complexit
atii unui CLS ar fi prin num
arul total de biti n produsul cartezian
X Q. Pentru un automat cu n intr
ari principale, k intr
ari secundare si m iesiri
se estimeaz
a o masur
a a complexit
atii aparente CAA (n, k) O((n + k)2n+k ); 2n+k
combinatii (cuvinte) de intrare, fiecare cuv
ant cu lungimea de (n + k) biti), deci o
valoare foarte ridicat
a. S-ar putea estima complexitatea si numai dup
a num
arul de
iesiri CAA (m) O(m). Din aceste dou
a exprim
ari rezult
a, evident, c
a un automat
este cu at
at mai simplu de definit cu c
at produsul X Q este de dimensiune mai
mic
a. Dar aceast
a complexitate aparent
a trebuie interpretat
a ca limit
a superioar
a
deoarece complexitatea real
a poate fi mult mai mic
a. Complexitatea real
a poate fi
mult mai mic
a pentru c
a n functionarea automatului se poate identifica o anumit
a
ordine ascuns
a, anumite regularit
ati n structurare ceea ce n final determin
a o simplificare n definitie. Oricum, n implementarea unui automat se prefer
a o crestere a
dimensiunii n contul unei sc
aderi a complexit
atii. Un sistem de complexitate sc
azut
a

331

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

si dimensiune ridicat
a poate fi implementat, pe c
and implementarea unui sistem de
complexitate foarte ridicat
a, fie si de dimensiune sc
azut
a, poate fi greu implementabil.
3.2.3.1

Graful de tranzitie al st
arilor

Pentru un CLS sincron graful de tranzitie al st


arilor (diagrama de tranzitie a
st
arilor) este o reprezentare grafic
a a functiei de tranzitie a st
arilor, g, si a functiei
de transfer intrare-iesire, f , pentru toate configuratiile de intrare X. In acest graf
fiec
arui nod (cerculet) i este asignat
a o stare, iar fiecare arc orientat ntre cele dou
a
noduri reprezint
a tranzitia ntre cele dou
a st
ari. Pentru un automat Mealy pe un
arc de tranzitie se noteaz
a expresia logic
a a variabilelor de intrare (expresia logic
aa
tranzitiei) sau configuratia valorilor variabilelor de intrare pentru care aceast
a expresie
este adevarat
a, care va provoca tranzitia respectiv
a, precum si valoarea configuratiei
de iesire Y generat
a de aceast
a tranzitie. Evident, tranzitia st
arilor pe acel arc se
realizeaz
a numai c
and expresia logic
a a tranzitiei scris
a pe acel arc este adevarat
a.
Pentru un automat Moore, deoarece iesirile sunt functii doar de starea prezent
a,
f : Q Y , pe arce nu sunt trecute configuratiile de iesire Y generate de tranzitiile
respective, configuratia de iesire este nscris
a n cerculetul st
arii prezente din care se
genereaz
a iesirea respectiv
a, iar pe arce se nscrie doar expresia logic
a a tranzitiei sau
configuratia valorilor variabilelor de intrare pentru care expresia logic
a a tranzitiei
este adevarat
a.
La un automat, cu dou
a intr
ari x1 x0 si o iesire y, tranzitia din starea q0 n una
din urm
atoarele patru st
ari posibile q1 , q2 , q3 , q4 , graful de tranzitie este reprezentat
n Figura 3.10-a, pentru o functionare de tip Mealy si n Figura 3.10-b, pentru o
functionare de tip Moore. La graful de tip Mealy n noduri sunt nscrise numai
st
arile, iar pe fiecare arc este trecut
a expresia logic
a a tranzitiei/valoarea configuratiei
de iesire; la graful de tip Moore n noduri pe l
ang
a stare este nscris
a si configuratia
de iesire, iar pe fiecare arc este trecut
a doar expresia logic
a a tranzitiei. Dac
a la
impulsul de ceas iT automatul ajunge n starea q0 la cel de tip Moore se genereaz
a
iesirea y = 1, iar la cel de tip Mealy n aceast
a stare q0 se genereaz
a y = 1 numai dac
a
configuratia de intrare este 01 (xx0 = 1), pentru celelalte trei configuratii (00,10,11)

q0

x1 x0 0

q1

x1 x 0
q 0 y=1

x1x0 1
x1x 0 0
x1x 0 0

a)
q4

q2
b)

q3

x1 x 0
q 4 y=0

q1 y=1

x1 x 0
x1 x 0

q 2 y=1

q 3 y=0

Figura 3.10 Graful de tranzitie al st


arilor: a) segment de graf pentru automat de tip
Mealy; b) segment de graf pentru automat de tip Moore.

332

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

se genereaz
a y = 0. La urm
atorul impuls de ceas (i + 1)T se trece n starea urm
atoare
pentru care expresia logic
a a variabilelor de intrare este adev
arat
a, de exemplu pentru
10 (x1 x0 = 1) se trece n starea q3 (unde y = 0 pentru automatul Moore, valoarea
pentru y la automatul Mealy nu este precizat
a deoarece din aceast
a stare, n acest
caz, nu mai este figurat nici un arc de tranzitie la o alt
a stare).
Exemplul 3.3 Un automat cu doua intrari x1 , x0 si o singura iesire y, genereaza
iesirea egal
a cu 1 numai c
and din sirul de succesiuni aplicate pe intrare se identific
a secventa

00, 00, 11, 10. Pentru acest automat s


a se deseneze graful de tranzitie al st
arilor at
at pentru
o functionare de tip Mealy c
at si pentru o functionare de tip Moore.
Solutie. In general, pentru aceste automate de recunoastere, care pot fi considerate
chei electronice, n elaborarea grafului de tranzitie se urm
areste realizarea unei succesiuni
de st
ari care corespund aplic
arii pe intrare tocmai a succesiunii c
autate. Se porneste dintr-o
stare q0 , considerat
a starea initial
a.
Pentru varianta de automat Mealy numai configuratia x1 x0 = 00 corespunde nceputului
identific
arii succesiunii impuse, deci pentru aceasta se realizeaz
a o tranzitie n starea q1 ,
gener
andu-se iesirea y = 0, iar pentru celelalte trei configuratii pe intrare posibile se ram
ane

01/0
10/0

00/0

00/0

q0

00/0

q1

01/0, 10/0, 11/0

11/0

q0

x 1+ x 0

x1x 0 /0
x1x 0 /0
q1

,1
11

c)

q0 /0
01, 11, 10

q3

x1x 0 /0

10

q4 /1
00

x1x 0 /0

q2

(x1x 0 + x1x 0 )/0


x1x 0 /1 , x 0 /0

0,

01

b)

10
11

q3

10/1,01/0,11/0

x1x 0 /0

01

11/0

00/0

10/0,01/0

a)

x 1+ x 0 /0

q2

00

00
11

00

q1 /0

q2 /0

q3 /0

00

10, 01
01, 11

Figura 3.11 Grafuri de tranzitie pentru automatul care identific


a succesiunea
00 00 11 10: a) pentru un model Mealy cu marcarea pe arce a configuratiilor de intrare si
iesire; b) pentru un model Mealy, dar cu nscrierea pe arce a expresiei logice a functiei de
tranzitie; c) pentru un model Moore.

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

333

tot n q0 si y = 0, Figura 3.11-a. La fel, n q1 numai configuratia x1 x0 = 00 produce tranzitia


n q2 si genereaz
a y = 0, celelalte trei configuratii produc tranzitia n q0 de unde se poate
ncepe de la cap
at identificarea succesiunii impuse. In q2 intrarea potrivit
a este x1 x0 = 11
care determin
a tranzitia n q3 si genereaz
a y = 0; intrarea x1 x0 = 00 poate fi considerat
a ca
o a doua combinatie de 00 din succesiunea impus
a, dup
a cea care a produs tranzitia dintre q1
si q2 , deci determin
a o tranzitie tot n q2 . Celelalte dou
a configuratii 10 si 01 nu se potrivesc
succesiunii impuse, deci provoac
a o tranzitie n q0 pentru o reluare a identific
arii de la nceput.
In starea q3 configuratia de intrare potrivit
a este 10 care ncheie identificarea cu succes a
succesiunii impuse si care realizeaz
a o tranzitie n q1 , pentru o eventual
a nou
a identificare, si
se genereaz
a y = 1. Dac
a n q3 configuratia aplicat
a este 00 aceasta este considerat
a ca prima
configuratie din succesiunea impus
a deci salt n q1 si continuarea identific
arii. Configuratiile
01 si 11 aplicate n q3 nu se potrivesc succesiunii impuse, deci salt n q0 cu y = 0 pentru,
eventual, o nou
a identificare. Acelasi graf de tranzitie al st
arilor este prezentat n Figura
3.11-b, dar de data aceasta pe arce, n locul configuratiilor valorilor de intrare, sunt nscrise
expresiile logice ale variabilelor de intrare care determin
a tranzitiile respective.
Graful de tranzitie al st
arilor pentru automat n varianta Moore, Figura 3.11-c, se
construieste exact, ca si pentru varianta Mealy, p
an
a n starea q3 . Din starea q3 la aplicarea configuratiei 10, care ncheie cu succes identificarea succesiunii impuse, este necesar
a
o tranzitie n starea q4 n care se genereaz
a iesirea y = 1 (iesire dependent
a doar de stare).
Din starea q4 pentru configuratia 00 se realizeaz
a o tranzitie n q1 (aceast
a configuratie 00
este considerat
a ca fiind prima din succesiunea impus
a, deci se reia procesul de identificare),
iar pentru 11, 10, 01 salt n q0 de unde se poate relua de la nceput procesul de c
autare.

Constructia unui graf de tranzitie al st


arilor trebuie s
a fie f
ar
a ambiguit
ati, ceea
ce impune pentru expresiile de tranzitie nscrise pe arcele care pornesc dintr-o stare
s
a fie mutual exclusive si toate incluse.
Tranzitiile sunt mutual exclusive dac
a, dintr-o stare, pentru aceeasi configuratie a valorilor de intrare nu exist
a simultan transferuri la dou
a s-au mai multe
st
ari (exist
a transfer pe un arc numai atunci c
and expresia respectiv
a de transfer
are valoarea 1). Se poate verifica dac
a dintr-o stare nu exist
a transferuri simultane,
efectu
and produsul logic ntre expresiile de transfer de pe c
ate dou
a arce de transfer
care pornesc din starea respectiv
a, aceste produse trebuie s
a aib
a totdeauna valoarea
zero pentru oricare configuratie a valorilor variabilelor de intrare. Pentru n arce care
pornesc dintr-o stare num
arul total de perechi pentru care se face produsul expresiilor
de transfer este egal cu n(n 1)/2. Configuratiile valorilor de intrare testate, pentru
care produsul logic al expresiilor de transfer de pe dou
a arce are valoarea 1, sunt
referite ca fiind dublu acoperite (de dou
a transferuri).
Tranzitiile sunt toate incluse dac
a suma logic
a a expresiilor de pe arcele care
pornesc dintr-o stare este totdeauna egal
a cu 1 pentru oricare configuratie a valorilor
variabilelor de intrare testate; configuratiile de valori ale variabilelor de intrare testate
pentru care aceast
a sum
a logic
a este egal
a cu zero sunt referite prin configuratii
neacoperite. Cu ajutorul unei diagrame V-K, de toate variabilele care se testeaz
a n
starea respectiv
a, se pot determina configuratiile neacoperite precum si configuratiile
dublu acoperite.
Pentru aceeasi functionare o implementare sub form
a de automat Moore necesit
a mai multe st
ari dec
at implementarea sub form
a de automat Mealy, ceea ce
s-a v
azut si din Exemplul 3.3. In general, modelul Mealy este uzual pentru circuitele secventiale sincrone, iar modelul Moore pentru circuitele asincrone. Graful de

334

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

tranzitie al st
arilor/iesirilor este un instrument portrivit pentru verificarea function
arii
automatului.
3.2.3.2

Tabelul de tranzitie al st
arilor

Informatia continut
a n graful de tranzitie al st
arilor/iesirilor poate fi transpus
a
ntr-o form
a mult mai practic
a pentru sinteza automatului tabelul de tranzitie al
st
arilor (si iesirilor). In tabelul de tranzitie al st
arilor exist
a at
atea linii c
ate st
ari
destincte prezint
a automatul si at
atea coloane c
ate cuvinte diferite se pot aplica la
intrare. Un element al tabelului tranzitiilor, aflat la intersectia unei linii cu o coloan
a,
va reprezenta starea urm
atoare/iesirea a automatului obtinut
a la tranzitia din starea
prezent
a corespunz
atoare acelei linii prin aplicarea la intrare a cuv
antului de pe acea
coloan
a. Uneori, elementele tabelului cuprind numai starea urm
atoare, pentru iesiri se
ntocmeste un tabel de aceeasi form
a ale c
arui elemente sunt iesirile corespunz
atoare
denumit tabelul iesirilor. Tabelul iesirilor pentru automatul Moore se reduce doar
la o singur
a coloan
a, av
and at
atea elemente c
ate st
ari distincte exist
a (iesirile sunt
functii numai de starea prezent
a).
Tabelul de tranzitie al st
arilor, care este o reprezentare abstract
a a automatului,
permite o comparare sistematic
a a st
arilor pentru identificarea perechilor de st
ari
echivalente (vezi Definitia 3.7 )
Exemplul 3.4 Pentru automatul reprezentat n cele doua modele Mealy si Moore, n
Figura 3.11, s
a se construiasc
a tabelele de tranzitie ale st
arilor/iesirilor
Solutie. Tabelul de tranzitie pentru modelul Moore, Figura 3.12-a, prezint
a patru linii
corespunz
atoare celor patru st
ari q0 , q1 , q2 , q3 si patru coloane c
ate una pentru fiecare cuv
ant
de intrare 00, 01, 11, 10; la fel se construieste si tabelul iesirilor. Pentru modelul Moore,
Figura 3.12-b, tabelul st
arilor va avea cinci linii, deoarece exist
a o stare n plus fata
de
modelul Mealy, n schimb tabelul iesirilor se reduce la o singur
a coloan
a.

Modelul Mealy
Starea urmatoare

prezenta

a)

Starea urmatoare

Iesirea y

Intrari
x1 x0

Starea

Modelul Moore

Intrari
x1 x0

Starea
prezenta

00 01 11 10 00 01 11 10

00 01 11 10

q0

q1 q0 q0 q0

q1

q2 q0 q0 q0

q2

q2 q0 q3 q0

q3

q1 q0 q0 q4

q4

q1 q0 q0 q0

q0

q1 q0 q0 q0

q1

q2

q0 q0 q0

q2

q2 q0 q3 q0

q3

q1 q0 q0 q0

Intrari
x1 x0

Iesire

b)

Figura 3.12 Tabelele de tranzitie/iesire pentru modelul Mealy(a) si Moore(b)


ale automatului cu grafurile de tranzitie din figura 3.11.

335

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

3.2.3.3

Diagrame de variatie n timp ale semnalelor

Uneori functionarea automatului poate fi descris


a prin variatia n timp a semnalelor de intrare, de stare si de iesire. Desi sugestiv
a, pentru dinamica automatului,
,,
aceast
a modalitate devine foarte stufoas
a c
and num
arul acestor semnale este mare.
Diagrama de semnale este potrivit
a n general la automatele generatoare care depind
minimal de intrare sau chiar de loc (functionare autonom
a). Pornind de la diagrama de semnale, n care se identific
a st
arile automatului, se poate deduce tabelul
de tranzitie al st
arilor/iesirilor si apoi se poate construi graful de tranzitie.
Exemplul 3.5 Pentru automatul a carui functionare este prezentata prin variatia n
timp a semnalelor din Figura 3.13-a, s
a se deduc
a graful de tranzitie al st
arilor/iesirilor.

CLK

x
z1

z2

y
a)
Starea
prezenta
00
01
11
10

b)

0
01/0
01/0
01/0

1
00/0
11/1
00/0

00
01
11
10

q0
q1
q2
q3

1/0

0/0

q0

0/0
1/0

c)

q1 0/0

q2

1/1
q3

Figura 3.13 Descrierea function


arii automatului prin diagrame de variatie n
timp ale semnalelor(a): b) tabelul de tranzitie dedus din diagramele de semnal; c) graful
de tranzitie al st
arilor/iesirilor.
Solutie. Automatul prezint
a o singura intrare asincron
a x, o iesire y si dou
a intr
ari
de stare, z1 , z0 , care pot realiza urm
atoarele patru cuvinte de stare: 00, 01, 11, 10. Din
diagrama de semnale la fiecare front activ de ceas pentru valoarea intr
arii si a cuv
antului de
stare prezent
a se poate deduce valoarea cuv
antului st
arii urm
atoare precum si valoare iesirii;
deci pe baza acestor informatii se poate completa tabelul de tranzitie al st
arilor/iesirilor
din Figura 3.13-b. Consider
and pentru fiecare din cele patru valori de cuv
ant c
ate o stare
00 q0 , 01 q1 , 11 q2 , 10 q3 se obtine graful de tranzitie al st
arilor/iesirilor din
Figura 3.13-c. Se observ
a c
a starea q3 este indiferent
a, automatul nu va realiza niciodat
a, la
o functionare normal
a, starea q3 .

3.2.3.4

Organigrama ASM
,,
Pentru st
ap
anirea sistemelor digitale at
at din punct de vedere al descrierii (complexit
atii) c
at si din punct de vedere al implement
arii (dimensiunii) foarte frecvent

336

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

,,
se apeleaz
a la segregarea acestuia (divide et impera ). In acest sens structurile digitale pentru procesare fluxurilor de date sunt separate ntr-o cale de date si o cale de
control, Figura 3.14. Calea de date opereaz
a asupra datelor, pentru a realiza o anumit
a procesare conform unui algoritm, si este compus
a din elemente combinationale
si secventiale: sumatoare, decodificatoare, multiplexoare, num
aratoare, registre, etc,
vezi sectiunea 2.5.5.1. Calea de control controleaz
a secventialitatea algoritmului de
procesare realizat n calea de date. Structurat ntr-o astfel de manier
a circuitul digital mai este referit si ca masina cu st
ari algoritmice, ASM (Algorithmic State
Machine), denumire corect
a deoarece implementeaz
a n hardware un algoritm de
procesare date. Fluxurile de date sunt aplicate la intrarea n calea de date, unde
supuse anumitor secvente de procesare corespunz
atoare unui algoritm, si se genereaz
a
la iesire datele procesate. Calea de control pe baza unor comenzi aplicate din exterior
si a unor conditii citite din calea de date, genereaz
a semnale de control care dirijeaz
a
secventele de procesare din calea de date. Calea de control are o structur
a de automat
finit.

Calea de control
Semnale
de control
in calea
de date
Date de iesire

Comenzi
exterioare

Semnale de
conditii
din calea de date
Calea de date

Date de intrare

Figura 3.14 Structurarea unui sistem digital ntr-o cale de date si o cale de
control.

Descrierea f
ar
a ambiguitate a function
arii unui ASM printr-un graf de tranzitie al
st
arilor/iesirilor poate deveni destul de greoaie si cu dificult
ati. Pentru evitarea acestor dificult
ati s-a preluat, cu unele modific
ari pentru descrierea masinilor hardware
algoritmice, ASM , modalitatea de descriere a algoritmilor utilizat
a n dezvoltarea de
soft, adic
a organigrama (flow chart). Astfel s-a obtinut o organigram
a pentru descrierile hardware referita prin organigrama ASM . Simbolurile grafice utilizate n
constructia unei organigrame ASM sunt urm
atoarele trei:
1. Dreptunghiul, Figura 3.15-a, reprezint
a o stare a automatului. Prezint
a o singur
a intrare, o singur
a iesire, n partea st
ang
a se plaseaz
a ncercuit numele
st
arii, n coltul dreapta sus codul st
arii (un cuv
ant binar), iar n interior se
nscriu iesirile care devin active c
and automatul este n aceast
a stare. Deoarece
iesirea nscris
a devine activ
a totdeauna c
and automatul este n starea respectiv
a, indiferent de valoarea intr
arilor, aceast
a iesire corespunde unei iesiri de tip
Moore intr-un graf de tranzitii (iesire neconditionat
a)
2. Rombul, Figura 3.15-b, reprezint
a elementul de decizie binar. In interiorul s
au
se nscrie variabila de intrare/expresii de variabile de intrare care se testeaz
a.
3. Dreptunghiul rotunjit, Figura 3.15-c, este simbolul pentru iesire conditionat
a,
corespunde unei iesiri de tip Mealy intr-un graf de tranzitii. Intrarea ntr-un

337

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

dreptunghi rotunjit este intotdeauna iesirea de la un element de decizie n care se


testeaz
a conditia ndeplinit
a de anumite variabile de intrare pentru care iesirea
nscris
a n dreptunghiul rotunjit este ndeplinit
a. Iesirea acestui simbol poate fi
aplicat
a la un alt romb sau la o stare urm
atoare.
Calea de
intrare in stare

Numele starii

a)

Codul starii
A

Lista
iesirilor
generale
de stare
(Moore)
A
(Adevarat)

b)

Bloc de
stare A

Calea de
iesire
din stare

Timp
de
stare

x1

TCLK

1
F

Conditia
(Expresie
Booleana)

Lista
iesirilor
conditionate
(Mealy)

CLK
iT

1
I1

R
I

y1 =

F
(Fals)

A
x2

F
I=0?

Cale de
intrare (de la
iesirea unui
simbol de
decizie

c)

O singura cale
de intare

d)

L1

L2

L4

L3

la starea

la starea

L1
L2
L3
L4
L5

x1I
x1x2I
x1I
x1x2I
x1x2

trazitie de la
trazitie de la
trazitie de la
trazitie de la
trazitie de la

(L+1)T

L5

la starea
D
A
A
A
A
A

la
la
la
la
la

B
B
C
C
D

Figura 3.15 Elemente componente ale unei organigrame ASM: a) simbolul pentru
stare; b) simbolul pentru decizie; c) simbolul pentru iesire conditionat
a; d) structur
a pentru
un bloc de stare.

Aceste elemente pot fi combinate impreun


a pentru a forma celula de baz
a a unei
organigrame ASM -numit
a blocul de stare, Figura 3.15-d. La un bloc de stare este
obligatoriu prezenta unei st
ari (dreptunghi), poate exista si o retea de simboluri de
decizie si de simboluri de iesire conditionat
a. Intr-un bloc de stare exist
a doar o
singur
a cale de intrare, dar pot exista mai multe c
ai de tranzitie nspre alte blocuri
de stare.
Diferenta principal
a ntre un bloc de stare si o organigram
a pentru un program
este modul cum se interpreteaz
a timpul; la o organigram
a operatiile sunt realizate
succesiv n timp, una dup
a alta, pe c
and ntr-un bloc de stare, care este o unitate
dintr-o organigram
a ASM , toate operatiile se realizeaz
a n acelasi timp, concurent.
De exemplu, dac
a acest bloc de stare este interpretat ca o organigram
a de program

338

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

(flow chart), nt
ai se intr
a n starea A , efectu
andu-se nscrierea valorii 1 n registrul
R si variabila de contor I se decrementez
a, apoi se realizeaz
a operatia de testare a
intr
arii x1 . Dac
a x1 este adev
arat
a se trece la activarea iesirii y1 , dup
a care se testeaz
a
valoarea variabilei de contor I (valoare care a fost decrementat
a n starea A ) si n
functie de valoarea de adev
ar sau fals al acesteia, se realizeaz
a o trecere respectiv la
st
arile B sau C . Iar dac
a x1 are valoarea de fals se trece la testarea lui x2 si
n functie de valoarea de adev
ar sau fals se realizeaz
a trecerea la starea D sau se
testeaz
a variabila de contor dup
a care se ajunge n B sau C .

Bloc de
stare A

A
Bloc de
stare A

x0

x1

y1

x0

y1
b)

a)

L1 L2 L3

L1 =x0
L2 =x0

L4

L3 =x1

L4 =x1

L1 L2

x1

1
L3 L4

L1 =x0 x1

L3=x0x1

L2 =x0x1

L4=x0x1

Figura 3.16 Exemplu de organigram


a ASM (incorect
a) cu validarea simultan
aa
dou
a c
ai de tranzitie L1 si L3 sau L2 si L4 (a); form
a de organigram
a corectat
a(b)

Intr-o organigram
a ASM , timpul are o curgere discret
a, realiz
andu-se o trecere
n salturi de la un bloc de stare la un alt bloc de stare, trecere marcat
a de impulsurile
de ceas. De exemplu, pe frontul pozitiv al impulsului de ceas iT se intr
a n blocul
de stare A reprezentat de starea A . Operatiile efectuate n paralel n blocul de
stare sunt: se nscrie registrul R cu valoarea 1; se decrementeaz
a contorul I si se
poate nscrie conditionat iesirea y1 si tot n paralel se testeaz
a intr
arile x1 , x2 si I
obtin
andu-se n functie de acestea ca una din cele cinci c
ai de tranzitie L1 L5 s
a
aib
a valoarea 1 pentru expresia functiei de tranzitie. Atentie! n elementul de decizie
pentru contorul I nu se testeaz
a valoarea variabilei de contor I care s-a obtinut n
urma decrement
arii n starea A , ci se testeaz
a valoarea lui I cu care a intrat n blocul
de stare; de fapt cele dou
a operatii, cea de decrementare din starea A , I I 1,
si cea de testare din simbolul de romb, I = 0?, se realizeaz
a n paralel si nu succesiv.

339

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

Aceast
a valoare decrementat
a a contorului se va utiliza n blocurile urm
atoare sau
c
and se revine n blocul de stare A , dac
a ntre timp aceasta nu a mai fost modificat
a
n st
arile care le-a mai parcurs. Mai sugestiv, am putea privi c
a pe frontul pozitiv al
impulsului de ceas iT se intr
a n blocul de stare A, iar pe frontul pozitiv urm
ator al
impulsului (i + 1)T se realizeaz
a simultan toate operatiile nscrise n blocul de stare
A si se trece prin una din c
aile de tranzitie, la una din st
arile urm
atoare B C
D .

Pentru realizarea unei organigrame ASM corecte, f


ar
a ambiguit
ati, se impun anumite restrictii:
1. Intr-un bloc de stare, prin reteaua de elemente de decizie, pentru o configuratie
a valorilor variabilelor de intrare testat
a, trebuie s
a fie validat
a doar o singur
a
cale de tranzitie(restrictie similar
a cu evitarea dublei acoperiri de la graful de
tranzitii). De exemplu, n Figura 3.16-a pentru configuratia x1 x0 = 00 exist
ao
tranzitie din A n B , dar aceast
a tranzitie s-a realizat pe calea de transfer
L1 sau L3 ? imposibil de spus. Sau, fie configuratia x1 x0 = 11 care va valida
simultan c
aile de tranzitie L2 si L4 cu trecere at
at la starea B c
at si la starea
C. Solutia, pentru eliminarea ambiguit
atilor este rearanjarea elementelor de
decizie prin nserierea lor ca n Figura 3.16-b
2. Evitarea conect
arii simbolurilor de decizie, ntr-o retea a unui bloc de baz
a, care
s
a determine conditii logice imposibile pentru o cale de tranzitie. Prin testarea
unei variabile n mai multe simboluri de decizie care toate concur
a la validarea
unei c
ai de tranzitie, se poate ajunge ca acea variabil
a sa fie testat
a at
at pentru
valoare fals
a c
at si pentru valoare adev
arat
a x0 x0 = 0, de exemplu calea de
tranzitie L1 din Figura 3.17. Totusi este perfect posibil ca aceeasi variabil
a s
a

A
1

x1

x0

x0

0
0

x0x1

x1

x0

B
A

B ; L1=x0x0=0
a)

1
L1

x0

B
A

x0+x1

0
L1

B ;L1=x0x1x0=0
b)

B
A

L1
B ;L1=x0x1(x0+x1)=0
c)

Figura 3.17 Exemple de organigrame ASM (incorecte) care testeaz


a pe aceeasi
cale de transfer L1 o variabil
a at
at pentru valoarea fals
a c
at si pentru valoarea
adev
arat
a(x0 x0 = 0; x1 x1 = 0), deci testeaz
a o constant
a.

340

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

fie testat
a n mai multe simboluri de decizie, dar printr-o structurare potrivit
a
s
a nu fie testat
a de dou
a ori pe aceeasi cale de tranzitie.
3. Orice cale de tranzitie n aceeasi stare (bucl
a) trebuie s
a includ
a simbolul de
stare. O bucl
a de tranzitie este necesar
a c
and automatul trebuie s
a r
am
an
a n
aceeasi stare un num
ar de tacte p
an
a c
and este ndeplinit
a conditia de test. O
bucl
a aferent
a unui bloc de stare trebuie s
a ias
a si s
a reintre n acel bloc numai
pe cale normal
a ca n Figura 3.18-b.

A
Bloc de
stare A
B

A
Bloc de
stare A

a)

b)

Figura 3.18 Bloc de stare n care o bucl


a este realizat
a incorect(a), aceeasi bucl
a
realizat
a corect(b)

Organigrama ASM se obtine dintr-o retea de blocuri de stare, num


arul blocurilor
de stare fiind egal cu num
arul de st
ari |Q| ale automatului. O astfel de organigram
a
descrie nu numai functionarea secvential
a a automatului, dar exprim
a si functiile
logice pentru sinteza acestuia. De exemplu blocul j corespunz
ator st
arii q j a automatului descrie: starea prezent
a qj ; iesirile neconditionate (Mealy) din acea stare,
fj (qj ); iesirile conditionate fj (qj , Xj ) de tip Moore, tranzitiile spre st
arile urm
atoare
gj (Xj , qj ) n care Xj sunt cuvintele de intrare care se testeaz
a n blocul j. Lu
and
toate aceste componente pentru toate cele |Q| blocuri de stare ale automatului se
obtine organigrama ASM .
g(X, Q) =

|Q|
X

gj (Xj , qj )

j=1

f (X, Q) =

|Q|
X

[fj (Xj , qj ) + f (qj )]

(3.16)

j=1

Organigramele ASM , spre deosebire de grafurile de tranzitie care se construiesc separat pentru automatul de tip Mealy sau pentru automatul de tip Moore,
pot reprezenta simultan at
at iesiri conditionate c
at si iesiri dependente (numai de
stare) deci pot mbina functionarea celor dou
a tipuri de automate.(Evident un graf
de tranzitie de tip Mealy poate fi convertit ntr-un graf de tranzitie de tip Moore si
invers).
Exemplul 3.6 Pentru un automat de vanzare a sticlelor de suc sa se conceapa
organigrama ASM si s
a se deduc
a tabelul de tranzitie al st
arilor/iesirilor. Functionarea

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

341

automatului de v
anzare a sticlelor cu valoarea de 10 unit
ati, care poate fi acoperit
a din
monede de dou
a unit
ati (2U), de cinci unit
ati (5U) si de zece unit
ati (10U), este urm
atoarea:
c
and este n FUNCT
IUNE trebuie s
a semnalizeze aceasta printr-un semnal FUN (un LED),
c
and este n curs de introducere monede, un semnal URM va indica dac
a este necesar
a

C
URMATOAREA
MONEDA.
and monedele introduse totalizeaz
a 10 unit
ati se comand
a
ELS, iar dac
ELIBERARE STICLA,
a suma monedelor nu totalizeaz
a 10U, atunci se comand
a
RETURNARE MONEDE, RTM.
Solutie. In conceperea organigramei se urm
aresc variantele de a realiza 10 unit
ati din
10, 5 sau 2 unit
ati. Rezult
a un num
ar de sapte st
ari q0 q6 , Figura 3.19. Ar fi rezultat si
starea a opta, q7 , dac
a comanda ELS nu s-ar fi generat ca o iesire conditionat
a ci ca o iesire
de starea q7 (Moore). In opozitie, s-ar fi putu reduce num
arul de st
ari de la sapte la sase
dac
a comanda RTM din starea q6 ar fi fost generat
a ca o iesire conditionat
a (Mealy) si nu
ca o iesire dependent
a de starea q6 .
Dispozitivul de detectare a introducerii monedelor genereaz
a patru semnale de intrare
pentru organigrama ASM : un semnal M pentru detectarea prezentei monedei (M = A);
trei semnale corespunz
atoare valorii monedelor detectate (10U, 5U si 2U). Aceste semnale
sunt semnale impuls care trebuie s
a fie sincrone cu semnalul de ceas al automatului. At
at
timp c
at nu este introdus
a nici o moned
a (M=F) automatul asteapt
a (bucleaz
a) n starea
q0 .
Tabelul de tranzitie al st
arilor se deduce din analiza organigramei. Acest tabel apare
mai simplu dec
at cel definit n sectiunea 3.2.3.2, deoarece intr
arile sunt mutual exclusive (nu
se pot introduce simultan dou
a monede). Tabelul, Figura 3.19-b, apare mult mai intuitiv
deoarece pentru fiecare bloc de stare (notate cu B0 , B1 , B6 ) se evidentiaz
a si c
aile de
tranzitie din acea stare, sunt n total 15 notate cu L1 , L2 L15

Uneori reducerea complexit


atii unui ASM , precum si o structurare pentru o implementare mai usoar
a a unui automat de dimensiuni mari, se obtine prin descompunerea
n mai multe ASM -uri componente si conectarea acestora ntr-o anumit
a modalitate
pentru a compune automatul initial. Fiecare din automatele componente sunt proiectate separat si apoi interconenctate astfel iesirile unui automat vor fi utilizate ca
intr
ari la un alt automat si viceversa. Aceste interconect
ari se reduc la conexiuni
serie sau paralel ale automatelor.
Un exemplu de conectare serie a dou
a automate este schitat n Figura 3.20-a.
Masina (automatul) A va fi starea A1 test
and repetat, la fiecare impuls de ceas,
variabila CALL A si va p
ar
asi aceast
a stare, parcurg
and restul st
arilor din organigrama ASM p
an
a n starea AN , numai n momentul c
and iesirea CALL A din starea
B1

a masinii B devine activ


a. De asemenea, masina B n starea B1 va testa

ar
asi aceast
a stare, parcurg
and restul st
arilor din
repetat variabila CALL A si va p
organigrama ASM a sa, numai n momentul n care masina A n starea AN

va

activa iesirea CALL B care se aplic


a n starea B1 a masinii B, ca variabil
a testat
a.
Apoi, masina A ajunge iar
asi n starea A1 unde asteapt
a activarea iesirii CALL A
a parcurgerea celorlalte st
ari din
realizat
a n starea B1 la care se ajunge numai dup
organigrama ASM a masinii B. Deci se execut
a alternativ algoritmii implementati

342

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

ELS
A L13
F
2U
q5

URM
A L11
2U

q4

URM
A L9
2U

q3
a)

b)

q6
L14

q0

RTM

FUN

L0 F
A

L10

L3

URM

q2
L8
L7

A L1

L
5U A 2
F q
URM
1
F
2U
A L
5
F
5U

L6
F

10U
F

L12

ELS

ELS
A L4

URM
F

2U
A

Intrari
Starea
Blocul de stare Starea
si calea de prezenta
urmatoare FUN URM ELS RTM
tranzitie
M 2U 5U 10U
q0
q0
B0,L0
0
0
0
1
q0
q
B0,L1
A
0
1
0
A
1
0
q0
q1
B0,L2
A
0
0
1
A
0
q0
q1
B0,L5
A A
0
0
1
0
q6
q0
B0,L6
A F
0
0
0
0
q0
q1
B1,L4
1
0
0
A
1
q1
q6
B1,L3
0
0
0
F
1
q3
q2
B2,L7
A
0
0
0
1
q6
q2
B2,L3
F
0
0
0
1
q3
q4
B3,L9
A
0
0
0
1
q3
q6
B3,L10
F
0
0
0
1
q5
q4
B4,L11
A
0
0
0
1
q4
q6
B4,L12
F
0
0
0
1
q0
q5
B5,L13
A
0
1
0
1
q5
q6
B5,L14
F
0
0
0
1
q0
q6
B6,L15
0
1
0
0

Figura 3.19 Explicativ


a pentru Exemplul 3.6: a) descrierea function
arii automatului
prin organigram
a ASM;b) tabelul de tranzitie al st
arilor (neasignate) si al iesirilor.

343

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

Automat A

Automat B
B1

A1

CALL_A

1
Organigrama
ASM a
automatului
B

Organigrama
ASM a
automatului
A

AN

CALL_B

CALL_A

CALL_B

Automat A
A1

Automat B
B1

0 CALL_A

CALL_A

CALL_B

Organigrama
ASM a
automatului
B

Organigrama
ASM a
automatului
A

CALL_B

a)
Figura 3.20 Interconectarea automatelor:
nectare de tip paralel.

b)
a) interconectare de tip serie; b) interco-

de fiecare masin
a.
Pentru interconectarea serial
a se poate extinde organizarea la mai multe masini,
consider
and una din ele ca masin
a principal
a care va apela mai multe masini pe
parcursul execut
arii algoritmului s
au. La fiecare apelare a masinii principale c
atre
o alt
a masin
a (apelat
a), masina principal
a va intra ntr-o bucl
a de asteptare pe o
stare si nu va p
ar
asi aceast
a bucl
a p
an
a c
and masina apelat
a nu va returna c
atre
masina principal
a confirmarea realiz
arii segmentului de algoritm ncredintat. O astfel
de functionare este realizat
a de organizarea din Figura 3.21 cu particularizarea c
a
masina principal
a A apeleaz
a din st
arile A1 , AR si AS repetat numai o singur
a
masin
a C , pentru realizarea aceluiasi subalgoritm (subrutin
a). Se recunoaste aici
acelasi procedeu de apelare repetat
a n software a unei subrutine de c
atre un program
principal. Se poate extinde organizarea la cazul c
and o masin
a apeleaz
a o alt
a masin
a
care la r
andul s
au apeleaz
a o alta s.a.m.d; evident fiecare masin
a apelant
a intr
a
n bucl
a de asteptare p
an
a c
and primeste confirmarea de realizarea segmentului de
algoritmi ncredintat de la masina apelat
a. Se recunoaste mecanismul de apelare, n
software, de subrutine imbricate.
Conectarea n paralel a dou
a ASM -uri realizeaz
a executia n paralel a celor doi
algoritmi. Cea mai simpl
a organizare corespunde cazului c
and cele dou
a masini sunt
initiate mpreun
a pentru procesare, Figura 3.20-b. C
and masina A porneste procesarea din starea initial
a A1 simultan valideaz
a p
ar
asirea st
arii initiale si pe masina
B care la r
andul s
au prin CALL A valideaz
a p
ar
asirea st
arii initiale A1 . Dup
a
parcurgerea n paralel a celorlalte st
ari din fiecare organigram
a masina care revine

344

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

A1

CALL_C

C1

CALL_A

CALL_C

1
AR

CALL_C

CALL_A

Organigrama
AMS a
automatului C
(Subrutina)

1
AS
Organigrama
AMS a
automatului A

CALL_C
CALL_A

CALL_A

CM

Figura 3.21 Interconectarea de tip serie a dou


a automate pentru apelarea
repetat
a a automatului C:

prima n starea initial


a nu poate porni la reexecutarea algoritmului s
au p
an
a c
and si
cealalt
a masin
a nu revine n starea initial
a.
Desi din cele expuse, interconectarea automatelor din punct de vedere logic apare
relativ usor de organizat, dar pentru ca si din punct de vedere functional s
a fie corect,
trebuie analizat
a foarte atent implementarea. Interconectarea ridic
a probleme de
implementare chiar c
and cele dou
a automate sunt sincronizate cu acelasi semnal de
ceas, deci timpii de stare, sunt identici, Figura 3.15-d. Exist
a probleme n cazul n
care semnalele de ceas ale celor dou
a automate sunt unul multiplu fata
de cel
alalt sau,
mai dificil, sunt complet asincrone. In acest caz semnalele de iesire al unui automat se
aplic
a la celalalt automat ca semnale de intrare asincrone sau se sincronizeaz
a nainte
de aplicare, vezi sectiunea 3.2.1. Oricum, semnalele cu variatie asincron
a nu pot fi
citite corect c
and sunt considerate c
a formeaz
a un cuv
ant de cod, ci numai c
and sunt
considerate cu semnificatie independent
a fiecare semnal.
3.2.3.5

Limbaje de transfer ntre registre

Notiunea de registru a fost introdus


a n sectiunea 3.2.2 ca registru de stare. P
an
a
la prezentarea sa n sectiunea 3.5, specific
am c
a un registru este un circuit pentru
memorarea informatiei sub form
a de cuv
ant, deci primele dou
a operatii care se pot
realiza cu un registru sunt cea de nscriere n registru si cea de citire din registru.

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

345

In prezent
arile din capitolul 2 toate proces
arile pe un circuit combinational implicau
prezenta unui registru la intrare, din care se citea informatia aplicat
a CLC si un
registru la iesire n care se nscriau, dac
a era necesar, cuv
antul rezultat din procesare.
Alte operatii n afar
a de nscriere (load) si citire, registrul mai permite operatii de
stergere (clear), incrementare, deplasare (shift) st
anga dreapta (echivalent respectiv
cu multiplicare sau mp
artire cu puteri ale lui doi). Registrul mpreun
a cu diferite
circuite combinationale sau cu circuite secventiale, formeaz
a baza circuistic
a pentru
procesarea paralel
a sau secvential
a. De fapt, aceast
a circuistic
a este ceea ce se poate
g
asi ntr-o cale de date.
Formalismul cu ajutorul c
aruia se descriu operatiile si transform
arile ntre registrele dintr-o cale de date (si nu numai) este referit prin limbaj de transfer ntre registre,
RTL (Register Transfer Language).
Instructiunea
R2 R 1
are urm
atoarea semantic
a: continutul registrului R1 este transferat (copiat) si n registrul destinatie R2 (continutul surs
a R1 nu se modific
a); s
ageata reprezint
a transferul
si directia acestuia. De exemplu, n Figura 3.15-d n starea A, automatul comand
a
nscrierea valorii 1 n registrul R si decrementarea registrului care contine variabila
contor I.
Normal c
a o operatie, ntr-o cale de date, este realizat
a c
and este ndeplinit
a o
conditie logic
a C, ceea ce se exprim
a printr-o primitiv
a de tipul if-then, de exemplu
If (C = 1)then(R2 R1 )
Evident c
a acest transfer R2 R1 , conditionat de C = 1, se realizeaz
a numai sincronizat de semnalul de ceas prin frontul activ, deci conditionarea si de c
atre semnalul
de ceas este implicit
a. Dar se pot exprima si transferuri care se realizeaz
a n paralel
ntre mai multe registre, ca de exemplu
If (C = 1)then(R2 R1 , R4 R3 )
Alte exemple de instructiuni de tip RTL pot fi:
R1 R1 + R2 ; se sumeaz
a continutul registrelor R1 , R2 , iar rezultatul se nscrie
n R1
R3 R3 + 1; continutul registrului R3 se incrementeaz
a
R4  R4 ; continutul registrului R4 este deplasat spre st
anga cu o pozitie
R5 0; este sters continutul registrului R5
Simbolurile, notatiile si sintaxa unui limbaj RTL nu sunt standardizate, ceea ce i
ofer
a o dezvoltare ad-hoc si o usurinta
n utilizare. Totusi, aceste simboluri, notatii
si sintaxa descrierilor de tip RTL sunt standardizate n cadrul unor limbaje de descriere hardware HDL (Hardware Description Language), cum ar fi VHDL sau
VERILOG (prezentate n volumul 2 al acestei lucr
ari).
Organigrama ASM a fost introdus
a pentru descrierea algoritmilor implementabili
ntr-un sistem hardware, care n general, contine o cale de date si o cale de control,

346

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Figura 3.14. Calea de date are n componenta sa registre, multiplexoare, decodificatoare, sumatoare, iar calea de control este n fond un automat finit ale c
arui iesiri sunt
semnalele de control n calea de date. Ca o alternativ
a la descrierea prin organigrama
ASM este cea prin care calea de control este descris
a printr-un graf de tranzitie al
st
arilor, iar calea de date descris
a prin limbaj RTL. Informatia pentru trecerea la
graful de tranzitie al st
arilor este luat
a din organigrama ASM astfel:
numele st
arilor (din cerculete) corespund cu cele de l
ang
a dreptunghiurile de
starea ale ASM -ului
arcele de transfer dintre st
ari sunt c
aile de tranzitie din ASM
expresiile de tranzitie de pe arce sunt expresiile de pe c
aile (sau din romburile)
de tranzitie ale ASM -ului
Iar informatia, referitoare la operatiile care se efectueaz
a n calea de date, exprimat
a RTL, pentru fiecare stare, se obtine din iesirile de stare (Moore) si din iesirile
conditionale(Mealy) ale blocului de stare corespunz
atoare.
Exemplul 3.7 Pentru automatul prezentat n Exemplul 3.6, Figura 3.19 sa se realizeze
o descriere prin graf de tranzitie pentru calea de control si prin limbaj RTL pentru calea de
date.

M 5U=A

M=F

5U=A
2U=A

q0

1
q6

2U=F
q2

q0: FUN
1
if( M 10A=A ) then ELS

5U=F
2U=F

M 2U=A

2U=F

q1

q5

2U=F
2U=F

q3

a)

q2: URM

q3: URM

q4: URM

1
q5: URM
if( 2U=A ) then ELS

2U=A
2U=A

1
q1: URM
if( 5U=A ) then ELS

q4

q6: RTM

b)

Figura 3.22 Alternativ


a la descrierea prin organigram
a ASM a automatului din
figura 3.19-a: a) printr-un graf de tranzitie al st
arilor pentru calea de control; b) prin
limbaj RTL pentru calea de date.
Solutie. Aplic
and organigramei ASM din Figura 3.19-a regulile prezentate mai sus se
obtine graful de tranzitie al st
arilor, Figura 3.22-a si descrierea n limbaj RTL, Figura 3.22-b.
Pentru fiecare din cele sapte st
ari q0 q6 , n limbaj RT L, sunt specificate comenzile aplicate
n calea de date obtinute ca semnale de iesire de la calea de control ale automatului (calea
de control).

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

347

In afara modalit
atilor prezentate de reprezentare a automatelor mai putem aminti:
limbaj natural, retea Petri, HDL. Reprezentarea prin limbaj natural este util
a c
and
automatul prezint
a un num
ar foarte mare de st
ari, de exemplu un automat num
ar
ator
modul 16 care prezint
a 216 = 64536 st
ari. Reteaua Petri este tot o structur
a de graf
orientat, dar nu urm
areste o succesiune de st
ari ci o succesiune de evenimente [Lewin
0
92], recomandat
a mai mult pentru descrierea circuitelor/(proceselor) secventiale asincrone dec
at a celor sincrone. Foarte utilizat
a reteaua Petri este pentru sistemele
comandate la care sunt active simultan mai multe st
ari. Limbajele de descriere hardware, HDL (VHDL, Verilog) au devenit modalit
ati de descriere aproape exclusive n
procesul de proiectare n electronica digital
a.

3.2.4

Reducerea num
arului de st
ari

Proiectantul n etapa de construire a grafului de tranzitie al st


arilor/iesirilor,
concentr
andu-se asupra restrictiilor de functionare ale automatului, poate realiza
un model (graf) ce contine st
ari redundante. Aceasta nseamn
a c
a vor rezulta n
tabelul de tranzitie mai multe st
ari dec
at cele necesare interpret
arii function
arii.
Mai multe st
ari n implementare influenteaz
a n mod direct dimensiunea, deci costul implement
arii, viteza de functionare si complexitatea automatului. In procesul
de proiectare, etapa de eliminare a st
arilor redundante este referit
a prin reducerea
st
arilor. Efectiv reducerea st
arilor nseamn
a identificarea st
arilor echivalente si apoi
un num
ar de st
ari g
asite ca echivalente sunt substituite, n functionarea automatului,
cu o singur
a stare. Rezult
a c
a n tabelul de tranzitie al st
arilor/iesirilor toate liniile
care corespund unor st
ari echivalente se vor substitui cu o singur
a linie rezultant
a.
Notiunea de stare echivalent
a este introdus
a prin Definitia 3.7 . Ad
aug
am acum trei
propriet
ati ale st
arilor echivalente:
1. Simetria: dac
a qi qj atunci si qj qi
2. Reflexivitatea: qj qj pentru oricare stare
3. Tranzitivitatea: dac
a qi qj si qj qk atunci qi qk
Exist
a algoritmi, at
at utilizabili sub o form
a analitic
a c
at si sub o form
a grafic
a,
prin care se identific
a st
arile echivalente si apoi sunt eliminate [Yarbrough 0 97] [Mano
0
97] [Lewin 0 92]. Actual, fiecare platform
a de proiectare automat
a n electronic
a
contine astfel de algoritmi sub forma unor programe interactive. In continuare se
va prezenta o metod
a grafic
a de reducere a st
arilor echivalente referit
a prin mapa
implicantilor [Yarbrough 0 97].
Se consider
a un automat cu sase st
ari: A, B, C, D, E, F, a c
arui functionare este descris
a prin tabelul de tranzitie al st
arilor/iesirilor prezentat n Figura 3.23-a. O map
a
a implicantilor care compar
a pentru echivalenta
, fiecare stare cu fiecare stare este
o diagram
a, Figura 3.23-b, ce are pe orizontal
a notate toate st
arile mai putin ultima,
n cazul nostru A, B, C, D, E, iar pe vertical
a toate st
arile mai putin prima, n cazul
nostru B, C, D, E, F . In c
asuta de coordonate care corespunde intersectiei celor dou
a
st
ari care se compar
a, una de pe orizontal
a si una de pe vertical
a, se nscriu conditiile
(st
arile) necesare pentru echivalenta celor dou
a st
ari. Aceste conditii necesare pentru
echivalenta
se deduc din tabelul de tranzitie al st
arilor/iesirilor, compar
and fiecare

348

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Starea Starea urmatoare/iesire


x
prezenta
1
0
D/1
A
E/0
D/0
B
F/0
B/1
C
E/0
B/0
D
F/0
F/1
E
C/0
C/0
F
B/0

a)
B
C

B,D

C,E
D,F

C,E
B,F
B,F
C,D
B

B,D

B,D

F
b)

d)

D ~B=q1, E=q2, F=q 3


Starea Starea urmatoare/iesire
x=1
prezenta x=0
q0
q2/0
q1/1
q3/0
q1
q1/0
q2
q0/0
q3/1
q3
q0 /0
q1/0

D
E

A=q 0, B=q 1, C ~ A=q 0

E
B,F
B,C
D

B,D
C,E
D,F

F
E

c)

C,E
B,F
B,F
C,D
B

B,F
B,C
D

Figura 3.23 Etapele reducerii num


arului de st
ari prin metoda grafic
a a
mapei implicantiilor: a) tabelul de tranzitie a st
arilor/iesirilor automatului; b) mapa
implicantiilor dedus
a din tabelul de tranzitie; c) mapa implicantiilor dup
a validarea
conditiilor de echivalenta
; d) tabelul de tranzitie al st
arilor/iesirilor pentru automatul echivalent (redus).

stare cu fiecare, pentru toate configuratiile de valori ale cuv


antului de intrare ce determin
a cele dou
a st
ari. Verificarea conditiilor necesare pentru ca o pereche de st
ari
s
a fie echivalent
a se realizeaz
a prin urm
atorii pasi:
1. Se elimin
a (se diagonalizeaz
a) din mapa implicantiilor acele c
asute ale c
aror
perechi de st
ari coordonate au n tabelul de tranzitie al st
arilor/iesirilor iesiri
diferite pentru aceeasi valoare a cuv
antului de intrare (vezi Definitia 3.7). De
exemplu, nu pot fi echivalente perechiile A cu B, A cu D si A cu F , deoarece
au iesiri diferite, deci c
asutele corespunz
atoare intersectiei acestor perechi se
diagonalizeaz
a.
2. Pentru perechile de st
ari prezente la care s-a verificat c
a au iesiri identice,
dup
a inspectarea tabelului, se nscrie n c
asutele corespunz
atoare din mapa
implicantilor care perechi de st
ari urm
atoare ar trebui s
a fie echivalente pentru
ca perechea de st
ari prezente comparate s
a fie echivalent
a. De exemplu, pentru
prima coloan
a din map
a pentru ca A C necesit
a echivalenta ntre B si D, iar
A E necesit
a C E si D F ; pe coloana a doua B D necesit
a B D,
B F necesit
a B F si C D; pe coloana a treia C E necesit
a C E si

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

349

B F ; iar pe coloana a patra D F necesit


a B F si B C.
3. Pentru fiecare c
asuta
n care este nscris
a o conditie de echivalenta
(perechi de
st
ari), se analizeaz
a dac
a aceast
a conditie de echivalenta
este ndeplinit
a sau
nu. Dac
a nu este ndeplinit
a atunci si c
asuta respectiv
a este diagonalizat
a. Se
va exemplifica aceast
a analiz
a pentru prima coloan
a din mapa implicantilor.
Pentru ca A C trebuie ca B D. Dar, tot din mapa implicantilor se deduce
c
a B D numai c
and conditia din c
asuta de la intersectia liniei D cu coloana
B este adev
arat
a, adic
a B D. Deoarece echivalenta perechii (B, D) este
dependent
a de propria sa echivalent
a (B, D), nseamn
a c
a aceast
a pereche este
echivalent
a (reflexivitatea qj qj ).
Pentru ca A E necesit
a C E si D F . Privind n mapa implicantiilor
pentru echivalenta perechii D, F este necesar
a B F si B C, iar pentru
echivalenta perechii C E este necesar
a C E si B C. S
a vedem dac
a
din c
asutele mapei rezult
a c
a sunt ndeplinite simultan aceste patru echivalente.
Pentru ca B F este necesar ca B F si C D, dar din c
asuta de coordonate
C si D rezult
a c
a st
arile C si D nu sunt echivalente. In concluzie, st
arile A si
E nu sunt echivalente si c
asuta de coordonate A si E de pe prima coloan
a se
diagonalizeaz
a.
Se aplic
a aceast
a analiz
a si pentru celelalte coloane/linii si se constat
a c
a n
afar
a de c
asuta de coordonate B,D, toate celelalte se diagonalizeaz
a, rezult
and
mapa implicantiilor din Figura 3.23-c. Rezult
a c
a sunt echivalente st
arile A cu
C si st
arile B cu D.
4. Pentru fiecare pereche de st
ari echivalente se p
astreaz
a doar una din st
ari, eventual se redenumesc st
arile (A = q0 , B = q1 , C A = q0 , D B = q1 , E = q2 ,
F = q3 ) si se construieste tabelul simplificat al tranzitiei st
arilor/iesirilor,
Figura 3.23-d. Deci automatul initial cu sase st
ari poat fi substituit n functionare cu un alt automat (echivalent) care are numai patru st
ari.
Exemplul 3.8 Pentru automatul Mealy cu graful de tranzitie al starilor/iesirilor din
Figura 3.24-a s
a se elimine st
arile redundante si apoi s
a se redeseneze graful de tranzitie.
Solutie. Din graful de tranzitie al st
arilor/iesirilor se obtine tabelul de tranzitie al
st
arilor/iesirilor din Figura 3.24-e, iar din tabelul de tranzitie se deduce:
1. Nu sunt echivalente urm
atoarele perechi de st
ari:A cu B, A cu C, B cu D, B cu E, C
cu D si C cu E
2. St
arile: A D numai dac
a sunt echivalente B cu C si D cu C si A cu B
A E numai dac
a sunt echivalente A cu E si B cu C

B C numai dac
a sunt echivalente B cu C si A cu E

D E numai dac
a sunt echivalente C cu D si B cu E si A cu C
3. Se constat
a c
a: A 6= D deoarece A 6= B si D 6= C
D 6= E deoarece A 6= C, B 6= E si C 6= D

A E numai dac
a B C, iar B C numai dac
a A E. Rezult
a
c
a A E si B C(simetrie dac
a qj qi atunci qi qj ). Mapa implicantiilor
rezultat
a este cea din Figura 3.24-f.

350

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
10/0

10/0
11/1

B
10/1

00/0
01/0

00/0 ,11/1
00/0
10/0

01/0
01/0
11/1 10/1
00/0

11/1
01/0
00/0

11/1

C
00/0
01/0
11/1

q1

A
B
C
D
E

c)

10/1

q2
01/1

A=q 0, B=q 1 , C~B=q 1, D=q 2 , E~A=q 0

Starea urmatoare/iesire
x1x0
00

01

11

10

B/0
E/0
A/0
C/0
C/0

C/0
C/0
B/0
D/0
C/0

B/0
B/1
C/1
A/1
C/1

A/0
D/1
D/1
B/0
F/0

Starea
prezenta

d)

q0
q1
q2

Starea urmatoare/iesire
x1x0
01
10
00
11
q1/0
q1/0
q1/1
q0/0
q0/0
q1/0
q1/1
q2/1
q1/0
q2/0
q0/1
q1/0

B
B,C
A,E

e)

00/0,10/0

b)

a)
Starea
prezenta

11/1

00/0

01/0,11/1

10/0

01/0

q0

B,C
D,C
A,B

A,E
B,C
A

C,D
B,E
A,C
B

B,C
A,E

f)

B,C
D,C
A,B

A,E
B,C
A

C,D
B,E
A,C
B

Figura 3.24 Explicativ


a pentru reducerea st
arilor redundante ale automatului
din Exemplul 3.8

4. Se redenumesc st
arile n felul urm
ator: A = q0 , B = q1 , C A = q0 , D = q2 , E A =
q0 pentru care rezult
a tabelul de tranzitie din Figura 3.24-d. Functionarea automatului
echivalent(redus) este descris
a prin graful de tranzitie al st
arilor/iesirilor din Figura
3.24-b.

In sinteza circuitelor combinationale se nt


alnesc cazuri c
and functia de transfer
este incomplet specificat
a, ceea ce n tabelul de adev
ar se indic
a prin semnul indiferent
(don0 t care). Cazuri similare se nt
alnesc si la circuitele secventiale c
and fie functia de
transfer f , fie functia de tranzitie g, nu sunt complet specificate ceea ce se reflect
a prin
indicarea semnului indiferent respectiv pentru anumite valori ale iesirii sau anumite
st
ari urm
atoare. C
and anumite st
ari nu sunt specificate automatul nu este predictibil.
Este indicat s
a se evite asemenea cazuri fie prin alegerea numai acelor configuratii de
intrare care conduc automatul numai prin st
ari deja specificate sau, fie s
a se specifice

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

351

st
arile nespecificate dac
a prin aceasta nu se contravine rezultatului dorit. Odat
a
specificate st
arile, care initial erau nespecificate, automatul nu mai este incomplet
specificat.
In procesul de reducere al num
arului de st
ari, specificarea iesirilor nespecificate
poate fi f
acut
a f
ar
a a se produce nici un impact asupra secventei st
arilor automatului
final. Este indicat ca iesirile nespecificate s
a fie l
asate nespecificat n tabelul de
tranzitie al st
arilor/iesirilor c
at se poate de mult n procesul de reducere, deoarece
prezenta semnului indiferent duce la o mai mare flexibilitate n compararea st
arilor
din tabelul de tranzitie. In validarea echivalentei a dou
a st
ari, trebuie ca iesirile s
a fie
identice pentru oricare configuratie de intrare. C
and se compar
a dou
a st
ari ale c
aror
iesiri sunt incomplet specificate n locul notiunii de echivalenta
se utilizeaz
a notiunea
de st
ari compatibile. Dou
a st
ari qi si qj sunt st
ari compatibile dac
a, pentru oricare
secventa de configuratii aplicate pe intrare, se obtine o aceeasi secventa
a iesirii c
and
iesirile nespecificate vor fi specificate, indiferent dac
a st
arile qi , qj sunt st
ari initiale
sau nu. Pentru automatele incomplet specificate exist
a algoritmi (grafici sau analitici)
de reducere a num
arului de st
ari [Yarbrough 0 97][Lewin 0 92].

3.2.5

Asignarea st
arilor

Dup
a operatia de reducere a st
arilor echivalente si modificarea corespunz
atoare
a grafului de tranzitie al st
arilor/organigrama ASM si a tabelului de tranzitie al
st
arilor se asigneaz
a st
arile. Procesul de asignare al st
arilor (codificarea st
arilor) unui
automat cu s st
ari const
a n alocarea pentru fiecare simbol de stare q 0 , q1 , . . . , qs1 a
c
ate unui cuv
ant de cod cu lungimea de minimum k biti. Valoarea lui k rezult
a din
relatia
2k1 s < 2k

(3.17)

deci k = dlog2 se
Prin asignarea st
arilor, automatul definit simbolic este transformat ntr-un automat cu o structur
a specificat
a si functiile de transfer f si de tranzitie g sunt fixate.
,,
De fapt, se personalizeaz
a un semiautomat pentru automatul respectiv, Definitia
3.8 . In Figura 3.25 este reprezentat
a o structur
a generic
a de automat a c
arui structur
a este separat
a n partea combinational
a, CLC2, pentru calculul functiei de transfer
si semiautomat, SA. Semiautomatul este compus din circuitul combinational CLC1,
pentru calculul functiilor de excitatie W , iar n jurul acestuia este nchis
a bucla printrun registru (element de memorie). Prin asignare fiecare stare prezent
a si fiecare stare
urm
atoare sunt exprimate respectiv prin cuvintele Z si W cu lungimea de k biti (din
multimea de 2k cuvinte).
In proiectarea automatului se porneste de la descrierea transferului intrare/iesire,
deci este fixat
a functionarea prin corespondenta
ntre vectorii X si Y de la bornele
automatului. Proiectantului, pentru o functionare dat
a a unui automat, i r
am
ane
sarcina de a optimiza realizarea functiilor f si g, ceea ce se reduce la alegerea semiautomatului cel mai potrivit din multimea de semiautomate posibile. Ori, aceast
a
alegere este determinat
a/fixat
a prin procesul de codificare al st
arilor. Importanta
alegerii semiautomatului cel mai potrivit este evident
a pentru un automat, deoarece
aceast
a alegere determin
a direct dimensiunea si complexitatea automatului. Deoarece
automatele n general nu pot fi definite recursiv, deci dimensiunea definitiei poate fi

352

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

CLC2
f

CLC1
g

W
k

Registru
SA
CLK
Figura 3.25 Separarea semiautomatului SA n structura unui automat:

ridicat
a, rezult
a, n consecinta
, circuite complexe. Un automat complex av
and si o dimensiune ridicat
a va fi mai greu de realizat; este de preferat realizarea unui automat
de complexitate redus
a chiar dac
a dimensiunea (circuistica) este ridicat
a. Rezult
a
necesar
a cunoasterea posibilit
atilor de alegere a cuvintelor de cod din multimea de 2 k
cuvinte, care de fapt reprezint
a spatiul st
arilor exprimat prin cuvinte de cod. Codificarea st
arilor este cea mai important
a etap
a n proiectarea unui automat.
Tabelul 3.1
Posibilit
ati de codificare pentru un automat cu patru st
ari
Starea
q0
q1
q2
q3

Starea
q0
q1
q2
q3

c1

c2

z 1z 0

c7

c8
z 1z 0

01

01

11

10

10

01

10

11

01

10

01

c15
z 1z 0

c16
z 1z 0

c17
z 1z 0

11

00

00

01

11

00

01

z 1z 0

z 1z 0

c3
z 1z 0

c4
z 1z 0

z 1z 0

c5

c6
z 1z 0

00

00

01

01

10

10

11

10

11

01

11

11

10

11

c 13
z 1z 0

z 1z 0

c 14

11
00
01

00

10

00

10

00

10

c10
z 1z 0

c 11
z 1z 0

c12
z 1z 0

01
11

01

01

01

11

00

00

00

10

00

10

11

00

11

00

10

11

10

c18
z 1z 0

c 19
z 1z 0

c 20
z 1z 0

c 21
z 1z 0

c 22
z 1z 0

c 23
z 1z 0

c 24
z 1z 0

11

11

11

11

01

01

00

00

01

01

10

10

01

11

00

01

10

00

10

00

01

11

00

11

10

01

10

00

01

00

00

10

10

10

11

11

c9
z 1z 0

Pentru un automat cu s st
ari din multimea de 2k cuvinte, cu lungimea de k biti,
k
se pot forma un num
ar de 2 !/(2k s)!s! grupuri distincte, fiecare grup contin
and s
cuvinte. Apoi, prin maparea celor s st
ari ale automatului pe un grup cu s cuvinte
rezult
a un num
ar de s! asign
ari (codific
ari) diferite. Deci num
arul total de codific
ari,
Nc , va fi:
NC =

2k !
(2k s)!

(3.18)

353

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

De exemplu, pentru un automat cu patru st


ari q0 , q1 , q2 si q3 (codificabile pe un
cuv
ant de doi biti k = dlog2 4e = 2) rezult
a NC = 22 !/(22 4)! = 24 posibilit
ati de
asignare, c1 c24 , reprezentate n Tabelul 3.1. Dar din cele 24 de asign
ari posibile
unele sunt echivalente. Dou
a asign
ari ale st
arilor sunt echivalente dac
a pentru cele
dou
a implement
ari ale automatului functiile f si g au aceleasi m
arimi de dimensiune
si complexitate. Se obtin dou
a asign
ari echivalente n urm
atoarele dou
a cazuri:
1. c
and codul unei asign
ari se obtine prin complementarea codului celeilalte. De
exemplu, sunt echivalente urm
atoarele perechi de asign
ari (c1 , c24 ), (c2 , c23 ),
(c3 , c22 ),. . .,(c12 , c13 );
2. c
and codul unei asign
ari se obtine din codul altei asign
ari prin interschimbarea
coloanelor z1 si z0 . Dac
a n asignarea c1 se schimb
a valorile bitilor ntre z1 si z0
se obtine asignarea c3 , la fel c2 si c4 s.a.m.d
Num
arul total de asign
ari neechivalente, Ncne , pentru un automat cu s st
ari si cuv
ant
de lungime de k biti se calculeaz
a cu urm
atoarea relatie
Ncne =

(2k 1)!
(2k s)!s!

(3.19)

Valoarea lui Ncne creste dramatic n functie de num


arul de st
ari s ale automatului,
c
ateva din aceste valori sunt date n Tabelul 3.2.
Tabelul 3.2
Valori pentru num
arul asign
arilor neechivalente, Ncne

Ncne

Ncne

2
3
4
5

1
2
2
3

6
7

3
3

1
3
3
140
420
840

8
9
10
16
20

3
4
4
4
5

840
10,81 x10 6
75,67 x10 6
56,48 x10 9
143,14 x10 21

In proiectarea unui automat efortul de alegere a celui mai bun semiautomat, care
determin
a o dimensiune minim
a pentru circuitele combinationale, CLC1 si CLC2,
precum si o minimizare a complexit
atii, este evitat din cauza num
arului mare de
asign
ari posibile n spatiul st
arilor care ar trebui analizate. Pentru s 4 se pot
elabora si analiza toate solutiile de semiautomat si apoi se alege varianta care duce
la un minim pentru dimensiune si complexitate. Pentru cazul c
and n 4 se caut
a
doar g
asirea solutiei care determin
a un semiautomat ce se aproprie suficient de mult
de cel mai bun, am putea spune semiautomatul cel mai potrivit. In acest sens exist
a
n literatur
a indicate anumite reguli care aplicate n procesul de asignare al st
arilor
pot duce spre o solutie aproape de cea optim
a.
Variabilelor de excitatie w, care determin
a starea urm
atoare, se calculeaz
a n
blocul combinational CLC1, iar m
arimile de iesire y sunt calculate n blocul combinational CLC2; n calculul acestor dou
a marimi intervine starea prezent
a. In sinteza
celor dou
a blocuri combinationale se obtin forme cu at
at mai simple cu c
at n diagramele V-K se identific
a suprafete (implicanti primi esentiali, IPE) c
at mai mari.

354

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Ori, pentru a obtine suprafete c


at mai extinse este indicat ca asignarea st
arilor s
a se
efectueze astfel nc
at codurile st
arilor s
a aib
a ntre ele distanta unitar
a si prin aceasta
la maparea pe o diagrama V-K vor corespunde c
asute adiacente. Pe aceast
a observatie
se bazeaz
a unele reguli care pot duce la obtinerea de structuri simple pentru cele dou
a
blocuri combinationale.
Un procedeu simplu de asignare a st
arilor care are o probabilitate destul de ridicat
a
pentru a duce la o solutie apropiat
a de cea optim
a se bazeaz
a pe conceptul de locusul
st
arilor. Locusul st
arilor este num
arul de modific
ari ale bitilor din cuv
antul de
stare c
and pentru un automat se parcurg toate c
aile de tranzitie. Se va alege acea
codificare a st
arilor care s
a realizeze o valoare c
at mai mic
a pentru locusul st
arilor.
Valoarea minim
a s-ar obtine c
and codurile ntre dou
a st
ari succesive pe oricare linie
de tranzitie, n afar
a de buclele la aceeasi stare, ar diferi doar printr-un singur bit.
Aceast
a modalitate de codificare, prin care codul unei st
ari difer
a doar printr-un
singur bit fata
de codurile st
arilor urm
atoare, nspre care exist
a o cale de tranzitie,
este referit
a ca o codificare cu variatie minim
a. Codificarea cu variatie minim
a,
pe l
ang
a faptul c
a pot duce duce la suprafete mai mari ntr-o diagram
a V-K, prin
realizarea unei singure comutatii n cuv
antul de stare la trecerea de la o stare la alta,
m
areste siguranta n functionare a automatului, mai ales la cele asincrone.
Un segment de organigram
a ASM av
and o codificare cu variatie minim
a este
prezentat n Figura 3.26-a. La o tranzitie din starea q0 , c
areia i s-a asignat codul
0000, pe oricare cale de tranzitie nspre st
arile q1 , q2 , q3 , q4 n cuv
antul de cod se
modific
a doar un singur bit. Dac
a se noteaz
a cu nz3 , nz2 , nz1 , nz0 , valorile bitilor din
cuv
antul de stare urm
atoare, acestea se pot exprima prin relatia logic
a ce defineste
calea de tranzitie respectiv
a.
nz3 = x1 x0
nz1 = x1 x0

nz2 = x1 x0
nz0 = x1 x0

Codificarea cu diferenta numai de un singur bit, ntre dou


a st
ari succesive, nu
este totdeauna posibil
a. De exemplu, n organigrama ASM din Figura 3.26-b, care
contine pe o bucl
a trei st
ari q0 , q1 si q2 acestea nu pot fi toate codificate cu distante
de cod egale cu unu. Dac
a q1 difer
a de q0 cu un singur bit, iar fata
de q2 tot cu un
singur bit, atunci q2 difer
a de q0 prin cel putin doi biti. Aceste relatii ntre cuvintele
de cod asignate st
arilor se pot observa si modifica mult mai usor dac
a se construieste
o diagram
a de tip V-K n care se mapeaz
a st
arile. Intr-o astfel de diagram
a, dou
a
st
ari succesive care au distanta de cod egal
a cu unu, sunt plasate n c
asute adiacente.
Din diagrama V-K corespunz
atoare automatului din Figura 3.26-b rezult
a c
a totdeauna, pentru oricare variant
a de asignare cu 2 biti ntre cele trei st
ari q 0 , q1 si q2
de pe bucl
a, exist
a (pe diagonal
a) ntre dou
a c
asute neadiacente. Uneori, pentru realizarea unei codific
ari cu distanta de cod unu ntre oricare dou
a st
ari succesive este
necesar
a introducerea unei st
ari suplimentare, dar aceast
a suplimentare de st
ari pe
ntreaga organigram
a ASM ar putea duce la cresterea num
arului de biti n cuv
antul
de cod. Prin introducerea st
arii suplimentare q4 , Figura 3.26-c, cuv
antul de cod va
fi de trei biti, dar codurile succesive asignate st
arilor q0 , q1 , q2 si q4 de pe bucl
a sunt
la distanta unitar
a, ceea ce se obtine din plasarea st
arilor pe diagrama V-K n pozitii
adiacente (aceast
a plasare nu este unic
a). Aceast
a rezolvare pentru codificarea cu
variatie minim
a implic
a definirea si a unei iesiri n starea suplimentar
a. Iesirea dependent
a de starea suplimentar
a poate fi repetarea iesirii y din starea anterioar
a sau

355

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

Bloc de
stare

z3 z2 z1 z0
0 0 0 0

q0

0
1

x0

x1

q0

x0

q0
q1

110
q2 y=1 q3

q2 y=1
q4

q1

0001

q2

0010

q3

a)

0100

q4

1000

z2 z1 z0
0 0 0
010

01

q1

1
0

z1 z0
0 0

z0

0
q
0 0

1
q1

1 q2

q3

z1

b)

z2

z1z0

001
q3

100
y=1

00 01
q0

q4

11
q3

10
q1
q2

c)

Figura 3.26 Codificare cu variatie minim


a: a) segment de organigram
a ASM codificat
cu variatie minim
a; c) codificare cu variatie minim
a prin introducerea unei st
ari suplimentare
fata
de organigrama(b).

nici o iesire NO-OPERATION dac


a functionarea automatului permite. Generarea
iesirii, y = 1 si n starea suplimentar
a apare la iesirea automatului ca o consumare de
doi timpi de stare (tacte) n starea q2 .
Pentru un automat valoarea locusului st
arilor nu poate fi mai mic
a dec
at num
arul
s de st
ari. O valoare minim
a egal
a cu s pentru locusul st
arilor se poate obtine doar la
un automat la care exist
a s tranzitii neconditionate ntre st
arile succesive si codificarea
st
arilor este cu variatie minim
a, de exemplu un num
ar
ator n cod Gray, uzual valoarea
minim
a a locusului st
arilor este mai mare dec
at s.
Exemplul 3.9 Pentru automatul din Figura 3.27-a sa se calculeze locusul starilor,
apoi s
a se reasigneze st
arile astfel nc
at s
a se obtin
a valoarea minim
a pentru locusul st
arilor.
Solutie. Pentru codurile st
arilor nscrise pe organigram
a se calculeaz
a locusul st
arilor,
Figura 3.27-b, rezult
and o valoare egal
a cu 10. Din plasarea st
arilor pe o diagram
a V-K se
vede c
a st
arile nu au coduri adiacente. Replas
and st
arile pe diagrama V-K, Figura 3.27-c, se
face o codificare cu variatie minim
a (cuvintele binare notate n paranteze pe organigram
a)
pentru care locusul obtine valoarea 7. In aceast
a diagram
a V-K pe s
agetile care reprezint
a
c
aile de tranzitie dintre st
ari s-a indicat si distanta de cod respectiv
a, dac
a aceast
a distanta
este mai mare dec
at unitatea. Pe bucla format
a din st
arile q1 , q3 , q4 nu se poate realiza o
codificare cu variatie minim
a. Asignarea codului 011 pentru q4 ar duce la o distanta
de cod
unitar
a fata
de q1 , dar ar m
ari distanta de cod la doi fata
de q3 , locusul st
arilor ar fi tot 7. Se
pot ncerca si alte plas
ari n mapa st
arilor. Solutia ar fi introducerea unei st
ari suplimentare
pe aceast
a bucl
a.

356

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

q0

z2 z1 z0
0 0 0 (000)

010(010)

011(100)
q2

q1

111(110)
q3

a)

101(111)
q4

z2

z1z0
0

00

q0

1
tranzitia q 0
tranzitia q 0
tranzitia q 1
tranzitia q 2
tranzitia q 3
tranzitia q 4

01

11

10

q2

q1

q4

q3

q1=000 010 modifica 1 bit


q2=000 011 modifica 2 biti
q3=010 111 modifica 2 biti
q3=011 111 modifica 1 bit
q4=111 101 modifica 1 bit
q1=101 010 modifica 3 biti
Total=10 biti modificati
b)

z2

z1z0

00

q0

q2

000
000
010
100
110
111

01

11

10
q1

2
q4

q3

010 modifica 1 bit


100 modifica 1 bit
110 modifica 1 bit
110 modifica 1 bit
111 modifica 1 bit
010 modifica 2 biti
Total=7 biti modificati
c)

Figura 3.27 Exemplu de plasare a st


arilor pe diagrama V-K (b) pentru obtinerea
unei valori minime a locusului st
arilor (c) la o organigram
a dat
a (a).

Exemplul 3.10 Pentru automatul cu tabelul de tranzitie al starilor/iesirilor din


Figura 3.28-a s
a se deduc
a expresia semnalelor de excitatie.
Solutie. Deoarece se deduc doar expresiile functiilor de excitatie se vor neglija valorile
iesirilor, deci problema exprimat
a pentru automat se restr
ange numai la sinteza semiautomatului. Se propun dou
a variante de semiautomat.
In Varianta I, Figura 3.28-b, cele sase st
ari q0 q5 sunt mapate pe diagrama V-K astfel
nc
at s
a se realizeze ntr-o m
asur
a c
at mai mare variatie minim
a, adic
a plasare n c
asute
adiacente. In afar
a de tranzitiile q3 la q5 si q5 la q1 , care au distanta de cod egal
a cu 2, toate
celelalte tranzitii au distanta de cod unitar
a, rezult
a o valoare egal
a cu 12 pentru locusul
st
arilor. (Incercati o alt
a plasare care ar duce la o valoare mai mic
a). Utiliz
and aceast
a
asignare rezult
a tabelul de tranzitie al st
arilor din Figura 3.28-c, n care s-au nscris valorile
obtinute pentru bitii st
arii prezente z2 , z1 , z0 si bitii semnalelor de excitatie w2 , w1 , w0 . Acest
tabel poate fi transformat n tabelul din Figura 3.28-d n care valorile bitilor de excitatie au
fost explicitate n functie de bitii st
arii prezente si de valorile variabilei de intrare testat
a.

357

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

starea Starea
urmat/iesire
prez.
x=0 x=1
q0 q0/0 q1/0

z1

z1z2
0
1

q2

q4

q1

q3

q2/1

q2

q3/0

q5/1

Locusul starilor = 12
Varianta II
z1z0
00
01
11
10
z

q3

q4/0

q5/0

q1/1
q1/0

q3/0

q1/1

z1z0

q5

b)

00
x

01
1

11

10

0
1

01
0

11

10

00
0

00
0

01
0

11

10

0
1

z1z0

z1z2

q4

q0

a)

z2

10

q0/1

q5

z2

Varianta I
01
11
q5

q1

q4

z2

00
q0

q3

2
3

q1

q2
Locusul starilor = 15

Intrare
x
0
1
0
1
0
1
0
1
0
1
0
1

W2

W1

W0

e)

c)

Starea
prezenta
z2 z1 z0
0

d)

Starea
prez.
z2z1z0
q0
000
q1
100
q2
101
q3
111
q4
110
q5
001

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

Starea urmatoare
x=0
x=1
w2 w1 w0 w2 w1 w0
q0 0 0 0 q1 1 0 0
q0 0 0 0 q2 1 0 1
q3 1 1 1 q5 0 0 1
q4 1 1 0 q5 0 0 1
q1 1 0 0 q3 1 1 1
q5 1 0 0 q1 1 0 0

Starea urmatoare
w1
w0
0
0
0
x
0
0
0
0
0
x
0
x
0
1
1
1
x
x
1
0
1
1
0
x
x
x
1
0
0
0
x
x
1
1
1
0
0
0
0
1
0
0

w2

Figura 3.28 Exempificarea etapelor pentru sinteza expresilor semnalelor de


excitatie:
a) tabelul de tranzitie al st
arilor/iesirilor; b) variante de mapare a st
arilor
pe diagrama V-K; c,d) explicitarea tabelului de tranzitie prin introducerea codurilor asignate; e) diagramele V-K pentru determinarea expresiilor functiilor de excitatie w2 , w1 si
w0 .

Prin aceast
a explicitare, din acest tabel, se poate realiza sinteza expresiilor pentru w2 , w1 , w0
ca functii de patru variabile: z2 , z1 , z0 si x. Sinteza se poate simplifica prin introducerea lui
x ca variabil
a reziduu n valorile pentru w2 , w1 , w0 (notatiile dup
a acolade), rezult
and diagramele de trei variabile z2 , z1 , z0 reprezentate n Figura 3.28-e. Expresiile pentru semnalele
de excitatie sunt:
w2

z 2 z0 + z 1 z0 + z 0 x + z 0 x

w1

z 2 z0 x + z 1 z0 x

w0

z 2 z1 z0 + z 2 x

Pentru o implementare cu porti discrete, introduc


and ca m
asur
a a dimensiunii num
arul
S de intr
ari utilizate, rezult
a respectiv valorile 11, 7 si 6, deci dimensiunea implement
arii
Variantei I este SV arI = 24.
In Varianta II plasarea st
arilor pe diagrama V-K s-a f
acut f
ar
a a c
auta obtinerea unei

358

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

variatii minime. S-au obtinut urm


atoarele expresii pentru semnalele de excitatie.
w2

z 1 x + z 2 z0 x

w1

z 2 z1 z0 + z 2 z0 + z 2 x

w0

z 2 z1 z0 x + z 1 z0 x + z 2 z1 x + z 2 z0 x

care realizeaz
a respectiv dimensiunile 6, 9 si 16, iar pe ntregul semiautomat SV arII = 31.

Codificarea cu dependent
a redus
a. Selectarea codurilor, lu
and criteriu locusul st
arilor, are n vedere doar modificarea valorilor variabilelor de stare si efectul
lor asupra functiilor de excitatie (valorile variabilelor st
arii urm
atoare). Dar, valorile
variabilelor st
arii urm
atoare sunt dependente si de valorile variabilelor de intrare testate n simbolurile de decizie dintr-o organigram
a ASM . Modalitatea de asignare a
st
arilor prin care s
a se ia n considerare si contributia intr
arilor n functiile de excitatie
este referit
a prin codificare cu dependenta
redus
a (de variabilele de intrare). Codificarea cu dependenta
redus
a presupune ca st
arile urm
atoare ce se obtin prin tranzitia
din aceeasi stare, n urma test
arii unor variabile de intrare, s
a difere ntre ele printr-un
singur bit. Aceasta nseamn
a ca expresia celor dou
a st
ari, care se obtin n urma
test
arii unei singure variabile x0 , s
a se exprime c
at mai simplu n functie de aceasta
variabil
a adic
a, s
a fie de forma, de exemplu, z4 z3 x0 z1 z0 . Cele dou
a st
ari urm
atoare
sunt z4 z3 0z1 z0 si z4 z3 1z1 z0 . Dar dac
a n acelasi bloc de stare se testeaz
a si a doua
variabil
a de intrare x1 si cuvintele care se obtin n urma acestei test
ari trebuie s
a fie
diferite tot printr-un singur bit, de exemplu z4 x1 z2 z1 z0 , adic
a z4 0z2 z1 z0 si z4 1z2 z1 z0 .
Incercarea de a codifica cu dependenta redus
a simultan dup
a dou
a variabile testate
x1 , x0 nu este posibil
a. De exemplu, expresia z4 x1 x0 z1 z0 pentru st
arile urm
atoare
poate genera urm
atoarele patru cuvinte z4 00z1 z0 , z4 01z1 z0 , z4 10z1z0 si z4 11z1 z0 care
nu difer
a ntre ele numai printr-un singur bit. Deci codificarea cu dependenta redus
a
poate fi realizat
a doar n functie numai de o variabil
a testat
a.
Exemplul 3.11 Pentru automatul cu tabelul de tranzitie al starilor/iesirilor din
Figura 3.28-a s
a se realizeze o codificare cu dependent
a redus
a.
Solutie. Pentru a fi mai explicit
a aceast
a codificare din tabelul de tranzitie al st
arilor
s-a desenat organigrama ASM , Figura 3.29-a. In aceast
a organigram
a dup
a fiecare element
de decizie s-a notat expresia codului pentru urm
atoarele dou
a st
ari n functie de valoarea
variabilei testate x. De exemplu, n blocul de stare q1 expresia codurilor st
arilor urm
atoare
este 00x ceea ce impune pentru valoarea lui x = 0 codul urm
ator s
a fie 000 (q0 ), iar pentru
x = 1 codul urm
ator s
a fie 001 (q2 ), ntre aceste dou
a coduri distanta de cod este unitar
a.
Pentru aceast
a codificare cu dependenta
redus
a se obtine tabelul de tranzitie al st
arilor din
Figura 3.29-b. Urm
and aceeasi succesiune n sintez
a ca la Exemplul 3.10 rezult
a expresiile
pentru semnalele de excitatie
w2

z0 + z1 + z2 x

w1

z 2 z0 + z 1 z0 x

w0

z 2 z1 z0 + z 2 x

pentru care dimensiunea implement


arii cu porti discrete, consider
and criteriu num
arul de
intr
ari, este S = 18. Se observ
a c
a n expresiile semnalelor de excitatie w2 , w1 si w0 , variabila
de intrare x intervine doar o singur
a dat
a (dependenta
redus
a).

359

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

000

q0

0
x00

x
1

Starea
prezenta
z2 z1 z0

100

q0 0 0 0 q0 0 0 0 q1 1 0 1

q1

0
00x
q2

0
101

q3

q5

q1 1 0 0 q0 0 0 0 q2 0 0 1

1
001
x
1
1x1

Starea urmatoare
x=0
x=1
w2 w1 w0
w2 w1 w0

q2 0 0 1 q3 1 0 1 q5 1 1 1
q3 1 0 1 q4 1 1 0 q5 1 1 1
111

q4 1 1 0 q1 1 0 0 q3 1 0 1
q5 1 1 1 q1 1 0 0 q1 1 0 0

11x
110

q4

a)

b)

10x
Figura 3.29 Codificare cu dependenta redus
a: a) organigrama ASM cu indicarea codurilor st
arilor n functie de variabila de intrare testat
a, x; b) tabelul de tranzitie al st
arilor.

,,
Codificarea de tip unic-activ (one-hot ). La codificarea de tip unic-activ
cuv
antul de cod nu mai are lungimea de dlog2 se ci are lungimea de s biti, adic
a
at
atia biti n cuv
antul de cod c
ate st
ari are automatul. O astfel de codificare pentru
automatul cu sase st
ari, din Exemplele 3.10 si 3.11, este cea prezentat
a n coloana
a doua a Tabelului 3.3 si care foloseste doar sase cuvinte de cod din cele 2 6 cuvinte
,,
de cod posibile, fiecare cuv
ant de cod av
and un singur bit egal cu unu (unu-activ ).
La prima vedere am fi tentati s
a reject
am acest tip de asignare din cauza cresterii
dimensiunii registrului din calea de reactie. Acest registru, pentru un automat cu s
st
ari, va avea s celule de memorare (bistabile) si nu dlog2 se celule ca la asign
arile
prezentate p
an
a acum. Dar, la o anliz
a mai atent
a, v
az
and avantajele asignarea de tip
unic-activ este preferat
a n raport cu alte asign
ari mai ales la implement
arile integrate.
Avantajul principal pentru asignarea one-hot const
a n simplitatea expresiilor celor
s functii de excitatie. Acest
a simplitate duce n general la o reducere a dimensiunii
circuitului combinational CLC1, Figura 3.25, care poate compensa ntr-o oarecare
m
asur
a cresterea dimensiunii p
artii ordonate corespunz
atoare registrului. Pe un cir-

360

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
Tabelul 3.3
Modalit
ati de asignare a st
arilor
Numele

Codul
unicactiv

starii

z5 z4 z3 z2 z1 z0

Asignare prin :
Codul
Codul
cu
unicactiv
initializare
modificat
z4 z3 z2 z1 z0 z3 z2 z1 z0

q0

0 0

0 0

0 1 0

0 0 0

0 0 0

q1

0 0

0 0

1 0 0

0 0 1

0 0 1

q2

0 0

0 1 0

0 1 0

q3

0 0

1 0 0

0 1 1

q4

0 0

0 0 0

1 0 0

q5

0 1

0 0 0

1 0 1

cuit integrat este de preferat cresterea, ntr-o oarecare m


asur
a, a dimensiunii p
artii
ordonate (registru) n schimbul sc
aderii dimensiunii p
artii neordonate (CLC). In plus,
prin sc
aderea dimensiunii p
artii combinationale, viteza de r
aspuns a automatului
creste. De asemenea, acest
a simplitate duce la o sintez
a mult mai usoar
a si, n depanarea circuitului necesit
a un timp mult mai redus. Pentru asignarea one-hot, din
Tabelul 3.3, aplicat
a automatului cu tabelul de tranzitie al st
arilor din Figura 3.28-a
se obtin urm
atoarele expresii pentru semnalele de excitatie.
w5 = z 2 z3 x

w2 = z 1 x

w4 = z 3 x

w1 = z 5 + z 4 x + z 2 z0 x

w3 = z 2 x + z 4 x

w0 = z 1 z2 z0 x

Exist
a o practic
a, destul de frecvent
a, n proiectarea automatelor ca s
a se introduc
a
,,
si o stare de asteptare idle care se codific
a printr-un cuv
ant numai de zero-uri sau
mai rar numai din unu-uri. Codificarea numai prin zero-uri este practic
a deoarece
printr-un semnal de RESET-are se poate nscrie acest cuv
ant n registrul de stare si
,,
automatul este adus n starea de asteptare. In aceast
a stare de initializare/idle ,
q0 din organigrama din Figura 3.29, se ajunge fie prin initializare, la punerea sub
tensiune, fie prin resetare c
and automatul nu mai are nimic de efectuat. Introduc
and
aceast
a stare de initializare pentru asignarea de tip one-hot se obtine asignarea de
tip one-hot modificat cu o reprezentare ca cea din coloana a treia a Tabelului 3.3.
Functiile de excitatie, n num
ar de (s 1), ale automatului descris n Figura 3.29-a,
prin aplicarea asign
arii one-hot modificat au urm
atoarele expresii
w4 = (z1 z2 x)

w1 = z 0 x

w3 = z 2 x

w0 = z 4 + z 3 x + z 4 z3 z2 z1 z0 x

w2 = z 1 x + z 3 x
Al treilea termen din expresia lui w0 indic
a faptul c
a automatul este adus n starea
q0 (= 00 000) c
and nici una din celelalte st
ari nu este activ
a.

361

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

Un exemplu de initializare q0 (= 0 000) pentru o codificare obisnuit


a este prezentat
n coloana a patra din Tabelul 3.3. Toate st
arile, n afar
a de cea de initializare, au n
codul lor bitul cel mai semnificativ z3 egal cu 1, deci acest bit prin valoarea 1 indic
a
faptul c
a automatul nu este n starea de initializare. In acest exemplu pentru ceilalti
trei biti de stare z2 z1 z0 se foloseste n codificarea st
arilor o num
arare n binar natural
000, 001, 010 etc.
Pentru toate modalit
atiile de asignare a st
arilor prezente, n general, num
arul de
coduri utilizate (valide) s este mai mic dec
at num
arul total de cuvinte de cod posibile. Diferenta ntre aceste dou
a numere este num
arul de coduri neutilizate (ilegale).
Dar ce influenta
negativ
a pot avea codurile neutilizate? Datorit
a unor function
ari
defectuoase ale circuitului, unor greseli de proiectare, modificarea neasteptat
a a unei
intr
ari (asincrone) sau la punerea sub tensiune, automatul poate intra ntr-o stare
ilegal
a. Odat
a intrat ntr-o stare ilegal
a pot exista dou
a scenarii. Primul, functie
dac
a starea ilegal
a a fost sau nu cuprins
a n procesul de minimizare si dac
a a fost ce
valoare a primit n diagrama V-K, dup
a c
ateva tacte de clock se poate ajunge ntr-o
stare legal
a si mai departe o functionare corect
a a automatului. Al doilea, si cel mai
dezastruos, dintr-o stare ilegal
a se poate trece n alte st
ari ilegale, nchiz
andu-se un
,,
ciclu ntre acestea, iar din aceast
a functionare ilegal
a se poate iesi numai printr-o
oprire si o repornire, dac
a nu se ajunge din nou tot n functionare ilegal
a. In tratarea
st
arilor ilegale, notate prin simbolul indiferent (don0 t care) n diagramele V-K din
Figura 3.28-b si c, pot exista dou
a abord
ari.

000

011

010

001

100

101

110

111

a)
111

100

010

000

101

110

b)
001

011

Figura 3.30 Variante de abordare a proiect


arii automatului n raport cu considerarea st
arilor ilegale: a) proiectare pentru cost minim; b) proiectare cu risc minim.

Prima abordare a - costului minim - consider


a c
a automatul nu va intra niciodat
a intr-o stare ilegal
a. Prin urmare, n procesul de sinteza pe diagramele V-K
termenii canonici indiferenti sunt inclusi cu valoarea potrivit
a mpreun
a cu alti termeni canonici adiacenti astfel nc
at s
a rezulte implicanti primi esentiali de suprafata

c
at mai mare, n consecinta
cost minim de implementare.
A doua abordare - riscul minim - evit
a cantonarea automatului ntr-o stare
ilegal
a. Aceast
a functionare se poate realiza prin proiectarea automatului astfel nc
at

362

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

din fiecare stare ilegal


a s
a existe o tranzitie ntr-o stare legal
a, n general spre starea
de initializare (de cod 00 . . . 00). De exemplu, automatul din Figura 3.30-a utilizeaz
a
numai patru din cele opt cuvinte de cod, celelalte patru cuvinte de cod constituie st
ari
ilegale ale automatului. O proiectare cu risc minim va considera graful de tranzitie al
st
arilor din Figura 3.30-b n care din st
arile ilegale 001, 011, 100 si 111 exist
a tranzitii
spre starea de initializare 000.
3.2.5.1

Intr
ari si iesiri asincrone

La un automat sincron variatiile variabilelor de intrare au loc doar n momentul


aplic
arii impulsului de ceas, sunt sincrone (sunt esantionate/testate) cu semnalul de
ceas. Aceste variatii mpreun
a cu cele ale st
arii prezente produc starea urm
atoare si
iesirile. At
at iesirile c
at si starea urm
atoare vor fi corecte dac
a se citesc, respectiv se
nscriu n registrul de stare si de iesire, numai n perioada regimului stabilizat, adic
a
dup
a consumarea regimului tranzitoriu, vezi Figura 3.7-b. Chiar si la un automat
Mealy imediat se obtin iesiri corecte dac
a sunt citite (utilizate) dup
a consumarea
regimului tranzitoriu. Nu la fel se nt
ampl
a c
and intr
arile sunt asincrone.
Semnalele asincrone de intrare nu mai au variatii sincrone cu ceasul automatului,
aceste semnale se pot modifica oric
and n raport cu frontul activ de sincronizare al
ceasului. Semnalele asincrone pe intrare pot proveni de la un alt sistem digital care
este comandat cu un ceas diferit sau sunt culese din exterior de la traductori ai unor
sisteme mecanice, termice, biologice etc. Variatia semnalelor asincrone va produce
modific
ari n iesirile de tip imediat (Mealy) care pot fi nc
arcate de hazard dac
a sunt
citite nainte de consumarea regimului tranzitoriu. In schimb, variatia semnalelor
asincrone de intrare nu va produce o functionare incorect
a a automatului, prin iesiri
nc
arcate de hazard si cuvinte de stare urm
atoare eronate, dac
a nscrierea (memorarea) n registrul de iesire si n registrul de stare se face numai dup
a consumarea
regimului tranzitoriu. S-a ar
atat n sectiunea 3.2.1, Figura 3.6, c
a nscrierea ntr-un
registru, la momentul iT al aplic
arii impulsului de ceas, al unui semnal care variaz
a
n intevalul interzis (iT SU , iT + H ), nu poate fi o operatie determinist
a. Dac
a
n acest interval semnalul are o variatie de la 0 la 1 sau de la 1 la 0 n registru nu
se poate sti exact dac
a valoarea nscris
a este 0 sau 1. Aceast
a comportare nedeterminist
a se datoreaz
a function
arii celulelor (bistabile) din care este construit registrul,
explicatiile vor fi date n sectiunea 3.3.1.
In consecinta
, dac
a variatia semnalului asincron de intrare produce modific
ari ale
iesirii si ale cuv
antului de stare urm
atoare chiar n intervalul atunci iesirea nscris
a
n registrul de iesire poate fi eronat
a, iar codul nscris n registrul de stare poate fi
unul ilegal sau poate fi unul care nu mai corespunde unei tranzitii normale. Deci, iat
a
cum o intrare asincron
a, prin efectele sale, poate produce o functionare incorect
aa
unui automat. Efectele variatiei variabilei asincrone n intervalul interzis nu pot fi
eliminate, dar pot fi atenuate printr-o asignare corespunz
atoare a st
arilor.
Pentru segmentul de organigram
a din Figura 3.31-a, n care se testeaz
a si variabila asincron
a x0 (asincronismul unei intr
ari se noteaz
a, n general, cu un asterisc),
asignarea s-a realizat cu variatie minim
a astfel nc
at locusul st
arilor pentru acest
segment are valoarea 3. Expresia cuv
antului de cod pentru st
arile q2 , q3 si q4 , n
functie de variabilele testate, x1 sincron
a si x0 asincron
a, este ((x1 x0 ) (x1 x0 )x1 )

adic
a: nz2 = x1 x0 , nz1 = x1 x0 , nz0 = x1 . Consider
am cazul c
and x1 = 0, adic
a

363

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

Bloc de
stare q0

z2 z1 z0
0 0 0

q0

L3
001

q2

q3

x1

x*0

0
0
1

0
1

q4

Starea
prezenta

Intrari

a)

0
x*0
0
1
L4
((x1x*0)(x1x*0)x1)
100
010

simbol
q0
q0
q0

z2
0
0
0

L3
q2

Intrari

b)

x1

x*0

0
0
1

0
1

q3

q0
q0
q0

Bloc de
stare q 1
q2

cod

z2 z1 z0
0 0 0
0 0 0
0 0 0

L4
011

Starea
urmatoare
simbolnz2
q4
q3
q2

cod
nz0

n z1

0 1 1
1 1 1
0 0 1

Bloc de
stare q0

q0

x*2
q1

q4

Starea
prezenta
simbol

x*0
0
1
((x1x0)(x1)1)
111

L2
001

Bloc de
stare q 0

q0

x1

Starea
urmatoare

cod
cod
simbolnz2 n z 0
n
z1
z1 z0
0 0 q4 0 1 0
0 0 q3 1 0 0
0 0 q2 0 0 1

z2 z1 z0
0 0 0

q0

x1

1
L2

Bloc de
stare q0

x*2
q1

x1
x*0

Bloc de
stare q 5

q3

q4

c)

q2

x1
q5

x*0
q3

q4

Figura 3.31 Analiza ambiguit


atii asupra nscrierii cuv
antului de stare urm
atoare
generat
a de testarea unei variabile de intrare asincrona: a) printr-o codificare cu
variatie minim
a; b) printr-o codificare cu dependenta redus
a; c) introducerea unui bloc de
stare suplimentar pentru eliminarea test
arii simultane a dou
a variabile asincrone.

o tranzitie din q0 n q3 sau q4 , iar cuv


antul de cod al acestor dou
a st
ari se reduce
la x x0 1, deci nz2 = x0 , nz1 = x0 si nz3 = 1. S
a presupunem c
a n intervalul
centrat pe frontul impulsului de ceas din momentul (i + 1)T , care marcheaz
a trecerea
din blocul de stare q0 n unul din blocurile de stare q3 sau q4 , variabila asincron
a x0
variaz
a de la valoarea 0 la valoarea 1. Conform celor prezentate anterior, n fiecare din
cele dou
a celule (z2 , z1 ) ale registrului de stare, pentru bitii cuv
antului de stare nz2 si
nz1 , se poate nscrie fie 0, fie 1 neav
and un control determinist asupra acestui proces,
n consecinta
pot fi urm
atoarele patru cuvinte nscrise pentru starea urm
atoare: 000,
010, 100 si 110.
1. Pentru cuv
antul 100 nscris n registrul de stare: s-a realizat o comutatie corect
a
at
at n celula z2 = 1 (nz2 = x0 = 1) c
at si n celula z1 = 0 (nz1 = x0 ), deci o
tranzitie corect
a (L3 = x1 x0 = 0 1 = 1) ntr-o stare legal
a q3 .
2. Pentru cuv
antul 010 nscris n registrul de stare: s-a realizat o comutatie inat si n celula z1 = 1 (nz1 = x0 =
corect
a at
at n celula z2 = 0 (nz2 = x0 = 1) c

364

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

0), deci o tranzitie incorect


a n starea q4 (legal
a) pe o linie de tranzitie dar care
nu a fost activat
a (L4 = x1 x0 = 0 1 = 0).
3. Pentru cuv
antul 000 nscris n registrul de stare: s-a realizat o comutatie incorect
a n celula z2 = 0 dar o comutatie corect
a n celula z1 (nz1 = x0 = 0),
deci o tranzitie incorect
a n starea q0 , care este o stare legal
a a automatului dar
pentru care nu exist
a nici o linie de tranzitie, din L0 n L0 .
4. Pentru cuv
antul 110 nscris n registrul de stare: s-a realizat o comutatie corect
a
n celula z2 = 1 dar o comutatie incorect
a n celula z1 = 1 (nz1 = x0 = 0), deci
o tranzitie incorect
a ntr-o stare care nici nu este legal
a pentru automat.
In concluzie, o codificare cu variatie minim
a nu poate atenua efectele produse de
modificarea unei variabile asincrone n intervalul centrat pe un front al semnalului
de ceas.
Codificarea st
arilor cu dependenta
redus
a fata
de o intrare asicron
a poate atenua
influenta pe care o are aceasta asupra comutatiei st
arii automatului. In Figura 3.31-b
s-a realizat segmentul de organigram
a ASM , analizat anterior, dar de data aceasta
printr-o codificare cu dependenta redus
a fata
de variabila asicron
a x 0 . Evident, nu se
poate realiza simultan o codificare cu dependenta
redus
a dup
a dou
a variabile testate,
adic
a at
at dup
a x1 c
at si dup
a x0 (vezi sectiunea 3.25). Pentru x1 = 0 rezult
a
tranzitiile la st
arile q3 si q4 ale c
aror cuvinte de cod se pot exprima prin expresia
(x1 x0 )(x1 )(1) = x0 11, deci numai un singur bit nz2 = x0 este dependent de valoarea
variabilei asincrone testate. Consider
and c
a anterior, variatia variabilei x 0 de la 0 la
1, rezult
a c
a pot fi nscrise n registrul de stare urm
atoarele dou
a cuvinte de cod 011 si
111. C
and se nscrie 111 este o tranzitie la starea q3 pe o cale de tranzitie corect
a L3 ,
iar c
and se nscrie 011 este o tranzitie la q4 pe o cale de tranzitie incorect
a, L4 (dar
nu ca n cazul codific
arii cu variatie minim
a c
and ap
areau c
ai de tranzitie inexistente
sau chiar st
ari ilegale). Evident, tranzitia la q4 este incorect
a, dar care are consecinte
atenuante. Dac
a tranzitia a fost gresit
a la q4 si dac
a p
an
a la urm
atorul impuls de
clock (i + 2)T intrarea x0 revine la valoarea 0, se consider
a c
a a fost un spike n
aceast
a intrare, tranzitia a fost corect
a (neglij
and spike-ul). Dar dac
a variabila x 0
se mentine la valoarea 1 acum se testeaz
a aceast
a valoare n blocul de stare al lui q 4
deci evenimentul pe intrare a fost sesizat cu o nt
arziere de un tact. Uneori, se poate
realiza achizitia semnalelor de intrare nc
at acestea s
a nu se modifice la intervale de
timp mai scurte dec
at dou
a perioade ale impulsului de ceas.
Dar dac
a ntr-un bloc de stare se testeaz
a dou
a sau mai multe variabile asincrone
cum se pot atenua efectele modific
arii simultane a acestor variabile asupra ambiguit
atii care poate ap
area la nscrierea cuv
antului de stare urm
atoare? Pentru aceste
cazuri, deoarece nu se poate realiza o codificare cu dependenta
redus
a simultan dup
a
dou
a sau mai multe variabile de intrare testate n acelasi bloc de stare, solutia este
introducerea de st
ari suplimentare si testarea ntr-un bloc de stare doar a unei singure
variabile asincrone. In Figura 3.31-c se testeaz
a n blocul de stare q0 dou
a variabile
de intrare asincrone x2 si x0 . Prin introducerea st
arii suplimentare q5 se transfer
a
testarea variabilei asincrone x0 n blocul de stare corespunz
ator lui q5 . Trebuie analizat ce iesire se va genera n blocul de stare q5 pentru ca s
a nu se modifice functionarea
automatului (de dorit s
a se genereze aceeasi iesire ca si n blocul de stare q 0 ). Apare
a doua ntrebare referitoare la existenta mai multor variabile asincrone testate, prin

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

365

secventializarea lor n blocuri de stare succesive nu este pierdut


a semnificatia lor?
R
aspunsul este negativ deoarece variabilele asincrone nu sunt percepute n automat,
prin testare, ca form
and un cuv
ant de cod, ci numai ca semnale cu interpretare independent
a (f
ar
a o corelare intre ele).
Codificarea cu dependenta
redus
a, pentru evitarea ambiguit
atii tranzitiei st
arilor,
n procesul de sintez
a a automatului se va reflecta ntr-o anumit
a structur
a obtinut
a
pentru circuitul combinational CLC1, Figura 3.25, care calculeaz
a functiile de excitatie. Dar aspecte de functionare incorect
a pot apare nu numai pentru calculul st
arii
urm
atoare ci si pentru calculul iesirilor care se realizeaz
a cu partea combinational
a
notat
a prin CLC2 pe Figura 3.25.
Pentru un automat Mealy imediat, Figura 3.25, 3.8-a, chiar si c
and intr
arile sunt
sincrone, se obtin aproape totdeauna iesiri care sunt nc
arcate cu hazard. La iesirea
circuitului CLC2, realizat pe dou
a niveluri logice, nu se produc semnale nc
arcate
cu hazard numai dac
a n configuratia de intrare se modific
a cel mult un bit. Dar
configuratia de intrare este definit
a pe produsul cartezian X Q ceea ce nseamn
a c
a,
uzual, se modific
a doi biti unul pe intrare si unul n cuv
antul de stare. Dac
a exist
a si
intrare de tip asincron variatiile acesteia se transmit direct n iesiri ce pot fi nc
arcate
cu hazard pe durata tranzitorie. Functionarea incorect
a a automatului Mealy imediat
poate fi evitat
a dac
a acesta este transformat ntr-un automat Mealy cu nt
arziere,
Figura 3.8-b. Deoarece la automatul Mealy cu nt
arziere iesirile sunt disponibile (dup
a
nscrierea n registrul de iesire R2 c
and s-a consumat regimul tranzitoriu) numai la
urm
atorul impuls de clock; trebuie tinut cont c
a efectul unei intr
ari se manifest
a la
iesire cu o nt
arziere de un tact. Dar dac
a exist
a o intrare asincron
a aspectul de
ambiguitate discutat anterior, la nscrierea bitilor n registrul de stare, apare si aici la
nscrierea (memorarea) iesirilor n registrul de iesire R2 . Aceast
a ambiguitate apare
atunci c
and intrarea asincron
a are o modificare n intervalul interzis al impulsului
de ceas aplicat registrului de iesire R2 . In concluzie pentru un automat Mealy cu
nt
arziere si cu cel putin o intrare asincron
a nu sunt garantate semnale de iesire
corecte. Ambiguitatea pe iesire la un Mealy cu nt
arziere, determinat
a de intr
ari
asincrone, poate fi eliminat
a dac
a automatul este transformat ntr-un automat Moore
imediat echivalent.
Automatul Moore imediat, Figura 3.8-c, genereaz
a, la fel ca si Mealy cu nt
arziere,
iesiri care sunt dependente de intrarea aplicat
a n tactul anterior. Intr
arile asincrone
la automatul Mealy imediat nu genereaz
a ambiguitate pe iesiri deoarece acestea nu
sunt cuplate direct cu intr
arile, modificarea intr
arilor se transmite la iesire prin intermediul st
arii automatului. Dar automatul Moore imediat poate genera iesiri nc
arcate
cu hazard. Hazardul se datoreaz
a circuitului combinational CLC2 de pe iesire, ce
produce hazard atunci c
and n configuratia sa de intrare, care este cuv
antul de stare
prezenta, se modific
a mai mult de un bit. Se poate elimina hazardul din iesire prin
dou
a modalit
ati de implementare. Prima, se elimin
a circuitul CLC2, adic
a iesirile
sunt identice cu starea Y Q (caz uzual la circuitele num
ar
ator). A doua modalitate const
a n transformarea automatului Moore imediat ntr-un automat Moore cu
nt
arziere, Figura 3.8-d. Dar la automatul Moore cu nt
arziere efectul modific
arii
intr
arii se manifest
a la iesire cu o nt
arziere de dou
a tacte.

366

3.2.6

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Proiectarea automatelor sincrone

Definirea unui automat cu s st


ari necesit
a descrierea function
arii automatului n
raport cu fiecare din aceste st
ari, deci, evident, complexitatea automatului C automat dimensiunea definitiei - are ordinul de m
arime Cautomat O(s). Pentru un automat cu
s st
ari cea mai mic
a valoare a num
arului de intr
ari secundare este egal
a k = dlog 2 se.
Pentru n intr
ari principale dimensiunea circuitelor CLC1 si CLC2, din Figura 3.25,
depinde de num
arul total de intr
ari n + k. Neglij
and num
arul de intr
ari principale,
(n = 0), n cazul general dimensiunea circuitelor combinationale ale automatului sunt
proportionale cu 2k (dar s = 2k ) deci Cautomat (2k ). In concluzie, rezult
a c
a
pentru un automat complexitatea sa este n acelasi ordin de m
arime cu dimensiunea
circuitului combinational asociat. Aceast
a concluzie sugereaz
a faptul c
a proiectarea
unui automat de complexitate redus
a implic
a realizarea unei structuri reduse de circuit
combinational.
Reducerea dimensiunii p
artii combinationale a unui automat, ce face parte dintrun sistem digital, directioneaz
a proiectarea spre divizarea ntr-o cale de date si o cale
de control (automat de control). Dar chiar si prin aceast
a reducere poate rezulta pentru un automat de control, sau pentru automatele functionale - care implementeaz
a
diferite functii, de o complexitate destul de ridicat
a. Solutia pentru reducerea acestei
complexit
ati este partajarea n mai multe automate de complexitate mai redus
a si
apoi interconectarea acestora, Figura 3.20 si 3.21
In proiectarea unui automat sincron se parcurg urm
atoarele etape:
1. Descrierea function
arii automatului. Aceast
a descriere poate fi a unui automat
complex, dar care prin partajare duce la mai multe automate fiecare definit apoi
separat sau poate fi descrierea unui automat autonom. Descrierea poate fi direct
sub forma unei organigrame ASM , a unui graf de tranzitie al st
arilor/iesirilor
sau se transpune sub una din aceste forme dintr-o descriere verbal
a.
2. Construirea tabelului de tranzitie al st
arilor/iesirilor si reducerea st
arilor redundante.
3. Codificarea st
arilor si construirea tabelului de tranzitie asignat pentru st
ari si
iesiri.
4. Sinteza functiilor de excitatie (starea urm
atoare) si a iesirilor.
5. Implementarea, ntr-o anumit
a tehnologie, si apoi testarea.
6. Elaborarea documentatiei.
Operatiile cuprinse n aceste etape au fost prezentate n sectiunile anterioare acum
vor fi reluate n cadrul unui exemplu:
Exemplul 3.12 Sa se realizeze sinteza automatului sincron descris prin organigrama
ASM din Figura 3.32-a.
Solutie. Automatul prezint
a trei intr
ari x2 , x1 , x0 si cinci iesiri y1 , y2 L , y4 iesiri imediate
conditionate (de tip Mealy) si y3 , y5 iesiri imediate dependente de stare (de tip Moore). Codul
celor cinci stari q0 q5 rezult
a prin plasarea acestora pe o diagrama V-K, Figura 3.32-b.
Se descompune diagrama ASM n 6 blocuri de stare B0 B5 n care se identific
a 11 c
ai
de tranzitie L1 L11 . In Figura 3.32-c se calculeaz
a valoarea locusului st
arilor, care este

367

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

y1

q0

q2

F x
1
A 001

x2

A x
0

F 110
y5

q3

F x
1
A
y1

y4,y5
q5

100
y3,y2_L
x2

a)

x2x1x0
x0
x0
z2z1z0 000 001 011 010 110 111 101 100
000 B0 B0 B0 B0 B0 B0 B0 B0

b)

011 B4 B4 B4 B4 B4 B4 B4 B4
110 B3 B3 B3 B3 B3 B3 B3 B3
111
100 B5 B5 B5 B5 B5 B5 B5 B5
d)

x1

x1

L3

q2

11
L7

q4 L5
L8

10

L2

q1

q3

q5

L9

L4

Cod
stare

B0,L1 :q0
B0,L2 :q0
B0,L3 :q0

q0
q1
q2

0 bit
1 bit
1 bit

x2x1
x2
x2x1

z2z1z0

B1,L4 :q1
B1,L5 :q1

q3
q4

1 bit
1 bit

x0
x0

z2z1z0

B2,L6 :q2
B2,L7 :q2

q0
q4

1 bit
1 bit

x2
x2

z2z1z0

B3,L8 :q3
B3,L9 :q3

q4
q5

2 biti
1 bit

x1
x1

z2z1z0

B4,L10 :q4
B5,L11 :q5

q0
q0

2 biti
1 bit
12 biti

c)

z2z1z0
z2z1z0

x2
x2x1x0
x0
x0
z2z1z0 000 001 011 010 110 111 101 100
000 L1 L1 L3 L3 L2 L2 L2 L2

001 L6 L6 L6 L6 L7 L7 L7 L7

z0

011 L10 L10 L10 L10 L10 L10 L10 L10

z1
z1
z2

101

01

Biti
Bloc,Cale,Tranzitie modificati Tranzitie

001 B2 B2 B2 B2 B2 B2 B2 B2
010 B1 B1 B1 B1 B1 B1 B1 B1

z2 z0

L11 q0

F x A
2

z0

00

L10

q1

y4

z1z0
0

y2_L
010

y1,y3

q4

z2

z2 z1 z0
0 0 0

010 L4

L5 L5 L4 L4 L5 L5 L4

110 L8 L8 L9 L9 L9 L 9 L8 L8
z0

111

z1
z1

101
100 L11 L11 L11 L11 L11 L11 L11 L11

e)

x1

x1

Figura 3.32 Exemplu de extragere dintr-o organigrama ASM (a) a blocurilor de


stare, a c
ailor de tranzitie cu expresiile logice corespunz
atoare (c) si plasarea st
arilor pe o diagram
a V-K (b) pentru obtinerea unui minim pentru locusul st
arilor. Contributia blocurilor
de stare (d) si a c
ailor de tranzitie (e) la descrierea automatului.

368

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

egal
a cu 12, si pentru fiecare cale de tranzitie si pentru fiecare stare este prezentat
a expresia
logic
a. Apoi, pentru o sistematizare si explicitare a procesului de sintez
a n Figura 3.32-d
si Figura 3.32-c sunt prezentate respectiv contributiile blocurilor si c
ailor de tranzitie la
descrierea automatului. Tabelul de tranzitie al st
arilor/iesirilor (de tip Mealy) cu 6 st
ari si
3 intr
ari ar cuprinde 6 23 = 48 de elemente. Dar pentru c
a nu exist
a tranzitii ntre st
ari
pentru toate configuratiile de intrare posibile, tabelul de tranzitie (complet) se va substitui cu
o forma simplificat
a de tabel care cuprinde 11 linii, c
ate una pentru fiecare cale de tranzitie,
si dou
a coloane (una pentru starea prezent
a si alta pentru starea urm
atoare, similar se va
realiza un tabel si pentru iesiri). Tabelele se vor construi sub form
a simbolic
a si apoi sub
form
a asignat
a.
Tabelul de tranzitie al st
arilor sub form
a simbolic
a si asignat
a este prezentat n
Figura 3.33-a. Pentru iesiri se disting dou
a tabele unul pentru iesiri dependente numai de
stare (de tip Moore) si unul pentru iesiri conditionate (de tip Mealy). Tabelul pentru iesirile
de tip Moore y3 , y5 , Figura 3.33-b, cuprinde doar st
arile si valorile corespunz
atoare ale
iesirilor. In schimb, tabelul pentru iesirile de tip Mealy, Figura 3.33-c, este construit, ca
si cel al st
arilor, pentru toate c
aile de tranzitie si st
arile respective. Dar iesirile conditionate
y1 , y2 L , y1 , figurate n simbolurile de iesiri conditionate, sunt prezente si n simbolurile de
stare: y1 n q0 si q2 , y2 L n q5 si y4 n q4 . O iesire de tip Moore, figurat
a ntr-o stare, poate
fi convertit
a formal ntr-o iesire conditionat
a dac
a acea iesire este introdus
a pe fiecare cale
de tranzitie care porneste din acea stare. Proced
and n acest fel iesirile y1 , y2 L si y4 vor fi
tratate ca fiind active pe toate c
aile de tranzitie care pornesc respectiv din blocurile de stare
B0 , B2 , B5 si B4 , n consecinta
se introduc n tabel pe toate aceste c
ai. Deci, pentru sintez
a,
aceste iesiri nu mai sunt reprezentate si de tip Mealy si de tip Moore, ci numai de tip Mealy.
Concentr
and n acelasi tabel at
at tranzitia st
arilor c
at si iesirile conditionate si de stare se
obtine forma reprezentat
a n Figura 3.34. Utiliz
and valorile din acest tabel, transcrise pe
diagrama V-K, se pot deduce expresiile pentru iesiri si pentru functiile de excitatie (bitii
st
arii urmatoare).
Pentru iesirile dependente de stare y3 si y5 expresiile logice se obtin dintr-un tabel V-K,
cu opt c
asute, de variabile z2 , z1 si z0 .
y3 = z1 (z2 + z0 )
y5 = z1 (z2 + z0 )
Functiile de excitatie w2 , w1 , w0 si iesirile conditionate y4 , y2 L , y1 sunt dependente de sase
variabile, x2 , x1 , x0 , z2 , z1 , z0 deci se obtin din tabele V-K cu 64 c
asute. Deoarece acestea au
fost explicitate doar n functie de 11 c
ai de tranzitie expresiile lor se pot deduce mai usor ca
sum
a logic
a numai de acele c
ai pentru care au valoarea 1, iar pentru minimizare se utilizeaz
a
diagrama V-K din Figura 3.32-e unde s-au mapat deja contributiile fiec
arei c
ai de tranzitie.
Se obtin urm
atoarele expresii:
w2 = L 4 + L 9 = z 2 z 1 z 0 x 0 + z 2 z 1 x 1
w1 = L 2 + L 4 + L 5 + L 7 + L 8 = z 2 z 1 x 2 + z 2 z 1 z 0 + z 2 z 1 x 1
w0 = L 3 + L 6 + L 7 + L 8 = z 2 z 1 z 0 x 2 x 1 + z 2 z 1 z 0 + z 2 z 1 x 1
y4 = L5 + L7 + L10 = z2 z1 x0 + z1 z0 x2 + z1 z0
y2 L = L1 + L3 + L4 + L5 + L6 + L7 + L8 + L9 + L11 = L2 + L10 = z2 z1 z0 x2 + z1 z0
y1 = L 1 + L 2 + L 3 + L 6 + L 7 + L 9 = z 2 z 1 + z 2 z 1 x 1
In acelasi mod se pot deduce si expresiile pentru y3 si y5
y3 = L6 + L7 + L11 = z1 z0 + z2 z1 = z1 (z2 + z0 )
y5 = L8 + L9 + L10 = z2 z1 + z1 z0 = z1 (z2 + z0 )

369

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE
Reprezentare simbolica
Intrari
x2

x1

F
A
F

x0

A
F
A

F
A
F
A

Reprezentare asignata

Bloc
Starea
cale de
Prezenta Urmat. tranzitie
q0
q0
q0
q1
q1
q2
q2
q3
q3
q4
q5

q0
q1
q2
q3
q3
q0
q4
q4
q5
q0
q0

B0,L1
B0,L2
B0,L3
B1,L4
B1,L5
B2,L6
B2,L7
B3,L8
B3,L9
B4,L10
B5,L11

Intrari
x2 x1 x0
0

0
1
0

1
0
1

0
1
0
1

Starea
prezenta
z2 z1 z0

Starea
urmatoare
w2 w1 w0

0
0
0
0
0
0
0
1
1
0
1

0
0
0
1
0
0
0
0
1
0
0

0
0
0
1
1
0
0
1
1
1
0

0
0
0
0
0
1
1
0
0
1
0

0
1
0
1
1
0
1
1
0
0
0

0
0
1
0
1
0
1
1
0
0
0

a)
Iesiri de stare (Moore)
Reprezentare asignata

Reprezentare simbolica
Stare
prezenta
q0
q1
q2
q3
q4
q5

b)

y3

y5

A
A
A
A

Bloc

z2

Starea
prezenta
z1
z0
0
0
1
0
1
0

0
1
0
1
1
0

0
0
0
1
0
1

B0
B1
B2
B3
B4
B5

Iesiri
y3

y5

0
0
1
0
0
1

0
0
0
1
1
0

Iesiri conditionate (Mealy)


Reprezentare simbolica
x2
F
A
F

Reprezentare asignata

Intareri
Starea
Iesiri
x1 x0 prezenta y4 y2_L y1
F
A
F
A

F
A
F
A

q0
q0
q0
q1
q1
q2
q2
q3
q3
q4
q5

A
A
A

A
A
A

A
A

Bloc
de stare
tranz.
B0,L1
B0,L2
B0,L3
B1,L4
B1,L5
B2,L6
B2,L7
B3,L8
B3,L9
B4,L10
B5,L11

x2
0
1
0

Intrari
Starea prezenta
Iesiri
x1 x0 z2 z1 z0 y4 y2_L y1
0
1
0
1

0
1
0
1

0
0
0
0
0
0
0
1
1
0
1

0
0
0
1
1
0
0
1
1
1
0

0
0
0
0
0
1
1
0
0
1
0

0
0
0
0
1
0
1
0
0
1
0

1
0
1
1
1
1
1
1
1
1
0

1
1
1
0
0
1
1
0
1
0
0

c)

Figura 3.33 Tabelele de tranzitie n reprezentare simbolic


a si asignat
a pentru st
ari (a), pentru iesirile dependente doar de stare (b) si pentru iesirile
conditionate (c)

370

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Starea
calea
Intrari
Starea
urmatoare
prezenta
de
tranz. x2 x1 x0 simbolz2 z1 z0 simbolw2 w1 w0
L1
L2
L3
L4
L5
L6
L7
L8
L9
L10
L11

0
1
0

0
1
0
1

0
1
0
1

q0
q0
q0
q1
q1
q2
q2
q3
q3
q4
q5

0
0
0
0
0
0
0
1
1
0
1

0
0
0
1
1
0
0
1
1
1
0

0
0
0
0
0
1
1
0
0
1
0

q0
q1
q2
q3
q4
q0
q4
q4
q5
q0
q0

0
0
0
1
0
0
0
0
1
0
0

0
1
0
1
1
0
1
1
0
0
0

0
0
1
0
1
0
1
1
0
0
0

Iesiri
conditionate
dependente
de stare
y3
y5
y4
y2_L
y1
0
0
0
0
0
1
1
0
0
0
1

0
0
0
0
0
0
0
1
1
1
0

0
0
0
0
1
0
1
0
0
1
0

1
0
1
1
1
1
1
1
1
0
1

1
1
1
0
0
1
1
0
1
0
0

Figura 3.34 Tabelul combinat pentru st


ari, iesiri dependente de stare si iesiri
conditionate.

Aceste expresii pot fi implementate prin oricare din variantele de realizare a unui circuit
logic combinational: porti logice, DMUX+nivel exterior de SAU ad
augat, MUX, circuite
ROM sau circuite PLA. Organizarea automatului, n care s-au separat circuitele pentru:
calculul functiei de tranzitie CLC1, pentru calculul iesirilor de tip Mealy CLC2 si pentru
calculul iesirilor de tip Moore, este prezentat
a n Figura 3.35-a. Expresiile obtinute anterior
prin minimizare necesit
a n total realizarea a 16 produse logice distincte de dou
a p
an
a la cinci
variabile, dar numai trei produse logice din cele 19 sunt utilizabile de dou
a ori (z2 z1 x1 , z2 z1 x1
si z1 z0 ).
Implementarea automatului pe o matrice PLA, reprezentat
a generic n Figura 3.35-b,
poate fi realizat
a, mai simplu, f
ar
a minimizarea expresiilor logice. In aceast
a implementare
fiecare poart
a AND realizeaz
a un termen produs logic dintre expresia logic
a a unei c
ai de
tranzitie si expresia logic
a a cuv
antului de cod al st
arii din care porneste calea de tranzitie
respectiv
a, Figura 3.32-c. De exemplu, n blocul de stare B2 expresia c
aii de tranzitie L7 este
a cu L7 din matricea
x, iar expresia cuv
antului de stare este z2 z1 z0 , deci pe coloana notat
programabil
a AND a circuitului PLA se programeaz
a produsul logic xz2 z1 z0 . Proced
and n
acest mod, f
ar
a a mai fi necesar
a minimizarea expresiilor, pentru c
aile de tranzitie L1 L11
sunt necesare 11 porti AND din circuitul PLA fata
de 16 porti AND c
and pentru sintez
a s-a
utilizat minimizarea expresiilor pe diagrame V-K. Dar, at
at iesirile de tip Mealy (y1 , y2 L si
y4 ) c
at si cele de tip Moore (y3 si y5 ) fiind imediate sufer
a de inconvenientul acestor automate
cu iesiri imediate adic
a, sunt afectate de hazard. Hazardul se produce c
and cel putin dou
a
variabile de intrare n CLC2 sau n CLC3 se modific
a. De exemplu, pe calea de tranzitie
L10 , c
and starea comut
a de la 011 la 000, dac
a prin celula de registru de stare z1 comutatia
de la 1 la 0 se propag
a mai repede dec
at comutatia de la 1 la 0 prin celula z0 atunci pe
a un glitch 1. Solutia pentru eliminarea hazardului
iesirea y3 , prin termenul z1 z0 , se genereaz
pe iesiri este cea general
a - iesirile s
a fie convertite din iesiri imediate n iesiri nt
arziate prin
introducerea de registre pe iesire.

Prezentarea p
an
a acum a automatelor a fost lipsit
a de explicatiile necesare realiz
arii registrelor de stare si de iesire precum si a celulelor acestora. Acestea vor fi

371

3.2. CIRCUITE LOGICE SECVENT


IALE SINCRONE

. ... .
. ..
....
..

x2
x1
x0

.
..
.

CLK

x0

..
..
.

L1

x1
z0
z1
z2

y1
y2_L

CLC2

y4
w2
w1

CLC1
z2

L2

..
..
.

L3

L4

..
.
.

L5

.
..
.

.. . .. . .
.
.
. .. .
z2
z1
z0

b)

y5

w2

Registru

z1
z0

a)

x2

y3

CLC3

.
.
..
.
..
.

L6

.
.
..
.
.
..
..

L7

.
..
.

L8

Registru

.
..
.

L9

L10 L11

..
.
. .. .
...
..
.

..
.
.
.

y3
y5
y1
y2_L
y4
w0
w1
w2

w2
w1
w0

CLK

Figura 3.35 Explicativ


a pentru Exemplul 3.12: a) structurarea pe subcircuite a automatului; b) implementarea (f
ar
a minimizare) a automatului pe un circuit PLA (generic)

372

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

clarificate n cadrul sectiunilor urm


atoare de bistabile si de registre.
S
i n capitolul de CLS, similar ca n capitolul de CLC, s-a pornit cu prezentarea
notiunilor fundamentale de organizare si functionare a circuitului logic secvential,
s-au expus modalit
ati de exprimare pentru functia de tranzitie g si de transfer f ,
trec
and apoi la descrierea unei metode prin care se poate face sinteza unui circuit
logic secvential (automat). Evident, cu aceste cunostinte si instrumente se poate
proiecta un CLS. Dar, asa cum s-a afirmat, dac
a sistemul este de complexitate ridicat
a
acesta se va partaja n automate de complexitate mai redus
a. In general, se caut
a s
a
rezulte prin partajare automate componente de larg
a utilitate care sunt niste circuite,
de facto, standard. Aceste circuite de facto standard exist
a deja implementate si
obtenabile comercial, sarcina proiectantului reduc
andu-se la a selecta circuitul si a-i
folosi optim toate facilit
atile n sistem mai complex n care l introduce. In continuare,
n subcapitolele care urmeaz
a, se vor prezenta unele din aceste circuite secventiale cu
aplicabilitate foarte extins
a n sistemele digitale.

3.3

CIRCUITE BASCULANTE

Structurarea cea mai simpl


a pentru un circuit secvential asincron din Figura 3.1
se obtine c
and partea combinational
a se reduce doar la un singur inversor. Un astfel
de circuit, care a fost descris n Figura 3.3-a din Exemplul 3.2, nu prezint
a nici o stare
stabil
a, deci este un oscilator. Acest circuit va prezenta dou
a st
ari stabile dac
a partea
combinational
a va fi compus
a din dou
a inversoare (sau un num
ar par de inversoare)
nseriate, Figura 3.4-b, din acelasi exemplu. Dar, acest circuit cu dou
a inversoare
poate fi privit ca un circuit cu un singur inversor a c
arui reactie se realizeaz
a prin
cel
alalt inversor, deci fiecare inversor are o reactie - iesirea este adus
a la intrare - prin
cel
alalt inversor. Circuitul astfel rezultat, cu dou
a reactii - c
ate una pentru fiecare
inversor, constituie celula pe care se bazeaz
a ntreaga clas
a de cicuite basculante. Se
pot diferentia aceste circuite basculante n functie de modul de realizare, n curent
continuu sau n curent alternativ, a celor dou
a conexiuni de reactie. Conform acestei
diferentieri rezult
a urm
atoarele tipuri de cicuite basculante:
1. Circuitele basculante bistabile, care reduse la celula de baz
a, prezint
a pentru cele dou
a conexiuni de reactie leg
aturi galvanice simetrice. Acestea sunt
circuitele latch si circuitele basculante bistabile (triggere) care realizeaz
a suportul fizic pentru functia de memorare a unui bit. Exist
a si o variant
a
n care cele dou
a leg
aturi galvanice de reactie nu mai sunt simetrice, aceast
a
variant
a cunoscut
a sub denumirea de trigger Schmitt si a c
arei utilizare este
de circuit discrimitator de nivel (releu de amplitudine).
2. Circuitul basculant monostabil, care prezint
a o conexiune de reactie n
curent continuu, iar cealalt
a n curent alternativ (conexiune prin condensator).
Aceast
a neidentitate a celor dou
a conexiuni de reactie determin
a ca cicuitul
s
a aib
a o stare stabil
a (monostabil), iar cealalt
a stare instabil
a. Utilitatea
monostabilului este n aplicatii de generare de intervale de timp (releu de timp).
3. Circuitul basculant astabil, care prezint
a ambele conexiuni de reactie n
curent alternativ (conexiuni prin condensator). Cele dou
a conexiuni fiind active

3.3. CIRCUITE BASCULANTE

373

doar la variatii i imprim


a cicuitului o functionare de oscilator, deci nici o stare
stabil
a (astabil).
Prezenta cuv
antului basculant n denumirea acestor circuite semnific
a faptul c
a
trecerea ntre cele dou
a st
ari se face prin basculare. Comutarea iesirii la un CLC
se poate produce la modificarea valorii unei variabile de intrare, iar iesirea calculat
a
este mentinut
a la nivelul logic respectiv doar at
at timp c
at este aplicat
a valoarea
variabilei de intrare. Bascularea este tot un proces de comutare a iesirii, initiat
a de
o modificare a valorii unei variabile de intrare, dar iesirea este mentinut
a la nivelul
logic respectiv chiar dac
a dup
a un interval de timp nu mai r
am
ane aplicat
a valoarea
variabilei de intrare. Rezult
a c
a bascularea este o comutatie care trebuie doar initiat
a,
dup
a care se autocomand
a, acest efect de automentinere este o consecinta
a reactiei
(pozitive) din structura circuitului. Un efect similar apare la comanda dispozitivului
tiristor, unde este suficient
a amorsarea pentru ca apoi printr-o reactie pozitiv
a, n
interiorul dispozitivului, s
a se mentin
a starea de conductie. Desi din punct de vedere
fenomenologic exist
a deosebire ntre comutatie si basculare n exprimarea curent
a la
circuitele basculante este foarte uzual s
a se substituie exprimarea corect
a circuitul
basculeaz
a cu exprimarea uzual
a circuitul comut
a.

3.3.1

Circuitul latch

Circuitul secvential asincron din Figura 3.36-a, identic cu cel din Figura 3.4-b de
la Exemplul 3.2, unde s-a demonstrat c
a prezint
a dou
a st
ari stabile, poate fi redesenat
sub o form
a mult mai uzual
a, pentru analiz
a, ca n Figura 3.36-b. In aceast
a form
a se
scot n evidenta
conexiunile de reactie realizate ncrucisat, de la iesirea inversorului 1 la
intrarea inversorului 2, Vin2 = V01 , si de la iesirea inversorului 2 la intrarea inversorului
1, Vin1 = V02 . O implementare a acestei organiz
ari poate fi cu inversoare CMOS ca
n Figura 3.36-c (unde prin linie ntrerupt
a s-au identificat cele dou
a inversoare).
Consider
and caracteristica static
a de transfer V0 = f (Vin ) a unui inversor, cu
reprezentarea din Figura 1.14-b, prin conectarea ncrucisat
a a acestuia cu un al doilea
inversor identic, pentru semnalul de intrare Vin1 , se obtine Vin1 = V02 = f (Vin2 ) =
f (V01 ) = f (f (Vin1 )). Aceasta nseamn
a c
a semnalul de intrare Vin1 dup
a o inversare
(1800 ) pe primul inversor, V01 = f (Vin1 ), si dup
a nc
a o inversare (1800 ) pe al doilea
inversor, V02 = f (V01 ), se aplic
a n faz
a peste Vin1 , nt
arindu-l. La fel se poate deduce
Vin2 = f (f (Vin2 )).
Deoarece ntre iesirile celor dou
a inversoare exist
a un decalaj de 180 0 a semnalelor
evident c
a iesirea unui inversor este n nivelul H si se noteaz
a prin Q, iar iesirea
celuilalt inversor va fi n nivelul L si se noteaz
a prin Q, QN sau Q L. La conectarea
tensiunii de alimentare, deoarece practic cele dou
a inversoare nu pot avea timpi de
propagare identici, printr-un fenomen de concurs, una din iesiri va fi fortat
a n H, iar
cealalt
a n L. Punctul de functionare al circuitului se obtine la intersectia caracteristicilor statice de transfer ale celor dou
a inversoare. Cele dou
a caracteristici statice
sunt trasate n Figura 3.36-d n care pentru inversorul 1 pe abscis
a este fixat
a V in1 si
pe ordonat
a V01 , iar pentru inversorul 2, deoarece Vin2 = V01 si V02 = Vin1 , tensiunea
de iesire V02 este fixat
a pe abscis
a si Vin2 pe ordonat
a. Se observ
a c
a se obtin trei
puncte de functionare, dou
a puncte stabile S1 , S2 si un punct instabil M .
Punctele S1 si S2 , n unul din acestea ajung
and prin concurs la conectarea tensiunii, sunt puncte stabile pentru c
a n fiecare din acestea amplificarea total
a A = A 1 A2

374

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Vin1

Vo1
Q

Vin2

a)
Vin1

Vin2

Vo1

QN

T4

T2
Vin1
QN V
o1

QN

Vo1=
Vin2
S1

T3

V02
d)

c)

Inscriere
S (set)

Stergere
R (reset)

Iesire

inactiv

inactiv

FM

FM

activ

inactiv

inactiv

activ

activ

activ

ND

A=0
(stabil)
A>>1
(metastabil)

.Vin202 Q

T1

b)

f)

V DD

V02

A=0
(stabil)
S2

Q
Vin1=Vo2

QN

S1
e)

Q=0
"0"
QN=1

S2
Q=1
"1"
QN=0

Figura 3.36 Celula elementar


a pentru circuitele bistabile: a,b) circuitul dublu
inversor cu conexiuni de reactie ncrucisate; c) implementare cu inversoare CMOS;
d) determinarea punctelor de functionare prin intersectia caracteristicilor statice (S1 , S2 stabile, M-instabil); e) analogie mecanic
a pentru punctele de functionare stabile; f) tabelul
caracteristic pentru comanda celulei elementare.

pe bucla format
a din cele dou
a amplificatoare inversoare este nul
a deoarece
A = dV01 /dVin1 = 0, A2 = dV01 /dVin2 = 0. Unul din puncte, prin conventie, poate fi
,,
considerat c
a reprezint
a starea 1 a circuitului Q = 1, QN = 0, iar cel
alalt starea
,,
0 a circuitului Q = 0, QN = 1.
Al treilea punct de intersectie M , care apare n zona liniar
a a caracteristicilor
statice, zon
a interzis
a pentru functionarea n digital, vezi Figura 1.14-a, este denumit
punct de metastabilitate si are valorile pentru coordonatele Vin si V0 situate n
afara nivelurilor logice H si L, deci este f
ar
a utilitate n aplicatiile digitale. Teoretic,
circuitul poate sta un timp indefinit n punctul M , dar practic dup
a un anumit timp,
determinat de variatii de tensiune nt
ampl
atoare, iese din M deplas
andu-se spre S 1
sau S2 . In zona punctului M coeficientul de amplificare total pe bucl
a are o valoare
mare deoarece at
at A1  1 c
at si A2  1; de exemplu, pentru circuitul din Figura
3.36-c toate patru tranzistoare sunt n regim de conductie determin
and o pant
a foarte
abrupt
a pentru caracteristica static
a a fiec
arui amplificator inversor. Dac
a circuitul se
afl
a n punctul de metastabilitate si nt
ampl
ator apare un mic zgomot care micsoreaz
a
valoarea lui Vin1 , aceast
a variatie Vin1 propagat
a succesiv n bucla ncrucisat
a prin

3.3. CIRCUITE BASCULANTE

375

V01 , Vin2 si V02 , pentru c


a bucla are o amplificare mare, ajunge s
a produc
ao
variatie important
a asupra lui Vin1 n sensul n care a produs-o zgomotul initial. Apoi,
din nou, variatia propagat
a succesiv prin bucl
a va duce la o si mai pronuntat
a sc
adere
a lui Vin si tot asa repetat n bucl
a p
an
a c
and Vin1 scade la nivelul L, iar punctul de
functionare ajunge n S1 . Aceast
a deplasare din M spre S1 este figurat
a prin traseul
n zig-zag ntre caracteristica inversorului 1 si a inversorului 2.
O analogie mecanic
a pentru cele trei puncte de functionare ale circuitului este
reprezentat
a n Figura 3.36-e. Bila (punctul de functionare al cicuitului!) poate
stationa pe un plan orizontal n pozitiile S1 sau S2 (puncte stabile) ntre care exist
a
,,
un deal pe al c
arui v
arf bila se poate sprijini doar ntr-un singur punct (punctul
de metastabilitate). C
and bila se afl
a n v
arf foarte usor oricare adiere de v
ant va
,,
sufla bila fie nspre S1 sau S2 . C
and bila se afl
a n S1 sau S2 cu o forta
(semnal)
puternic
a se poate trece peste deal n pozitia opus
a S2 sau S1 . Critic
a apare situatia
(de nedeterminare, ND) c
and bila se afl
a n S1 sau S2 , iar o forta
de valoare mai
redus
a aplicat
a asupra ei poate s
a o deplaseze nspre v
arful dealului, de unde revine
n pozitia initial
a sau reuseste s
a o deplaseze chiar p
an
a n v
arf unde stationeaz
a si
de unde dup
a un timp nedefinit poate reveni n pozitia stabil
a initial
a sau poate trece
n cealalt
a pozite stabil
a.
Starea de metastabilitate poate apare la aplicarea tensiunii de alimentare sau
la o comand
a de trecere ntre cele dou
a pozitii stabile, de la 1 la 0 sau de la 0
la 1 logic, dar semnalul de comand
a este insuficient (nu are amplitudinea necesar
a
sau are amplitudinea necesar
a, dar durata de aplicare este prea scurt
a). Starea de
metastabilitate (punctul de functionare n M) trebuie evitat
a n circuitele digitale
deoarece genereaz
a niveluri de tensiune n afara celor de 1 logic sau 0 logic si n plus,
din starea de metastabilitate nu se poate determina n care stare urm
atoare trece
circuitul n cea de 0 sau n cea de 1 logic. Circuitul format din cele dou
a inversoare
cu conexiuni ncrucisate, care este celula de baz
a pentru circuitele basculante, n
structura prezentat
a p
an
a acum, nu poate fi comandat (se fixeaz
a ntr-o stare la
conectarea tensiunii). Pentru a fi comandat trebuie s
a i se adauge intr
ari de comand
a.
Intr
arile de comand
a sunt: 1 - intrarea de nscriere, notat
a cu S (Set), care prin
activare va nscrie iesirea n starea logic
a 1, Q = 1, QN = 0, 2 - intrarea de
stergere, notat
a cu R (Reset), care prin activare va nscrie iesirea n starea logic
a
0, Q = 0, QN = 1. Evident, cu cele dou
a intr
ari se pot realiza patru comenzi de
intrare, Figura 3.36-f:
1. Nu se activeaz
a nici una din intr
ari S=inactiv, R=inactiv, ceea ce corespunde
unei comenzi de tipul nici o operatie NOP (No OPeration) adic
a iesirea circuitului r
am
ane f
ar
a modific
ari, FM;
2. Se activeaz
a doar nscrierea S=activ, R=inactiv, iesirea se nscrie n starea
logic
a 1, Q = 1, QN = 0;
3. Se activeaz
a doar stergerea S=inactiv, R=activ, iesirea se nscrie n starea
logic
a 0, Q = 0, QN = 1;
4. Se activeaz
a simultan at
at nscrierea S=activ, c
at si stergerea R=activ. Aceasta
este o comand
a absurd
a! deoarece i se cere circuitului s
a treac
a simultan at
at n
starea 1 (Q = 1, QN = 0) c
at si n starea 0 (Q = 0, QN = 1), starea circuitului

376

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

este nedeterminat
a , ND. Aceast
a comand
a de nscriere si stergere simultan
a
este evitat
a n circuitele digitale.
Conform clasific
arii circuitelor pe baza buclelor de reactie incluse una n alta,
prezentat
a n sectiunea 3.3, circuitul latch care contine o singur
a bucl
a de reactie este
un circuit de ordinul 1, SO-1.
3.3.1.1

Latch-ul SR

La circuitul latch din Figura 3.36-b se pot ad


auga cele dou
a intr
ari de date S (nscriere) si R (stergere) dac
a inversoarele sunt realizate cu porti NOR, Figura 3.37-a,
sau cu porti NAND, Figura 3.38-a. Pentru structura obtinut
a, latch SR, la activarea
(se consider
a conventia de logic
a pozitiv
a) unei intr
ari S sau R se obtine iesirea in
stare H, dar nu la poarta NOR la care s-a aplicat intrarea activat
a ci la cealalt
a poart
a
NOR (iesirea unei porti NOR este totdeauna L atunci c
and una sau mai multe intr
ari
sunt H). Dac
a intrarea de nscriere devine activ
a, S = 1, si intrarea de stergere este
mentinut
a inactiv
a, R = 0, dup
a timpul de propagare p iesirea portii NOR1 comut
a
n starea L, QN = 0, care aplicat
a prin leg
atura de reactie pe intrarea portii NOR 2
va comuta, dup
a timpul de propagare p , iesirea portii NOR2 n starea H, Q = 1.
Dup
a un interval de timp 2p , n sprijinul semnalului de nscriere S = 1 aplicat pe
una din intr
arile portii NOR1 , vine pe cealalt
a intrare a potii NOR1 un semnal de
reactie Q = 1 de la iesirea portii NOR2 , deci semnalul de nscriere poate fi dezactivat,
S = 0, deoarece starea logic
a 1 (Q = 1, QN = 0) este mentinut
a n continuare de c
atre
semnalul de reactie Q = 1. Dac
a semnalul de nscriere S = 1 nu respect
a aceast
a
conditie critic
a de timp, ca durata sa s
a fie TW 2 p , se poate ca latch-ul s
a nu
se nscrie n starea logic
a 1 sau, mai r
au, s
a intre n starea de metastabilitate unde,
teoretic, poate sta indefinit, dar practic dup
a un interval de timp se ndreapt
a fie spre
starea logic
a 1 (Q = 1, QN = 0), fie spre starea logic
a 0 (Q = 0, QN = 1). Intrarea n
metastabilitate se poate genera si n cazul n care semnalul aplicat pe intrare nu are
o amplitudine suficient
a, deci se situeaz
a n intervalul interzis ntre 1 si 0 logic. Dac
a
ulterior se activeaz
a din nou intrarea de nscriere, S = 1, odat
a sau de mai multe ori
consecutiv, latch-ul r
am
ane nscris n aceeasi stare logic
a 1, deci numai primul impuls
dintr-o succesiune de nscriere are efectul de nscriere. Acest mod de functionare
este similar cu cel de operare al unui z
avor (latch in limba englez
a), care se nchide
la prima mpingere a sa. Pentru deschiderea (stergerea) z
avorului este necesar
a o
mpingere n sens contrar, dar tot numai odat
a. Similar, se pot descrie secventele de
propagare prin portile NOR la nscrierea latch-ului n starea logic
a 0 c
and pe intr
arile
de date se aplic
a S = 0, R = 1.
Tabelul caracteristic al latch-ului SR, Figura 3.37-b, care exprim
a iesirea n
functie de cele patru cuvinte aplicate pe intr
arile de date, se obtine din tabelul din
Figura 3.36-f adaptat pentru o conventie de logic
a pozitiv
a (activ = H, inactiv = L).
Din acest tabel caracteristic se poate deduce tabelul de excitatie, Figura 3.37-c.
Tabelul de excitatie, care este n fond tabelul de evolutie al st
arilor, vezi Figura
3.2-b, prescrie pentru oricare comutatie impus
a latch-ului ntre dou
a st
ari care trebuie
s
a fie cuv
antul SR aplicat pe intr
arile de date. Liniile tabelului de excitatie se deduc
din analiza liniilor din tabelul caracteristic n felul urm
ator:
1. Comutatia din Q = 0 n starea urm
atoare Q+ = 0 se realizeaz
a pentru SR = 00
din linia nt
ai a tabelului caracteristic (f
ar
a modificare, FM) sau pentru SR = 01

377

3.3. CIRCUITE BASCULANTE


S

R
1

QN

Tw>2
p

a)
t1

S
0

QN

QN (FM)

0
0

b)
t2

1
1/0

t3

1/0 (ND)
t4

c)
t5

Q+

Q 0
SR
00 0

0
0

01 0

11

10 1

t6

t7

d)

e)

t8

t9

Q
QN

Q
t 10

S
R
Q
QN

f)

ND

Figura 3.37 Analiza latch-ului SR: a) structur


a de latch realizat cu porti NOR;
b,c,d) tabelul caracteristic, tabelul de excitatie si diagrama V-K pentru latch-ul SR; e) simboluri de reprezentare pentru latch-ul SR; f) explicarea function
arii cu ajutorul diagramelor
de timp.

din linia a treia (din starea logic


a 0 se aplic
a comanda de nscriere tot n
starea logic
a 0), deci cuv
antul necesar aplicat pe intr
arile de date trebuie s
a
fie SR = 0.
2. Pentru comutatia din Q = 0 n Q+ = 1 corespunde numai linia a treia din
tabelul caracteristic, deci SR = 10.
3. Pentru comutatia din Q = 1 n Q+ = 0 corespunde numai linia a doua din
tabelul caracteristic, deci SR = 10.
4. Comutatia din Q = 1 n starea urm
atoare Q+ = 1 se realizeaz
a pentru SR = 00
(f
ar
a modificare, FM) sau pentru SR = 10 din linia a doua (din starea logic
a
1), deci cuv
antul aplicat pe intr
arile de date trebuie s
a fie SR = 0.
Tabelul de excitatie se poate transpune ntr-o diagram
a de tipul V-K, Figura
3.37-d. Din aceast
a diagram
a se poate deduce ecuatia logic
a a latch-ului SR, care are
expresia
Q+ = S + RQ

(3.20)

Aceast
a ecuatie se poate deduce direct si din structura latch-ului SR din
Figura 3.37-a scriind relatia pentru poarta NOR1 n felul urm
ator Q+
N = S + R + QN
+
care devine Q = S + RQ deoarece QN = Q.
Functionarea unui latch poate fi descris
a si prin diagrame de semnale ca n Figura
3.37-f; s
agetile leag
a fiecare modificare pe intr
arile de date cu efectele (comutatiile)
pe care le produce pe iesiri. De exemplu, pentru modificarea intr
arilor de date din
momentele t1 , t2 , t3 , t4 latch-ul se nscrie respectiv n st
arile 1, 0, 1 si 0. La momentul
t5 , at
at timp c
at SR = 11, iesirile vor fi QN = 0 si Q = 0, la fel se int
ampl
a n
momentul t7 si n momentul t9 . Diferenta ntre t5 , t7 si t9 apare prin faptul c
a la

378

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

primele dou
a intr
arile S si R nu sunt dezactivate simultan, deci latch-ul trece ntr-o
stare logic
a, pe c
and la t9 intr
arile SR din 11 sunt dezactivate simultan la momentul
t10 n 00, ceea ce provoac
a intrarea n starea de metastabilitate, iar din aceast
a stare
dup
a un interval de timp latch-ul poate ajunge fie n 0 fie n 1. Cuv
antul de intrare
de date SR = 11 determin
a ca ambele iesiri s
a fie n 0 si se spune c
a aceast
a comand
a
produce o stare de nedeterminare (ND, linia a patra n tabelul caracteristic), pentru
c
a la dezactivarea simultan
a a intr
arilor de date (c
and iesirile Q, Q N au valori ntre 0
si 1 logic) si dup
a consumarea intervalului de metastabilitate, se va trece fie n starea
Q = 0, QN = 1, fie n starea Q = 1, QN = 0 f
ar
a a exista un control asupra acestei
tranzitii.
Exemplul 3.13 Folosind circuitul latch sa se formeze semnalul de la un comutator
pentru a fi aplicat la intrarea unui sistem digital.
Solutie. La nchiderea unui contact, lamela acestuia, datorit
a elasticit
atii, poate produce
c
ateva oscilatii nainte de a se opri pe pozitia comandat
a. Astfel c
a semnalul cules care s
a
sesizeze pozitia nchis a contactului, nainte de a ajunge la valoarea stabilizat
a, este sub forma
unor impulsuri ntre o valoare V a tensiunii si o valoare zero. In Figura 3.38-c tensiunea
culeas
a VO nainte de a ajunge la valoarea zero, corespunz
atoare contactului nchis pe pozitia
2, are oscilatii ca cele reprezentate n diagrama de semnale. Un sistem digital la care se aplic
a
un astfel de semnal ar sesiza nchiderea contactului de mai multe ori. Se poate obtine un
semnal doar cu o singur
a comutatie (la nchiderea pe pozitia 2) dac
a se utilizeaz
a un latch,
deoarece acesta are proprietatea: este activat doar de prima activare dintr-un sir aplicat pe
o intrare.
O structur
a de latch cu porti NAND este cea din Figura 3.38-a care se activeaz
a pe
intr
arile de date prin semnale n stare L, de unde denumirea de latch S R. Tabelul caracteristic al latch-ului S R, Figura 3.38-b, se obtine din tabelul caracteristic din Figura 3.36-f
aplic
and conventia de logic
a negativ
a (activ=L , inactiv=H).
_
S

_
R

a)

QN

V
Q

_
R

QN

QN (FM)

1/0

QN

_
S

b)

_
S sau
S_L
S
_
R sau R
R_L

1/0 (ND)

c)

VO
V
VO

comutare 1

R1

R2
VO

d)

Q
S
R

S
R

Q
QN

"1"
"0"

t
1 2

Figura 3.38 Explicativ


a pentru Exemplul 3.13: a,b) structur
a si tabelul caracteristic
pentru un latch cu intr
arile active n L (latch S R); c) oscilatiile n semnalul obtinut la
nchiderea unui contact (datorit
a vibratiilor lamelei contactului); d) circuit, cu un latch S R,
pentru cur
atirea unui semnal obtinut la nchiderea/deschiderea unui contact.

379

3.3. CIRCUITE BASCULANTE

Aplic
and semnalul cules VO , de pe comutator, la intrarea unui latch S R, ca n Figura
,,
3.38-d, se obtine un semnal curat ca cel din diagrama de semnale al
aturat
a. La nchidere,
din pozitia 1 n pozitia 2, latch-ul fiind comandat pe nscriere S = 0, iesirea sa comut
a n
Q = 1, QN = 0, iar la deschidere din pozitia 1 n 2, latch-ul este comandat pe stergere
R = 0, iesirea comut
a in Q = 0, QN = 1.

In sistemele digitale, pentru o procesare controlat


a, este necesar s
a existe un control asupra felului/modului proces
arii (cum?), momentul proces
arii (c
and?) si care
punct (adres
a) s
a fie procesat (unde?). Aceste trei actiuni, exprimate sintetic prin
tripla interogatie unde? c
and? si cum?, apar ca o prim
a deficienta
a latch-ului S R sau
SR deoarece nu le poate realiza. In plus latch-ul mai prezint
a starea de nedeterminare
(ND) c
and sunt activate simultan cele dou
a intr
ari de date.
Latch-ul cu ceas. La circuitul latch cuv
antul aplicat pe intr
arile de date determin
a care va fi starea n care comut
a (cum?), dar acelasi cuv
ant aplicat determin
a
si momentul c
and comut
a (c
and?). Pentru a separa cele dou
a actiuni este necesar ca
latch-ul s
a fie nzestrat cu intrare distinct
a de cum? fata
de c
and?. Pentru modul de
comutare se p
astreaz
a intr
arile de date S, R sau S,R, iar pentru prescrierea momentului comutatie se introduce o intrare pe care se aplic
a un semnal de ceas. Accesul
cuv
antului de date la intr
arile de date ale latch-ului se va face prin porti care sunt
validate de semnalul de ceas, deci modificarea st
arii circuitului va fi posibil
a doar n
momentele marcate de ceas (pe palier sau pe front). Ecuatia logic
a a latch-ului SR
cu ceas, similar
a cu relatia 3.15, are expresia:
Q(t + 1) = S + RQ(t)

(3.21)

In relatia 3.20 starea urm


atoare a fost notat
a prin Q+ , dar n relatia 3.21 a fost
substituit
a prin Q(t+1) ca s
a indice faptul c
a starea urm
atoare se nscrie, pornind de
la starea prezent
a Q(t), doar la validarea urm
atoare (t + 1) prin semnalul de ceas.
In Figura 3.39 este prezentat un latch SR cu ceas ce se obtine din latch-ul din
Figura 3.37-a c
aruia i s-au aplicat cele dou
a porti AND pe intrare, care valideaz
a
accesul datelor pe intr
arile S si R doar pe durata TW a palierului pozitiv al ceasului. La fel, structura latch-ului cu ceas n tehnologie CMOS, Figura 3.39-b, se
obtine din cea cu dou
a inversoare din Figura 3.36-b (delimitat
a prin linie ntrerupt
a
n Figura 3.39-b), la care s-a ad
augat n reteaua de tip n un tranzistor pentru intrarea
S nseriat cu un tranzistor pentru validarea de ceas, CLK, precum si tranzistoarele
complementare din reteaua de tip p. Tabelul caracteristic si tabelul de excitatie,
Figura 3.39-c si d, pot fi considerate aceleasi ca cele din Figura 3.37-c si d; diferenta

exist
and n tabelul caracteristic, care prin linia a cincea exprim
a faptul c
a dac
a semnalul CLK nu este activ, nu se primeste nici o comand
a pe intr
arile de date, latch-ul
este nevalidat.
Decuplarea ntre c
and si cum se realizeaz
a numai n cazul c
and cuv
antul de date
este aplicat pe intr
arile de date si numai dup
a ce aceste date sunt stabilizate se aplic
a
un semnal de ceas care valideaz
a transferul prin cele dou
a porti ad
augate la intrare.
Pe durata TW a palierului activ de ceas oricare modificare pe intr
arile de date S,R
este resimtit
a n iesirile Q si QN ale latch-ului ceea ce se refer
a prin: latch-ul este
transparent pe durata palierului activ al ceasului. Deci, realizarea decupl
arii
presupune c
a este ndeplinit
a conditia prin care cuv
antul de date este aplicat si stabilizat pe intr
arile de date n momentul aparitiei palierului activ de ceas si aceste date

380

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

TW

V DD

CLK

S
3

CLK

CLK S R Q QN

R
4

T4

T2

QN
1

QN

Q
R

S
Q

T1

CLK

a)

T3

CLK

b)
TW1
t1

t2

TW2
t3

t4

t5

t6

c)

1
1
1
1
0

d)

0
0
1
1

Q(t)
0
0
1
1

0
1
0
1

Q QN(FM)
0 1
1 0
1/0 1/0 (ND)
Q QN(FM)

S
0
1
0
TW3
t7

R
0
1
0

S
Q
CLK
R Q
S
Q
CLK
R QN

f)

Q(t+1)
0
1
0
1

t8

R
CLK
Q
QN

e)

ND

Figura 3.39 Latch-ul SR cu ceas: a) organizarea unui latch SR cu ceas si implementarea


sa (b) n tehnologie CMOS; c,d) tabelul de tranzitie si tabelul de excitatie; e) exemplu de
diagrame de semnal; f) simboluri de reprezentare.

r
am
an nemodificate pe toat
a durata palierului.
Functionarea latch-ului cu ceas poate fi prezentat
a intuitiv prin diagrama de semnale ca n Figura 3.39-e. Pe durata palierelor active ale ceasului TW1 , TW2 , TW3 latch-ul
este transparent, modific
arile de pe intr
arile de date se propag
a spre iesire, iesirea este
cuplat
a cu intrarea, iar pe durata de neactivare a ceasului modific
arile pe intrare (n
momentele t4 , t5 , t6 ) nu produc nici o schimbare pe iesire. In momentul t7 ambele
intr
ari sunt activate S = R = 1 care comut
a iesirile in QN = 0, Q = 0, deoarece
ceasul este activ, dar n momentul t8 , c
and ceasul devine inactiv, latch-ul intr
a n
metastabilitate, iar dup
a un timp (c
at?) se indreapt
a fie spre starea logic
a 1 fie spre
starea logic
a 0.
,,
,,
Latch-ul cu ceas (latch-ul sincron) poate separa actiunea c
and de cum , dac
a
datele pe intrare r
am
an stabile pe o durat
a TW1 dar nu elimin
a interdictia de a nu fi
activate simultan semnalele S si R. Obtenabil ca circuit integrat discret este circuitul
74LS279 care contine 4 latch-uri S R pe capsul
a.
3.3.1.2

Latch-ul D

In tabelul caracteristic al latch-ului SR sau S R, Figura 3.39-c, dac


a se elimin
a

381

3.3. CIRCUITE BASCULANTE

linia nt
aia si a patra se obtine tabelul caracteristic din Figura 3.40-c care exprim
a
functionarea latch-ului de tip D. Fizic, eliminarea celor dou
a cuvinte de intrare, ambele intr
ari neactivate si ambele intr
ari activate, se poate realiza prin conectarea celor
dou
a intr
ari prin intermediul unui inversor ca n Figura 3.40-a, adic
a totdeauna R = S.
Latch-ul rezultat, referit latch-ul D, av
and o singur
a intrare de date, notat
a cu D, nu
mai prezint
a restrictia, de la latch-ul SR, de a nu se activa simultan cele dou
a intr
ari
de date. Ca structurare latch-ul D se poate obtine din circuitul din Figura 3.39-a prin
conectarea unui inversor pe intrarea R.
Variante de latch D foarte des utilizate n tehnologia unipolar
a sunt cele din Figura
3.40-b bazate pe circuite dinamice (Figura 1.54) si porti de transmisie. Bucla ntre inversoarele 1 si 2 se nchide prin poarta de transmisie PT2, iar introducerea (nscrierea)
intr
arii D n bucl
a se face prin poarta de transmisie PT1; cele dou
a porti de transmisie sunt comandate n opozitie prin semnalul de ceas. Pe palierul activ de ceas,
CLK=1, PT1 este dechis
a, PT2 este blocat
a, iar capacitatea (parazit
a) de pe intrarea amplificatorului inversor 1 se ncarc
a ajung
and la valoarea tensiunii existent
a
pe intrarea D. Pe durata palierului inactiv de ceas, CLK=0, PT1 este blocat
a, PT2
este deschis
a realiz
andu-se nchiderea buclei ntre inversoarele 1 si 2 ceea ce permite
ncontinuu nc
arcarea/mentinerea capacit
atii parazite la valoarea de tensiune la care
a fost nc
arcat
a.
Tabelul de excitatie din Figura 3.40-d, dedus din tabelul caracteristic, arat
a c
a
totdeauna iesirea Q devine egal
a cu intrarea D la aplicarea frontului activ de ceas,
deci ecuatia care exprim
a functionarea este
Q(t + 1) = D

(3.22)

Conform acestei relatii rezult


a c
a latch-ul D poate stoca/memora data aplicat
a
pe intrare, de unde si denumirea de latch D (de la Data). Dar pe durata palierului
activ de ceas latch-ul D are o functionare transparent
a, oricare modificare pe intrare
se propag
a la iesire, nu exist
a o decuplare a iesirii de intrare. Aceast
a transparenta
a
latch-ului D se poate urm
ari pe diagrama de semnale din Figura 3.40-e pe intervalele
TW1 , TW2 si TW3 , c
and frontul activ de ceas valideaz
a cele dou
a porti AND de pe
intrare, n schimb modific
arile intr
arii D n momentele t1 , t4 , t5 si t8 nu produc nici o
comutatie a iesirii deoarece sunt n palierul inactiv de ceas.
Intr-un sistem, functionarea corect
a a unui latch D impune respectarea unor parametrii de timp. Timpii de propagare, dati n cataloagele produc
atorilor, sunt definiti
pe diagramele de timp din Figura 3.40-f [Wakerly 0 00]; abreviatiile DQ indic
a propagarea de la intrarea de date la iesire, iar CQ propagarea de la intrarea de ceas la iesire.
De exemplu, pentru circuitul integrat 74LS75, 4 latch D/capsul
a, se dau urm
atoarele
valori: PLH(DQ) = 11ns (tipic), 19ns (maxim); PHL(DQ) =9ns (tipic), 17ns (maxim);
PLH(CQ) =10ns (tipic), 18ns (maxim); PHL(CQ) =10ns (tipic), 18ns (maxim).
Modificarea semnalului de intrare D, pe durata palierului activ de ceas, produce
doar o comutatie corespunz
atoare a iesirii, pe c
and o modificare pe intrarea D care
coincide cu durata fronturilor semnalului de ceas introduce latch-ul n metastabilitate,
de exemplu la sf
arsitul intervalului de transparenta
TW3 . Pentru a evita metastabilitatea se impune ca intrarea de date s
a fie mentinut
a stabil
a pe intervalul SU nainte
de frontul semnalului de ceas.
Exemplul 3.14

Latch-ul Early. Acest tip de latch, pe l


ang
a functia existent
a la

382

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
TW
D

CLK

PT1

PT2

R
3

CLK =1
1
QN

a)
t1

t2

t3

t4

t5

t6

g)
D

0
0
1
1

0
1
0
1

d)

TW2
t7

CLK Q

Q(t)

QN

Q QN
0 1
1 0
Q QN

PT2

CLK =0

TW1
D

D
0
1

PT1

b)

c)

QN

PT2

2
Q

CLK
1
1
0

PT1

QN

CLK

CLK QN
Q(t+1)
0
1
0
1

TW3
t8

t9

CLK
Q

e)
D
CLK

T W1

ok
opkok
pk
opkopop
pk

mk
nnk
nnk
m mk
m mnnm
SU

qk
qkjk
llk
qrkjllj qrqr
rk
j qk

T W2

SU

T W3

SU

f)

ND

pHL(DQ) pHL(DQ) pHL(DQ)

pHL(CQ)

Figura 3.40 Latch-ul D: a) organizarea unui latch D si implementarea sa (b) n tehnologie


CMOS cu celule dinamice si porti de transmisie; c,d) tabelul de tranzitie si tabelul de
excitatie; e) exemplu de diagrame de semnal; f) definirea timpilor de propagare; g) simboluri
de reprezentare.

latch-ul D, de a memora bitul aplicat pe intrarea D, poate realiza si o a doua functie, cea
de procesare pe dou
a niveluri logice (AND-OR). In consecinta
, timpul de propagare necesar
realiz
arii celor dou
a functii este egal numai cu timpul de propagare pe dou
a niveluri logice.
Structura latch-ului Early este cea desenat
a n Figura 3.41-a. Informatia de un bit aplicat
a
pe intrarea D, pe palierul CLK=1, se obtine pe iesirea Q dup
a ce s-a propagat prin portile
3 si 1. Apoi, prin leg
atura de la Q la poarta 4 se realizeaz
a reactia, adic
a nt
arirea comenzii
aplicate pe intrarea de date, iesirea Q fiind mentinut
a n continuare at
at prin poarta 3 c
at
si prin poarta 4. La dezactivarea semnalului CLK si activarea palierului pentru semnalul
CLK=1 conexiunea de la iesirea portii 1 se nchide prin poarta 2, deci mentinerea reactiei
se face n continuare prin polaritatea (invers
a) a semnalului de ceas. Pentru a nu apare
discontinuitate (hazard) n mentinerea valorii de iesire Q la schimbarea semnalului de ceas,
adic
a la comutarea mentinerii de la poarta 3 la poarta 2, a fost introdus
a poarta 4 (de
mentinere).
Structuri de calcul si memorare pentru expresiile 2.17 ale sumei si si transferului urm
ator

383

3.3. CIRCUITE BASCULANTE

stsu

CLK
4

vtvw

CLK

xtxy

CLK
Q

C i1

Bi

CLK

a)

CLK

ttt~ ~
t
{tz {z ttt
}t| }| ttt
t t

Ai

CLK A
Bi i
C i1
A
Bi i
C i1
A
Bi i
C i1

CLK

b)

CLK

CLK

Bi
CLK

4
C i1
5
C i1

6
7

t t t
t t
tt
Ai

Ai

Bi

si

Ci

9
8
10

CLK

CLK

c)

2
2

d)

Figura 3.41 Latch-ul Early: a) structur


a de principiu; b) structur
a la care s-a eliminat
poarta de mentinere pentru evitarea hazardului (prin comanda cu semnale de ceas defazate);
c,d) calculul si memorarea functiilor (si ) si (Ci ) pentru un sumator cu transport progresiv
pe o structur
a de tip latch Early.

384

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Ci , la un sumator cu transportul anticipat, sunt prezentate n Figurile 3.41-c si 3.41-d.


Aceste structuri sunt extensii ale structurii de latch Early obtinute prin repartizarea a c
ate
unei perechi de porti, notate cu 3 si 4 n Figura 3.41-a, pentru fiecare termen produs din
relatiile 2.17. Dac
a implementarea acestor relatii se face pe un circuit combinational pe dou
a
niveluri logice (AND-OR) urmat de un latch D (considerat c
a are propagarea 2p rezult
ao
propagare total
a egal
a cu 4p . Pentru implementarea cu latch Early propagarea total
a fiind
,,
numai de 2p ; propagarea pe latch fiind ascuns
a n propagarea p
artii combinationale.
Avantajul implement
arii de tipul AND-OR plus memorare pe latch Early poate fi nsotit
a, cum este cazul sumatorului, si de urm
atoarele dezavantaje: semnalele de date si
de clock trebuie s
a aib
a fan-out ridicat; poarta OR trebuie s
a suporte un fan-in mare, iar
num
arul de porti AND poate fi de asemenea ridicat. Se pot diminua aceste dezavantaje dac
a
portile de mentinere (7,8,9,10 n Figura 3.41-c si 6,7,8 n Figura 3.41-d) sunt eliminate. Dar
dup
a aceast
a eliminare de porti, pentru a asigura o functionare f
ar
a hazard a circuitului la
comutatia CLK0 si CLK 1, este necesar un defazaj ntre palierele active ale semnalului
de ceas. Va trebui ca CLK 1 s
a devin
a activ cu t nainte ca CLK s
a fie dezactivat,
ceea ce se poate obtine prin dou
a buffere inversor pe intr
ari pentru semnalul de ceas, Figura
3.41-b.

Latch-ul D, cu restrictia impus


a de a mentine nemodificat
a data de intrare pe
,,
,,
durata palierului activ de ceas, poate separa actiunea c
and de c
and , de asemenea elimin
a posibilitatea activ
arii simultane a dou
a intr
ari, dar totusi, p
an
a acum
,,
,,
nu prezint
a si facilitatea de actiune unde . Evident, introducerea actiunii unde
presupune existenta unui cuv
ant (de adres
a) care, pentru o configuratie particular
a,
s
a selecteze (deci un decodificator) un anumit punct (locatie) dintre mai multe unde
exist
a stocat
a informatia (deci mai multe latch-uri D). O structur
a care realizeaz
a
aceast
a functionare, referit
a prin latch adresabil, este reprezentat
a n Figura 3.42.
"1"
An1
A0

DMUX
Om1

Om2

O0

OE

CLK

D
D CLK
Q

D CLK
Q

Om1

Om2

D CLK
Q
O0

Figura 3.42 Organizarea de principiu pentru latch-ul adresabil.

Structura de latch adresabil se obtine printr-o conectare n paralel de m latchuri D, av


and toate n comun aceeasi intrare de date D. Selectarea pentru nscriere a
datei, aplicat
a pe intrarea D, n unul din cele m latch-uri D se face prin activarea
semnalului de ceas care se obtine ca o iesire din cele 2n (m = 2n ) ale DMUX 1:2n . La
DMUX pe intrarea de validare a iesirii OE se aplic
a semnalul de ceas CLK, iar pe
intr
arile de selectare se aplic
a un cuv
ant de adres
a An1 An2 , ..., A0 . Iesirea fiec
arui
latch D, pentru citire, este disponibil
a permanent f
ar
a selectare.
Inscrierea ntr-un anumit latch (adres
a), pentru o functionare corect
a, trebuie

3.3. CIRCUITE BASCULANTE

385

s
a respecte anumite relatii temporale. Pentru latch-uri se aplic
a nt
ai semnalul pe
intrarea D, care trebuie s
a fie stabil pe palierul activ al semnalului aplicat pe o intrare CLK. Pentru DMUX nt
ai se aplic
a cuv
antul de selectare si numai dup
a stabilizarea acestui, pentru a evita hazardul pe iesiri, se activeaz
a semnalul de ceas
CLK (=OE). Structura de latch adresabil la care se adaug
a selectarea (unde) si pe
iesirile latch-urilor D (pentru citire) se transform
a n structura celulei de baz
a pentru
implementarea unei locatii de memorie.

3.3.2

Circuite Basculante Bistabile (Triggere)

Pentru eliminarea deficientelor prezentate de structura de latch elementar (nedi,,


,,
,,
ferentierea ntre actiunile c
and si cum , inexistenta adres
arii unde si restrictia
activ
arii simultane a comenzii de nscriere si de citire) s-au realizat diferite tipuri
de latch-uri cu ceas. Totusi, aceste latch-uri cu ceas mai prezint
a un inconvenient:
transparenta iesirea este cuplat
a cu intrarea (pe durata palierului activ de ceas).
Circuitele care realizeaz
a o izolare a iesirii de intrare sunt referite prin termenul de
bistabile/triggere (flip-flop).
3.3.2.1

Principiul master-slave

Principiul Master-Slave (M-S) exprim


a o modalitate de structurare a oric
arui tip
de circuit basculant. Aceast
a modalitate de structurare const
a n nserierea a dou
a
latch-uri cu ceas, fiecare fiind transparent pe palierul H al semnalului de ceas. Consider
am un bistabil SR structurat M-S, ca n Figura 3.43-a, din dou
a latch-uri SR,
primul - master - comand
a pe cel de al doilea - slave. Datele SR ale bistabilului
se aplic
a pe intr
arile de date ale latch-ului master, ale c
arui iesiri QM , QM L se
aplic
a pe intr
arile SR ale latch-ului slave, iar iesirile bistabilului Q, QN sunt cele ale
latch-ului slave. Cele dou
a latch-uri sunt validate, pentru transferul datelor de la
intrare spre iesire, pe paliere defazate cu 180 ale semnalului de ceas, latch-ul master este comandat pe palierul CLK=1, iar apoi latch-ul slave pe palierul CLK = 1
(datorit
a inversorului pe semnalul de ceas). Pe durata palierului pozitiv, CLK=1,
latch-ul master fiind transparent datele de intrare (sau orice modificare a acestora)
sunt transferate la iesire, QM , QM L, dar latch-ul slave este blocat. In schimb, pe
durata palierului negativ, CLK = 1, latch-ul master este blocat, iar latch-ul slave
devine transparent si transfer
a datele de la iesirile masterului QM , QM L, care sunt
intr
ari la slave, spre iesirile bistabilului, Q, QN . De fapt, latch-ul slave are ca date
de intrare datele de la iesirea latch-ului master n momentul comut
arii semnalului de
ceas de la 1 la 0, deci bistabilul apare ca fiind comandat de c
atre frontul posterior.
Bistabilul are izolat
a iesirea de intrare, deoarece permanent unul din latch-uri este
blocat, iar bascularea apare ca fiind efectuat
a n momentul frontului negativ de ceas.
Evident, ca bistabilul s
a-si modifice iesirea conform datelor aplicate pe intr
arile SR
acestea trebuie s
a r
am
an
a stabile pe toat
a durata de transparenta
a latch-ului master,
CLK=1, p
an
a n momentul aparitiei frontului posterior care va determina transferul
n slave. Aceast
a nt
arziere, din momentul aplic
arii datelor p
an
a n momentul bascul
arii iesirii, este specificat
a n simbolul de reprezentare al structurilor master-slave,
Figura 3.43-d, prin simbolul e aplicat pe iesirile Q si QN .
Transparenta latch-ului master pe durata palierului pozitiv de ceas este un dezavantaj deoarece un glitch, posibil s
a apar
a n sistemele digitale, poate modifica datele

386

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

CLK
M
A
S
T
E
R

CLK

QM

CLK

QM_L

PRESET

a)

S
L
A
V
E

CLEAR

t1

t2

b)

CLK

QN

S
0
0
1
1

c)
t3

t4

SU

R CLK Q QN
Q QN (FM)
0
1
0
1
1
1
0
0
1/0 1/0 (ND)
0
Q QN (FM)
t5

t6

S
R

TW1

TW2

T W3

t7

PRESET
S

CLK
R

d)
t8

Q
CLEAR
t9

TW4

T W5

CLK
QM
QM_L
Q
QN

e)

ND

Figura 3.43 Principiul master slave: a) organizarea de tip master-slave; b) reprezentarea


intervalelor de timp pentru o tranzitie corect
a a bistabilelor comandate pe front (n cazul
acesta pe frontul posterior); c,d) tabelul de tranzitie si simbolul de reprezentare pentru un
bistabil SR master-slave; e) diagrame de semnal obtinute n functionarea unui bistabil SR
master-slave.

aplicate pe intr
ari, nscrie o valoare eronat
a n latch-ul master si care, apoi, la aparitia
frontului posterior se transfer
a n latch-ul slave spre iesirea bistabilului.
Din punct de vedere logic bistabilul SR master-slave este identic cu latch-ul SR
cu ceas, ceea ce rezult
a si din identitatea tabelelor caracteristice din Figurile 3.43-c
si 3.39-c, au acelasi tabel de excitatie, Figura 3.39-d, deci aceeasi ecuatie logic
a,
relatia 3.20. Functionarea bistabilului SR este descris
a si n diagrama de semnale din
Figura 3.43-e. In intervalele de transparenta
ale masterului TW1 , TW2 , TW3 , TW4 si
TW5 , c
and ceasul este activ, aparitia unui impuls pe una sau ambele intr
ari de date
poate modifica starea latch-ului master, stare deja fixat
a de configuratia de date (care
exista la nceputul intervalului respectiv de transparenta
). De exemplu, n momentul
t1 latch-ul master este comutat din 0 n 1, n t3 din 1 n 0 si n t5 din 1 n 0, iar
schimb
arile configuratiei de date din momentele t2 , t4 si t6 sunt ignorate de latch-ul
master deoarece nu este activat de ceas. Se observ
a c
a modificarea st
arii latch-ului

3.3. CIRCUITE BASCULANTE

387

slave poate apare doar pe frontul posterior al semnalului de ceas. In momentul t8 ,


pe frontul posterior al semnalului de ceas TW4 , deoarece QM QM L = 11 (SR = 11),
ambele latch-uri intr
a n metastabilitate, iar din aceast
a stare poate iesi dup
a un
anumit timp nscriindu-se fie n starea 1 fie n starea 0. Latch-ul master va fi nscris
determinist si scos din starea de metastabilitate, dac
a nc
a nu s-a consumat aceast
a
stare, n momentul t9 c
and este nscris prin SR=01 n starea 0, iar latch-ul slave poate
fi nscris determinist n starea 0 pe frontul posterior al palierului TW5 .
Rezult
a, din explicatiile anterioare, c
a starea de metastabilitate la un latch apare
c
and ambele sale iesiri sunt n 1 la dezactivarea semnalului de ceas. Dar, metastabilitate poate apare si c
and intr
arile de date se modific
a pe durata frontului de
nscriere/(activare) a semnalului de ceas, Figura 3.43-b (se consider
a frontul posterior c
and se nscriu datele n latch-ul slave). Ca durat
a a frontului de nscriere se
consider
a un interval compus din urm
atoarele trei subintervale:
SU -timpul de prestabilire (Set-Up), care este intervalul de timp dinainte
de nceperea tranzitiei active (frontului) a ceasului n care intr
arile de date
trebuie s
a fie stabile;
f -durata frontului activ de ceas;
H -timpul de mentinere (Hold), care este intervalul de timp dup
a tranzitia
frontului activ n care intr
arile de date trebuie s
a mai fie nc
a mentinute stabile.
Deci intervalul , denumit fereastr
a de decizie, axat pe frontul activ de tranzitie
are durata
= SU + f + H
(3.23)
Este referit prin fereastr
a de decizie deoarece n acest interval bistabilul testeaz
a
datele aplicate pe intrare si decide care va fi starea la iesire.
Pentru circuitele TTL valori uzuale sunt: SU =(5 20)ns, H =(5 0)ns; la circuitele mai rapide acesti parametri tind spre valori care se situeaz
a nspre limitele
inferioare ale intervalelor. La implementarea unui crcuit, ntr-o anumit
a tehnologie,
se recomand
a ca perioada T a semnalului de ceas s
a fie fata
de timpul de propagare
p pe o poart
a n relatia T (40 50)p . L
atimea ferestrei de decizie, n raport cu
durata unui palier activ de ceas este foarte unic
a, deci se poate considera c
a tranzitia
pe frontul semnalului de ceas a bistabilelor se realizeaz
a punctual (ntr-un moment
de timp). La toate circuitele bistabile, a c
aror structur
a se bazeaz
a pe celule latch,
pentru o functionare corect
a trebuie respectat
a aceast
a conditie de nemodificare a
datelor n intervalul , axat pe frontul activ al semnalului de ceas.
Circuitele basculante pentru nscriere, pe l
ang
a intr
arile de date validate (sincronizate) cu semnalul de ceas, n general, mai prezint
a nc
a dou
a intr
ari asincrone, de regul
a active n stare low, notate prin P RESET (nscriere n starea Q = 1,
QN = 0) si CLEAR (nscriere n starea Q = 0, QN = 1). Aceste intr
ari asincrone se
aplic
a, Figura 3.43-a, la bistabil pe celula latch care genereaz
a starea bistabilului Q,
QN ; av
and acces direct, f
ar
a validare prin semnal de ceas, la fixarea st
arii bistabilului,
rezult
a c
a intr
arile asincrone realizeaz
a o comand
a prioritar
a n raport cu
intr
arile de date.
Desi organizarea de tip master-slave a bistabilelor realizeaz
a o izolare a iesirii
de intrare faptul c
a datele de intrare trebuie s
a fie mentinute constante pe durata

388

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

palierului activ de ceas apare ca o restrictie destul de sup


ar
atoare n anumite aplicatii.
Solutia ar fi: scurtarea acestui palier doar la un impuls care s
a apar
a fie pentru frontul
pozitiv fie pentru frontul negativ al semnalului de ceas. Astfel se obtin bistabile cu
comutatie pe front. Generarea unui impuls pe unul din fronturile semnalului de
ceas se bazeaz
a pe producerea intentionat
a a hazardului de propagare, Figura 2.24.
PRESET

CLK

CLK

S
CLK

R
R

CLK

a)

b)

S
R

CLK

CLK

PRESET

S
CLK

CLEAR

CLK

CLK

CLK

c)

d)

QN
CLEAR

Figura 3.44 Bistabile cu comutatia pe front: a,c) circuite pentru generarea de impulsuri pentru comutatia bistabilelor pe frontul pozitiv, respectiv negativ; b,d) simbolurile de
reprezentare ale bistabilelor SR cu comutatie pe frontul pozitiv, respectiv negativ.

In Figurile 3.44-a si 3.44-b sunt prezentate dou


a circuite care produc impulsuri,
cu l
atimea p egal
a cu timpul de propagare printr-un inversor, respectiv pe frontul
pozitiv sau negativ. Un astfel de impuls de ceas, care s
a comande comutatia bistabilului, trebuie s
a aib
a durata egal
a sau mai mare cu timpul de tranzitie n bistabil a
semnalelor de date spre iesire. Pentru semnalele de date restrictia de nemodificare se
reduce doar la intervalul de SU nainte de front si H dup
a front, adic
a pe intervalul
, ceea ce este cu mult mai redus dec
at l
atimea unui palier a semnalului de ceas.
Comanda unui bistabil pe frontul pozitiv se simbolizeaz
a prin semnul , ca n Figura
3.44-b iar pentru frontul negativ prin semnul
ca n Figura 3.44-d. Cele mai utilizate
bistabile, mai ales pentru implement
ari sub form
a de circuite integrate discrete, sunt
cele cu comutatie pe front. Bistabilele cu comutatie pe front rezolv
a cu acuratetea
,,
,,
unui front problema decupl
arii actiunii cum de c
and .
3.3.2.2

Bistabilul D

Acest tip de bistabil, similar din punct de vedere logic latch-ului D, se poate
obtine dintr-un bistabil SR, c
aruia i se forteaz
a datele de intrare s
a ndeplineasc
a
relatia R = S, prin utilizarea unui inversor pe intr
ari. In Figura 3.45-a este prezentat
a modalitatea de transformare a unui bistabil SR master-slave ntr-un bistabil de
tip cu comutatie pe frontul negativ (transferul din latch-ul master n latch-ul slave
se realizeaz
a la sf
arsitul palierului activ de ceas CLK=1). Se poate realiza un bistabil D cu comutatie pe frontul pozitiv dac
a se utilizeaz
a nc
a un inversor pe intrare,
obtin
andu-se deschiderea master-ului pe palierul negativ al ceasului, iar al slave-ului
pe palierul pozitiv. Evident c
a indiferent de tipul frontului semnalul aplicat pe intrarea D trebuie s
a respecte restrictiile de nemodificare pe durata intervalelor SU si
H , iar nscrierea se face conform datei esantionate n momentul frontului.

3.3. CIRCUITE BASCULANTE

389

O structur
a de bistabil D cu comutatie pe frontul negativ, realizat
a prin nserierea
a dou
a celule CMOS dinamice, este reprezentat
a n Figura 3.45-b. Celula latch master este validat
a pe palierul pozitiv de ceas, iar celula latch slave este validat
a pe
palierul negativ de ceas. C
and CLK=1, poarta de transmisie PT1 este dechis
a si PT2
nchis
a, iesirea QM urm
areste intrarea D, iar intrarea n celula slave nu este validat
a
deoarece poarta de transmisie PT3 este nchis
a (doar PT4 deschis
a pentru a mentine
valoarea iesirii Q nscris
a anterior). In momentul frontului negativ, c
and semnalul de
ceas devine CLK=1, poarta PT1 este nchis
a iar PT2 deschis
a, celula master este
devalidat
a , n schimb celula latch slave devine transparent
a, poarta de transmisie
PT3 se deschide, iar PT4 se nchide si nspre iesirea Q se transmite valoarea logic
a
QM memorat
a n momentul frontului negativ. Succesiunea aceasta de transfer se
repet
a n urm
atoarea perioad
a a semnalului de ceas; portile PT1 si PT4 sunt dechise
simultan c
and CLK=1, iar n opozitie, c
and CLK = 1, sunt comandate simultan PT2
si PT3.
Tabelul caracteristic al bistabilului D, Figura 3.45-c, este similar cu cel al latchului D, Figura 3.40-c cu deosebirea c
a la primul tranzitia este pe front, iar la al
doilea pe palier. Ca tabel de excitatie pentru bistabilul D se poate utiliza cel de la
latch-ul D, Figura 3.40-d la fel si ecuatia logic
a a bistabilului D este cea exprimat
a
prin relatia 3.22. Diferenta n functionare ntre latch-ul D si bistabilul D se poate
evidentia din analiza diagramelor de semnal din Figura 3.45-d. Se observ
a c
a pe intervalele CLK = 1 (TW1 , TW2 , TW3 , TW4 ) latch-ul fiind transparent iesirea Q urm
areste
variatiile intr
arii D ceea ce nu se nt
ampla cu iesirea Q a bistabilului, acesta va memora numai valorile lui D din momentele fronturilor negative; deci bistabilul poate
elimina transferul spre iesirea sa a semnalelor de zgomot. Dac
a perioada semnalului
de ceas este cu mult mai mic
a dec
at cele mai mici intervale ntre variatiile semnalului
aplicat pe intrare atunci iesirea Q a bistabilului poate fi identic
a cu intrarea D, dar
cu o nt
arziere de propagare fata
de aplicarea frontului de tranzitie activ.
Un tip de bistabil D, foarte uzual n aplicatii, este cel cu validarea (semnalului
de ceas), prezentat n Figura 3.45-e. Se compune dintr-un bistabil D cu MUX2:1 pe
intrarea D, iar selectarea multiplexorului se realizeaz
a cu semnalul de validare, E. La
intrarea de date 0 a multiplexorului se aplic
a iesirea Q a bistabilului D, iar pe intrarea
1 se aplic
a data de intrare la bistabilul D cu validare. Pentru semnalul de validare
inactiv, E=0, pe fiecare front pozitiv de ceas se renscrie n bistabilul D valoarea Q
(bistabilul r
am
ane n aceiasi stare); bistabilul cu validare apare ca un bistabil D la
care semnalul de ceas nu este validat (nu se aplic
a ). Pentru semnalul de validare
activ, E=1, data de intrare se nscrie, prin MUX2:1, n bistabilul D. In aplicatii acest
tip de bistabil nscrie conditionat data n functie de un alt semnal care se aplic
a pe
intrarea de validare. O alt
a variant
a de bistabil D cu validare, dar cu facilit
ati extinse,
este prezentat
a n Figura 3.72-c.
Aplicatiile bistabilului D sunt: memorarea unui bit aplicat pe intrare, conform
relatiei Q(t + 1) = D, la fel ca latch-ul D; sincronizarea semnalelor asincrone nainte
,,
de a fi aplicate unui sistem sincron (aducerea n acelasi timp cu ceasul sistemului
sincron). At
at pentru memorarea unui bit c
at si pentru sincronizarea unui semnal
asincron nu apar probleme dac
a semnalul aplicat pe intrarea D nu are modific
ari
n fereastra de decizie . Dac
a semnalul aplicat pe intrarea D este o dat
a deja
sincronizat
a (nu se modific
a n interiorul ferestrei de decizie), deci respect
a timpii de
prestabilire SU si de mentinere H , atunci aceast
a dat
a este transferat
a la iesire, cu

390

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
CLK

CLK
CLK

SR MS

QN

QN (FM)

QN (FM)

MASTER

QM

PT3
CLK

CLK

QM_L

PT2
CLK

CLK R

PT1

CLK

CLK

c)

PT4
CLEAR CLK
Q

a)

D
Q

PRESET

b)

SLAVE

MUX2:1
4

QN

CLK
E

e)

0
1

D Q

CLK

Intervale in care latchul D este transparent


D
CLK

TW1

TW2

TW3

TW4

Q(latch)
Q(bistabil)

d)
Figura 3.45 Bistabilul D: a) transformarea unui bistabil SR master-slave ntr-un bistabil
D cu comutatie pe frontul negativ; b) structur
a de bistabil D n tehnologie CMOS cu celule
dinamice; c) tabelul caracteristic; d) comparatia formelor de semnal obtinute la iesirile unui
latch D si un bistabil D si un bistabil D pentru acelasi semnal aplicat pe intrare; e) structura
unui bistabil D cu validarea (E) a semnalului de ceas.

n
arzierea de propagare pD fata
de frontul activ si va fi valoarea iesirii bistabilului pe
urm
atoarea perioad
a de ceas; n Figura 3.46-a este prezentat acest mod de functionare.
Probleme apar c
and semnalul aplicat pe intrarea D este un semnal asincron care
si modific
a valoarea n interiorul ferestrei de decizie (modificarea valorii unui semnal
asincron poate avea loc oric
and), Figura 3.46-b.
Esantionarea unui semnal asincron D, care variaz
a pe durata ferestrei de decizie (se modific
a n D), poate crea dou
a situatii de evitat n functionarea bistabilului
D:
1. Iesirea bistabilului, dup
a timpul de propagare pD , se nscrie nedeterminist, fie
cu valoarea D aplicat
a pe intrare, fie cu valoarea complementar
a D. Dac
a se
nscrie cu valoarea D sincronizarea a fost reusit
a, iar dac
a se nscrie cu valoarea
D se poate considera c
a esantionarea s-a realizat putin nainte de modificare,
c
and semnalul aplicat pe intrare ntr-adev
ar avea valoarea D. La urm
atoarea

391

3.3. CIRCUITE BASCULANTE

esantionare (urm
atorul front activ de clock), dac
a semnalul asincron nu si mai
modific
a valoarea, n bistabil se nscrie valoarea corect
a, adic
a D; pentru sistemul care utilizeaz
a semnalul sincronizat apare c
a semnalul a fost esantionat
(sincronizat) cu nt
arzierea de o perioad
a de ceas.
2. Bistabilul, dup
a timpul de propagare pD , oscileaz
a sau intr
a n metastabilitate, la iesire se genereaz
a un semnal ntre 0 si 1 logic, deoarece functionarea
(latch-ului de baz
a al bistabilului) este n regim liniar. Dac
a iesirea acestui
bistabil se aplic
a pe intrarea altor bistabile/porti unele din acestea pot sesiza
intrarea pe nivel logic 1, iar altele pe nivel logic 0 sau unele bistabile pot intra
n metastabilitate. Dup
a un timp, m - timp de metastabilitate - care are o
determinare probabilistic
a [Wakerly 0 00], bistabilul iese din starea de metastabilitate nscriindu-se, nedeterminist, fie n valoarea logic
a 1, fie 0, Figura 3.46-b.
Scoaterea bistabilului din metastabilitate se obtine prin dou
a mobilit
ati. Prima,
se forteaz
a ntr-o stare valid
a prin aplicarea unei intr
ari care respect
a parametrii
de SU si H . A doua, dup
a m (care are o durat
a?!) starea de metastabilitate se
consum
a.
TCLK

i+1
D

CLK

i+2

TCLK

TCLK

TCLK

SU H

D
Q
Q(t)

a)

Q(t+2)

Sistem
sincron

TCLK

SU H

SU H

pD
Q(t)

b)

sincronizator

INTASINCR
INTSINCR
D Q
(Intrare
D1
asincrona)
QN
CLK
CLK

c)

pD
Q(t+1)

i+2

TCLK

D
CLK

SU H

pD

i+1

pD

Q(t+2)
metastabilitate

sincronizator

MET
INTASINCR
INTSINCR
Q
D
Q
D
(Intrare
D2
D1
asincrona)
QN
QN
CLK
CLK
CLK

Sistem
sincron

d)

Figura 3.46 Utilizarea bistabilului D pentru sincronizarea datelor. Tranzitia


datelor prin bistabil c
and este ndeplinit
a conditia de nemodificare n fereastra de decizie
(a) c
and nu este respectat
a conditia de nemodificare; c) structur
a de sincronizator cu un
bistabil D (d) cu dou
a bistabile nseriate.

Un circuit pentru obtinerea unei intr


ari sincrone, INTSINCR, aplicate apoi la un
sistem sincron, prin esantionarea unui semnal asincron, INTASINCR, este prezentat
n Figura 3.46-c. Elementul sincronizator este un bistabil D care produce o sincronizare corect
a n afar
a de cazul n care semnalul INTASINCR si modific
a valoarea n fereastra de decizie. C
and INTASINCR se modific
a n fereastra de decizie,

392

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

variatia semnalului de iesire obtinut INTSINCR poate fi ncadrat


a n una din cele
dou
a situatii de evitat n functionare ale bistabilului D descrise anterior (aplicarea
unei intr
ari nedefinite, fie 1, fie 0, la sistemul sincron sau o sincronizare ratat
a adic
a
aplicarea unei valori situate ntre 0 si 1 logic). Evitarea acestor function
ari incorecte
poate fi realizat
a de c
atre varianta de sincronizator cu dou
a bistabile D 1 , D2 nseriate
ca n Figura 3.46-d. Semnalul INTSINCR va fi generat corect de bistabilul D2 dac
a
n fereastra lui de decizie semnalul MET, produs de bistabilul D1 , nu are modific
ari.
Chiar si c
and semnalul MET, produs de D1 , este nedeterminist, fie 1, fie 0, acesta
devine stabil dup
a pD , deci urm
atorul front de ceas l g
aseste stabilizat pe intrarea
bistabilului D2 . Dar dac
a semnalul MET este produs de starea de metastabilitate a lui
D1 si aceast
a stare nu s-a consumat p
an
a la aparitia noului front de ceas , m > CLK ,
atunci si D2 intr
a n metastabilitate. Relatia de temporizare care s
a impun
a ca D2
s
a nu intre n metastabilitate, deci ca aceast
a variant
a de sincronizator s
a nu produc
a
sincroniz
ari ratate, are expresia m TCLK SU . Din aceast
a relatie se deduc dou
a
modalit
ati de a evita sincroniz
ari ratate: 1- m
arirea perioadei TCLK a semnalului
de esantionare (n general, semnalul asincron are o frecventa
de modificare mult mai
mic
a dec
at frecventa de ceas); 2- micsorarea timpului de prestabilire SU (n general,
circuitele moderne, mai rapide, realizeaz
a valori mai mici, chiar sub 5 ns).
In concluzie, exist
a posibilitatea de a realiza o sincronizare aproape sigur
a pe timpul de functionare al unui echipament. Structuri de sincronizatoare care s
a realizeze
pentru timpul mediu ntre dou
a (eventuale) sincroniz
ari ratate, MTBF (Mean Time
Between Synchronizer Failures), valori ce dep
asesc timpul de viata
de functionare al
unui echipament pot fi g
asite n [Wakerly 0 00].
3.3.2.3

Bistabilul JK

Toate circuitele prezentate p


an
a acum, prin completarea structurii latch-ului din
sectiunea 3.3.1, au avut ca finalitate eliminarea unora din deficientele latch-ului.
Totusi, a r
amas nesolutionat
a comanda contradictorie de activare simultan
a a nscrierii si stergerii. Aceasta comand
a a fost eliminat
a, dar nu solutionat
a, la latch-ul D si
bistabilul D prin comasarea acestei comenzi cu cea de neactivare simultan
a a intr
arilor
(No-OPeration), dar circuitul s-a redus la o singur
a intrare de date. Solutionarea se
poate obtine prin realizarea unui automat cu dou
a intr
ari J-nscriere si K-stergere,
Figura 3.47-a, av
and ca element de memorare, fie un latch cu ceas, fie un bistabil,
care pe l
ang
a comenzile normale (nscriere JK=10, stergere JK=01, No-OPeration
JK=00) s
a aib
a si comanda JK=11 pentru care s
a basculeze n starea opus
a.
Functionarea acestui automat - bistabilul JK - este redat
a n tabelul caracteristic
din Figura 3.47-b. Se obtine tabelul de excitatie, Figura 3.47-c, sau forma concentrat
a,
Figura 3.47-d, dac
a n tabelul caracteristic se analizeaz
a pentru fiecare din cele patru
tranzitii posibile, ntre cele dou
a st
ari, care din linii asigur
a tranzitia respectiv
a. De
exemplu, tranzitia ntre st
arile Q(t) = 1 si Q(t+1) = 0 poate fi realizat
a de linia treia,
JK=01 sau linia a patra, JK=11, adic
a JK=1. Map
and acest tabel de excitatie ntro diagram
a V-K, av
and intr
arile Q(t) si JK, Figura 3.47-e, se deduce ecuatia logic
a
pentru functionarea bistabilului JK.
Q(t + 1) = J Q(t) + K Q(t)

(3.24)

Aleg
and pentru elementul de memorare al automatului JK un latch SR cu ceas

393

3.3. CIRCUITE BASCULANTE

J
K

CLC1

LATCH

Q(t)

Q(t+1)
CLK

a)
J

CLK

3
S

QN

h)

QN (FM)

QN

QN

1
1

b)

CLC1

JK
00
Q(t)
0 0

Q(t)

01

11

10

R=KQ
JK 00
Q(t)
0

latch 1 0

g)

01

Q(t+1)

c)

S=JQ

11

10

Q(t+1)

f)

JK
A
A

d)

Q(t)

Tranzitie

JK
00
Q(t)
0 0

01

11

10

1 1

Q(t+1) =JQ(t) +KQ(t)

e)

Figura 3.47 Etapele sintezei structurii de bistabil JK: Pornind de la structura de


automat (a) cu tabelul caracteristic (b) si tabelul de excitatie (c,d) se obtine tabelul de
tranzitie al st
arilor sub forma unei diagrame V-K (e). Folosind tabelul de excitatie al latchului SR (f) se obtin functiile de excitatie S = JQ(t) si R = KQ (g) rezult
and structura de
tip JK (h).

este necesar a se determina ecuatia logic


a pentru CLC1 care genereaz
a semnalele S
si R. Diagramele V-K pentru sinteza functiilor de excitatie S, R, Figura 3.47-g, se
obtine prin conversia diagramei V-K a bistabilului JK utiliz
and tabelul de excitatie al
latch-ului SR, Figura 3.47-f. De exemplu, c
and bistabilul JK este n starea Q(t) = 0
si se aplic
a JK=00 bistabilul comut
a n starea Q(t + 1) = 0, c
asuta de coordonate
Q(t)JK = 000. Dar pentru c
a aceast
a tranzitie (0 0) este realizat
a de c
atre latch-ul
SR se observ
a, din tabelul de excitatie al acestuia, c
a valorile aplicate pe intr
arile sale
trebuie s
a fie S = 0, R = , valori care se introduc n cele dou
a c
asute de coordonate
Q(t) JK=000 ale diagramelor V-K din Figura 3.47-g. Iar c
and bistabilul comut
a din
Q(t) = 1 n Q(t + 1) = 0, c
asuta de coordonate Q(t) JK=111, valorile aplicate pe
intr
arile latch-ului trebuie s
a fie S = 0 si R = 1, valori care se introduc respectiv
n c
asutele de coordonate Q(t) JK=111 ale diagramelor V-K pentru functiile S si R.
Rezult
a cele dou
a functii de excitatie S = J Q(t) si R = KQ(t) cu implementarea
din Figura 3.47-h.
Structura de bistabil JK obtinut
a, corect
a din punct de vedere logic, nu este practic
functional
a c
and palierul activ al semnalului de ceas are durata mai mare dec
at timpul
de propagare prin latch. De exemplu, dac
a bistabilul este n starea logic
a 0 (Q = 0,
QN = 1) si pe intr
arile de date se aplic
a JK = 11 poarta 3 va genera un semnal

394

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

S = 1 care va nscrie bistabilul n starea 1 (Q = 1, QN = 0), iar dac


a se mentine
JK = 11 se va deschide acum poarta 4 ce va genera un semnal R = 1 care va nscrie
bistabilul n starea 0 s.a.m.d, dac
a se mentine JK = 11. Perioada de oscilatie este
egal
a cu dublul timpului de propagare printr-o poart
a AND de pe intrare plus timpul
de propagare prin latch-ul SR. De fapt, c
and durata palierului activ de ceas este mai
mare dec
at timpul de propagare n automat, acesta are o functionare de automat
asincron (transparenta
), care pentru JK = 11 nu ndeplineste niciodat
a conditia de
stabilitate, starea prezent
a s
a fie identic
a cu starea viitoare calculat
a, deci automatul
este cu oscilator.
PRESET

S QM
CLK
R QM

J
K

CLK

S Q
CLK
R QN

CLK

CLEAR

a)

Q QN

Q QN (FM)

PRESET

1 0
_ _
Q QM

Q QN

Q QN (FM)

CLK

Q QN

CLK

d)

Q
QN

Q QN (FM)

Q QN (FM)

e)

QN

CLEAR

c)

CLK J
0
J

Q QN (FM)

b)

CLK

PRESET
J

Q
CLK

QN

CLEAR

f)

J
K
CLK
Q

g)

Figura 3.48 Bistabilul JK: Structura (a) tabelul caracteristic (b) si simbolul de
reprezentare (c) pentru un bistabil JK master-slave; structura (d), tabelul caracteristic (e)
simbolul de reprezentare (f) si diagrame de semnal (g) pentru un bistabil JK cu comutatie
pe front pozitiv.

Eliminarea posibilit
atii de intrare n oscilatie a bistabilului JK, din Figura 3.47-h,
c
and JK=11, se poate realiza prin izolarea intr
arii de iesire adic
a substituind latch-ul
SR cu o structur
a de bistabil SR master-slave, Figura 3.48-a, obtin
andu-se bistabilul
JK master-slave cu simbolul de reprezentare din Figura 3.48-c si tabelul caracte-

395

3.3. CIRCUITE BASCULANTE

ristic din Figura 3.48-b.


Dar si acest tip de bistabil este afectat de ceea ce se numeste captarea de (zgomote)
1 sau 0 datorit
a transparentei latch-ului master pe palierul activ de ceas. De exemplu,
dac
a bistabilul este n starea 1 (Q = 1, QN = 0), iar pe intr
arile de date se aplic
a
JK=00 atunci n momentul aparitiei palierului activ de ceas latch-ul master se nscrie
n QM = 1 si QM L = 0 deci bistabilul va r
am
ane tot n starea 1. Dar dac
a pe
durata palierului activ de ceas pe intrarea K apare un glitch, posibil n sistemele
digitale, acesta va nscrie (K Q = 1) latch-ul master n 0, QM = 0 si QM L = 1, care
se transfer
a apoi la iesire ca stare 0 a bistabilului chiar dac
a pe intrare a disp
arut
zgomotul si se revine la JK=00 (captare zero). Similar se nt
ampl
a dac
a bistabilul
este n starea 0 (Q = 0, QN = 1), intrarea este JK=00 si pe intrarea J apare un
glitch, va rezulta (J QN = 1) la iesire starea 0 (Q = 1, QN = 1) chiar dac
a zgomotul
a disp
arut si se revine la JK=00 (captare 1).
Se obtine un bistabil JK, f
ar
a posibilitatea capt
arii de 1 sau 0, dac
a structura
de bistabil master-slave este substituit
a cu un bistabil D cu comutatie pe front,
Figura 3.48-d al c
arui simbol de reprezentare este desenat n Figura 3.48-f, iar tabelul
caracteristic este descris n Figura 3.48-e. Un exemplu de diagrame de semnal pentru
bistabilul JK cu comutatie pe frontul pozitiv este dat n Figura 3.48-g; variatia
de semnale pe intr
ari trebuie s
a respecte conditia de nemodificare pe intervalele SU
si H n jurul frontului de comutatie.
Dintr-un bistabil JK se poate obtine simplu un bistabil D prin comasarea liniilor
unu si patru, Figura 3.48-e, n una singur
a prin utilizarea unui inversor pe intrare. Un
bistabil JK, av
and dou
a bucle de reactie suprapuse, este un sistem de ordinul doi SO-2
pe c
and un bistabil D este un sistem de ordinul unu SO-1. Utilizarea unui bistabil
JK pentru modelarea function
arii unui bistabil D ar nsemna irosirea autonomiei unui
SO-2 fata
de un SO-1; realizarea unui bistabil D dintr-un bistabil JK este o solutie
numai c
and nu exist
a un bistabil D.
3.3.2.4

Bistabilul T

Conect
and mpreun
a cele dou
a intr
ari JK, nu printr-un inversor ca pentru modelarea function
arii bistabilului D, ci direct se obtine bistabilul de tip T. In practic
a functionarea unui bistabil T totdeauna este modelat
a pe un bistabil JK sau pe
celelalte tipuri, deoarece nu exist
a un circuit integrat discret care s
a contin
a bistabile T. Prin conectarea mpreun
a a intr
arilor tabelul caracteristic din Figura 3.48-e
devine tabelul caracteristic al bistabilului T reprezentat n Figura 3.49-b. Din acesta,
not
and J=K=T, se obtine tabelul de excitatie, Figura 3.49-c, si tabelul de tranzitie
al st
arilor reprezentat prin diagrama V-K din Figura 3.49-d din care rezult
a ecuatia
de functionarea bistabilului T:
Q(t + 1) = T Q(t) + t Q(t) = T Q(t)

(3.25)

iar pentru T = 1 aceasta devine:


Q(t + 1) = Q(t)

(3.26)

Relatia 3.26 arat


a c
a la mentinerea intr
arii la valoarea T=1, bistabilul T la fiecare
impuls de ceas comut
a/(basculeaz
a) n starea opus
a de unde si denumirea de bascul
a

396

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

CLK

Q
CLK
Q

T
CLK

CLK

a)

CLK

Q
QN

Q QN

Q
_
Q

b)

Q(t) T Q(t+1) T 0 1
Q(t)
QN (FM)
0 0 0
1
_
0 0
QN
0 1 1
0
1 1
1 1 0
QN (FM)
_
_
1 0 1 Q(t+1)=TQ(t)+TQ(t)
QN (FM)

c)

d)

CLK
T=1
Q

e)

Figura 3.49 Bistabilul T: a) modalitatea de a obtine un bistabil T dintr-un bistabil JK


(J=K); b) tabelul caracteristic; c,d) tabelul de excitatie; e) diagrame de semnal (semnalul
Q are perioada dubl
a fata
de semnalul de ceas).

(toggle). Aceast
a simpl
a comportare de bascul
a are dou
a aplicatii foarte frecvent
utilizate n sistemele digitale:
1. Num
ar
ator modulo 2. Deoarece tot la al doilea front (impuls de ceas) aplicat pe intrare bistabilul revine n aceeasi stare (QQN Q QN QQN
Q QN . . .) ceea ce este echivalent cu identificarea claselor de resturi modulo 2,
0
si
1, din num
arul de impulsuri aplicat pe intrare, deci un num
ar
ator n baz
a 2.
Inseriind dou
a bistabile T starea acestora, Q1 Q0 , revine n aceiasi valoare dup
a
patru impulsuri de ceas, adic
a identific
a clasele de resturi modulo 4: 00 =
0,
01 =
1, 10 =
2, 11 =
3 pentru c
a 4 modulo 4 = 0 =
0. Se poate deduce c
a un
num
ar
ator modulo 2n se obtine din nserierea a n circuite bistabile T.
2. Divizor de frecvent
a. Pentru c
a la fiecare front n acelasi sens al semnalului de
ceas, adic
a la un interval de o perioad
a TCLK , bistabilul basculeaz
a alternativ de
la 1 0, 0 1, 1 0 . . . rezult
a c
a perioada semnalului Q este dubl
a n raport
cu perioada semnalului de ceas TQ = 2TCLK . In plus, pentru c
a Q comut
a doar
la fronturile n acelasi sens ale ceasului nu depinde de factorul de umplere al
semnalului de ceas. In Figura 3.49-e factorul de umplere al semnalului de ceas
este sub 50% pe c
and frontul de umplere al semnalului generat pe Q este de
50% (exist
a o mic
a abatere fata
de aceast
a valoare cu diferenta ntre timpii de
propagare pHL si pLH ). In concluzie, semnalul obtinut pe Q este cu un factor
de umplere 50% si are frecventa jum
atate din cea a semnalului de ceas.
In Tabelul 3.4 sunt sintetizate informatiile principale despre cele patru tipuri de
circuite basculante prezentate.
Exemplul 3.15 Deoarece bistabilul T nu exista sub forma de circuit integrat independent s
a se modeleze functionarea sa cu circuite bistabile de tip SR, JK si D.

397

3.3. CIRCUITE BASCULANTE


Tabelul 3.4
Descrierea sintetic
a a bistabilelor SR, D, JK si T
Tipul
de
bistabil

Tabelul
Caracteristic
CLK S R

SR

QN

0 0 Q QN(FM)

0 0

0 1 0

0 1 0 1

1 0 1

1 0 1 0

1 1 1/0 1/0(ND)

QN

QN(FM)

QN(FM)

CLK J

QN

0 0 Q QN(FM)
0 1 0
1 0 1

JK

1 1

0 1

_
Q

1
0

_
QN

Q(t)

Q(t+1)

1
K Q(t+1)

0 0
0 1
1
0
1
1

0
1
0
1

Tranzitia JK
0
A A
_
1
A A

Q QN(FM)

Q QN(FM) Q(t+1)=JQ(t)+KQ(t)
K

0 0 Q
_

QN
QN
_

1 1 Q QN

Q(t)

0
0
1
1

0
1
1
0

Q(t+1)

Q QN(FM)

Q QN(FM) Q(t+1)=T +
J= K=T

tranzitie
Q=0
QN=1

01

0
10
0

Q=1
QN=0

0
1
0
1
Q(t)

pt T=1; Q(t+1)=Q(t)

Simboluri de reprezentare
si exemple de circuite
obtenabile comercial
PRESET
PRESET
S

0
1

CLEAR

CLEAR

CLK

CLK

PRESET
D

QN
CLK

CLEAR

CLEAR

PRESET
J
CLK

CLK

PRESET
J

QN
CLK

CLEAR

CLEAR

Q=1
QN=0

74xx76;74xx112;74xx109

Q=0
QN=1

PRESET
T

Q=1
QN=0

74xx74;74xx174;74xx374

Q=0
QN=1

CLK
QN
R

PRESET

Q=0
QN=1

74xx71

Q=1
QN=0

Q(t+1)=D(t)
Q(t) J

Graful de

CLK J

_
Q QN(FM) Q(t+1)= S + R Q(t)

0
CLK

Tabelul de excitare
si ecuatia de
functionare
Q(t) S R Q(t+1)

CLK

QN

CLEAR

Solutie. Rezolvarea acestei probleme este similar


a cu cea pentru sinteza bistabilului JK
prin modelarea function
arii pe un automat pe baz
a de bistabil SR, Figura 3.47. Concret,
trebuie realizate sinteze de automate pe baz
a de bistabile SR, JK si D care modeleaz
a
functionarea bistabilului T. Functionarea bistabilului T este descris
a prin tabelul s
au de
excitatie redat n coloanele 1, 2 si 8 din Figura 3.50-a. Coloanele 3-4, 5-6 si 7 sunt valorile
respectiv pentru intr
arile SR, JK si D, ale bistabilelor SR, JK si D, care produc aceeasi
comutatie ntre Q(t) si Q(t + 1) ca cea realizat
a de bistabilul T; aceste valori se citesc pentru

398

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Q(t) T

Q(t)
0
1

a)

Q(t)
0
1

0
0

1
1
T

Q(t)
0

R= Q(t) T
T

0
0

1. ConversiaD T
T
1
Q(t+1) Q(t) 0
1
0
0 0

Q(t)
0
1
J=K=T

_ _
D=QT+QT=Q + T
2. Conversia SR

CLK

_
S=Q(t) T

b)

T=1
CLK

D
Q
CLK
QN
D

Q
CLK
QN

R QN

T
CLK

T=1
CLK

R QN

c)
3. Conversia JK T

T
CLK

+VCC
J

K QN

CLK

K QN

d)

Figura 3.50 Conversia bistabilelor: a) tabelul de excitatie pentru conversia SR, JK si


D n T; b) conversia D T ; c) conversia RS T ; d) conversia JK T .

fiecare bistabil din tabelele de excitatie prezentate n Tabelul 3.4. Apoi, se face sinteza functie
de excitatie pentru fiecare din intr
arile S, R, J, K si D pe o diagram
a V-K av
and ca variabile
de intrare pe Q(t) si T.
1. Conversia DT, Figura 3.50-b. Rezult
a functia de excitatie pe intrarea D de forma
D = Q(t) T + Q(t) T = Q(t) T , care este identic
a cu cea din relatia 3.25, iar pentru
T = 1 (bascul
a) se obtine relatia D = Q(t). Pentru functionarea bistabilului D ca bascul
a pe
intrarea acestuia trebuie aplicat
a valoarea de pe iesire, dar negat
a, ceea ce se poate realiza
printr-o reactie, fie de pe Q printr-un element inversor comandat(XOR), fie direct de pe QN .
2. Conversia SRT, Figura 3.50-c. Pentru functiile de excitatie rezult
a expresiile
S = Q(t)T ; R = Q(t)T , iar pentru T = 1 se obtine S = QN (t) si R = Q(t). Structurile
de circuit obtinute conform acestor relatii pot fi considerate si ca fiind particulariz
ari ale
structurii de bistabil JK cu J=K=T, din Figura 3.47-h.
3. Conversia JKT, Figura 3.50-d. Functiile de excitatie sunt J = K = T , adic
a
intr
arile bistabilului JK sunt conectate mpreun
a gener
and astfel intrarea bistabilului T. De
fapt, aceast
a metod
a de conversie a stat la baza structurii bistabilului T, Figura 3.49.
Utiliz
and un procedeu ca cel folosit mai sus, pentru obtinerea bistabilului T, se poate
obtine oricare tip de bistabil prin modelarea function
arii acestuia pe celelalte tipuri de bistabile.

399

3.3. CIRCUITE BASCULANTE

3.3.3

Aplicatii la automate

In prezentarea function
arii si structurii unui automat, Figura 3.7, s-a ar
atat c
a pe
calea de reactie starea urm
atoare Q(t + 1) devine stare prezent
a prin memorarea sa
ntr-un element de memorare (registru). Acest element de memorare este un circuit
basculant bistabil fie de tip latch fie de tip bistabil. Dac
a este de tip latch atunci
automatul, pe durata de transparenta
a latch-ului, are o comportare de tip asincron
pentru c
a reactia este continu
a pe aceasta durat
a. Iar dac
a este de tip bistabil atunci
automatul este sincron pentru c
a reactia este ntrerupt
a, aceasta se nchide numai pe
frontul de basculare a bistabilului c
and starea urm
atoare se nscrie ca stare prezent
a.
Tipul de bistabil determin
a puternic doar structura semiautomatului deoarece partea
combinational
a a acestuia, CLC1, Figura 3.8, trebuie s
a calculeze functiile de excitatie
specifice tipului de bistabil utilizat. In continuare se vor prezenta exemple de automate
implementate cu diferite tipuri de bistabile.
Exemplul 3.16 Pentru automatul, a carui sinteza s-a prezentat n Exemplul 3.12
s
a se realizeze implementarea semiautomatului cu cu bistabile D, JK si SR
Solutie. In implementarea din Figura 3.35 nu s-a specificat ce tip de element de memorie
utilizeaz
a n bucla de reactie, acum aceast
a reprezentare generic
a de memorie va fi substituit
a
cu bistabile D, bistabile JK sau bistabile SR. Din tabelul din Figura 3.34 s-a p
astrat numai
partea corespunz
atoare tranzitiei st
arilor, f
ar
a iesiri, si s-a completat cu valorile functiilor
de excitatie pentru definirea semiautomatului implementabil cu bistabile D, JK si SR n
Figura 3.51-a. Valoarea functiei de excitatie, pentru fiecare intrare a celor trei bistabile,
se obtine prin citirea acesteia din tabelul de excitatie al bistabilului respectiv, Tabelul 3.4,
lu
and n considerare pe toate c
aile de tranzitie, comutatiile ntre bitul zi (starea prezent
a)
si wDi,i=0,1,2 (starea urm
atoare). De exemplu, pentru calea de tranzitie L5 se realizeaz
a
tranzitia de la starea prezent
a z2 z1 z0 =010 (q1 ) la starea urm
atoare wD1 wD2 wD3 = 011
(q4 ), adic
a printr-o comutatie a bitilor de stare n felul urm
ator z2 = 0 wD2 = 0,
z1 = 1 wD2 = 1 si z0 = 0 wD3 = 1, deci atunci la o implementare cu bistabile JK,
se obtin, din tabelul de excitatie al acestui bistabil, respectiv urm
atoarele valori ale bitilor
functiilor de excitatie: wJ2 wK2 = 0; wJ1 wK1 = 0; wJ0 wK0 = 1.
Pentru implementarea elementului de memorare cu bistabil de tip D, valoarea functiei
de excitatie este identic
a cu valoarea bitului st
arii urm
atoare a bistabilului, conform relatiei
3.22, de aceea n tabel bitii st
arii urm
atoare a automatului sunt notati cu wD2 , wD1 , wD0 .
Expresiile functiilor de excitatie pentru bistabilul D, determinate n Exemplul 3.12, sunt:
wD2 = x0 z 2 z1 z 0 + x1 z2 z1
wD1 = x1 z 2 z 1 + z 2 z1 z0 + x1 z2 z1

(3.27-a)

wD0 = x2 x1 z 2 z 1 z 0 + z 2 z 1 z0 + x1 z2 z1
Din tabelul completat cu valorile functiilor de
excitatie se pot deduce expresiile logice ale acestora,
dar pentru sintez
a vor fi necesare diagrame V-K de
sase variabile de intrare: x2 , x1 , x0 , z2 , z1 , z0 . Se
poate reduce dimensiunea acestor diagrame la diagrame de numai trei variabile z2 , z1 , z0 prin introducerea unei variabile de intrare ca variabil
a reziduu (un
exemplu cum se introduce doar o singur
a variabil
a
reziduu este prezentat n Figura 3.28-d). In starea q0

x2
0
1
1
0

x1
0
0
1
1

wJ0
0

0 wJ0 = x2 x1
0
1

400

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Cale Intrari
de
tranz
L1
L2
L3
L4
L5
L6
L7
L8
L9

Starea
urmatoare
(functie de
excitatie pt
bistabil D)
Q(t+1)

Starea
prezenta
Q(t)

Functiile de excitatie
pentru intrarile
J K ale bistabilelor

wD 2 wD 0
wJ2 wK 2 wJ1 wK 1 wJ0 wK 0 wS 2 wR 2 wS 1 wR 1 wS 0 wR 0
x 2 x1 x 0 Simb z 0 z 1 z 2 Simb wD 1
q0 0 0 0 q0 0 0 0 0
0 _x x
0
0
0
0
0 0
2 1
q0 0 0 0 q1 0 1 0 0 0
1
0 _
0 0
1 x2 0 0 0
1
0
x2
x 2x 1
q
1
0
0
1
0
0
0 1
0 0 0 0 q2 0 0 1 0
0 x
0
0
0
1 _ 0
0 q1 0 1 0 q3 1 1 0 1 _
x
x
x
0
0 0
0 0 1
0 0 1 0
0 0 0 0
1 q1 0 1 0 q4 0 1 1 0 0
q
q
1
0
0
1_ 0
1
0
2 0 0 1 0 0 0 0 0
x2
0
0 0 _x
q2 0 0 1 q4 0 1 1 0 0
1 x2
0 0
0 x2 0
1
2
q3 1 1 0 q4 0 1 1
1 _
0_ 1 _ 0
1 _
0
1 _
0
0
x
x
0 x
q3 1 1 0 q5 1 0 0
0 x1
0 1 0 0 1 x1 0 1 0
1 x1 0 1
1

q4 0 1 1 q0 0 0 0 0
q5 1 0 0 q0 0 0 0
1
0
z 1z 0
z 1z 0
00 01 11 10
00 01
z2
z2
_
x
x2
x0
0 0
0
0
0
2

L 10

L 11

a)

_ _
wJ = x 0z 1z 0
z 1z 0 2
00 01 11
z
2

_ _
wK 2= z 1+ x 1= z 1x 1

z 1z 0
00 01
z2
0

11
0

_ _ _
wS2= x 0z 2z 1z 0
z 1z 0
00 01 11
z
2

0
1

c)

10

_ _
wR 2= z 1+x 1z 2

11

10

_
wJ = x 2z 2
z 1z 0 1
00 01 11
z

10

0
1

b)

Functiile de excitatie
pentru intrarile
S R ale bistabilelor

_
x1

x1

1
0

1
1
0
0
0
0
0
1
0
z 1z 0
00 01 11 10
z2
_
x0
0 x 2x 1
_
x1
1 0
_ __
_
_
wJ 0= x 2 x 1z2z1+x 0z2z1+x 1z2z1
z 1z 0
00 01 11 10
z2
_
x2
1
0
1

wK 1= z 0+ x 1z 2

10
_
x0
0
10
0
_
x1

z 1z 0
00 01
z2
0 x2 x2
1

11
0

__
wS = x 2z 2 z 1
z 1z 0 1
00 01 11
z
2

0
1

10

_
wR 1= z 2z 1 + x 1z 2

__
wK 0= z 1+ x 2z 2

z 1z 0
00 01
z2
_
0 x2x1 0
1

11
0

10
x0
_
x1

_
_ _ _
_ _ _
wS 0 = x 2 x 1z 2z 1z 0 + x 0x 2z 1z 0 +x 1z 2z 1

10
0
_
x1

z 1z 0
00
z2
0
1

01
_
x2

11

10

_
wR 0= z 2z 1+ x 2z 0

Figura 3.51 Explicativ


a pentru Exemplul 3.16: a) tabelul cu valorile functiilor de
excitatie; b,c) diagramele V-K pentru sinteza functiilor de excitatie la bistabilele JK si SR.

3.3. CIRCUITE BASCULANTE

401

(liniile corespunz
atoare c
ailor de tranzitie L1, L2 si L3 din Figura 3.51-a), test
andu-se dou
a
intr
ari, modalitatea cum se introduc simultan aceste dou
a variabile reziduu n coeficientul
functiei wJ0 se prezint
a n continuare. Prima linie si a patra din tabelul al
aturat sunt definite n tabelul din Figura 3.51-a: x2 = 0, x1 = 0, iar wJ0 = 0; x2 = 0, x1 = 1 iar wJ0 = 1.
Pentru liniile doi si trei se extinde linia a doua din tabelul din Figura 3.51-a, x2 = 1, x1 = ,
iar wJ0 = 0, la urm
atoarele dou
a: x2 = 1, x1 = 0, iar wJ0 = 0 si x2 = 1 x1 = 1, iar wJ0 = 0.
Expresia functiei de excitatie wJ0 = x2 x1 s-a dedus din analiza tabelului al
aturat. Se obtin
urm
atoarele expresii pentru functiile de excitatie, Figura 3.51-b si 3.51-c:

wJ2 = x0 z1 z 0
wK2 = z1 x1

wS2 = x0 z 2 z1 z 0
wR2 = z 1 + x1 z2

Bistabilul JK
wJ1 = x2 z 2
wJ0 = x2 x1 z 2 z1 + x0 z 0 z1 + x1 z2 z1
wK1 = z0 + x1 z2 wK0 = z1 + x2 z 2

(3.27-b)

Bistabilul SR
wS1 = x2 z 2 z 1
wS0 = x2 x1 z 2 z 1 z 0 + x0 z 2 z1 z 0 + x1 z2 z1 (3.27-c)
wR1 = z2 z1 + x1 z2 wR0 = z2 z1 + x2 z0

Implementarea p
artii combinationale, conform relatiilor 3.27-b si 3.27-c, se poate face
prin oricare modalitate de implementare de circuit combinational (porti logice, DMUX+porti
logice, MUX, ROM sau PLA).

In implementarea automatelor se pune ntrebarea pentru realizarea elementelor


de memorare, din bucla de reactie, care din cele trei tipuri de bistabile (D, JK si SR)
este indicat a se utiliza (nu s-a considerat si bistabilul T deoarece acesta se obtine
simplu dintr-un JK). R
aspunsul este mai nuantat.
Bistabilul D necesit
a pentru fiecare bit de stare zi doar o singur
a functie de
excitatie aplicat
a pe intrarea D. Bistabilele JK si SR necesit
a pentru fiecare bit de
stare zi dou
a functii de excitatie pe intrare respectiv wJi ,wKi pentru bistabilul JK si
wSi ,wRi pentru bistabilul SR. In schimb comenzile aplicate pe intr
arile bistabilelor
JK si SR sunt vag formulate, de forma JK = A, JK = A, n raport cu o comand
a
exact prescris
a ce se aplic
a la bistabilul D, vezi Tabelul 3.4. Aceast
a ambiguitate n
,,
comand
a determin
a valori don0 t care n diagramele V-K de sintez
a, deci functiile de
excitatie pentru bistabilul JK sunt cele mai simple apoi cele pentru bistabilul SR n
raport cu functia de excitatie pentru bistabilul D. Se poate constata validitatea acestei afirmatii prin analiza functiilor de excitatie obtinute n exemplul anterior relatiile
3.27-a,b si c. Pe un circuit integrat discret, n general, sunt incluse mai multe bistabile
de tip D dec
at bistabile JK, dar cu un bistabil JK se poate modela usor un D sau un
T, n general are si intr
ari asincrone, deci este mai versatil n aplicatii.
In concluzie, pentru implement
arile cu circuite integrate discrete pentru sisteme
simple bistabilul de tip D este preferat bistabilului JK, pe c
and la sisteme mai complexe bistabilul JK prin versatilitatea sa este de preferat. In schimb, n structurile
integrate sunt utilizate aproape n exclusivitate bistabilele de tip D (completate cu
multiplexoare pe intrare).
Proiectarea si implementarea unui circuit automat pot fi mult simplificate, n
unele cazuri, prin utilizarea circuitelor multiplexoare. In primul r
and o astfel de
simplificare apare n cazul n care fiecare bloc de stare al automatului se testeaz
a doar
o singur
a variabil
a de intrare, caz n care acea variabil
a poate fi introdus
a ca variabil
a
reziduu. Simplificarea poate apare chiar si c
and se testeaz
a mai multe intr
ari n unele

402

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

blocuri de stare, dar expresiile coeficientilor functiei pot fi calculate cu operatori simpli
(AND,OR...) de variabilele reziduu. Sau, organigrama ASM a functiei, n blocurile
unde se testeaz
a mai mult de o variabil
a, se poate aduce, prin introducerea de st
ari noi
ntre testarea a dou
a variabile, Figura 3.52-c, numai la blocuri n care se testeaz
a doar
o singur
a variabil
a. Aceast
a simplificare este sustinut
a mai departe, in implementarea
semiautomatului, dac
a se alege ca element de memorare n bucl
a bistabilul de tip D.
In al doilea r
and, simplificarea poate apare prin micsorarea num
arului de intr
ari
aplicate p
artii combinationale prin utilizarea de circuite multiplexoare. Dac
a n fiecare
bloc de stare din cele n intr
ari se testeaz
a doar un num
ar q intr
ari, atunci aceste
intr
ari pot fi selectate prin q circuite multiplexoare. Conect
and intr
arile n automat
corespunz
ator pe intr
arile de date ale multiplexoarelor si aplic
and cuv
antul codului
de stare pe intr
arile de selectare ale multiplexoarelor, atunci se obtin pentru partea
combinational
a doar q intr
ari n fiecare moment. Aceast
a modalitate este foarte
indicat
a la realizarea p
artii combinationale pe circuit ROM. Deoarece capacitatea
circuitului ROM depinde exponential de num
arul de intr
ari, chiar si reducerea unei
singure intr
ari la automat va determina o njum
at
atire a capacit
atii circuitului ROM.
Exemplul 3.17 Pentru automatul din Exemplul 3.12 sa se structureze partea de
semiautomat numai cu multiplexoare si bistabile de tip D.

Calea Intrari
de
tranz

L1
L2
L3
L4
L5
L6
L7
L8
L9
L10
L11

a)

Starea urmatoare
Q(t+1)
Starea
prezenta (Functiile de
excitatie pentru
bistabilii D

0 0
1
0 1

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

0
0
0
1
1
0
0
1
1
1
0

0
0
0
0
0
1
1
0
0
1
0

0
0
0
0 0 1
0_
0
0 x 2 1 x2x1
1 _ 1
0
1
0 x0 1
1 x0
0
0
0
0
0
1 x2 1 x2
0
1 _ 1 _
1 x1 0 x1 0 x1
0
0
0
0
0
0

qi
Bloc de
stare

xi

x1

x2
x2
"1"

000
001
010
011

MUX

100 8:1
101
110
111

S 2 S 1S 0

b)

Separare prin
introducerea
unei noi stari qj
qj
xj

c)

_
x0

_
x1

_
x2
x1 x
2
x0

000
001
010
011

MUX

100 8:1
101

_
x1

110
111
S 2 S 1S 0

z0
z1
z2

Q
QN
Q
QN
Q
QN

000
001
010
011

MUX

100 8:1
101
110
111

S 2 S 1S 0

D0

wD

wD

wD

CLK
D1

CLK
D2

CLK

CLK

Figura 3.52 Explicativ


a pentru Exemplul 3.17: a) tabelul de tranzitie al st
arilor
cu intr
arile automatului introduse ca variabile reziduu; b) implementarea cu bistabile D si
mutiplexoare; c) eliminarea test
arii a dou
a variabile ntr-un bloc de stare prin introducerea
unei noi st
ari.

3.3. CIRCUITE BASCULANTE

403

Solutie. Tabelul de tranzitie al st


arilor din Figura 3.51-a este ref
acut n Figura 3.52,
dar de aceast
a dat
a valorile functiilor de excitatie ale bistabilelor wD2 , wD1 , wD0 contin
intr
arile x2 , x1 , x0 ca variabile reziduu.
Aceste functii de excitatie sunt implementate pe MUX8:1 care au ca variabile de selectare
bitii cuv
antului de stare z2 z1 z0 , Figura 3.52-b. Aceeasi implementare pe multiplexoare se
poate realiza pornind de la relatiile 3.27-a care se extind la forme canonice n functie de cele
trei variabile z2 , z1 , z0 . Implementarea cu multiplexoare si bistabile D apare ca o variant
a
atractiv
a de automat deoarece se realizeaz
a f
ar
a efort de sintez
a deosebit si cu un cost relativ
sc
azut .

Exemplul 3.18 Automatul din Exemplul 3.12 sa se implementeze cu bistabile D si


circuite ROM.
Solutie. Pentru automatul propus, tabelul de tranzitie al st
arilor si al iesirilor, din
Figura 3.34, este o form
a simplificat
a deoarece contine numai tranzitiile pe cele 11 c
ai de
tranzitie (L1 , L2 , . . . , L11 ) din tabelul de cu 64 tranzitii posibile. Automatul codificat cu
trei biti z2 , z1 , z0 poate realiza n fiecare din cele opt st
ari c
ate opt tranzitii care corespund
combinatiilor de variabile de intrare x2 , x1 , x0 testate. Informatia privind efectul produs de
o tranzitie necesit
a c
ate o locatie, rezult
a c
a este necesar
a o memorie cu 8 8 = 64 adrese,
cuv
antul de adresare fiind format din trei variabile de stare si trei de intrare, z2 z1 z0 x2 x1 x0 .
Componenta cuv
antului de 1 byte dintr-o locatie este: D7 = wD2 ; D6 = wD1 ; D5 = wD0 ;
D4 = y3 ; D3 = y5 ; D2 = y4 ; D2 = y2 L; D0 = y1 . Pentru maparea pe memorie a tabelului de tranzitie al st
arilor si iesirilor acesta trebuie completat la toate cele 64 de adrese
(000000 111111) prin extinderea at
at pentru simbolurile indiferente ale subcuv
antului
x2 x1 x0 c
at si pentru codurile neutilizate pentru ale st
arilor 101 si 111. Rezultatul extinderii
este prezentat n Figura 3.53-a, unde continutul fiec
arei locatii este exprimat n hexazecimal
si pentru detaliere s-a specificat la fiecare locatie corespondenta la starea si calea de tranzitie.
Capacitatea circuitului ROM este de 64 1 byte, iar structura automatului este prezentat
a
n Figura 3.53-b. In general, pentru un automat cu k variabile de stare, n variabile de intrare
si m biti de iesire capacitatea necesar
a este 2k+n (k + m) biti.
Modalitatea de micsorare a capacit
atii circuitului ROM utilizat n implementarea automatului este, ca si n abordarea clasic
a aplicat
a la oricare memorie, fie de micsorare a
num
arului de intr
ari, fie de reducere a num
arului de biti de iesire, evident c
a prima variant
a
este mult mai eficient
a deoarece are o contributie exponential
a. Reducerea num
arului de
intr
ari se poate aplica cu succes la automatele care testeaz
a n fiecare stare doar o singur
a
intrare din cele n, deci cuv
antul de adresare rezult
a cu lungimea de (k + 1) biti, capacitatea
circuitului ROM rezult
a de 2k+1 (k + m) biti, se obtine o reducere de 2n1 ori. Pentru
automatul din acest exemplu nu putem (nc
a!) aplica aceast
a modalitate deoarece n starea
q0 (000) se testeaz
a simultan at
at x2 c
at si x1 .
Automatul poate fi redus la un automat care testeaz
a n fiecare stare doar o singur
a
intrare dac
a se aplic
a procedeul prezentat n Figura 3.52-c, adic
a introducerea unei st
ari noi
q6 ntre punctele de testare ale variabilelor de intrare x2 si x1 din blocul de stare q0 . Rezult
a
astfel: 1-n blocul de stare q0 (000) tranzitia q0 q6 pe calea L1 = x2 si tranzitia q0 q1 pe
calea L2 = x2 ; 2-n blocul de stare q6 (101) tranzitia q6 q0 pe cale L12 = x1 si tranzitia
q6 q2 pe calea L3 = x1 . Iesirile n starea q6 sunt identice cu cele din starea q0 , ceea
ce apare pentru functionarea automatului, c
and x2 =0, ca o stationare de doua tacte n q0 .
Tabelul automatului din Figura 3.34 se modific
a prin introducerea st
arii q6 si a noilor c
ai de
tranzitie L1 , L12 si L3 (ceea ce trebuie introdus si n forma expandat
a din Figura 3.53-a).
Pentru automatul modificat structurarea este cea din Figura 3.53-c. In fiecare bloc de
stare prin cuv
antul de cod al st
arii z2 z1 z0 , aplicat pe intr
arile de selectare al MUX8:1, se
selecteaz
a doar valoarea variabilei de intrare testate, notat
a cu P , deci cuv
antul de adresare

404

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

z2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

a)
x2

Adresa
z1 z0 x 2 x 1 x 0
0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 1 1
0 0 0 0 0
0 0 1 0 1
0 0 1 1 0
0 0 1 1 1
0 1 1 0 0
0 1 0 0 1
0 1 0 1 0
0 1 0 1 1
0 1 0 0 0
0 1 1 0 1
0 1 1 1 0
0 1 1 1 1
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

x 2x1x0

z2z1z 0

x1
x0
z0
z1
z2

000
03
13
C2
0C
12
__

Bloc de Continut
Bloc de Continut
Adresa
stare locatie z z z x x x
stare locatie z
(HEX) 2 1 0 2 1 0
(HEX) 2
q0 L1 0 3 0 1 0 1 0 1 q1 L5 6 6 1
q0 L1 0 3 0 1 0 1 1 0 q1 L4 C 2 1

q0
q0
q0
q0
q0
q0
q2
q2
q2
q2
q2
q2
q2
q2
q1
q1
q1
q1
q1

L3
L3
L2
L2
L2
L2
L6
L6
L6
L6
L7
L7
L7
L7
L4
L5
L4
L5
L4

ROM

001 010
03 23
13 13
66 C2
0C 0C
12 12
__ __

2
2
4
4
4
4
1
1
1
1
7
7
7
7
C
6
C
6
C

3
3
1
1
1
1
3
3
3
3
7
7
7
7
2
6
2
6
2

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

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

(64x8 biti)

011 100
23 41
13 77
66 C2
0C 0C
12 12
__ __

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

101 110
41 41
77 77
66 C2
0C 0C
12 12
__ __

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

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

111
41
77
66
0C
12
__

000
001
010
011
100
101
110 6A 6A 8B 8B 6A 6A 8B 8B
111 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
D7
D6
D5
D4 D3 D2 D1 D0

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

q1
q4
q4
q4
q4
q4
q4
q4
q4
q5
q5
q5
q5
q5
q5
q5
q5

x2
x2
x0
x1
x1

CLK wD 2 wD 1 wD 0

CLK D CLK D CLK


Q QN Q QN Q QN

b)

L5 6
L10 0
L10 0
L10 0
L10 0
L10 0
L10 0
L10 0
L10 0
L11 1
L11 1
L11 1
L11 1
L11 1
L11 1
L11 1
L11 1

y3

y4 y2_L

y1

6
C
C
C
C
C
C
C
C
2
2
2
2
2
2
2
2

000
001
010
011MUX
100 8:1
101
110
111
S2 S1 S0

Q Q

Adresa
z1 z0 x 2 x 1 x 0
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
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

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Bloc de Continut
stare locatie
(HEX)

q3
q3
q3
q3
q3
q3
q3
q3

L8
L8
L9
L9
L8
L8
L9
L9

ROM 16 x 8 biti
1
z2 z1 z0 P 0

z2
z1
z0

Q Q

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

A
1
C
0
1
0
6

3
3
2
C
2
3
A

c)

wD 1

wD 0

4
7
6
0
1
2
8

A
A
B
B
A
A
B
B

1
7
6
C
2
3
B

D7 D6 D5 D4 D3 D2D1 D0

y1
y2_L

CLK D CLK
D CLK D

CLK
wD 2

6
6
8
8
6
6
8
8

y4

y3
y

Figura 3.53 Explicativ


a pentru Exemplul 3.18: a) tabelul de tranzitie al st
arilor si al
iesirilor extins pentru maparea ntr-un circuit ROM de capacitate 64 8 biti; b) structurarea
automatului pe un circuit ROM si bistabile D; c) structurarea aceluiasi automat c
and se
testeaz
a doar o singur
a intrare n fiecare bloc de stare.

405

3.3. CIRCUITE BASCULANTE

este z2 z1 z0 P . La adresa z2 z1 z0 0 este stocat


a informatia din blocul respectiv de stare c
and
tranzitia are loc dup
a calea P = 0, iar la adresa z2 z1 z0 1 este stocat
a informatia dup
a calea
de tranzitie P = 1. Aceast
a structurare se poate extinde si pentru cazul c
and sunt testate
simultan dou
a intr
ari ntr-un bloc de stare, n cazul general capacitatea memoriei fiind de
2k+2 (k+m) biti. Pentru aceast
a implementare pe intrare sunt necesare dou
a multiplexoare
care n fiecare bloc de stare, prin cuv
antul de cod z2 z1 z0 , selecteaz
a cele dou
a variabile testate
notate cu P1 si P0 , iar cuv
antul de adresare la memorie are forma z2 z1 z0 P2 P1 . Fiecare stare
necesit
a patru locatii(/adrese) pentru stocarea informatiilor corespunz
atoare celor patru c
ai
de tranzitie P1 P0 = 00, 01, 10 si 11.
Bitul de adresare P , identic cu valoarea variabilei de intrare testate ntr-un bloc de stare
si utilizat pentru selectarea a uneia din cele dou
a adrese corespunz
atoare celor dou
a c
ai de
tranzitie, poate fi utilizat pentru selectare nu ca un bit de adresare ci ca un bit de validare
asupra cuv
antului citit din locatia de adres
a z2 z1 z0 . In aceast
a variant
a c
ampul cuv
antului
stocat la o adres
a are lungimea dubl
a, deoarece cuprinde at
at semicuv
antul cu informatie
pentru P = 0 c
at si semicuv
antul cu informatie pentru P = 1, plus nc
a un subcuv
ant care
contine valorile intr
arilor x2 x1 x0 . Not
and [z2 z1 z0 ] continutul unei locatii de adres
a z 2 z1 z0
atunci din tabelul memoriei de la Figura 3.53-c se poate obtine continuturile locatiilor de la
aceast
a variant
a prin urm
atoarea concatenare: x2 x1 x0 [z2 z1 z0 0][z2 z1 z0 1]. Una din intr
ari din
acest subcuv
ant, pentru un bloc de stare z2 z1 z0 , va selecta prin valoarea sa, din cuv
antul
stocat la adresa z2 z1 z0 , fie semicuv
antul pentru P = 0, fie semicuv
antul pentru P = 1.
Implementarea automatului conform acestei variante de utilizare a bitului variabilei tes-

ROM
(8 x 19)biti

CLK
Q

x2
x1
x0

z2 z1 z0

CLK
D
Q

z2

Q
CLK
D
Q

z1

Q
CLK
D
Q

z0

P2

P1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

P=0

P=1

WD 2 WD 0
WD 1 y y y y y
x2 x1 x0
3 5 4 2_L 1

1
1
0
0
0
0
0

0
0
0
0
0
1
1

0
0
1
0
0
0
0

1
0
1
0
0
0
0

0
0
1
0
0
0
1

1
0
0
0
0
0
1

0
1
0
0
1
0
0

0
0
0
1
0
0
1

0
0
0
1
0
0
0

1
1
1
0
1
1
1

1
1
0
0
0
1
0

WD 2 WD 0
WD 1 y

0
0
0
0
0
0
1

1
1
1
0
0
0
0

0
1
1
0
0
1
0

0
1
0
0
1
0
0

y5 y4 y2_L y1

0
0
0
1
0
0
0

0
1
1
1
0
0
0

0
1
1
0
1
1
1

1
1
0
0
0
1
1

P0

0 1
MUX
2:1

0 1
MUX
2:1

0 1
MUX
2:1

0 1
MUX
2:1

0 1
MUX
2:1

0 1
MUX
2:1

y3

y5

y4

0 1
MUX
2:1

y2_L

0 1
MUX
2:1

y1

Figura 3.54 Explicativ


a pentru Exemplul 3.18. Utilizarea valorii variabilei testate
ntr-un bloc de stare pentru selectarea subc
ampurilor cuv
antului stocat la o adres
a z 2 z1 z0 .

406

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

tate este prezentat


a n Figura 3.54. Pentru fiecare bloc de stare z2 z1 z0 , n subcuv
antul
x2 x1 x0 , intrarea care se testeaz
a are valoarea 1. De exemplu, dac
a n blocul de stare
z2 z1 z0 = 001, c
and se testeaz
a x2 (= 1) si dac
a ntr-adev
ar intrarea x2 are valoarea 1,
atunci prin poarta P2 se aplic
a la grupul 8MUX 2:1 selectarea P = 1, pe iesire rezult
a
semicuv
antul 01110111 (77H); iar dac
a intrarea x2 are valoare 0, cu selectarea P = 0, pe
iesire rezult
a semicuv
antul 00010011 (13H). In cazul general, c
and se testeaz
a doar o singur
a
intrare n fiecare bloc de stare, capacitatea memoriei este 2k (n + 2k + 2m).
Aceast
a modalitate de implementare se poate extinde si la cazul c
and se testeaz
a dou
a
intr
ari n fiecare bloc de stare. De aceast
a dat
a cuv
antul din fiecare locatie cuprinde patru
subcuvinte, corespunz
atoare celor patru tranzitii posibile, plus nc
a dou
a subcuvinte de
variabilele x2 x1 x0 , fiecare indic
and una din cele dou
a variabile care se testeaz
a. Evident, se
genereaz
a doi biti de selectare P1 si P0 prin a c
aror combinatii 00, 01, 10 si 11 se selecteaz
a
una din intr
arile grupului de 8MUX 4:1. Capacitatea necesar
a a circuitului ROM este
2k (2n + 4k + 4m).

Pentru o functionare corect


a a automatului prin relatia 3.7 se poate calcula perioada minim
a a semnalului de ceas. In cazul c
and automatul are cel putin o variabil
a
de intrare sincron
a trebuie luat n considerare si timpul de transfer al acestei variabile
din momentul aplic
arii impulsului de ceas la bistabilul de intrare (de sincronizare).
Acest timp de transfer este compus din: pBI timpul de propagare prin bistabilul
de sincronizare de intrare plus pmaxCLK -timpul maxim de propagare prin reteaua
combinational
a, plus SUQ timpul de prestabilire la bistabilul de stare. Deoarece se
comand
a cu acelasi semnal de ceas at
at bistabilele din registrul de sincronizare de pe
intrare c
at si cele din registrul de stare perioada minim
a trebuie s
a respecte relatia:
TCLKmin max {(pmaxCLK + pBQ + SUQ ), (pmaxCLK + pBI + SUQ )}

(3.28)

Sinteza automatelor prezentate p


an
a acum a urmat, mai mult sau mai putin, o succesiune de faze descrise n sectiunea 3.2.6, ultima faz
a fiind elaborarea documentatiei.
In practic
a, sunt frecvente cazurile c
and pentru un automat nu exist
a documentatie
si astfel, s-ar putea, s
a nu se nteleag
a functionarea sa. Functionarea automatului
este descris
a clar printr-o diagram
a de tranzitie a st
arilor sau un graf de tranzitie/organigram
a ASM. Solutia? pornind de la structura automatului(schema electric
a) si
parcurg
and n sens invers succesiunea procesului de sintez
a, se ajunge la tabelul de
tranzitie al st
arilor si graful de tranzitie al st
arilor. Acest proces, invers al sintezei,
este analiza automatului. Etapele care se parcurg n procesul de analiz
a, pornind de
la schema electric
a a automatului sunt:
1. Identificarea structurii automatului. Aceasta nseamn
a segregarea p
artii combinationale de cea de memorare (bistabilele din bucla de reactie si identificarea acestora
sunt cazuri c
and sunt utilizate mai multe tipuri de bistabile). Uneori, de mare
folos este redesenarea schemei sub forma clasic
a de automat ca n Figura 3.7 sau
3.8. Se identific
a intr
arile principale, iesirile, variabilele de stare (intr
arile secundare),
variabilele functii de excitatie si dac
a este necesar alegerea unor denumiri/simboluri
pentru acestea.
2. Din analiza p
artii combinationale se deduc ecuatiile logice ale iesirilor si ale
functiilor de excitatie n functie de cele n variabile de intrare si k variabile de stare.
3. Construirea tabelului de tranzitie al st
arilor si al iesirilor. Pentru toate combinatiile ntre cele 2k st
ari prezente si 2n cuvinte de intrare se determin
a st
arile

407

3.3. CIRCUITE BASCULANTE

urm
atoare prin utilizarea relatiilor deduse pentru functiile de excitatie si tabelele caracteristice (vezi Tabelul 3.4) ale tipurilor de bistabile folosite. Bitii st
arilor urm
atoare
se pot calcula si prin introducerea expresiilor functiilor de excitatie n ecuatiile de
functionare ale bistabilelor folosite, apoi se introduc n expresiile rezultate toate combinatiile de 2k st
ari prezente si 2n cuvinte de intrare.
4. Construirea grafului de tranzitie al st
arilor/organigrama ASM. Asign
and simboluri literale pentru fiecare cod de stare, din tabelul de tranzitie al st
arilor si iesirilor,
se poate desena graful de tranzitie. Eventual, dac
a nu sunt multe variabile, se poate
trasa diagrama de variatie n timp a semnalelor.
Exemplul 3.19 Pentru automatul cu schema electrica din Figura 3.55-a sa se deduca
graful de tranzitie al st
arilor.
Solutie: Analiza acestui automat se va face marc
and etapele specificate anterior.
1. Structura automatului poate fi redesenat
a ca n Figura 3.55-b. Se observ
a c
a iesirile
sunt de fapt tocmai bitii de stare z1 , z0 , deci este un automat Moore.

CLK
K

A
z1

CLK

a)

b)

CLK

0
q3

q0
0

0
q1

q2
1

d)

Starea
Starea
prezenta urmat.
x
0 1
q0 q1

q0

q 1 q 3 q2

q2 q3 q2
1

q3 q1 q3
00
10

_
x

q0 ; 01
q2 ; 11

q1
q3

c)

Q
QN

z0

Q1

wK 1

wJ

CLK

QN

Intr. Starea
prezenta
x z1 z0
0 0 0
1 0 0
0 0 1
1 0 1
0 1 0
1 1 0
0 1 1
1 1 1

wJ 1

CLK

Q0

wK

CLK

Intrari bistabile Starea


urmat.

wJ1 wK 1 wJ0 wK 0

0
0
1
1
0
0
1
1

0
0
1
0
0
0
1
0

1
0
1
0
1
0
1
0

0
1
0
1
1
0
1
0

z 1 (t+1) z 0 (t+1)

0
0
1
1
1
1
0
1

1
0
1
0
1
0
0
1

Figura 3.55 Explicativ


a la Exemplul 3.19: a) schema electric
a a automatului;
b) schema electric
a redesenat
a n structura clasic
a de automat; c) tabelul de tranzitie al
st
arilor; d) graful de tranzitie al st
arilor.

408

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

2. Functiile de excitatie au expresiile:


wJ1 = z0 , wK1 = xz0
wJ0 = x, wK0 = xz1 + xz1 = x z1
3. Tabelul de tranzitie al st
arilor, Figura 3.55-c. Se determin
a starea urm
atoare
z1 (t + 1)z0 (t + 1) pentru fiecare din cele opt combinatii ale intr
arii x si st
arii prezente z1 z0 .
In tabel s-au introdus si valorile intr
arilor wJ1 , wK1 , wJ0 , wK0 ale celor dou
a bistabile
JK (coloanele 4,5,6,7), valori calculate cu ajutorul relatiilor functiilor de excitatie pentru
toate cele opt combinatii de intrare. Valorile din coloanele 4,5,6 si 7 nu fac parte din tabel
dar s-au introdus pentru o mai usoar
a determinare a st
arii urm
atoare din starea prezent
a.
Utiliz
and tabelul caracteristic al bistabilului JK, vezi Tabelul 3.4, pentru fiecare configuratie
de intrare xz1 z0 se deduc valorile bitilor st
arii urm
atoare z1 (t + 1)z0 (t + 1).
Expresiile bitilor st
arii urm
atoare se pot obtine si prin introducerea functiilor de excitatie
deduse anterior n relatia 3.24 de functionare a bistabilului JK:
z1 (t + 1)

=
=

z2 (t + 1)

=
=

wJ1 z 1 (t) + wK1 z1 (t) = z0 z 1 (t) + (x + z 0 (t))z1 (t) =


z 1 z0 + xz1 + z1 z 0

wJ0 z 0 (t) + wK0 z0 (t) = x z 0 (t) + (x z1 (t)) z0 (t) =


x0 z 0 + x z 1 z0 + xz1 z0

In ultima form
a s-a scris z n loc de z(t). Valorile din coloanele 8 si 9 din tabelul de
tranzitie al st
arilor se pot calcula si cu aceste relatii pentru toate configuratiile xz1 z0 .
4. Asign
and codurile de stare n felul urm
ator: 00 q0 , 01 q1 , 10 q2 , 11 q3 se
obtine graful de tranzitie al st
arilor, Figura 3.55-d.

3.3.4

Circuitul basculant bistabil asimetric, Triggerul Schmitt

Circuitul asincron obtinut prin leg


aturi simetrice ncrucisate ntre dou
a inversoare
(Figura 3.36-a si b) prezint
a n caracteristica static
a de transfer (Figura 3.36-c) dou
a
st
ari stabile; circuitul acesta fiind celula elementar
a pentru toate circuitele(basculante) bistabile. Dar dac
a leg
aturile de conectare ntre cele dou
a inversoare nu mai sunt
simetrice din punct de vedere al conductantei, una incluz
and o rezistenta
R2 , se obtine
un circuit, Figura 3.56-a, referit ca trigger Schmitt, care prezint
a o caracteristic
a
static
a de transfer similar
a cu cea a unui releu cu histerezis, Figura 3.56-b.
Consider
and o variatie a tensiunii de intrare la triggerul Schmitt, VI , de la valoarea
0V p
an
a la tensiunea de alimentare si apoi n sens invers la valoarea 0V , tensiunea de
iesire VO (Q n Figura 3.56-a) va bascula de la valoarea VOL la VOH , c
and VI = Vp+ ,
si de la VOH la VOL , c
and VI = Vp ; cele dou
a valori(praguri) de basculare, Vp+ si Vp
nefiind egale, acestea fiind dep
artate cu l
atimea de histerezis = Vp+ Vp , Figura
3.56-b. Pentru determinarea valorilor caracteristicii de releu cu histerezis se va utiliza
notiunea de prag logic de comutatie al unei porti VT (pragul logic de comutatie al
unei porti defineste acel punct pe caracteristica static
a de transfer unde tensiunea de
intrare este egal
a cu cea de iesire VT = VI = VO ; n acest punct curentul de intrare n
poarta este II = 0). Ecuatia de curenti n punctul A se reduce la egalitatea I1 = I2
care este ndeplinit
a doar c
and tensiunea de intrare n inversor este VT . La cresterea
tensiunii de intrare VI c
and aceasta devine egal
a cu Vp+ , tensiunea n punctul A are
valoarea VT , iar iesirea basculeaz
a de la VOL la VOH , se pot scrie relatiile:

409

3.3. CIRCUITE BASCULANTE

II

VO

VI

R1
I1

I1

VOH
I2

1 I
2

R2

VI
d)

R1

VOL
Q

a)

RS

T4

R2
Vy
Vx

T2
Vz
T1
Vp

Vp+

VI

Vp +

VI

R2
2,6K
VO

T1

T2

RE
1K

c)

IE

VCC

VO

VDD

130
T6

D4

D3
D2

T4

T5
T1

D1

T5

f)

I
R 1 CT 2
3,3K

4K
A

T6

T3

VI

VOH

e)

Vp

V DD =+5V

VO

VOL

VI

b)

VO

V ref

I CT

D
2

QN

VCC =5 V

T2

VO
T3

g)

Figura 3.56 Triggerul Schmitt: a,b) structura de principiu si caracteristica static


a
de transfer, neinversoare; c) structur
a realizat
a cu tranzistoare bipolare; d,e) structura si
caracteristica de transfer pentru un trigger Schmitt realizat cu amplificator operational;
f) structur
a n tehnologie CMOS; g) structur
a de poarta NAND4 trigger Schmitt n tehnologie TTL.

I1 =

VI V A
V + VT
= P
R1
R1

I2 =

VA V O
VT VOL
=
R2
R2

iar din egalitatea curentilor se obtine expresia:


Vp+ = VT (1 +

R1
R1
) VOL
R2
R2

(3.29-a)

Similar, la descresterea tensiunii VI , c


and aceasta devine egal
a cu Vp tensiunea n
punctul A are valoarea VT , iar iesirea basculeaz
a de la VOH la VOL , rezult
a relatiile:
I1 0 =

V T V p
VA V I
=
R1
R1

I2 0 =

iar din egalitatea curentilor se obtine expresia

VO V A
VOH VT
=
R2
R2

410

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Vp = VT (1 +

R1
R1
) VOH
R2
R2

(3.29-b)

Expresia l
atimii histerezisului fiind
R1
(VOH VOL )
(3.30)
R2
Pentru o poart
a inversor 74LS04 cu VOL = 0, 2V ; VOH = 3, 6V ; VT = 1, 7V si
aleg
and raportul R1 /R2 =0,37 se obtin: Vp = 1V , Vp+ = 2V si = 1V .
O structur
a de trigger Schmitt cu tranzistoare, care are o caracteristic
a static
a de
transfer de aceeasi form
a cu cea din Figura 3.56-b este prezentat
a n Figura 3.56-c
[Toacse 0 96]. Cele dou
a inversoare sunt realizate cu cele dou
a tranzistoare T 1 si T2 ,
exist
and figurat
a doar o singur
a leg
atur
a de reactie din colectorul lui T 1 n baza lui
T2 . Reactia de la amplificatorul cu T2 la amplificatorul cu T1 apare ca un efect al
c
aderii de tensiune produs
a de ICT 2 pe rezistenta comun
a din emitor RE si care se
aplic
a la intrarea tranzistorului T1 , VI = VBE + IE RE , IE = ICT 1 + TCT 1 (rezistenta
RE simuleaz
a un generator de curent constant n emitoare, deci IE const.). C
and
tensiunea de intrare VI = 0 atunci tranzistorul T1 este blocat deci T2 va fi n saturatie,
rezult
a VO = VOL . La cresterea lui VI VBET1 on + IE RE , tranzistorul T1 intr
a n
conductie si prin micsorarea tensiunii pe colectorul s
au comand
a, prin leg
atura de
reactie, nspre blocare tranzistorul T2 , adic
a micsorarea curentului ICT 2 . Dar pentru
c
a IE const., curentul ICT 1 va creste si va provoca o mai pronuntat
a sc
adere a
tensiunii n colector deci o comand
a n continuare de blocare pe baza lui T2 (iat
a
efectul de reactie pozitiv
a prin RE !). La o valoare a tensiunii de intrare VI =Vp+ ,
T2 se blocheaz
a, T1 conduce n saturatie, tensiunea de iesire a basculat de la VOL la
VOH . Invers, la sc
aderea tensiunii de intrare, prin efectul de reactie, c
and ajunge la
VI = Vp apare bascularea de la VOH la VOL . Cu valorile de rezistente din figur
a si
VBE(on) = 0, 7V , VBE(sat) = 0, 8V , VCE(sat) = 0, 1V se obtin: Vp+ = 2, 5V , Vp =
1, 6V , = 0, 9V .
O idee practic
a pentru realizarea unui trigger Schmitt, cu o caracteristic
a inversoare, Figura 3.56-e, pe baza unui amplificator operational este prezentat
a n Figura
3.56-d. Reactia pozitiv
a se obtine de pe divizorul R1 R2 ntre VO si Vref , iar VI
se aplic
a pe intrarea inversoare (aplic
and reactia nspre intrarea inversoare iar V I pe
intrarea neinversoare se obtine o caracteristic
a static
a de tip releu neinversoare). De
pe divizorul rezistiv R1 R2 se obtin relatiile:
= V p+ V p =

R1
(VOH Vref )
R1 + R 2
R1
(VOL Vref )
= Vref +
R1 + R 2
R1
(VOH VOL )
=
R1 + R 2

Vp+ = Vref +
V p

(3.31)

Cu aceste relatii, n caracteristica inversoare s


a existe aceleasi valori ca la caracteristica neinversoare prezentat
a anterior Vp+ = 2V , Vp = 1V , = 1V , se calculeaz
a
Vref = 1, 335V si R1 /R2 = 0, 416.
O structur
a de trigger Schmitt n tehnologie CMOS este prezentat
a n Figura
3.56-f care realizeaz
a o caracteristic
a static
a de releu cu histerezis, inversoare, ca n

411

3.3. CIRCUITE BASCULANTE

Figura 3.56-e. C
and VI = 0 tranzistoarele T3 si T4 sunt n conductie, dar conduc
un curent neglijabil deoarece T1 si T2 sunt blocate (se consider
a tensiunile de prag
ale tranzistoarelor Vpn = +1, 0V , Vpp = 1, 0V ), T6 este blocat, T5 este n saturatie,
Vy = Vx 5V iar Vz = VDD VT 5 = 3, 5V . C
and VI creste la Vpn = 1, 0V , T1 intr
a n
conductie si mpreun
a cu T5 formeaz
a un amplificator, exist
and tendinta de sc
adere
a tensiunii Vz , dar T2 este blocat. Cresc
and VI = Vp+ , tensiunea VGS,T2 Vpn si
n succesiune: T2 intr
a n conductie, Vx = Vz = 0V , T5 intr
a n blocare, T3 intr
a n
blocare atr
ag
and dup
a sine intrarea n conductie a lui T6 , tensiunea de iesire comut
a
de la VDD la 0V. Pornind, cu VI = 5V , napoi T4 , T3 sunt blocate iar T6 este n
conductie. Int
ai intr
a n conductie T4 apoi T3 iar T6 se blocheaz
a, n reteaua n, T1 , T2
se blocheaz
a si T5 va conduce deci s-a realizat la Vp comutatia tensiunii VO de la 0V
la VDD .
Structura din Figura 3.56-g prezint
a o poart
a NAND4 trigger Schmitt. Triggerul
Schmitt este format cu un amplificator pe tranzistoarele T1 , T5 iar cel
alalt amplificator
pe T2 . In structura portii circuitul trigger Schmitt este plasat ntre circuitul SI de
intrare, compus din diodele D1 D4 si circuitul defazor T2 care comand
a circuitul de
iesire T3 , T4 .
Circuitul trigger Schmitt, prezent
and o caracteristic
a static
a de releu cu histerezis
care comut
a rapid datorit
a reactiei pozitive (basculare), poate fi utilizat ca discriminator de nivel (prin cele dou
a praguri Vp+ , Vp ) si este recomandat pentru urm
atoarele
tipuri de aplicatii:
1. Obtinerea unei comutatii rapide a iesirii pentru variatii lente pe intrare (formarea semnalelor cu front necorespunz
ator, discretizarea semnalelor analogice
n semnale binare etc.).
2. Reducerea (eliminare) efectelor zgomotului asupra semnalului util (prin prezenta histerezis-ului).
Exemplul 3.20 Cu o poarta 74HC132 (NAND2 cu trigger Schmitt pe intrare) sa
se realizeze un oscilator cu freventa de 10Hz utiliz
and un condensator C = 0, 47F , Figura
3.57-a.
Solutie. Poarta 74HC132 av
and o caracteristic
a de tip releu cu histerezis inversor,
printr-o conectare a iesirii la intrare rezult
a o structur
a de oscilator cu perioada de oscilatie
T = 2p , p fiind timpul de propagare prin poart
a. Pentru m
arirea perioadei oscilatiilor
reactia este realizat
a printr-o retea RC integratoare. Intr-o astfel de retea, variatia n timp a
tensiunii pe condensator vC (t), pornind de la tensiunea initial
a v(0) iar pe intrare se aplic
a
o treapt
a de tensiune V = v(), este exprimat
a prin relatia :
t

vC (t) = v() [v() v(0)]e RC

(3.32)

In momentul t = 0, c
and tensiunea pe condensator scade la valoarea de prag Vp ,
tensiunea de iesire vO va comuta de la VOL = 0V la VOH = VDD . Acest salt al tensiunii de
iesire aplicat pe intrarea retelei integrative va determina cresterea tensiunii pe condensator,
care n momentul t = T1 atinge valoarea de prag basculare Vp+ .
T1

vC (T1 ) = Vp+ = VDD (VDD Vp )e RC T1 = RC

VDD Vp
VDD Vp+

412

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
R

VOH

vC

C VOL

Vo

V p+

VDD

V p

Vp

Vp +

vO

VDD

74HC132

Vi

vO

vC

0V

t=0

T1

a)

T1+T2

2T1+T2

b)

Figura 3.57 Circuit oscilator obtinut pe baza unei porti inversor trigger Schmitt
(7HC132).

Deoarece n momentul T1 tensiunea de iesire comut


a de la VOH = VDD la VOL = 0V ,
tensiunea pe condensator ncepe s
a scad
a p
an
a n momentul t = T1 + T2 c
and se atinge
valoarea de prag de basculare Vp .
T2

vC (T1 + T2 ) = Vp = 0 (0 Vp+ )e RC T2 = RC ln

Vp
Vp+

rezult
a perioada oscilatiei
T = T1 + T2 = RC ln

Vp+ (VDD Vp )

Vp (VDD Vp+ )

Cu valorile Vp+ (tipic) = 2, 38V , Vp (tipic) = 1, 68V , C = 0, 47F , T = 0, 1s se obtine


R=

1
0, 47 106 ln 2,38(4,51,67)
1,67(4,52,38)

= 330k

Pe intervalul de variatie de temperatur


a 40 C +80 C, Vp+ (max) poate creste p
an
a
la 3, 15V iar Vp min poate sc
adea la 0, 9V . Cu aceste valori extreme si R = 330K si
C = 0, 47F introduse n relatia anterioar
a, se obtine pentru frecventa generat
a valoarea de
2, 9Hz!

3.3.5

Circuitul basculant monostabil

Pornind, de asemenea, de la celula de baz


a, Figura 3.36-b, se obtine structura de
principiu a circuitului basculant monostabil monostabilul dac
a una din leg
aturile
de reactie r
am
ane galvanic
a iar cealalt
a se realizeaz
a capacitiv, Figura 3.58-a. Aceasta
nseamn
a c
a se transmite (prin condensatorul Cx ) de la iesirea portii 1 la intrarea
portii 2 numai variatii, n regim static transferul (pentru componenta continu
a) este
ntrerupt. Functionarea de principiu a monostabilului este urm
atoarea. Circuitul se
p
astreaz
a ntr-o stare stabil
a, Q = 0 QN = 1, un timp indefinit, dac
a nu se aplic
a un
impuls din exterior. La aplicarea unui impuls din exterior monostabilul basculeaz
a
n starea opus
a, Q = 1 QN = 0, care este mentinut
a de o reactie pozitiv
a a celor
dou
a leg
aturi ncrucisate. Dar aceast
a reactie pozitiv
a exist
a doar n intervalul de
timp w , care corespunde duratei regimului tranzitoriu prin condensatorul Cx , dup
a

413

3.3. CIRCUITE BASCULANTE

care se ntrerupe iar monostabilul revine n starea Q = 0 QN = 1. Durata regimului


tranzitoriu este functie de constanta de timp a leg
aturii de reactie n care este introdus
condensatorul. Modific
and aceast
a constant
a de timp apare posibilitatea ca acest
circuit s
a poat
a genera/marca intervalele de timp controlabile (releu de timp).
T
T

V DD

QN

Rx

Cx

x
vx

1
QN

a)

b)

Q
Impulsuri ignorate la triggerare

Rx

Cx
CX

c)

d)Q

Retriggerare

RX
QN

e)

Figura 3.58 Circuitul basculant monostabil (Monostabilul): a,b,c) structur


a, diagrame de semnal si simbol de reprezentare; d) diagrama de semnale pentru comand
a normal
a;
e) diagrama de semnale pentru comanda cu retriggerare.

Monostabilul din figur


a este realizat cu porti NOR CMOS. Reamintim caracteristicile portilor CMOS: salt de tensiune ntre 0 si VDD , curent de intrare neglijabil, prag
de basculare VT = VDD /2 (dar dac
a diodele de protectie de pe intrare se polarizeaz
a n
sens direct functionarea portii se modific
a). In starea stabil
a a monostabilului iesirea
portii 1 este n VO1 = VDD , iesirea portii 2 este n VO2 = 0V , intrarea portii 2 este
vx = VDD , deci tensiunea pe condensator vCx (t = 0) = 0V . La aplicarea unui impuls
pozitiv de comand
a T pe intrarea portii 1 iesirea acesteia comut
a n V O1 = 0V ,care
transmis
a prin condensatorul Cx determin
a tensiunea n punctul x, vx = 0V , iesirea
portii 2 comut
a n VDD , iar aceast
a tensiune de iesire aplicat
a pe intrarea portii 1
face ca s
a nu mai fie necesar
a prezenta impulsului T (reactia pozitiv
a s-a realizat).
In continuare, printr-un curent de la VDD , prin rezistenta Rx si iesirea portii 1, condensatorul Cx se ncarc
a (constanta de timp fiind Rx Cx ) iar tensiunea vCx va creste
a un interval de timp w ,
de la vCx (t = 0) = 0V nspre vCx (t = 0) = VDD . Dar, dup
tensiunea pe condensator atinge valoarea de prag de comutatie VT a portii 2, iesirea
acestei porti comut
a n V02 = 0V , iar aceast
a tensiune aplicat
a la intrarea portii 1
comand
a iesirea acesteia n starea VO1 = VDD . Tensiunea pe condensator devine
zero, VO1 vx = VDD VDD = 0, transferul prin condensator se ntrerupe, deci
starea QN = 0, Q = 1 s-a terminat; variatiile de tensiune sunt prezentate n Figura
3.58-b. Un monostabil comandat din exterior cu un impuls negativ se obtine printr-o

414

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

structur
a cu porti NAND. Calculul intervalului w , de existenta
a st
arii instabile, se
realizeaz
a pornind de la expresia variatiei tensiunii pe condensator, relatia(3.32), n
care se introduce valoarea de prag de comutatie VT si se obtine
w
VT = VDD (VDD 0)e Rx Cx w = Rx Cx ln
iar pentru VT =

VDD
2

VDD
VDD VT

rezult
a
w = 0, 69RxCx

(3.33)

Modul de comand
a normal
a a unui monostabil este reprezentat prin diagrama de
semnale din Figura 3.58-d (de exemplu circuitul 74LS121 care poate genera intervale
de timp ntre 30ns si 28s). Dar, exist
a si monostabile cu facilitatea de retriggerare
(74LS122). Functionarea cu retriggerare, Figura 3.58-e, realizeaz
a printr-un nou
impuls T de comand
a aplicat pe intrare o nou
a declansare a unei st
ari QN = 0 Q = 1,
deci nceperea unui nou interval de timp w , chiar dac
a anterior a fost comandat un
interval w si acesta nc
a nu s-a consumat.
In general, la circuitele monostabile semnalul de comand
a T se obtine din conjunctia mai multor semnale de intrare, cum este la circuitul 74LS121, unde concur
a trei
intr
ari A1 , A2 si B conform relatiei T = A1 A2 B. Valoarea T = 1 se realizeaz
a
pentru combinatiile BA1 A2 = 100, 101 si 110, deci at
at pentru fronturi pozitive
and o flexibilitate a
ale lui B c
at si pentru fronturi negative ale lui A1 si A2 , rezult
comenzii monostabilului at
at cu impulsuri pozitive c
at si negative. Se poate realiza,
de exemplu, nt
arzierea cu decalaj w variabil a unei succesiuni de impulsuri prin
nserierea a dou
a monostabile; primul, dimensionat prin Rx Cx , s
a produc
a nt
arzierea
variabil
a w , iar al doilea s
a reproduc
a l
atimea impulsurilor aplicate la primul.
Marcarea intervalelor de timp, precum si reproductibilitatea lor nu pot avea o
precizie foarte ridicat
a cu ajutorul monostabilului. Aceasta se explic
a prin faptul
c
a determinarea momentului (de comutatie) n timp rezult
a n punctul de intersectie
ntre o dreapt
a orizontal
a care reprezint
a o tensiune de prag prescris
a V T si o curb
a cu
o variatie exponential
a (variatia tensiunii de pe un condensator, vC (t)). Mai ales c
and
t 3T (T = RC constanta de timp), tensiunea pe condensator se orizontalizeaz
a iar
intersectia ntre vC (t) si VT devine foarte putin precis
a. Precizia intersectiei poate
fi mbun
at
atit
a dac
a nc
arcarea/desc
arcarea condensatorului se face sub curent constant; n acest caz variatia tensiunii pe condensator are o variatie liniar
a v C (t) = kt.
Aceast
a modalitate de marcare a timpului prin nc
arcarea/desc
arcarea unui condensator este specific
a n electronica analogic
a. In electronica digital
a intervale de timp
se obtin prin contorizarea unui num
ar prescris de impulsuri dintr-o succesiune de
frecventa
constant
a.

3.3.6

Circuitul basculant astabil

La fel, ca la monostabil, si circuitul basculant astabil (uneori referit ca multivibrator) se obtine din structura celulei de baz
a, Figura 3.36-b, dar prin realizarea
capacitiv
a a ambelor leg
aturi de reactie, deci exist
a propagare ntre cele dou
a inversoare numai n regimurile tranzitorii, Figura 3.59-a. Transmita
ndu-se ntre portile
inversor numai regimurile tranzitorii circuitul este caracterizat numai de dou
a st
ari

415

3.3. CIRCUITE BASCULANTE

instabile. Dup
a cum la monostabil durata st
arii instabile, pe un inversor, este determinat
a de valoarea constantei de timp a circuitulu Rx Cx , la fel si la astabil durata
unei st
ari instabile este deteminat
a de constanta de timp a circuitului RC de la intrarea inversorului respectiv. Perioada semnalului dreptunghiular generat este suma
duratei celor dou
a st
ari instabile, vezi Figura 3.60-c. In cazul c
and cele dou
a constante
de timp sunt egale, R1 C1 = R2 C2 , factorul de umplere al semnalului generat este de
50%. Pentru analiza comutatiei alternative ntre cele dou
a porti vezi problema P3.51.
R1

R2
1

a)

V CC

1/4
1
2

QN

C2 C1

74S300
1

330
120pF

b)

1/4

100pF
C2
XTAL

4
5

74S300
2

1/4
13
12

74LS00
3

+5V
VO

11

330

4MHz

Figura 3.59 Circuitul basculant astabil (Astabilul): a) structur


a de principiu;
b) structur
a de astabil av
and frecventa (4M Hz) stabilizat
a cu cuart.

Avantajul simplit
atii acestei structuri de astabil, realizat cu porti logice, este
diminuat de lipsa de stabilitate a frecventei semnalului generat(cauze: praguri diferite
de deschidere pentru porti, variatia temperaturii, variatia tensiunii, mb
atr
anirea componentelor). Circuitele astabile care genereaz
a o frecventa
precis
a, si o mentin n timp
cu o abatere insignifiant
a, se realizeaz
a cu cristale de cuart. Un cristal de cuart, introdus pe una din conexiunile de reactie, substituind unul din condensatoare, are rolul
,,
unui circuit acordat si care va pilota frecventa de oscilatie pe frecventa sa proprie de

rezonanta
. In Figura 3.59-a este prezentat un astfel de oscilator, utilizeaz
a trei porti
NAND ale unui circuit 74LS00 si cu un cristal de cuart (X-TAL) av
and frecventa
proprie de rezonanta
de 4M Hz. Rezistentele de 330 n paralel cu portile 1 si 2
contribuie la o liniarizare a caracteristicilor de transfer ale acestora.
Cristalul de cuart (SiO2 ) este un piezoelectric, are proprietatea de a polariza
sarcini electrice pe suprafetele sale c
and este tensionat mecanic (comprimat, torsional,
ntins). Dar exist
a si efectul invers de piezoelectricitate la aplicarea unei diferente
de potential ntre suprafetele sale (t
aiat sub form
a de dreptunghi, p
atrat sau cerc cu
grosimi n jur de 1mm) se produce o tensionare mecanic
a. Aplicarea unei diferente
de potential alternative, cu o anumit
a fercventa
, va determina vibratia mecanic
aa
cristalului; modul de vibratie depinde de forma geometric
a sub care este t
aiat cristalul.
C
and este introdus ntr-un circuit electric cu o tensiune variabil
a, n cazul nostru pe
o conexiune de reactie, va vibra cu frecventa tensiunii electrice aplicate pe fetele sale.
Din punct de vedere electric cristalul de cuart are o schem
a echivalent
a de circuit
RLC n paralel cu o capacitate C0 (aceast
a capacitate fiind cea introdus
a de electrozii lipiti pe suprafetele sale). C
and este comandat cu o frecventa
mult diferit
a
de frecventa de rezonanta
cristal de cuart poate fi echivalat cu o simpl
a capacitate
C0 , dar c
and frecventa este cea de rezonanta
circuitul echivalent al cristalului este
o capacitate n paralel cu o rezistenta
. Reactanta cristalului se aproprie de zero la
punctul de rezonanta
serie, iar ntr-o conexiune de reactie a circuitului astabil va

416

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

pilota frecventa acestuia pe frecventa de rezonanta


(valori uzuale pentru rezonanta
1KHz 40M Hz, determinat
a de modul de t
aiere, form
a si grosime ale cristalului).
Frecventele de pilotare a cristalului variaz
a, relativ putin, cu temperatura si cu timpul
(mb
atr
anirea).
Oricare sistem sincron necesit
a un generator de semnal de ceas si frecvent se impune ca acest semnal s
a aib
a o abatere c
at mai mic
a a frecventei ceea ce se poate realiza
cu oscilatoare cu cuart. Abaterea de frecventa
poate fi mai mic
a dec
at 2, 5 10 6 ,
pentru o variatie a temperaturii n intervalul 0 50 C, utiliz
and un cristal de cuart
ermetic inclus ntr-o capsul
a, referit oscilator RTXO (Room Temperature Crystal
Oscillator). Cu oscilatoarele la care cuartul este inclus mpreun
a cu circuite de compensare pentru variatia temperaturii, ntr-un pachet monolitic, referite ca oscilatoare
TXCO (Temperature Compensated Oscillator) se obtin pentru variatii ale temperaturii n intervalul 0 50 C abateri ale frecventei mai mici dec
at 5 107 .
Exist
a variante constructive de astabile care pot functiona n regim de sincronizare
declansat
a sau n regim de comand
a. In varianta de astabil sincronizat, la fiecare
impuls de comand
a aplicat din exterior se porneste astabilul care genereaz
a semnale
dreptunghiulare cu o faz
a fixat
a. Varianta de astabil comandat genereaz
a semnale
dreptunghiulare at
at timp c
at pe intrarea astabilului se aplic
a un semnal de comand
a
exterior de nivel H sau L (n Figura 3.59-b pinul de intrare 13 al portii 3 se conecteaz
a
la +5V sau la 0V ).
Exemplul 3.21 Sa se modeleze functionarea de trigger Schmitt, monostabil si astabil
cu circuitul de temporizare 555.
Solutie. Circuitul 555 (si 556) este un circuit integrat n familiile TTL si CMOS,
care prin conectarea n exterior a dou
a sau trei componente poate avea functionarea
circuitelor trigger Schmitt, astabil si monostabil. In structura sa, Figura 3.60, contine:
dou
a comparatoare, COMP1 si COMP2, a c
aror iesiri comand
a respectiv intr
arile SR ale
unui latch, un tranzistor de desc
arcare TD, un etaj final de iesire si un divizor intern de la
tensiunea VCC , VCC = 4, 5 16V , prin care sunt fixate valorile de referinta
Vr1 si Vr2 ale
comparatoarelor. Rezistentele divizorului fiind egale rezult
a Vr2 = VCC /3 si Vr1 = 2VCC /3.
1. Modelarea function
arii de trigger Schmitt, Figura 3.60-a. Tensiunea de intrare
VI se aplic
a pe cele dou
a intr
ari (conectate mpreun
a), PS- pragul de sus si PI- pragul de
jos. Pentru VI = 0, intr
arile SR = 10, QN = 0 iar iesirea VO = VOH . La crestere, c
and
tensiunea VI ajunge la valoarea Vr2 = 0, 66VCC = Vp+ , SR = 01, QN = 1 iar VO comut
a de
la VOH la VOL . La sc
adere, c
and tensiunea VI ajunge la Vr2 = 0, 33VCC = Vp , SR = 10,
QN = 0 iar VO comut
a de la VOL la VOH . Valoarea pragurilor Vp+ si Vp pot fi modificate
printr-o rezistenta
extern
a Rx conectat
a ntre VCC si terminalul C.
2. Modelarea function
arii de monostabil, Figura 3.60-b. In starea stabil
a
vI = VOH , SR = 00, QN = 1, vO = VOL , tranzistorul TD conduce iar tensiunea vCx ,
pe condensatorul exterior, este zero. La aplicarea impulsului de comand
a V T = 0, SR = 10,
a creasc
a nspre VCC . C
and
QN = 0, VO = VOH iar TD se blocheaz
a permita
nd ca vCx s
a intervalul de timp w , atinge valoarea Vr2 = 0, 66VCC , SR = 01, QN = 1, vO
vCx , dup
comut
a de la VOH la VOL , TD intr
a n conductie iar Cx este scurtcircuitat la mas
a.
Valoarea lui w se obtine prin aplicarea relatiei 3.32 pentru regimul de nc
arcare al
condensatorului Cx
w

Vr2 = vCx (w ) = VCC [VCC 0]e Rx Cx


VCC
= 1, 1Rx Cx
w = Rx Cx ln
VCC 23 VCC

(3.34)

417

3.3. CIRCUITE BASCULANTE

V+

VI

V CC

555
R COMP1
PS
+
Vr1 _
RQ
N
C
R COMP2
PJ Vr2 +
S Q
_

VO

Etaj
final
de
iesire
inversor

TD

VO

V p=

=0,33V CC

V p+ =

=0,66V CC

Vcc

555
COMP1
PS
+
Vr1 _
RQ
N
C
R COMP2
PJ Vr2 +
S Q
_
R

vI
(V T )

VI

a)
V+

Cx

V OL

Rx

V OH

Etaj
final
de
iesire
inversor

TD

vI

VO

VOH
VOL

vo

V r2

vc

0V

b)
R xA

Cx

R xB

V+
PS
C

Vcc
555

COMP1
+
Vr1 _
RQ
N
R

PJ Vr2
R

COMP2
+
S Q
_

Etaj
final
de
iesire
inversor

TD

VO

V OL

vCx

V OH

V r1
V r2

vo

w1

vc

w2

0V

c)
Figura 3.60 Circuitul 555: a) modelarea function
arii de trigger Schmitt; b) modelarea
function
arii de monostabil; c) modelarea function
arii de astabil.

418

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

3. Modelarea function
arii de astabil, Figura 3.60-c. Se consider
a t = 0 c
and
SR = 10, QN = 0, VO = VOH , TD se blocheaz
a permita
nd condensatorului Cx s
a se ncarce
prin rezistentele RXA + RXB nspre tensiunea VCC . C
and vCx , dup
a intervalul de timp w1 ,
atinge valoarea Vr1 = 0, 66VCC , SR = 01, QN = 1, vO va comuta de la VOH la VOL , TD intr
a
n conductie iar Cx este desc
arcat la mas
a prin rezistenta RXB . Procesul de desc
arcare, cu
constanta de timp Cx RXB , continu
a pe durata w2 iar vCx atinge valoarea Vr1 = 0, 33VCC .
In acel moment SR = 10, QN = 0, vO va comuta de la VOL la VOH , TD se blocheaz
a
reconfigur
and circuitul RXA + RXB de renc
arcare al condensatorului Cx ; n continuare cele
dou
a regimuri de nc
arcare/desc
arcare se succed gener
andu-se un semnal dreptunghiular cu
and relatia 3.32.
perioada T = w1 + w2 . Valorile pentru w1 si w2 se obtin aplic
w1 = Cx (RXA + RXB ) ln 23 ( V

VCC
2
CC 3 VCC

) = 0, 69Cx (RXA + RXB )

CC
w2 = Cx RXA ln 23 VVCC
= 0, 69Cx RXA
/3

T = w1 + w2 = 0, 69(RXA + 2RXB )Cx

iar coeficientul de umplere D are expresia


D=

3.4

w 1
RXB
=1
w 1 + w 2
RXA + 2RXB

ATOR

CIRCUITE NUMAR

Impartirea unui num


ar natural N la num
arul natural C este definit
a de relatia
N = p C + r,

0r C 1

(3.35)

Deoarece n urma mp
artirii pot rezulta doar un num
ar C de resturi distincte se
poate afirma c
a oricare num
ar natural N poate fi inclus doar ntr-o clas
a de resturi
rmoduloC

, adic
a
o
n
0,
1,
1, . . . , Cd
2, Cd
1
(3.36)
N rmodulo

C,
cu r =
unde clasele de resturi sunt:

0 = {0, C, 2C, . . . , jC, . . . , | j N }

1 = {1, C + 1, 2C + 1, . . . , jC + 1, . . . , | j N }

2 = {2, C + 2, 2C + 2, . . . , jC + 2, . . . , | j N }
..
.
Cd
1 = {C 1, 2C 1, 3C 1, . . . , jC 1, . . . , | j N }

Aflarea num
arului de elemente ale unei multimi (cardinalul nultimii) se poate
realiza cu ajutorul circuitelor num
ar
ator modulo C (se obtine num
arul exprimat n
baz
a C).
Un circuit num
ar
ator modulo C este un automat a c
arui functionare este
descris
a de un graf de tranzitii ciclice, care contine un num
ar C de st
ari distincte; din

ATOR

3.4. CIRCUITE NUMAR

419

fiecare stare exist


a doar o singur
a tranzitie neconditionat
a spre starea urm
atoare, deci
n starea qi se va reveni dup
a ce se vor parcurge toate celelalte C 1 st
ari, Figura
3.61. Tranzitia fiind neconditionat
a se realizeaz
a numai la aplicarea impulsului de
ceas. De fapt, circuitul num
ar
ator determin
a num
arul de impulsuri de ceas care au
fost aplicate (sau num
arul de elemente ale unei multimi, fiec
arui element i corespunde
un impuls de ceas).
Multimea
claselor de
resturi
modulo C
0^
^1
^2

Automat cu tranzitie
neconditionata, ciclica,

Multimea Q
a starilor
automatului

intre cele C stari


C=1

q0

z k1
^0
q1

C1
C1

CO

^1

qC2
^r

C1

z 1z 0

q0

1/0 1/0 1/0

q1

1/0 1/0 1/0

q2
q2

C2

Numarare
inversa
C2

Codificarea
starilor
automatului

^2

qi

1/0 1/0 1/0

qC2

1/0 1/0 1/0

Numarare
directa

qi

^i

qC1

1/0 1/0 1/0

Figura 3.61 Circuitul num


ar
ator: Num
ar
atorul modulo C poate fi privit ca un automat
de identificare a claselor de resturi modulo C iar codificarea num
ar
arii rezult
a prin modul
de asigurare a celorlalte C st
ari.

Se poate face o mapare unu-la-unu ntre multimea claselor de resturi r si multimea


st
arilor Q; uzual, clasele de resturi n ordine cresc
atoare se mapeaz
a pe st
arile automatului n ordinea de parcurgere a acestora (pornind de la una q0 , considerat
a ca
d

initial
a, n felul urm
ator: 0 q0 , 1 q1 , ... ,C 1 qC1 ). Realiz
and aceast
a
mapare num
ar
atorul modulo C poate fi privit ca un identificator al claselor de resturi
modulo C. De exemplu, pentru un num
ar
ator modulo 10 toate numerele urm
atoare
(de impulsuri de ceas aplicate): 3, 13, 23, 33, . . . , 103, . . . ,1003, . . . , j 10 + 3, . . . ,
care apartin clasei de resturi 3modulo10 (
3), aduc automatul n starea q3 . Iar pentru
un num
ar
ator modulo 7 toate numerele urm
atoare: 2, 9, 16, . . . , 51, . . . , j 7 + 2,
. . . care apartin clasei de resturi 2 modulo 7, aduc automatul n starea q2 . Revenind
tot dupa C impulsuri de ceas n aceeasi stare circuitul num
ar
a n baza C.
Dar pentru aceast
a num
arare n baza C se poate obtine o anumit
a codificare
prin modul de asignare al bitilor zk1 , . . . , z1 , z0 ai fiec
arei st
ari qj , din cele C.
Num
arul minim k al bitilor de cod, egal cu num
arul celulelor de memorare (bistabile)
ale automatului, conform relatiei 3.17, este dlog2 Ce. Pentru exemplul anterior, de
num
ar
ator modulo 10, se poate adapta o num
arare in baz
a 10 sub codul BCD (8-42-1) sau n cod Gray sau un cod EXCESS3 etc. Deci circuitul urm
ator poate asigura

420

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

num
ararea ntr-o anumit
a baza C si sub o anumit
a codificare.
Circuitul num
ar
ator poate fi implementat cu un automat de tip Moore imediat la
care iesirea este identic
a cu starea, relatia 3.15, (Q Y ); codul st
arii este num
arul
exprimat ntr-o anumit
a codificare. Foarte frecvent, automatul num
ar
ator mai este
nzestrat cu nc
a un bit de iesire, CO = {0, 1}, care este semnalul de dep
asire a
capacit
atii de num
arare (transportul urm
ator) ce devine activ doar c
and se ajunge
n ultima stare qC1 dup
a care, prin tranzitia n starea initiala q0 , se rencepe ciclul
tranzitiilor, deci relatia de transfer a automatului este f : Q QCO. De asemenea,
se introduce si un semnal de intrare CI = {0, 1} - transportul anterior deci relatia
de tranzitie a st
arilor este g : Q CI Q. Semnalul CI poate fi interpretat si
ca un semnal de validare/ENable (EN) care pentru valoarea 1 determin
a trecerea
num
ar
atorului n starea urm
atoare, qi+1 , la aplicarea fiec
arui impuls de ceas, iar
pentru valoarea 0 r
am
anerea n aceeasi stare, qi .
Inzestrat cu cele dou
a semnale, CI transportul anterior si CO transportul urm
ator, num
ar
atorul ne aminteste de circuitul sumator. Evident, se poate substitui
circuitul num
ar
ator cu un sumator la care pe o intrare se aplica permanent cuv
antul 1
iar pe cealalt
a intrare suma obtinut
a anterior, deci la aplicarea fiec
arui impuls de ceas
se adun
a unu la num
arul anterior (Orice num
ar se obtine din num
arul anterior
plus 1). Cele dou
a semnale introduc facilitatea de a obtine un circuit num
ar
ator
modul C (care nu este num
ar prim) prin nserierea de circuite num
ar
ator a c
aror
modulo sunt divizori ai lui C conform relatiei:
C = C 1 C2 . . . CK

(3.37)

Graful ciclic de tranzitie al st


arilor poate fi parcurs n unul din cele dou
a sensuri rezult
and, n consecinta
, pentru circuitul num
ar
ator o functionare de num
arare
direct
a sau num
arare invers
a; dac
a se introduce pentru circuitul num
ar
ator o intrare I, pentru care valoarea I = 0 determin
a num
ararea direct
a iar pentru I = 1
determin
a num
ararea invers
a, se obtine un num
ar
ator reversibil.
Existenta la un circuit num
ar
ator modulo C, pe iesire, pe l
ang
a cuv
antul de cod al
st
arii prezente - pentru num
arare - si a semnalului CO - pentru dep
asirea capacitatii
- determin
a dou
a moduri de functionare/(utilizare) distincte. Prima functionare este
cea de num
arare ntr-o baz
a modulo C sub un anumit cod, c
and este considerat
a
succesiunea cuvintelor de cod a st
arilor parcurse. Cea de-a doua functionare, c
and se
consider
a doar semnalul de dep
asire CO produs dup
a C impulsuri de ceas aplicate,
este cea de divizare cu C.
Din punct de vedere al implement
arii unui circuit num
ar
ator, n functie de aplicarea impulsului de ceas care determin
a trecerea din starea qi in starea qi+1 , acesta
poate fi de tip asincron sau de tip sincron.

3.4.1

Num
ar
atoare asincrone

Pentru num
ar
atorul care va fi analizat n aceast
a sectiune, denumirea de asincron
reflect
a faptul c
a n functionarea sa celulele de memorare (bistabilele) nu comut
a
toate sincron cu semnalul de ceas, aceasta datorit
a structur
arii num
ar
atorului ca o
nseriere de bistabile de tip T. In sectiunea 3.3.2.4 s-a ar
atat ca bistabilul T n regim
de bascul
a (T = 1) comut
a la fiecare impuls de ceas, rezult
and un semnal de iesire Q
cu perioada dubl
a fat
a de cea a semnalului de ceas, Figura 3.49-e, deci o divizare cu

ATOR

3.4. CIRCUITE NUMAR

421

doi (21 ). Dac


a semnalul de iesire Q se aplic
a unui urm
ator bistabil T (ca semnal de
ceas), tot n regim de bascul
a, T = 1, dup
a acesta se obtine o divizare cu 4 (2 2 ), iar
dac
a se continu
a cu un al treilea bistabil T nseriat se obtine un semnal divizat cu 8
(23 ) n raport cu semnalul nitial de ceas. Generaliz
and, prin nserierea a n bistabile
T se obtine o divizare cu 2n , deci un num
ar
ator modulo 2n ; o astfel de structurare
de num
ar
ator modulo 23 este prezentat
a in Figura 3.62-b. Dar care din iesirile Q sau
QN ale celulei bistabil de rang i se aplic
a pe intrarea de ceas a celulei T de rang i + 1?
R
aspunsul rezult
a simplu din analiza succesiunii de num
arare, n cod binar natural,
din Figura 3.62-a.
Bitul de rang 20 (z0 ) din cuv
antul de cod binar natural al num
arului schimb
a n
valoarea opus
a la fiecare impuls de ceas. Pentru num
ararea n sens direct, bitul de
rang 21 (z1 ) schimb
a n starea opus
a numai c
and bitul z0 schimb
a din 1 n 0; de
asemenea bitul de rang 22 (z2 ) schimb
a n starea opus
a numai c
and bitul z1 comut
a
din 1 n 0, n tabelul succesiunii de num
arare aceste comutatii sunt indicate prin
s
ageti. In concluzie, celula de bistabil T de rang i este comutat
a n starea opus
a de
c
atre celula de rang i 1 numai c
and aceasta comut
a de 1 la 0. Deoarece n structura
aleas
a de num
ar
ator s-au considerat celulele bistabile T comandate pe frontul negativ
al semnalului de ceas, rezult
a c
a pentru intrarea CLK a celulei de rang i se aplica
iesirea Q a celulei de rang i 1 care produce front negativ la comutatia lui z i1 de
la 1 la 0. Dac
a celulele bistabile erau comandate pe frontul pozitiv de ceas atunci pe
intrarea CLK a celulei de rang i s-ar fi aplicat semnalul QN de la celula de rang i 1,
deoarece numai acest semnal produce un front pozitiv (c
and aceast
a celul
a comut
a
de la 1 la 0).
Diagrama de semnale pentru acest num
ar
ator modulo 8, c
and parcurge toate cele
8 st
ari, este prezentat
a n Figura 3.62-c. Pornind din starea z2 z1 z0 = 000 la aplicarea
primului impuls de ceas, pe frontul negativ, n num
ar
ator se nscrie starea 001, dup
a
al doilea impuls se nscrie 010 si prima celul
a revine n z0 = 1, dar frontul negativ
de la iesirea acesteia comand
a celula a doua n z1 = 1. La al patrulea front negativ
exist
a un transfer de la celula 20 la celula de rang 21 , care comut
a pe z1 n 0, si la fel
exist
a un transfer de la celula 21 la celula 22 care comut
a pe z2 n 1, deci num
arul este
100. Dup
a al saptelea impuls num
arul nscris este 111, s-a atins capacitatea maxim
a,
iar la al optulea impuls de ceas toate fronturile pe intr
arile de ceas sunt negative; la
fiecare celul
a se genereaz
a un transfer c
atre celula urm
atoare, cel de la celula de rang
22 nu este utilizat pentru o celul
a urm
atoare, num
ar
atorul revine n starea initial
a

0 = 8 modulo 8.
In diagrama de semnale prezentat
a s-a considerat c
a timpul de propagare pCQ
(pHL(CQ) = pLH(CQ) = pCQ ) pe un bistabil T, de la intrarea de ceas la iesire, are
valoarea de zero. In Figura 3.62-d s-a redesenat diagrama de semnale, cu comutatiile
nt
arziate ale celulelor datorate propag
arilor pCQ pentru primele patru semnale de
ceas. Se observ
a c
a la al doilea impuls de ceas comutatia iesirii z1 apare cu o nt
arziere
de 2pCQ , iar la al patrulea impuls de ceas comutatia iesirii z2 apare o nt
arziere de
3pCQ ; deci celulele vor comuta asincron cu semnalul de ceas, de unde si denumirea
de num
ar
ator asincron. Evident, la un num
ar
ator asincron cu n celule nt
arzierea
maxim
a datorat
a propag
arii prin cele n celule este n pCQ . Rezult
a c
a valoarea
frecventei de ceas nu poate creste peste 1/(npCQ ). Avantajului simplit
atii structurii num
ar
atorului asincron i se opune limitarea frecventei de comand
a a ceasului,
fCLK 1/(npCQ ). Pentru num
ar
atorul asincron modulo 2n dimensiunea S(n) si

422

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Numar
de
ampl

z 2 22

Numarare in sens:
Direct

z2 z1 z0

Invers
z2 z1

z0

z1 2 1

CLK
QN
K
CLEAR

QN
K
CLEAR

"1"

Q Q J
0

CLK

QN
K
CLEAR

CLEAR

b)
1

CLK
z0

00

10

0
PHL(CQ)

0
PHL(CQ)

00

1
PHL(CQ)

z1

z2

0
PLH(CQ)
PLH(CQ)

PLH(CQ)

PLH(CQ)

1
0

1
0

1
1

z1

z2

CLK
Front
pozitiv

2i
Q

CLK

QN

"1"

CLK

23

2i
Q

CLK

CLK
QN
CLEAR

0
1

CLEAR
COUNT

J
K

"1" invers
"0" direct

2 i+1

J
K

"0" direct
"1" invers
z 0 20

D
Q Q1
CLK
QN
CLEAR

CLK
QN
CLEAR

CLK

QN CLK

z 1 21
Q Q2

2 i+1

QN

"0" direct
"1" invers

z 2 22
Q Q3

0
1

Numarare inversa

QN

"1" invers
"0" direct

QN

e)
z3

"1"

CLK

2 i+1
Front
negativ

Numarare reversibila

Numarare directa
2i+1

_
R

EN

d)

CLK
z0

_
S

Q Q

a)

c)

Q Q

z0 2 0

CLK
Q Q0

CLK
QN
CLEAR

i
"1" 2
Q

QN
i
"1" 2
Q

QN

z 3z 2z 1z 0=1010

CLK
COUNT

_
S

CLEAR

f)
Figura 3.62 Num
ar
atorul asincron: a) tabelul succesiunii de num
arare direct
a si invers
a, modulo 8; b,c) structura si diagrama de semnale pentru un num
ar
ator modulo 8;
d) evidentierea timpilor de propagare si a st
arilor false introduse; e) conexiunile pentru
obtinerea semnalului de ceas la o celul
a de rang i + 1; f) num
ar
ator modulo 10 obtinut prin
modificarea unui num
ar
ator modulo 24 .

ATOR

3.4. CIRCUITE NUMAR

423

ad
ancimea D(n) sunt n O(n). Asincronismul n comutatia celulelor genereaz
a st
ari
false la tranzitia dintre unele st
ari consecutive. De exemplu, la tranzitia din starea
1|10 = 001 n starea 2|10 = 010 se genereaz
a pe durata pCQ starea fals
a 000, iar la
tranzitia din starea 3|10 = 011 n starea 4|10 = 100 se genereaz
a urm
atoarele dou
a
st
ari false: 010 si 000. Utilizarea iesirilor num
ar
atorului z2 , z1 , z0 ca intr
ari la un
circuit combinational genereaz
a hazard, utilizarea lor este posibil
a numai dup
a consumarea regimului tranzitoriu(> npCQ ). O solutie de pentru evitarea hazardului
const
a n strobarea aplic
arii iesirilor num
ar
atorului, adic
a circuitul care are ca intr
ari
cuv
antul z2 z1 z0 este validat cu un semnal (de strob) nt
arziat fata
de frontul negativ
al semnalului de ceas de la num
ar
ator (cum ar fi, de exemplu, palierul pozitiv al
semnalului ceas).
Structura de num
ar
ator asincron cu num
arare direct
a poate fi transformat
a usor
ntr-o structur
a de num
ar
ator cu num
arare invers
a prin aplicarea pe intrarea de ceas
a celulei de rang i a semnalului corespunz
ator (Q sau QN ) de la iesirea celulei de
rang i 1. Din tabelul succesiunii de num
arare invers
a, din Figura 3.62-a, rezult
a c
a
celula de rang 20 comut
a la fiecare impuls de ceas, celula de rang 21 va comuta numai
c
and celula 20 comut
a din 0 n 1, iar celula de rang 22 comuta numai c
and celula 21
comut
a din 0 n 1, adic
a tocmai invers ca la num
ararea direct
a. Deci, pentru celulele
cu comutare pe front pozitiv se culege semnalul de pe iesirea Q a celulei anterioare,
iar pentru comutatia pe front negativ se culege de pe iesirea QN a celulei anterioare,
Figura 3.62-e. O structur
a de num
ar
ator comandat pentru num
ararea direct
a sau
num
arare invers
a se obtine prin introducerea unor selectoare ntre dou
a celule de
num
arare succesive care va alege iesirea potrivit
a de la celula anterioar
a si o aplic
a
pe intrarea de ceas a celulei urm
atoare. Un astfel de selector este fie un MUX2:1, fie
o poart
a XOR.
Un num
ar
ator asincron modulo 2n poate fi modificat pentru o functionare ca num
ar
ator modulo C, unde C < 2n . O astfel de modificare se obtine prin eliminarea unui
num
ar(2n C) st
ari din graful de tranzitie al st
arilor. Un decodificator identific
a n
cuv
antul de cod al num
ar
atorului c
and se realizeaz
a starea C si atunci se forteaz
a, prin
intr
arile asincrone de stergere CLEAR a celulelor, nscrierea n starea initial
a 000...00.
In Figura 3.62-f se exemplific
a modificarea unui num
ar
ator modulo 16, realizat cu
bistabilele D care modeleaz
a o functionare de bistabili T, ntr-un num
ar
ator modulo
10, z3 z2 z1 z0 = 1010; circuitul decodificator este o poart
a NAND2 care identific
a
starea 1010, z3 = z1 = 1, se genereaz
a un semnal de resetare, activ n zero, ce forteaz
a
nscrierea n 0 a celulelor bistabile Q3 , Q2 , Q1 (se sterge si Q2 deoarece stergerea lui
Q1 produce la iesirea Q o comutatie de la 1 la 0 care ar nscrie pe Q2 n 1).
Bucla de fortare a st
arii 000 este transparent
a, adic
a oricare nscriere n zero a
unuia din bitii z3 sau z1 , aplicati la intrarea portii NAND2, ar produce la iesirea
acesteia o anulare a semnalului de resetare, CLEAR devine 1. Scurtarea duratei de
activare a semnalului de resetare, CLEAR = 0, duce la nenscrierea n starea 0 a unora
din cele trei bistabile (Q3 , Q2 , Q1 ). Presupunem: pNAN2 = 9nS, pRESET(tipic) = 25nS
pentru bistabilul Q3 si pRESET(maxim) = 40ns pentru bistabilul Q1 . Cu aceste date
din momentul activ
arii semnalului CLEAR = 0, dup
a o nt
arziere = 9ns + 25ns =
34ns < 40ns, datorit
a faptului c
a z3 a fost nscris n zero, poarta NAND2 anuleaz
a
semnalul de resetare (CLEAR=1) nainte ca si Q1 s
a fi fost nscris n 0, deci cuv
antul
fortat n num
ar
ator nu este 0000 ci 0010. Transparenta buclei este eliminat
a prin
introducerea unui latch S R si prin aceasta (chiar dac
a unul din semnalele de iesire

424

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

z1 sau z3 devine mai devreme zero) se lungeste durata de activare a semnalului de


resetare (CLEAR=0) p
an
a c
and la intrarea latch-ului apare R=0 (adica n momentul
aparitiei urm
atorului front pozitiv de ceas CLK c
and semnalul COU N T = R devine
activ, COU N T = CLK). Dar si cu eliminarea transparentei buclei de fortare aceast
a
structur
a de num
ar
ator modulo 10, obtinut din unul modulo 16, mai prezint
a totusi o
functionare defectuoas
a datorit
a forta
rii nscrierii unei st
ari (prin utilizarea intr
arilor
asincrone CLEAR).
La al zecelea impuls de ceas c
and num
ar
atorul a ajuns n starea z3 z2 z1 z0 =
1010, si prin detectarea acestei st
ari, se forteaz
a nscrierea st
arii z 3 z2 z1 z0 = 0000.
La urm
atorul impuls de ceas are loc tranzitia n z3 z2 z1 z0 = 0001 dup
a care pe
urm
atoarele nou
a impulsuri se ajunge nou n z3 z2 z1 z0 = 1010. Rezult
a c
a, pe durata celui de al zecelea impuls de tact, num
ar
atorul a avut pentru scurt timp starea
z3 z2 z1 z0 = 1010 si apoi, p
an
a la urm
atorul impuls de ceas, starea z3 z2 z1 z0 = 0000,
deci n total 11 st
ari pentru 10 tacte. Aceasta nseamn
a c
a num
ar
atorul modulo 10
obtinut poate fi utilizat pentru functia de num
arare numai dac
a starea detectat
a de
decodificator (1010), de scurt
a durat
a, nu influenteaz
a succesiunea codurilor de iesire.
In schimb acest num
ar
ator modificat poate fi utilizat ca divizor modulo 10 dac
a n
starea 1010 se genereaz
a un impuls de dep
asire CO (obtinut printr-o poart
a AND2
cu intr
arile z3 si z1 ).
Trebuie evidentiat faptul c
a la un num
ar
ator asincron momentul de comutare
precum si modul cum comut
a sunt determinate de frontul impulsului de ceas deci
,,
,,
nu este decuplat
a actiunea cum de actiunea c
and , situatie nt
alnit
a la latch-uri.
,,
Pentru cum decizia este dat
a de comutatia bistabilului anterior si nu de starea
bistabililor anteriori. Pentru aplicatii de frecvent
a joas
a, c
and st
arile false introduse
nu sunt un dezavantaj (sau pot fi usor eliminate prin strobare), datorit
a simplit
atii
sale circuitele num
ar
ator asincron pot fi utilizate.
Num
ar
atoare asincrone, comercial obtenabile, sub forma de circuite integrate
(74X) sunt:
1 - binare pe patru celule : 74XX/69/93/177/197/293/393
2 - decadice :74XX/68/90/176/196/290/390/490

3.4.2

Num
ar
atoare sincrone

La un num
ar
ator sincron toate celulele bistabil comut
a simultan cu frontul activ
al semnalului de ceas. Pentru sinteza num
ar
atorului modulo 2n asincron, n cod
binar natural (8-4-2-1), la care doar prima celul
a comut
a sincron cu ceasul iar fiecare
alt
a celul
a primeste semnalul pe intrarea de ceas tot la a doua comutatie dar de la
celula anterioar
a, s-a utilizat o nseriere de celule bistabile T; celula bistabil T av
and
particularitatea n functionare c
a este un num
ar
ator modulo 21 (
0=2 modulo 2). In
schimb, sinteza unui num
ar
ator modulo C sincron, n orice cod si nu numai n numai n
cod binar, trebuie f
acut
a ca a unui automat pornind de la graful(tabelul) de tranzitie
al st
arilor. Sinteza ca automat a num
ar
atorului sincron, pentru nceput, se va face
consider
and un num
ar
ator modulo 2n n cod binar natural (pentru c
a din acesta se
poate obtine usor un alt num
ar
ator modulo C, C< 2n ).
Functiile de excitatie wi ale automatului num
ar
ator, notate n acest caz cu Ti
pentru c
a implementarea se va face cu bistabile T, se deduc din succesiunea st
arilor,
asignate n cod binar natural, prezentate n Figura 3.62-a (pentru modulo 8). Ex-

ATOR

3.4. CIRCUITE NUMAR

425

presiile functiilor Ti se deduc foarte simplu pe baza observatiei: fiecare bit zi , i 6= 0,


din cuv
antul st
arii urm
atoare, va comuta fata
de valoarea din starea prezent
a numai
c
and n starea prezent
a toti bitii anteriori lui zi au valoarea 1; bitul z0 comut
a la
fiecare impuls de ceas. Deci celula de rang i va comuta la aplicarea impulsului de ceas
dac
a functia sa de excitatie Ti are valoarea 1, valoare care se calculeaz
a n functie de
starea tuturor celulelor anterioare. Introduc
and si semnalul de transport anterior CI,
considerat ca o intrare de validare EN, se obtin expresiile pentru functiile de excitatie.
T0
T1
T2
T3

= EN
= EN z0
= EN z0 z1
= EN z0 z1 z2
..
.

(a)

Tn2 = EN z0 z1 z2 . . . zn4 zn3


Tn1 = EN z0 z1 z2 . . . zn4 zn3 zn2

T0
T1
T2
T3

= EN
= T 0 z0
= T 1 z1
= T 2 z2
..
.

(b)

(3.38)

Tn2 = Tn3 zn3


Tn1 = Tn2 zn2

Dac
a se calculeaz
a si functia de excitatie Tn care este de fapt transferul CO (dep
asirea de capacitate c
and num
ar
atorul este plin cu 111....11) se adaug
a si expresia
CO = Tn = EN z0 z1 z2 ... zn3 zn2 zn1
CO = Tn = Tn1 zn1

(a)
(b)

(3.39)

Expresiile anterioare, obtinute recursiv, care calculeaz


a prefixe (expresiile cu indicele mai mic dec
at i pot fi considerate prefixe n procesul de calcul pentru expresia
cu indicele i) pot fi implementate fie cu n porti AND av
and de la 2 p
an
a la n + 1
intr
ari (relatia 3.38-a) fie cu n porti AND2 (relatia 3.38-b). Aceste dou
a implement
ari
(extreme) ale circuitului combinational pentru automatul num
ar
ator corespund celor
dou
a tipuri de num
ar
atoare: num
ar
atorul sincron paralel, Figura 3.63-a, num
ar
atorul
sincron serie Figura 3.63-b. Aceste dou
a implement
ari, desi au produsul dimensiunead
ancime n acelasi ordin, O(n2 ), reflect
a regula: micsorarea dimensiunii la varianta serie duce la sc
aderea performantei de vitez
a, iar micsorarea ad
ancimii duce la
cresterea dimensiunii (varianta paralel
a) vezi relatia 2.9.
Pentru num
ar
atorul sincron paralel (NSP), din momentul aplic
arii impulsului
de ceas p
an
a la urm
atorul, timpul minim necesar, TCLK minim, este egal cu pCQ
timpul de propagare printr-o celul
a T plus timpul pAND timpul de propagare printro poart
a AND, la care se adaug
a timpul de stabilizare al bistabilului SU , ceea ce se
poate exprima prin relatia general
a
TCLKmin = N SP (n) = pCQ + pAND + SU O(1)

(3.40)

Dimensiunea acestui tip de num


ar
ator, SN SP (n), se calculeaz
a din dimensiunea
retelei de memorare realizat
a din bistabilele T, ST , plus dimensiunea retelei combinationale (paralel
a), SRCP (n), compus
a din n porti cu dou
a p
an
a la (n+1) intr
ari.
SN SP (n) = n ST + n SRCP (n + 1) O(n2 )
Aceste evalu
ari teoretice ale automatului num
ar
ator trebuie considerate doar ca
limite, deoarece n practic
a implementarea acestui num
ar
ator, mai ales pentru n de

426

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

z n1

2n1
Q

J
Qn1

z n2
Tn1

CLK
QN K

2n2
Q

J
Qn2

z1

21
Q

Tn2

CLK
QN K

20

z0
Q1

T1

Q0

T0

CLK
QN K

CLK
QN K

CLK

EN

2
n2

CO

n1

n
CLC

a)
CO

z n1
n

Tn1

Tn2

z n2

n1

T2

n2

T1

z1

T0

z0
1

CLC

EN

b)
z6

z5

z4

z3

z2

z1

z0
EN

CLC

c)

T7

T6

T5

T4

T3

T2

T1

T0

Figura 3.63 Automatul num


ar
ator sincron n codul binar natural: a) organizarea
num
ar
atorului sincron paralel; b) structura retelei CLC pentru num
ar
atorul sincron serie;
c) structur
a arborescent
a binar
a a retelei combinationale pentru num
ar
atorul sincron (n=8)

valoare mare, este greu de realizat (ultima poart


a AND prezint
a n+1 intr
ari). In
consecinta
, implementarea portilor AND cu multe intr
ari, utiliz
and axioma de asociativitate, se vor compune din mai multe porti cu un num
ar de intr
ari mai redus si
plasate pe mai multe niveluri, deci nu va fi un singur nivel de propagare pNAND ci
mai multe. De asemenea si pCQ se m
areste, mai ales la bistabilele din rangurile inferioare, a c
aror nc
arcare la iesire creste cu n. Totusi, organizarea de num
ar
ator sincron
paralel pentru valori mici ale lui n este recomandat
a, sunt uzuale num
ar
atoarele cu
n=4.
Prin utilizarea expresiilor 3.38-b se obtine num
ar
atorul sincron serie, NSS,
pentru care n Figura 3.63-b este prezentat
a numai organizarea retelei combinationale.

ATOR

3.4. CIRCUITE NUMAR

427

Pentru aceast
a organizare, n raport cu cea paralel
a, perioada minim
a a semnalului
de ceas, TCLKmin , se m
areste cu timpul de propagare prin nc
a (n-1) porti AND2;
ntr-adev
ar functia de excitatie Ti a bistabilului i este calculat numai dup
a ce a fost
calculat
a Ti1 ceea ce se exprim
a prin relatia
TCLKmin = N SS (n) = pCQ + (n 1)pAND + SU O(n)

(3.41)

iar dimensiunea
SN SS (n) = n ST + n SAN D2 Q(n)
Relatia 3.41 arat
a c
a performantele de vitez
a ale num
ar
atorului sincron serie nu
sunt mult mbun
at
atite n raport cu num
ar
atorul asincron la care (TCLKmin nCQ )
Aceast
a structurare serie si paralel
a este similar
a cu cea a sumatorului serie cu
transport progresiv (sectiunea 2.5.2.1) respectiv a sumatorului cu transport anticipat
(sectiunea 2.5.2.2); la fel, ca la sumatoare, se pot face organiz
ari ale CLC pentru
calculul functiilor de excitatie Ti prin mixarea partial
a a celor dou
a extreme. De
exmplu se poate realiza calculul paralel pentru c
ate m celule bistabile, iar apoi calculul
n serie ntre cele n/m grupe.
Se pot calcula functiile de excitatie Ti , utiliz
and o functie logic
a AND2, f (x0 , x1 )
= x0 x1 , sub forma unui arbore binar lu
and numai perechi din variabilele EN, z0 , z1 ,
z2 ,...,zn2 , zn1 . Aplic
and aceast
a modalitate de calcul pentru relatiile 3.38-a c
and
n = 8 se obtine
T0
T1
T2
T3
T4
T5
T6
T7

= f (EN, EN ) = EN
= f (z0 , EN )
= f (f (z1 , z0 ), EN )
= f (f (z2 , z1 ), f (z0 , EN ))
= f (f (f (z3 , z2 ), f (z1 , z0 )), EN )
= f (f (f (z4 , z3 ), f (z2 , z1 )), f (z0 , EN ))
= f (f (f (z5 , z4 ), f (z3 , z2 )), f (f (z1 , z0 ), EN ))
= f (f (f (z6 , z5 ), f (z4 , z3 )), f (f (z2 , z1 ), f (z0 , EN )))

(3.42)

Organizarea sub form


a de arbore (NSA), numai cu porti AND2, conform relatiilor
3.42, este prezentat
a n Figura 3.63-c. Perioada de ceas minim
a pentru cazul general
este
TCLKmin = N SA (n) = pCQ + pAND2 log2 n + SU O(log n)

(3.43)

iar dimensiunea se calculeaz


a cu relatia
SN SA (n) = n ST + n log2 n O(n log n)
Pentru un num
ar
ator sincron modulo 2n , n cod binar natural, cu num
arare invers
a
sinteza se realizeaz
a similar. Se porneste pentru deducerea functiilor de excitatie de
la succesiunea st
arilor asignate parcurse n sens invers din Figura 3.62-a. Se observ
a
c
a fiecare bit zi , i 6= 0, din cuv
antul st
arii urm
atoare, va comuta fata
de valoarea din
starea prezent
a numai c
and n starea prezent
a toti bitii anteriori au valoarea 0; bitul
z0 comut
a la fiecare impuls de ceas. Deci fata
de num
ararea n sens direct, c
and se
utilizeaz
a iesirile Q de la celulele anterioare, la num
ararea n sens invers se utilizeaz
a
iesirile QN ale celulelor anterioare. Pentru implementarea num
ar
atorului invers se

428

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

utilizeaz
a relatiile 3.38 si 3.39 n care se face substitutia Qi QN i . Semnalul de
dep
asire de capacitate/transport CO, care n acest caz are semnificatia de mprumut,
se genereaz
a c
and num
ar
atorul ajunge la cuv
antul compus din n zerouri si nu c
and
num
ar
atorul ajunge la cuv
antul de n unu-uri ca la num
ararea direct
a.
Un num
ar
ator sincron reversibil trebuie s
a calculeze functiile de excitatie cu semnalele Qi , pentru num
arare direct
a, si cu semnalele QN i , pentru num
arare invers
a.
Selectarea celor dou
a semnale de la iesirea unei celule bistabil se realizeaz
a, similar ca
n Figura 3.62-e, fie cu un MUX2:1, fie cu o poart
a XOR comandate cu un semnal de
ar
ator direct, pentru S = 1
S = Direct/Invers (D/I, up/down); pentru S = 0 num
num
ar
ator invers.
z 11
CO 11

CO

z 10

z9
CI
CLK

NS3

a)
Nr de
imp
de
ceas

z8

CO11 z 11 z 10 z 9

z8

z7
CO 7

CO 7

CO

z6

z5

z4

CI
CLK

NS2

z7

z6

z5

z4

z3
CO 3

CO 3

CO

z2

z1

z0

CI
CLK

NS1

C 1="1"
EN
CLK

z3

z2

z1

z0

EN=
C 1

15

16

255

256

257

4095
4096

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
0

1
1

4097

b)
Figura 3.64 Extensia capacit
atii de num
arare : a) organizare pentru modulo 2 12
prin nserierea a trei circuite num
ar
ator modulo 24 ; b) secventa
de cuvinte din procesul de
num
arare modulo 212 n cod binar natural.

In general, num
ar
atoarele existente sub form
a de circuite integrate discrete sunt
module num
ar
ator sincron compuse din patru celule bistabil (modulo 24 ); pentru capacit
ati de num
arare mai mari se nseriaz
a astfel de module, Figura 3.64-a. Pentru
nseriere, semnalul de dep
asire de capacitate CO de la un modul se conecteaz
a ca
semnal de transport anterior CI la modulul urm
ator, iar semnalul de ceas se aplic
a
simultan la toate modulele. In momentul c
and ntr-un modul se ajunge la capacitatea maxim
a 1111 se genereaz
a CO=1, deci urm
atorul modul va fi incrementat de
urm
atorul impuls de ceas. C
ateva cuvinte din continutul unui num
ar
ator modulo 212 ,
organizat prin nserierea a trei modulele fiecare de c
ate patru biti, din secventa de
num
arare sunt prezentate n tabelul din Figura 3.64-b. Dac
a pentru aceast
a nseriere
se folosesc module NSP perioada minim
a a semnalului de ceas conform relatiei (3.40),

ATOR

3.4. CIRCUITE NUMAR

429

este
TN SP (12) = pCQ + 3 pAND + SU
iar dac
a se folosesc module NSS, conform relatiei 3.41 perioada minm
a este
TN SS (12) = pCQ + (4 + 4 + 3)pAND + SU
3.4.2.1

Num
ar
atoare presetabile

La num
ar
atoarele sincrone presetabile se poate realiza ca, la un anumit impuls de
ceas, tranzitia s
a se efectueze ntr-o stare urm
atoare qp , prescris
a din exterior. Codul
st
arii urm
atoare, starea de nceput a ciclului qp , validat prin actiunea semnalului de
control de nc
arcare LOAD (n general activ n L) este nscris n celulele bistabil de
stare ale automatului num
ar
ator. Dar nscrierea (fortarea) unei st
ari urm
atoare q p
din exterior nseamn
a c
a n graful de tranzitii ciclic, Figura 3.61, nu se mai parcurg
toate cele C st
ari, deci num
ar
atorul devine un num
ar
ator modulo C1 ; C1 este egal
cu num
arul de st
ari parcurse, pe graful de tranzitie al st
arilor, ntre starea final
a qf
(din care se realizeaz
a fortarea tranzitiei n starea prescris
a q p ) si starea de nceput a
ciclului qp . Rezult
a c
a un num
ar
ator modulo 2n , la care se implementeaz
a circuitul
de presetare, poate fi transformat ntr-un num
ar
ator modulo C1 , 2 C1 2n -1.
Circuitul de presetare trebuie s
a contin
a: un identificator (decodificator) al codului
st
arii finale qf , intr
ari externe pe care se aplic
a bitii de cod ai st
arii qp ce urmeaz
a a fi
nscris
a si semnalul de nc
arcare, LOAD. Un decodficator al codului st
arii q f se poate
realiza usor cu porti logice n exterior, n general sub forma unei conjunctii compuse
cu bitii care au valoarea 1 n codul st
arii qf . Dar, un astfel de decodificator poate fi
eliminat dac
a se alege ca starea final
a, qC1 , n care se genereaz
a semnalul de dep
asire
a capacit
atii, CO, iar ca semnalul LOAD se va utiliza tocmai acest semnal de dep
asire
de capacitate. Foarte frecvent, mai exist
a nc
a un semnal de stergere, CLEAR (n
general activ n L), care realizeaz
a nscrierea n starea qi = 00. . . 00. Fortarea codului
st
arii urm
atoare n bistabilele de stare ale automatului num
ar
ator se poate realiza, n
raport cu semnalul de ceas, sincron sau asincron.
Modalitatea de nscriere asincron
a, Figura 3.65-a, utilizeaz
a intr
arile asincrone
PRESET si CLEAR (Figura 3.43-a) ale latch-ului din structura bistabilului. Cele
dou
a porti P1 , P2 sunt validate numai la activarea semnalului de nc
arcare, LOAD = 0.
Dac
a bitul Dn , aplicat din exterior, are valoarea 1 rezult
a PRESET, CLEAR = 0,
1, deci Q = 1, QN = 0, iar dac
a Dn are valoarea 0 rezult
a PRESET, CLEAR = 1,
0, deci Q = 0, QN = 1. Poarta XOR din aceast
a structur
a are numai rolul de a
transforma bistabilul D n bistabilul T, Figura 3.50-b. Inscrierea asincron
a ntru-un
num
ar
ator prezint
a dou
a inconveniente:
1. Bucl
a transparent
a pentru generarea semnalului de nc
arcare. Prin utilizarea
semnalului obtinut de la decodificatorul st
arii qf si aplicarea acestuia ca semnal de
nc
arcare LOAD in jurul num
ar
atorului se nchide o bucl
a transparent
a care poate determina, eventual, nscrierea unei st
ari eronate, caz analizat n Figura 3.62-f. Se poate
evita aceast
a eventualitate prin introducerea unui latch, deci eliminarea transparentei
buclei.
2. Starea prescris
a din exterior, qp trebuie s
a fie totdeauna cea anterioar
a st
arii de
nceput a ciclului. La aplicarea impulsului de ceas care determin
a tranzitia n starea
final
a qf pe iesirile num
ar
atorului apare codul st
arii finale (pentru care decodificatorul

430

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Operatia
efectuata de
numarator

celula na a
numaratorului

Semnale de
control
ENABLE

LOAD

Stergere

De la logica
celulelor
anterioare
ale
numaratorului

CLEAR

activ

(resetare)
Incarcare

activ

(setare)
activ

inactiv

inactiv

Fara
modificare

inactiv

inactiv

inactiv

P4

CLEAR

QN

P2

b)

Stergere
(resetare)

Semnale
de control
CLEAR LOAD
0

Q=0

P5

CLOCK
LOAD

P6

Dn

Operatia
efectuata
in
celula n

P3

MUX 2:1

CLEAR
P2

LOAD

Celula na a numaratorului

QN

CLK

P1

De la logica
celulelor
anterioare
ale
numaratorului

CLK

P1

c)
CLEAR

CLEAR

a)

LOAD

PRESET
D

inactiv

Numarare

PRESET

Inscriere
(setare)

Q=D n

Numarare

Q=A

Dn

Figura 3.65 Modalitati de nscriere a num


ar
atoarelor sincrone: a) nscriere asincron
a; b) circuistica si tabelul semnalelor de control pentru nscrierea sincron
a; c) semnalele
pentru controlul operatiilor pe un num
ar
ator.

genereaz
a pe o durat
a scurt
a de timp semnalul de nc
arcare asincron
a) si apoi codul
st
arii fortate qp-1 la num
ararea direct
a sau qp+1 , la num
ararea invers
a; deci pe perioada
acestui impuls de ceas iesirile indic
a dou
a st
ari qf , pentru o durat
a scurt
a de timp,
si qp-1 sau qp+1 . Numai la urm
atorul impuls de ceas se trece n starea de nceput a
ciclului qp si se continu
a tranzitiile p
an
a n qf .
Pentru nscrierea sincron
a, deoarece celulele bistabil sunt nscrise de c
atre datele ce
se aplic
a pe intr
arile de date c
and se aplica frontul activ de ceas, nu apar inconvenientele de la nscrierea asincron
a. In Figura 3.65-b este prezentat
a circuistica si tabelul
cu semnalele de control pentru o nscriere sincron
a. Poarta XOR are numai rolul de
a realiza bucla ce transform
a bistabilul D n T; bucla se nchide de la iesirea Q nspre
intrare c
and poarta P3 este validat
a cu semnalul LOAD, CLEAR = 1, 1. Celula are
pe intrarea de date o structur
a de MUX2:1 (neconsider
andu-se poarta XOR). Pe o intrare a multiplexorului, poarta P4 , se aplic
a semnalul (functia de excitatie) A, obtinut

ATOR

3.4. CIRCUITE NUMAR

431

de la circuitul combinational al num


ar
atorului, si care este data ce determin
a starea
celulei, Q = A, pe frontul activ urm
ator de ceas, dac
a portile P3 si P4 sunt validate
prin valoarea 1 de la iesirea portii P1 (c
and LOAD, CLEAR = 1, 1). Pe cealalt
a
intrare, poarta P5 , se aplic
a Dn care este nscris
a n celul
a, Q = Dn , la urm
atorul
impuls de ceas dac
a valoarea generat
a de poarta P2 este 1 (LOAD, CLEAR = 0, 1,
adic
a operatia de nscriere). Pentru operatia de stergere (LOAD, CLEAR = , 0)
iesirea n 0 a portii P2 va forta n celul
a Q = 0, la aparitia urm
atorului impuls de
ceas, indiferent de valoarea de prescriere Dn .
In general, semnalele de control pentru un num
ar
ator presetabil sunt: LOAD
de nc
arcare, CLEAR de stergere si ENABLE de validare (uneori compus din
conjunctia a dou
a semnale). Din tabelul din Figura 3.65-a rezult
a c
a operatia de
stergere, CLEAR-activ, se realizeaz
a indiferent de valorile celorlalte semnale de control, deci CLEAR are prioritate maxim
a. Activarea semnalului LOAD ncarc
a din
exterior celulele num
ar
atorului chiar dac
a acesta nu este validat, pentru operatia de
num
arare, prin activarea semnalului ENABLE. Dac
a toate cele trei semnale de con,,
trol nu sunt activate num
ar
atorul este inhibat/nghetat ntr-o anumit
a stare, nu se
produce nici o modificare la aplicarea semnalelor de ceas. Toate semnalele de control
sincrone trebuie s
a respecte n raport cu frontul activ al semnalului de ceas restrictiile
impuse de timpul de stabilizare SU si timpul de mentinere, H . Semnalele de control pentru circuitele num
ar
atoare sincrone uzuale, existente sub form
a de circuite
integrate MSI, sunt prezentate n Figura 3.66-a.
Pentru num
ar
atorul sincron 74xx163 (4biti, cod binar natural, unul dintre cele
mai uzuale num
ar
atoare) prin diagramele de semnal din Figura 3.66-b, se prezint
a
modurile de operare prin activarea semnalelor de control. Pe frontul pozitiv al impulsului de ceas notat cu 1, deoarece comanda de stergere este activ
a,CLEAR = 0,
continutul num
ar
atorului devine Q3 Q2 Q1 Q0 = 0000, iar pe frontul celui de al doilea
impuls de ceas, deoarece comanda de nscriere este activ
a, LOAD = 0, cuv
antul
aplicat din exterior pe intr
ari D3 D2 D1 D0 = 1100 devine continutul num
ar
atorului
Q3 Q2 Q1 Q0 = 1100 = 12|10 . Imediat dup
a al doilea impuls de ceas, prin activarea semnalului ENABLE = ENP ENT = 1, se valideaz
a regimul de num
arare.
Pentru validarea regimului de num
arare se conjug
a cele dou
a semnale de validare
ENT (ENable Trickle) si ENP (ENable Parallel). Diferenta ntre aceste dou
a
semnale const
a prin efectul lor; ambele valideaz
a operatia de numarare dar ENT
mai valideaz
a si transportul urm
ator al num
ar
atorului, notat aici cu prin RCO
(Ripple Carry Out), ca o functie AND cu semnalul CO, de num
ar
ator plin, adic
a
RCO = CO ENT. La al cincelea semnal de ceas continutul num
ar
atorului se umple
Q3 Q2 Q1 Q0 = 1111 si se genereaz
a RCO, semnal care utilizat ca o comand
a de
nscriere poate, pe urm
atorul impuls de ceas, forta continutul num
ar
atorului n starea
qp = Q3 Q2 Q1 Q0 = D3 D2 D1 D0 . Regimul de num
arare continu
a p
an
a dup
a al optulea
impuls de ceas c
and num
ar
atorul este devalidat, ENP ENT = 0, n continuare fiind
n regim de inhibare (f
ar
a modific
ari).
Divizoare de frecvent
a. Deoarece un num
ar
ator modulo 2n genereaz
a prin
CO (RCO) un semnal cu frecventa impulsurilor de ceas divizat
a cu 2n atunci oricare
num
ar
ator modulo C1 , 2C1 2n 1, este un divizor cu C1 a frecventei de ceas. Iar,
dup
a cum se stie, un num
ar
ator modulo C1 se obtine dintr-un num
ar
ator presetabil
modulo 2n din care se elimin
a (2n C1 ) st
ari, deci tot la C1 impulsuri de ceas se
genereaz
a un impuls n exterior, impuls ce este utilizat si pentru a forta nscrierea

432

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Codul
circuitului
74760/160
74162/163
4518/20
74190/191
74168/169
74668/669
74568/569
4510/16
74192/193
74876

Tip de numarator Comutare Resetare Inscriere


activa in activa in
Alte caracteristici
(modulo, cod)
(front) (CLEAR) (LOAD)
L, asincron L, sincron
BCD/4 biti, binar
L, sincron L, sincron
BCD/4 biti, binar
Dual BCD/4 biti, binar
sau H, asincron
L, asincron Reversibil, o singura intrare ceas
BCD/4 biti, binar
L, sincron Reversibil, o singura intrare ceas
BCD/4 biti, binar
L, sincron Varianta de 168/169 imbunatatita
BCD/4 biti, binar
L,sinc/asinc L, sincron Ca si 668/669 dar cu iesiri TSL
BCD/4 biti, binar
H, asincron H, asincron Reversibil, o singura intrare ceas
BCD/4 biti, binar
L, asincron H, asincron Reversibil, doua intrari de ceas
BCD/4 biti, binar
sau L, asincron L, sincron 74869 are CLEAR sincron
8biti, reversibil

a)
CLEAR stergere continut(sincron)
LOAD incarcare continut (sincron)
ENP, ENT validare functionare
Q3 , Q2, Q1, Q0 iesire (de pondere),
starea numaratorului
D3, D2, D1, D0 intrari pentru bitii
cuvantului incarcat din exterior
RCO semnalizare stare Q3Q2Q1Q0=1111

CLEAR D3 D2 D1 D0
LOAD
ENP
74 XX 163 RCO
ENT
CLK Q Q Q Q
3
2
1
0

b)
CLEAR
LOAD
D0

Date
prescrise D1
pe
D2
intrari
D3

CLK

10

11

ENP
ENT
Q0
Date
Q
generate 1
pe Q
2
iesiri
Q3
RCO

c)

12

13

14

0
0

Clear Load
(resetare) (setare)

15

Numarare

Fara modificare
(inhibare)

Figura 3.66 Num


ar
atoare sincron
a sub form
a de circuite MSI: a) caracteristicile
num
ar
atoarelor uzuale; b) reprezentarea, sub form
a de schem
a bloc a circuitului num
ar
ator
74xx163; c) diagrama de semnale pentru num
ar
atorul 74xx163.

ATOR

3.4. CIRCUITE NUMAR

433

st
arii de nceput qp a ciclului n automatul num
ar
ator.
Inconvenientul unui semnal obtinut de la un num
ar
ator modulo C este o valoare
mult sub 50% a coeficientului de umplere. Mai mult, dac
a C 6= 2n atunci si semnalele
generate la iesirile Qn1 ,Qn2 ,. . . ,Q1 ,Q0 ale celulelor bistabil nu mai sunt simetrice
pe durata ciclului de C impulsuri de ceas. Solutii de circuite care genereaz
a semnale
simetrice dup
a fiecare celul
a bistabil si pentru un C6=2n se g
asesc n [Oberman 0 78].
Pentru a obtine semnale cu frecventa fCLK /C, dar cu coeficient de exemplu 50%,
se poate utiliza urm
atoare modalitate: se aplic
a o frecventa
2f CLK la num
ar
atorul
modulo C iar iesirea acestuia se divide printr-un bistabil T (T=1) care genereaz
ao
frecventa
(2fCLK /C):2.
Exemplul 3.22 Utilizand circuitele numarator sincron presetabil 74xx163 si 74xx161
s
a se realizeze num
ar
atoare modulo 12. Caracteristicile de control pentru aceste num
ar
atoare
sunt date n Figura 3.66-a.
Solutie. Implementarea cu 74xx163.
1. Figura 3.67-a, starea final
a este Q3 Q2 Q1 Q0 = 1111 detectat
a prin semnalul RCO,
semnal care genereaz
a semnalul de nc
arcare sincron LOAD = RCO. Starea de nceput
a ciclului 0100 = 4|10 se nscrie la impulsul urm
ator dup
a cel care a comandat tranzitia
n starea final
a, fRCO = 1/12 fCLK . Num
ararea nu este n cod binar natural, este,
de fapt, un cod exces 4.
2. Figura 3.67-b, starea final
a este Q3 Q2 Q1 Q0 = 1011 = 11|10 , detectat
a de o poart
a
NAND3, care genereaz
a semnalul CLEAR = 0. S
tergerea este sincron
a cu semnalul de
ceas, adic
a fortarea st
arii de nceput de ciclu Q3 Q2 Q1 Q0 = 0000 se nscrie la impulsul
urm
ator dup
a cel care a comandat tranzitia n starea final
a. Activarea semnalului
CLEAR = 0 are frecventa 1/12 fCLK . Num
ararea este n cod binar natural.
Implementarea cu 74xx161, care are nc
arcare sincron
a dar stergere asincron
a. Un num
ar
ator divizor modulo 12 se obtine prin conexiuni similare ca n Figura 3.67-a. Pentru un
num
ar
ator n cod binar natural, exist
a urm
atoarele 2 variante:
1. Figura 3.67-c, starea final
a 1100 = 12|10 se detecteaz
a cu o poart
a NAND2 care prin
semnalul S, de scurt
a durat
a, nscrie num
ar
atorul n starea 0000. Deci pe perioada
TCLK a impulsului care a comandat tranzitia n starea final
a exist
a dou
a stari, adica
1111 si 0000; pentru ca n aceast
a perioad
a starea a doua s
a fie 0000, si nu o stare
cu un alt cod, bucla ce se nchide la intrarea asincron
a CLEAR este transformat
a n
bucl
a netransparent
a prin introducerea unui latch S R. La urm
atorul impuls de ceas
se trece n starea initial
a 0001. Semnalul CLEAR = QN = 0 are frecventa 1/12fCLK .
2. Figura 3.67-b, structura si functionarea se face prin utilizarea intr
arii sincrone LOAD,
similar ca n Figura 3.67-b (unde se utilizeaz
a intrarea sincron
a CLEAR).
Cu fiecare din aceste dou
a circuite se mai pot realiza multe variante de num
atoare modulo
12, dar nu cu num
arare n cod binar natural, n functie de alegerea st
arii finale; oricare din
cele 16 st
ari poate fi fixat
a starea final
a.

Uneori este necesar ca pe baza unui num


ar
ator modulo C frecventa fCLK s
a fie
divizat
a cu un coeficient fractionar C/k, 1 k C. Se poate structura un divizor C/k
stiind c
a valoarea oric
arui num
ar k exprimat n binar se obtine ca o sum
a ponderat
a
a puterilor lui doi cu bitii din cuv
antul binar ...bi ..b2 b1 b0 (k = + bi 2i + +
b2 22 + b1 21 + b0 20 ). Dar, la un num
ar
ator modulo 2n , dup
a fiecare celul
a de rangul
i, 0 i n 1, se pot obtine impulsuri de ceas divizate cu 2i+1 . Nu r
am
ane dec
at

434

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
LOAD (sincron ), CLEAR (sincron)
Q3Q2Q1Q0

RCO

0 1 0 0
"1"
"1"
f CLK

CLEAR
LOAD
ENP

D3 D2 D1 D0
74xx163

ENT

RCO

CLK

Q3 Q2 Q1 Q0

a)

0100
0101
0110
0111
1000
1001
LOAD=0
1010
CLK 1011
12 1100
f CLK/12
1101
1110
1
1111

Q3Q2Q1Q0

"1"
"1"
f CLK

D3 D2 D1 D0

CLEAR
LOAD
ENP
ENT

74xx163
RCO

CLK

Q3 Q2 Q1 Q0

CLEAR

b)

0000
0001
0010
0011
0100
0101
CLEAR =0
0110
CLK
0111
12 1000
1001
1010
1011

LOAD (sincron), CLEAR (asincron)


Q3Q2Q1Q0

Q3Q2Q1Q0

0 0 0 0
"1"
"1"
f CLK

CLEAR
QN
Q

c)

CLEAR

D3 D2 D1 D0

LOAD
74xx161

ENP
ENT
CLK

RCO
Q3 Q2 Q1 Q0

_
R
_
S

0 0

0000
0001
0010
0011
0100
0101
0110
CLEAR =0
CLK 0111
1000
12
1001
1010
1011
1100

0 0 0 0
"1"

CLEAR

D3 D2 D1 D0

LOAD
"1"
f CLK

ENP

74xx161

ENT

CLEAR

CLK

RCO

LOAD=0

Q3 Q2 Q1 Q0

CLK

1 0

12

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011

d)

Figura 3.67 Num


ar
atoare modulo 12: a) num
ar
ator divizor modulo 12; b,c,d) num
ar
atoare modulo 12 n cod binar natural

s
a se genereze aceste impulsuri si, apoi, s
a se selecteze acestea de la fiecare celul
a
a num
ar
atorului conform valorilor (ponderilor) bitilor din cuv
antul de cod binar al
num
arului k. Aceste ponderi apar evidente dac
a se consider
a c
a frecventa rezultat
a
fCLK : C/k se obtine ca un produs k/C fCLK ; astfel de circuite care realizeaz
a
aceast
a relatie sunt referite ca multiplicatoare cu coeficient binar.
Exemplul 3.23 Sa se structureze un circuit pentru multiplicarea fCLK cu coeficientul
5/16.
Solutie. Num
arul 5 exprimat n binar cu patru biti este b3 b2 b1 b0 = 0101 iar exprimat
ca parte a lui 16|10 = 10000 devine fractia 0, b3 b2 b1 b0 = 0, 0101(5|16 = 0 21 + 1 22 + 0
23 + 1 24 ).
In circuitul multiplicator cu coeficientul binar 0,0101 frecventele divizate prin puterile

ATOR

3.4. CIRCUITE NUMAR

435

lui 2, obtinute dup


a celulele unui num
ar
ator modulo 24 , se pondereaz
a n felul urm
ator:
b3 21 fCLK ;

b2 22 fCLK ;

b1 23 fCLK ;

b0 24 fCLK .

Utiliz
and un num
ar
ator sincron, paralel, modulo 16, Figura 3.68-a, se realizeaz
a cu porti
AND, n exteriorul acestuia, circuitele care genereaz
a frecvente de ceas divizate dup
a puterile
lui doi. Pe aceste porti AND se introduc coeficientii binari b3 , b2 , b1 , b0 care pondereaz
a
subfrecventele respective. Functiile implementate pe fiecare poart
a AND sunt
AN D4 : b0 Q3 Q2 Q1 Q0 fCLK
AN D3 : b1 Q2 Q1 Q0 fCLK

AN D2 : b2 Q1 Q0 fCLK
AN D1 : b3 Q0 fCLK

Apoi trenurile de impulsuri obtinute la iesirile acestor porti AND sunt sumate printr-o poart
a
OR. Portile AND1 si AND3 care sunt ponderate cu biti cu valoarea zero (b3 = 0, b1 = 0) au
23

22

21

20
EN

RCO
J
Q
Numarator
sincron
CLK
paralel
modulo16 Q
N
K

AND4

AND2
b1 23 fCLK

CLK
QN K

CLK
QN K

CLK
QN K

AND3
b0 24 fCLK

On

AND1
b2 22f CLK

f CLK
b3 =0
b 2 =1
b1 =0
b0 =1

b3 21f CLK
On1

a)
CLK

Q0

10

11

12

13

14

15

16

14

15 (b3=0)
(b2=1)

Q1
Q2
Q3
21fCLK

22fCLK
23fCLK

3
2

b)

11

13

10

(b1=0)

12

24fCLK

On

(b0=1)

0 21fCLK +1 2 2fCLK +0 2 3fCLK +1 24fCLK

10

9
4
7
5/16 f CLK produs de un circuit acumulator

14
13

16

Figura 3.68 Multiplicatorul cu coeficient binar: a) organizarea circuitului; b) diagrama de semnale generate pentru multiplicarea 5/16 fCLK .

436

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

x(t)

LOAD

CLC2

CLC1
q+(t)
Dn1 D0 LOAD
CLEAR
Numarator
prestabil
ENABLE
Qn1 Q0

CLK

q(t)

Figura 3.69 Organizarea de principiu a unui semiautomat pe baz


a de num
ar
ator
presetabil.

aport nul n succesiunea impulsurilor de iesire. Se obtine astfel, Figura 3.68-b, 5 impulsuri
pe iesire pentru 16 impulsuri de ceas aplicate la intrarea num
ar
atorului deci o multiplicare
cu 5/16. Succesiunea de 5 impulsuri nu este uniform
a, distanta ntre impulsuri este de patru
iar uneori de dou
a tacte de ceas. O distributie mult mai uniform
a se obtine c
and se utilizeaz
a
iesirea de transport de la un circuit acumulator (vezi Figura 3.74-c). Pe l
ang
a iesirea On
exist
a si o intrare On1 pentru ca multiplicatorul cu coeficient binar s
a poat
a fi nseriat cu
alte circuite de acelasi tip (pentru a creste valoarea modulo).

Automate pe baz
a de num
ar
ator Num
ar
atorul sincron nsusi este un automat de tip Moore, bitii de iesire sunt identici cu bitii de stare, Y Q (dac
a
nu se consider
a si iesirea CO); deci automatul este identic cu semiautomatul s
au.
Num
ar
atoarele presetabile sunt automate particularizate prin modul de asignare a
st
arilor: codificarea este n cod binar natural p
an
a la codul num
arului 2n 1 sau
p
an
a la 9 (la cele BCD). Ideea simplificatoare, n realizarea unui automat, sugereaz
a
ca asignarea st
arilor cu tranzitii succesive ale automatului s
a se fac
a n codul binar
natural, iar atunci pentru implementarea semiautomatului corespunz
ator automatului s
a fie utilizat un circuit integrat num
ar
ator presetabil. Pentru cazurile c
and n
graful de tranzitie a automatului exist
a tranzitie ntr-o stare cu un cod care nu este
n ordinea de num
arare (dup
a un bloc de decizie c
and sunt dou
a c
ai de tranzitie)
acel cod trebuie fortat prin num
ar
atorul presetabil. Pentru o tranzitie n afara or,,
dinii de num
arare, num
ar
atorului trebuie s
a i se livreze dou
a informatii: codul
st
arii urm
atoare ce trebuie nscris precum si semnalul de comand
a al nc
arc
arii. In
consecinta
, pe baza produsului cartezian intrare-stare, X(t)Q(t), trebuie implementate dou
a circuite combinationale, unul calculeaz
a codul st
arii urm
atoare, iar cel
alalt
determin
a activarea semnalului de nc
arcare, care vor nchide dou
a bucle n jurul
num
ar
atorului presetabil, Figura 3.69.

ATOR

3.4. CIRCUITE NUMAR

437

Prima bucl
a, nchis
a prin CLC2, determin
a valoarea pe intrarea LOAD pentru
comanda de nscriere. Recomandat pentru implementarea CLC2 este circuitul multiplexor pentru c
a trebuie s
a genereze o singur
a iesire (LOAD = 0 pentru nscriere,
LOAD = 1 pentru ordinea natural
a de num
arare) pe baza codului st
arii n care se afl
a
semiautomatul, iar bitii cuv
antului de cod ai st
arii prezente q(t) se folosesc ca biti
de selectie pentru multiplexor. In plus, intr
arilor multiplexorului, care prin selectare
devin semnalul LOAD, pot s
a li se atribuie n afar
a de constantele 1 sau 0 si valorile
unei variabile de intrare. Determinarea valorii semnalului LOAD, n functie rezultatul
test
arii unei variabile ntr-un bloc de decizie, se realizeaz
a prin conectarea variabilei
testate ntr-o anumit
a stare pe intrarea multiplexorului selectat
a de cuv
antul de cod
al acestei stare.
A doua bucl
a, inclus
a prin CLC1, calculeaz
a bitii de cod wn1 , wn2 , ..., w1 , w0
ai st
arii urm
atoare, n cazul c
and nu este starea urm
atoare q + (t) n ordinea normal
a
de num
arare. Pentru CLC1 recomandarea este o implementare cu porti. Justificarea
acestei recomand
ari se bazeaz
a pe faptul c
a prin asignarea aleas
a, pentru st
arile semiautomatului, majoritatea tranzitiilor se efectueaz
a ntre st
ari care au coduri succesive n ordinea normal
a de num
arare, deci exist
a putine tranzitii ntre coduri care
stric
a aceast
a ordine normal
a. In consecinta
, pentru multe cuvinte de cod ale st
arii
prezente q(t) bitii st
arii urm
atoare q + (t), calculati pe CLC1, sunt indiferenti pentru
prescrierea num
ar
atorului. Existenta multor combinatii de intrare pentru care iesirile
de la CLC1 sunt indiferente duce la o minimizare puternic
a, deci la o implementare
simpl
a cu porti.
Exemplul 3.24 Pentru semiautomatul descris prin organigrama ASM si asignarea
fixat
a, din Figura 3.70, s
a se realizeze o implementare.
Solutie. Se observ
a c
a pentru aceast
a variant
a (Varianta1) de asignare a st
arilor, c
and
variabilele de intrare au valorile x1 = 1, x2 = 0, x3 = 1, se parcurg ciclic st
arile q2 q3
q4 q5 q6 q0 q1 q2 ..., iar codurile parcurse sunt n ordinea de num
arare n
binar natural de la 000 p
an
a la 110; exist
a un salt n cuv
antul de cod de la 110 la 000 pentru
calea de tranzitie L2 (q1 q2 ). Mai exist
a nc
a trei c
ai de tranzitie L4 , L7 si L9 c
and iar
asi
tranzitiile nu sunt n ordinea normal
a de num
arare. Deoarece din cele 10 c
ai de tranzitie
pentru 6 dintre acestea se parcurg coduri succesive de num
arare n binar se va utiliza pentru
implementare circuitul num
ar
ator 74xx163/161.
Tabelul de tranzitie al st
arilor, Figura 3.70-b, contine informatia pentru sinteza celor
dou
a bucle ale semiautomatului. Deoarece sunt numai 7 st
ari intrarea D3 a num
ar
atorului
este permanent n 0.
In coloana semnalului de nc
arcare LOAD se introduce valoarea 0(activ) numai atunci
c
and codul st
arii urm
atoare w2 , w1 , w1 nu se obtine din codul st
arii prezente z2 z1 z0 plus 1, n
arile x3 , x2 , x1 se introduc ca
rest LOAD=1(inactiv). Pentru sinteza semnalului LOAD intr
variabile reziduu. Bucla pentru nc
arcarea num
ar
atorului este implementat
a pe un MUX8:1.
Pentru sinteza circuitului combinational din bucla ce calculeaz
a bitii D2 , D1 , D0 valorile
acestor biti sunt identice cu cele ale bitilor st
arii urm
atoare D2 = w2 , D1 = w1 , D0 = w0 c
and
semnalul de nc
arcare este activ, LOAD = 0, si cu valori indiferent c
and LOAD = 1. In expresiile bitilor D2 , D1 si D0 se pot introduce intr
arile x3 , x2 , x1 ca variabile reziduu rezult
and
o sintez
a n functie numai de variabilele de stare z2 , z1 , z0 . Dar aceste variabile reziduu pot
fi substituite cu una din valorile logice 0 sau 1 deoarece, la fiecare testare a unei variabile
reziduu, numai una din cele dou
a tranzitii posibile determin
a nc
arcarea num
ar
atorului,
pentru cealalt
a valoare este indiferent (LOAD = 1).
De exemplu, din starea prezent
a q5 (011) se efectueaz
a tranzitia fie la q5 , c
and x2 =1, fie

438

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Varianta1 de asignare
Starea
Starea
Intrari
Calea Intrari
prezenta
urmatoare
numarator
de
tranz
x 3 x 2 x 1 Simb z2 z1 z0 Simb w2 w1 w0 LOAD D2 D1 D0

q0
L1
q1
L2
q2
L3
0 q3
L4
1 q3
L5
q4
L6
L7
q5
1
q5
0
L8
q6
L9 0
q6
L10 1

b)

q0

1
1
0
0
0
0
0
0
1
1

0
1
0
0
0
1
1
1
0
0

1
0
0
1
1
0
1
1
0
0

q1
q2
q3
q1
q4
q5
q5
q6
q3
q0

1
0
0
1
0
0
0
1
0
1

1
0
0
1
1
1
1
0
0
0

L10 101

q1
q2
q3

L1 110
L2

000

L3

001

0
0
1
0
0
1
1
0
1
1

1
0
1
0
1
1
0
1
0
1

0 0 0
x1

_ 0 1 1
x2
x3

x2
x3

+5V

L7 L
8
q6
L9
0

a)

x3

D3 D2

w2 w1 w0
D1

D0

74xx163

100

Starea
prezenta urmatoare
z2 z1 z0 w2 w1 w0

1
0
0
0
0
0
1
1
1
1

1
0
0
1
1
1
0
0
0
0

1
0
0
0
0
1
1
1
0
1

0
0
1
0
0
1
0
0
1
1

z2

c)

1
1
0
0
1
0
0
1
0
0

0
1
1
1
1
0
0
0
0
0

00 01 11 10

1 0

0
1

q+(t)

0
__
D2 =z2z1

z1z0
z2 00

01 11 10

"1"

ENP
ENT
CLK

CLK

Q3 Q2 Q1 Q0

1
0
1
0
1
0
0
0
1
1

Varianta1
z1z0

LOAD
CLEAR

z2 z1 z0
1

Varianta3

Starea
prezenta urmatoare
z2 z1 z0 w2 w1 w0

L6 011
x2

0 0 1

000
001
010 MUX
011 8:1
y
100
101
110
111 S 2 S 1 S 0

x1

0 x
L4 L 1
5 010
q4
q5

1 1 0

Varianta2

"1"

q(t)

_
D1 =z2

z1z0
z2 00
0

1 1

d)

1
0
1
0
0
0
1
1
0
0

01 11 10

0 1

1
1
1
1
0
0
0
0
1
0

0
0
1
0
0
0
0
1
1
1

0
1
0
0
0
1
1
0
0
1

Varianta3
z1z0

z2

00 01 11 10

1
_
x1
1
_ _
D2 =z1(z2+x1)
0

z1z0
z2 00
0

1
0
_
_
D0 =z2z1+z2z1

1
0
0
1
1
0
0
0
1
1

__
D1 =z2z0

z1z0
z2 00
0
1

01 11 10

01 11 10

x3

0
_
_
D0 =z1+x 3z2

e)

Figura 3.70 Exemplu de semiautomat implementat pe baza num


ar
atorului
74xx163: a) organigrama ASM; b) tabelul combinat ASM; c) structura semiautomatului
pentru Varianta1 de codificare; d,e) sinteza buclei pentru calculul st
arii urm
atoare corespunz
ator Varianta1 si Varianta3 de codificare.

ATOR

3.4. CIRCUITE NUMAR

439

la q6 (100), c
and x2 =0, dar ultima tranzitie este indiferent
a pentru nc
arcarea num
ar
atorului
(LOAD=1). Rezult
a c
a n c
asuta de coordonate z2 z1 z0 =011(q5 ) din diagramele V-K ale
functiilor D2 , D1 , D0 totdeauna se introduc respectiv valorile 0,1,1, Figura 3.70-d (nu exist
a
dou
a valori diferite Di care s
a fie determinate de cele dou
a valori ale lui x2 ). Din aceste
diagrame V-K se deduc expresiile logice (pentru Varianta1):
D2 = z 2 z 1 = z 1 + z 2 ;

D1 = z 2 ;

D0 = z 2 z 1 + z 2 z 1 = z 2 z 1

iar structura rezultat


a de semiautomat este cea din Figura 3.70-c.
Se mai propun nc
a dou
a variante de asignare a st
arilor semiautomatului, ca n coloanele
denumite Varianta2 si Varianta3 din tabelul ASM, pentru a face o comparatie cu implementarea dup
a Varianta1. Pentru Varianta2 si 3 nu se mai face sinteza buclei pentru deterand se utilizeaz
a un circuit
minarea comenzii LOAD deoarece o optimizare nu poate apare c
standard(MUX8:1). In schimb, pentru bucla ce calculeaz
a codul st
arii urm
atoare, pentru
a c
arei sintez
a conteaz
a num
arul de st
ari indiferente din diagrama V-K, este normal a se
determina care asignare este mai potrivit
a. Urm
and aceeasi procedur
a de sintez
a, ca si la
Varianta1, se obtin
V arianta2 :
V arianta3 :

D2 = z 1 z 0 = (z1 + z0 );
D2 = z1 (z 2 + x1 );

D1 = z 0 ;
D1 = z 2 + z 0 ;

D0 = 0
D0 = z 1 + x 3 z 2

Se poate observa c
a Varianta2, n raport cu celelalte dou
a, realizeaz
a o implementare
mai simpl
a pentru bucla ce calculeaz
a starea urm
atoare (utilizeaz
a o singur
a poart
a NOR2).
Varianta3 este cea mai putin simpl
a, deoarece n expresiile care calculeaz
a starea urm
atoare
intervin si variabilele de intrare; nici una din tranzitiile controlate de x1 si x3 nu sunt spre
st
ari ale c
aror coduri s
a se obtin
a prin num
arare.

3.4.2.2

Num
ar
atoare n cod arbitrar

Un circuit num
ar
ator modulo C este un automat Moore cu un graf ciclic, deci
poate fi privit ca un identificator de clase de resturi modulo C. Asignarea st
arilor se
face, n general, n cod binar natural datorit
a faptului c
a n procesarea digital
a
n calculator numerele sunt reprezentate n sistemul de numeratie binar rezult
and
num
ar
atorul binar sau n cod BCD-datorit
a faptului c
a n exteriorul calculatorului
numerele sunt reprezentate n sistemul de numeratie zecimal rezult
and num
ar
atorul
BCD. Dar, asignarea st
arilor automatului num
ar
ator, Figura 3.61, se poate realiza n
oricare cod, rezult
and num
ar
atorul n cod oarecare. Sinteza unui num
ar
ator n cod
oarecare nu difer
a cu nimic de sinteza unui automat. In anumite aplicatii(evitarea
aparitiei glitch-ului prin decodificare, utilizarea direct
a f
ar
a decodificator, o anumit
a
secventa
parcurs
a) se justific
a alegerea unui anumit cod.
Exemplul 3.25 Sa se realizeze, pe trei celule bistabil JK, un numarator n cod Gray.
Solutie. Codurile progresive au proprietatea c
a la trecerea ntre dou
a cuvinte de cod
succesive se va schimba doar un singur bit. Pentru cele 16 cuvinte pe patru biti se pot forma
un num
ar de 55 de coduri progresive distincte, dintre acestea cel mai utilizat este codul binar
reflectat(n raport cu o linie dus
a dup
a 2i cuvinte de cod, cuvintele de cod de (i + 1) biti de
dup
a linie sunt imaginea n oglind
a a cuvintelor de cod de (i + 1) biti dinainte de linie) este
codul Gray.
Pornind de la tabelul de tranzitie al st
arilor codificate n cod Gray, Figura 3.71-a, se deduc
diagramele de V-K pentru bitii st
arii urm
atoare w2 , w1 , w0 , apoi acestea pe baza tabelului

440

a)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Starea
prezenta urmatoare
z2 z1 z0 w 2 w 1 w 0
0 0 0 0 0 1
0 0 1 0 1 1
0 1 1 0 1 0
0 1 0 1 1 0
1 1 0 1 1 1
1 1 1 1 0 1
1 0 1 1 0 0
1 0 0 0 0 0

z 1z 0
z2
00

01

w2

11

10

z2

z1

Q2
CLK
QN K

z0

Q1
CLK
QN K

Q0
CLK
QN K
CLK

e)
z 1z 0
z2
00

01

w1

11

10

z 1z 0
z2
00

01

w0

11

10

01

JQ0
11

10

z 1z 0
z2
00
0

01

JQ 2
11

10

z 1z 0
z2
00

1
z 1z 0
z2
00

01

KQ2
11

10

f)

10

z 1z 0
z2
00

01

KQ1
11

10

z 1z 0
z2
00

KQ 0
11

c)
Q7
Q
6
Q
5
Q
4
in cod
Q
3
binar natural Q
2
Q
1
Q0

Numarator
modulo 256

01

b)

CLK

JQ1
11

z 1z 0
z2
00

01

10

d)
A7
D7
D6
A6
D5
A5
D4
A 4 ROM
A 3256 X 8biti D3
A2
D2
A1
D1
D0
A0

Cuvant
in
cod Gray

Figura 3.71 Num


ar
ator n cod Gray: a,b,c,d,e) fazele n procesul de sintez
a, pornind de
la tabelul de tranzitie al st
arilor p
an
a la structura de circuit num
ar
ator; f) structurarea pe
baz
a de circuit num
ar
ator binar modulo 256 plus convertor binar-Gray nscris n memorie
ROM.

441

3.5. CIRCUITE REGISTRU

de excitatie al bistabilului JK, Tabelul 3.4, se convertesc n diagramele V-K, Figura 3.71-b,c
si d ale functiilor de excitatie JQ2 , KQ2 ; JQ1 , KQ1 ; JQ0 , KQ0 av
and urm
atoarele expresii
logice cu implementarea din Figura 3.71-e:
JQ0 = z1 z0
KQ0 = z1 z0

JQ1 = z2 z0
KQ1 = z2 z0

JQ0 = z2 z1 + z2 z1
KQ0 = z2 z1 + z2 z1

Sinteza num
ar
atoarelor n alte coduri de num
arare se face n aceeasi modalitate.

Dar exist
a si o alt
a abordare a unui num
ar
ator modulo C ntr-un cod oarecare,
prin utilizarea unui num
ar
ator modulo C ntr-un cod uzual (realizat cu un circuit
num
ar
ator presetabil) c
aruia i se ataseaz
a un circuit de iesire, CLC2 din Figura 3.8-c,
care realizeaz
a functia de convertor din codul uzual folosit n codul oarecare. In
Figura 3.71-f este structurat
a un num
ar
ator n cod Gray pe baza unui num
ar
ator
modulo 256, n cod binar natural, plus o memorie ROM care contine tabelul de
conversie binar-Gray. Aceast
a abordare, n raport cu cea anterioar
a, are o vitez
a de
num
arare mai redus
a, dar n schimb prezint
a o mai mare flexibilitate; implementarea
unui num
ar
ator n orice cod se obtine numai prin schimbarea tabelului de conversie
din ROM.

3.5

CIRCUITE REGISTRU

La nivel de bit suportul fizic pentru stocare/memorare, sincronizare, cuplare si


izolare este circuitul bistabil. La nivel de cuv
ant, definit ca o succesiune de n biti,
suportul fizic pentru functiile de: stocare, cuplare,sincronizare si izolare este un
circuit compus din n circuite bistabil referit ca circuit registru sau uzual, registru.
Odat
a nscris
a informatia de un bit ntr-un bistabil aceasta este disponibil
a a fi citit
a;
la fel si la un registru cuv
antul nscris poate fi citit n continuare. Intr-o exprimare
proprie sistemelor de procesare a informatiei, unde informatia este mpachetat
a sub
form
a de cuvinte, un registru este referit prin termenul general de port. In aceast
a
exprimare intr
arile de date, prin care se nscrie o informatie/cuv
ant ntr-un registru,
constituie un port de intrare, iar iesirile de date din registru constituie un port de
iesire.
In functie de modul cum se realizeaz
a conexiunile pentru extensia de la circuitul
bistabil la organizarea de circuit registru exist
a: registru paralel, registru serie si
combinatii ntre acestea serie-paralel si paralel-serie. Dar, pentru toate tipurile de
registru, exist
a un parametru comun lungimea registrului, adic
a num
arul de celule
bistabil care l compun.
Circuitul registru, ca suport fizic pentru functiile enumerate mai sus, constituie
o component
a fundamental
a n arhitectura si implementarea sistemelor digitale. Registrul este un circuit simplu, ca definitie, si cu o dimensiune de ordinul O(n). Dar
fiind, n fond, o structurare ordonat
a de circuite bistabil, n consecinta
, supus unei
regularit
ati de layout rezult
a c
a implementarea sa nu ridic
a dificult
ati. In sectiunile
urm
atoare se vor prezenta tipurile de circuite registru evidentiind logica structur
arii
acestora, precum si unele aplicatii care au un grad ridicat de generalitate.

442

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Dn1

Date de intrare
D1

Date de intrare

D0
CLK

CLK
QN

D
D n1
Q

CLK
QN

Qn1

a)

D
D1
Q

CLK
QN

(LOAD)

D
D0
Q

Q1

Incarcare LD
Stergere

Q0

b)

Date de iesire
2Dn1 1Dn1

2D0

DIN

EN

CLEAR
DOUT OE

Validare
intrare
Validare
iesire

Date de iesire

1D0

(Selectare
intrare)
S1 = 0 0 1 1
S0 = 0 1 0 1
D = Qi 1Di 2Di0Di

i
0 < i < n1

MUX4:1

CLK
QN

LOAD
(CLK)
D

Q0

CLEAR

QN

CLEAR

CLK

MUX4:1

CLEAR

(Stergere)
OE

(Validare iesire)

c)
0D n1 /Qn1

0D0 /Q0

Figura 3.72 Registrul paralel: a) structur


a (cu n celule statice); b) reprezentare simbolic
a; c) structur
a de registru cu n celule n care se evidentiaz
a modul de aplicare a semnalelor de control.

3.5.1

Registru paralel

Registrul paralel are o structurare simpl


a obtinut
a doar prin considerarea n paralel a n celule bistabil, uzual de tip D; n afar
a de semnalul de ceas comun pentru toate celulele poate s
a nu existe nici o alt
a conexiune ntre celulele bistabil,
Figura 3.72-a. Cuv
antul pentru nscriere/(nc
arcare) se aplic
a pe intr
arile de date
Dn1 , Dn2 , ..., D1 , D0 portul pe intrare si odat
a nc
arcat, prin aplicarea semnalului de ceas, cuv
antul este accesibil permanent pe iesiri Qn1 , Qn2 , ..., Q1 , Q0
portul de iesire dac
a aceste iesiri nu sunt de tip TSL. In general registrul poate
genera at
at variabile negate, QN , c
at si cele nenegate, Q. Aceasta explic
a de ce la
implementarea unei functii FNC sau FND, pe un circuit combinational, se consider
a
numai dou
a niveluri logice si nu trei desi sunt utilizate at
at variabile negate c
at si
nenegate. Al treilea nivel, pentru negarea unor variabile situate la intrarea n circuit,
nu este necesar deoarece at
at variabilele negate c
at si cele nenegate sunt obtenabile
de la registrul n care s-a stocat cuv
atul de intrare.
Pentru a spori flexibilitatea n utilizare, a structur
arii simple prezentate anterior,
registrului i se adaug
a anumite semnale de control, specificate pe schema bloc de

3.5. CIRCUITE REGISTRU

443

registru reprezentat
a n Figura 3.72-b. In primul r
and, un registru trebuie s
a prezinte
obligatoriu un semnal de nc
arcare, LOAD (LD), care n general este semnalul de
ceas, activ pe front (sau pe palier dac
a registrul este realizat cu latch-uri). Uneori,
pentru nscriere, n conjuctie cu semnalul LOAD, mai trebuie activat si un semnal de
validare, ENable.
Pentru facilitatea de stergere a continutului registrului, n afar
a de nscrierea cu
zero, poate exista un semnal de stergere, CLEAR, care de fapt este o activare comun
a
a tuturor intr
arilor asincrone CLEAR ale celulelor bistabil. De asemenea, pentru a
se putea realiza conectarea mai multor registre, la liniile aceleasi magistrale, iesirile
acestora sunt de tip TSL, deci trebuie s
a existe o validare a iesirii OE (Output Enable).
Toate aceste semnale de control, deoarece se aplic
a la n celule, trebuie bufferate la
intrarea n circuitul registru (pentru ca semnalele n exterior sunt fie comandate doar
ca o singur
a unitate de sarcin
a de nc
arcare).
In Figura 3.72-c pe structura unui registru paralel de n biti sunt ad
augate semnalele de control. Semnalul de nc
arcare, LOAD, este semnalul de ceas, iar semnalul
de stergere este semnalul asincron CLEAR. Activarea semnalului validare iesire,
OE = 0, va comanda trecerea bufferului de iesire TSL din starea de nalt
a impedanta

n starea normal
a de functionare, deci iesirea (la magistral
a) este cuv
antul nscris n
registru Qn1 , Qn2 , ..., Qi , ..., Q1 , Q0 .
a
C
and OE = 1, bufferul TSL nu este activat, la iesirea registrului la magistral
este cuv
antul existent pe magistral
a ODn1 ODn2 . . . ODi . . . OD1 OD0 . Intrarea de
date D a fiec
arei celule bistabil Di , 0 i n 1, este conectat
a, printr-un MUX4:1,
n functie de cuv
antul de selectare EN=S1 S2 la una din urm
atoarele patru surse de
date:
1. pentru EN = 00, Di = Qi , la fiecare impuls de ceas bistabilul se rencarc
a cu
valoarea deja nscris
a;
2. pentru EN = 01, Di = 1Di , la fiecare impuls de ceas bistabilul se ncarc
a cu
valoarea 1Di de la sursa 1;
3. pentru EN = 10, Di = 2Di la fiecare impuls de ceas bistabilul se ncarc
a cu
valoarea 2Di de la sursa 2;
4. pentru EN = 11 si OE = 1 Di = 0Di , la fiecare impuls de ceas bistabilul se
ncarc
a cu valoarea ODi existent
a la iesirea pe magistral
a. Evident, c
a prin
relatia S1 S2 OE = 0 bufferul TSL este n starea de nalt
a impedanta
, deci
iesirea Q a bistabilului nu se aplic
a la iesire pe magistral
a;
(Celula acestui registru poate fi privit
a ca o extensie cu un MUX4:1 pe intrare a
circuitului bistabil D cu validarea semnalului de ceas, Figura 3.45-e.)
In tehnologie MOS si CMOS, uzual, registrele se realizeaz
a cu celule dinamice;
astfel se obtine consum redus de putere si densitate de integrare m
arit
a. Structuri
dinamice de latch D si bistabil D sunt prezentate respectiv n Figurile 3.40-b si 3.45-b.
Pentru m
arirea capacit
atii de stocare, la mai mult de un cuv
ant, un num
ar 2k
k
registre sunt grupate form
and o banc
a de registre, fiecare din cele 2 registre put
and
fi selectat at
at pentru nscriere c
at si pentru citire. In Figura 3.73 este structurat
a
o banc
a de 2k registre, fiecare dintre registre av
and lungimea de n biti, capacitatea
total
a total
a este (2k n).

444

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Magistrala operand 1

Magistrala operand 2

n
PORT 2

nxMUX 2 k :1
2k 1 2k 2

S
1 0

Banca de 2 k registre
2k1

CLK
D

2k2

CLK
D

DCD
Selectare k:2 k
registru
1

CLK
D

0
LOAD
(Incarcare registru)

CLK
D

Registrul 2

Registrul 2

PORT 1

nxMUX 2 k 1
2k 1 2k 2

S
1 0

k READ1

(citire
Port 1)
READ2

(citire
Port 2)

Registrul 1
Registrul 0

n biti

Magistrala rezultat

Figura 3.73 Organizarea unei b


anci de 2k registre cu lungime de cuv
ant de n biti,
dublu port pe iesire (cu evidentierea decodific
arii pe intrare, pentru nscriere,
si select
arii pe iesire, pentru citire)

Cuv
antul de n biti de pe magistrala rezultat se va nscrie n acel registru pentru
care semnalul de ceas devine activ, semnal format prin conjunctia ntre semnalul de
nc
arcare LOAD si iesirea de la DCDk:2k , selectat
a prin cuv
antul Selectare registru.
Banca de registre este dublu port pentru a putea fi citite simultan dou
a registre,
adic
a pe fiecare din cele dou
a magistrale 1 si 2 se aplic
a continutul unui registru.
Un grup de nMUX2k :1, prin care este selectat unul din cele 2k registre ca port de
iesire (conectare la magistral
a), are organizarea similar
a ca n Figura 2.36 (acolo este
o notatie inversat
a, un grup de 2n registre fiecare cu lungimea de k biti). Aceast
a
detaliere, a modului de operare asupra unei b
anci de registre, completeaz
a descrierea
c
aii de date prezentat
a n Figura 2.73.

3.5.2

Circuitul acumulator

Se obtine o structur
a hibrid
a, denumit
a acumulator, printr-o jonctionare a celulelor bistabil
ale
unui
registru
paralel
cu
lungimea de n biti cu celulele sumator
P
complet (3, 2) ale unui sumator modulo 2n cu transport succesiv, Figura 3.74-a.
Pe celula sumator complet cu ponderea 2i , 0 i n 1, a acumulatorului se va
suma: bitul xi al cuv
antului X = xn1 xn2 . . . xi . . . x1 x0 , aplicat din exterior; bitul
Qi nscris n celula i a registrului si bitul de transport Ci1 , de la celula sumator
complet anterioar
a. Aceast
a celul
a sumator complet, de pondere 2i , va genera bitul
sum
a si = Ci1 Qi xi si bitul transport urm
ator Ci = Qi xi + Qi Ci1 + xi Ci1 ,
care se aplic
a la celula sumator complet de rang i + 1, ca bit de transport anterior;

445

3.5. CIRCUITE REGISTRU

iar la aplicarea urm


atorului impuls de ceas (t+1) bitul sum
a calculat si (t) se nscrie
n celula i a registrului, deci Qi (t + 1) = si (t). Extinz
and la lungimea de n biti, la
impusul de ceas (t+1) n registru se nscrie suma aritmetic
a modulo 2 rezultat
a ntre:
continutul anterior din registru, Q(t) = Q( n 1)(t)Qn2 (t)...Qi (t), ..., Q1 (t)Q0 (t);
cuv
atul aplicat din exterior, X(t) = xn1 (t)xn2 (t), ..., xi (t), ..., x1 (t)x0 (t) si transporturile anterioare Cn2 (t), Cn3 (t), ..., Ci1 (t), ..., C1 (t), C0 (t), C1 (t).
In cazul n care valoarea initial
a a cuv
antului n registru este zero Q(0) = 0,
z3

z2

z1
Q D
CLK
QN

Q D
CLK
QN

Q D
CLK
QN

CLEAR

CLEAR

z0
Q D
CLK
QN

CLEAR

z3

a)

(3,2)

(3,2)

(3,2)

(3,2)

x3

x2

x1

x0

Nr de Starea initiala Starea initiala Nr


impuls z 2z 1z 0=000 z 2z 1z 0=000 de
x 2x 1x 0=001 x 2x 1x 0=111 imp.
de
de
ceas
C1=0
C 1=0
ceas
1
2
3
4
5
6
7
8

C O =1

000 +
001
001
001+
001
010
010+
001
011
011+
001
100
100+
001
101
101+
001
110
110+
001
111
111+
001
000

f=f CLK 1/8

c)

Numarator
direct
modulo8

C O =1
C O =1
C O =1
C O =1
C O =1
C O =1
C O =1

000+
111
111
111+
111
110
110+
111
101
101+
111
100
110+
111
011
011+
111
010
010+
111
001
001+
111
000

f=f CLK 7/8

Numarator
invers
modulo8

2
3
4

C O =1

5
6
7
8

C O =1

z0
CLK

Q3

CO

x3

C1

Q2
x2

Q1
x1

Q0

C 1

x0

b)

Starea initiala
z 3z 2z 1z 0=0000
x 3x 2x 1x 0=0101
c1=0

z1

RESET

CLEAR

CLK

Cn

z2

0000+
0101
0101
0101+
0101
1010
1010+
0101
1111
1111+ (5+5+5+5)
0101
modulo16=4
0100
0100+
0101
1001
1001+
0101
1110
1110+ (4+5+5+5)
0101
modulo16=3
0011
0011+
0101
1000

9
10

C O =1

11
12
13

C O =1

14
15
16

C O =1

1000+
0101
1101
1101+ (3+5+5+5)
0101 modulo16=2
0010
0010+
0101
0111
0111+
0101
1100
1100+ (2+5+5+5)
0101
modulo16=1
0001
0001+
0101
0110
0110+
0101
1011
1011+ (1+5+5+5)
0101
modulo16=0
0000

f=f ClK 5/16

Numarator divizor cu coeficient fractionar

Figura 3.74 Circuitul acumulator: a) structur


a de acumulator cu patru celule;
b) reprezentare simbolic
a; c) analiza a trei exemple de num
ar
ator modelate pe baz
a de acumulator.

446

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

transportul anterior C1 = 0, iar cuv


antul extern X este constant n timp, n registru
rezult
a o sumare repetat
a a cuv
antului extern, dup
a k impulsuri de tact se obtine
valoarea kX modulo 2n . Apare evident faptul c
a circuitul acumulator P
este un automat, la care partea combinational
a este format
a din celule sumator
(3, 2), de
aceea, uneori, cuv
antul de iesire va fi notat ca un cuv
ant de stare cu z3 z2 z1 z0 .
Bazat pe aceast
a functionare, de sumare repetat
a modulo2n , circuitul acumulator
poate fi utilizat pentru modelarea function
arii num
ar
atorului sincron modulo2n , direct
sau invers n oricare cod. De exemplu, pentru acumulatorul cu trei celule, n=3,
pornind din starea initial
a Q(0) = Q2 Q1 Q0 = 000 si C1 = 0, cu un cuv
ant aplicat
din exterior X = 001, se obtine o succesiune de num
arare n sens direct, coloana a
doua din Figura 3.74-c, corespunz
atoare num
ar
atorului sincron modulo 8 n cod binar
natural. Modificarea function
arii de num
ar
ator sincron modulo 8, n sens invers, n
cod binar natural, se obtine pornind din starea initial
a Q(0) = 0 cu X = x2 x1 x0 = 111
si C1 = 0, coloana a treia din figura 3.74-c.
Pentru modelarea unor num
ar
atoare n alte coduri de num
arare este necesar, uneori, s
a se ataseze n exterior un decodificator, realizat cu porti logice, pentru decodificarea unui anumit cuv
ant de cod din registru si eventual, s
a se modifice valoarea
cuv
antului X aplicat din exterior(vezi problemele P3.73 si P3.74). Pe un acumulator
se poate modela orice proces care poate fi exprimat prin operatii de: adunare, sc
adere,
deplasare st
anga/dreapta sau nc
arcare (fortare a unui cuv
ant exterior).
De fapt, acumulatorul este un circuit de calcul pentru prefixe sum
a modulo 2n
n
cu o functie generic
a f = (X + X)modulo2 ; de exemplu pentru n = 3 se pot scrie
relatiile
f0
f1
f2
f3

= (0 + 0) modulo 8 = 0
= (f0 + X) modulo 8 = X modulo 8
= (f1 + X) modulo 8 = 2X modulo 8
= (f2 + X) modulo 8 = 3X modulo 8
..
.

f7 = (f6 + X) modulo 8 = 7X modulo 8


f8 = (f7 + X) modulo 8 = 8X modulo 8 = f0 = 0
sau relatia generalizat
a pentru acumulator cu n celule se scrie
n

2
X

X) modulo 2n = 0

(3.44)

Relatia 3.44 arat


a c
a circuitul acumulator functioneaz
a ca un num
ar
ator de
X-tuple pe un interval/(perioad
a) de 2n impulsuri de ceas. Altfel spus, pornind din
starea initial
a Q(0) = 0 si C1 , pentru cuv
antul X aplicat din exterior, acumulatorul va genera (se va umple) semnalul de transport urm
ator CO de un num
ar X ori
pentru 2n impulsuri de ceas aplicate. In Figura 3.74-c, coloanele 5 si 7, este realizat
cazul unui acumulator cu n=4, pentru X = 5; se observ
a c
a se genereaz
a de cinci
ori semnalul CO = 1 pe durata a 16 impulsuri de ceas, deci o multiplicare cu 5/16 a
frecventei de ceas. (Aceste impulsuri sunt reprezentate, comparativ cu cele generate
de un multiplicator cu coeficient binar, n Figura 3.68-b; se observ
a c
a distributia
lor n timp este mai uniform
a dec
at cea obtinut
a de la un multiplicator binar). Cu

447

3.5. CIRCUITE REGISTRU

circuitul acumulator se pot realiza multiplicatoare cu un coeficient fractionar X/C


unde numitorul poate fi diferit de puteri ale lui doi C 6= 2n [Oberman 0 78]).
Pe baza acumulatorului se pot realiza circuite care calculeaz
a n timp real valorile
unor functii (ridicarea la o putere, r
adacin
a p
atrat
a, log2 , functii trigonometrice de
num
arul de impulsuri NCLK ). Aceste valori sunt disponibile imediat ce se primeste
impulsul de intrare.
Exemplul 3.26 Sa se realizeze o structura de circuit pe baza de acumulatoare care
2
s
a calculeze p
atratul num
arului de impulsuri aplicate, NCLK
.
2
Solutie. Not
and cu Sn =NCLK si Sn+1 =(NCLK + 1)2 se deduce relatia recurent
a
Sn+1 = (NCLK + 1)2 = Sn + 2NCLK + 1
Dac
a se cunoaste deja valoarea p
atratul Sn , prin adunarea la aceast
a valoare a dublului
num
ar de impulsuri aplicate, 2NCLK , plus 1, atunci la aplicarea urm
atorului impuls de ceas
se genereaz
a valoarea Sn+1 . Structurarea pe baz
a de acumulatoare care realizeaz
a acest
calcul este prezentat
a n Figura 3.75-a. Acumulatorul Acc Q2 opereaz
a ca un sumator de
acumulare cu C1 = 1 deci un num
ar
ator n cod biar natural pentru num
arul impulsurilor
aplicate, NCLK .
N2CLK

Acc Q1

z3

z2

z1

Q
C O 13

Q12

Q11

z0
Q10 CLK

C1

a)

Acc Q2

Q
C O 23

Q22

Q21

0
N CLK =0
z3 z2 z1 z0
Q13Q12Q11Q10

b)
2

N CLK 0 0 0 0
Q23Q22Q21Q20
0

N CLK =1
z3 z2 z1 z0
Q13Q12Q11Q10

0 0 0 1
Q23Q22Q21Q20
0

Q20 CLK

C1

0
N CLK =3
z3 z2 z1 z0
Q13Q12Q11Q10
1 0 0 1

N CLK =2
z3 z2 z1 z0
Q13Q12Q11Q10

0 1 0 0
Q23Q22Q21Q20
0

NCLK

1 0

Q23Q22Q21Q20
0

1 1

N CLK =4
z3 z2 z1 z0
Q13Q12Q11Q10
0 0 0 0

Q23Q22Q21Q20
0

0 0

2
Figura 3.75 Calculul p
atratului num
arului de impulsuri receptionate N CLK
:
a) structur
a de circuit pe baz
a de acumulatoare; b) modificarea continuturilor acumulatoarelor pentru aplicarea succesiv
a a patru impulsuri de intrare, NCLK = 4.

Acc Q1 , pe ale c
arui intr
ari se aplic
a dublul num
arului de impulsuri deja receptionate
2NCLK (nmultirea cu 2 se obtine prin deplasarea cu un rang spre st
anga a celulelor lui
Acc Q2 fata
de Acc Q1 ) plus 1 (este transportul anterior, C1 = 1) la aplicarea urm
atorului
impuls prin sumare a 2NCLK + 1 la Sn (deja existent
a n Acc Q1 ) va genera la iesire codul
binar z3 z2 z1 z0 pentru valoarea lui (NCLK + 1)2 . Analiza modific
arii continuturilor pentru
4 impulsuri aplicate succesiv n cele dou
a acumulatoare este prezentat
a n Figura 3.75-b;
pentru valori care necesit
a o exprimare pe mai mult de patru biti se extinde num
arul de
celule pe acumulatoare.

448

3.5.3

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Structura pipeline

Structura pipeline (conduct


a) este un suport hardware pentru a reduce timpul de
procesare pe un CLC. Procesarea clasic
a a unui flux de date pe un CLC presupune
o organizare ca cea prezentat
a n Figura 3.76. Un esantion de date este nscris, prin
activarea semnalului de ceas, n registrul de intrare R1 si aplicat pe intr
arile CLC,
apoi la urm
atorul semnal de ceas datele procesate n CLC sunt stocate n registrul
de iesire R2 . Perioada minim
a TCLK trebuie s
a fie mai mare dec
at suma timpilor:
pR -timpul de propagare prin registrul de intrare (care este de fapt pCQ ), pCLC -timpul
de propagare prin CLC, SU -timpul de stabilizare de la intrarea registrului de iesire.
TCLK(min) pR + pCLK + SU
x0
x1

R1

x k1

CLC

(3.45)
y0
y1

R2

CLK

yp1

CLK

a)

CLK

CLK

b)

PR

c)

CLK

d)

CLK

PCLC

CLC i+1

CLK

CLC i+2

Rn

CLC i

OP i+2

R i+3

CLK

OP i+1

R i+2

CLK

OP i

R i+1

x k1

Ri

x0
x1

R1

CLK

CLK

y0
y1
yp1

SU

1
2

Figura 3.76 Organizarea de tip pipeline: a) structurarea pentru o procesare de tip


non-pipe (clasic
a); b) structura unui pipe cu n etape de procesare; semnale de ceas pentru
sincronizarea n pipe (c) cu o singur
a faz
a (pe front) si (d) cu dou
a faze 1 si 2 (pe palier)

Deoarece timpii de nt
arziere cauzati de registre (valori tipice pR 15 30 ns,
SU 5 15 ns) mai pot fi redusi doar de mbun
at
atiri tehnologice, apare evident
faptul c
a m
arirea ratei de procesare a fluxului de date se poate realiza numai printro micsorare a propag
arii pCLC (care depinde de complexitatea retelei CLC, pentru
calcule de tip aritmetic CLC poate avea valori n intervalul 150 300 ns). Uneori,
functia de procesare pe CLC poate fi privit
a ca fiind compus
a dintr-o succesiune de
n subfunctii, fiecare subfunctie put
and fi implementat
a respectiv pe c
ate un circuit
independent CLC1 , CLC2 , ..., CLCn cu timpii de propagare pCLC1 , pCLC2 , ..., pCLCn .
Conform acestei abord
ari, se poate structura o nseriere a acestor n circuite CLC i ,
interfatate prin c
ate un registru (registru pipe), pentru a aplica datele de intrare

3.5. CIRCUITE REGISTRU

449

respectiv pentru a stoca datele de iesire aceasta fiind structurarea de tip pipeline
av
and n etape de procesare, Figura 3.76-b.
Inscriind un set de date, xk1 , xk2 , ..., x1 , x0 , n primul registru pipe, R1 , pe
frontul activ al semnalului de ceas, acestea vor fi apoi procesate si stocate succesiv
n toate celelate (n 1) etape din pipe, iar dup
a (n 1) tacte se obtin datele de
iesire, yp1 , yp2 , ..., y1 , y0 . Dac
a fluxul de date aplicat pe intrare este continuu, dup
a
intervalul de timp n tacte de ceas latent
a n pipe (timpul de umplere al conductei),
la fiecare urm
ator tact se obtine un set de date prelucrate la iesire. Perioada minim
a
a impulsului de tact se calculeaz
a tot cu relatia 3.45 dar, de data aceasta, se consider
a
timpul de propagare maxim (care corespunde subfunctiei cu timpul cel mai lung de
procesare).
TCLK(min) pR + max{pCLC1 , pCLC2 , ..., pCLCn } + SU
< pR + pCLC + SU

(3.46)

si n ipoteza c
a toate registrele pipe sunt identice, deci au aceleasi valori pentru SU
si pR .
In raport cu procesarea clasic
a (non-pipe) la procesarea de tip pipeline se obtine
o crestere de vitez
a egal
a cu raportul timpilor calculati dup
a relatiile 3.46 si 3.47,
dar aceast
a crestere de vitez
a se obtine numai dup
a ce primul set de date a iesit din
ultima etap
a iar fluxul de date la intrarea n prim
a etap
a este continuu. Dac
a fluxul
de date nu este continuu, cu ntreruperi frecvente, deci la fiecare reumplere a pipe-ului
se consum
a un timp egal cu latenta
n pipe, atunci se poate ajunge la un timp mediu
de procesare mai mare dec
at la procesarea non-pipe!
Relatia de timp 3.46, ntre perioada tactului de ceas si timpii dintr-o etap
a a
pipe-ului, este explicitat
a grafic n Figura 3.76-c, c
and semnalul de ceas este activ
pe frontul pozitiv. C
and registrele pipe sunt realizate din latch-uri D comanda se
efectueaz
a pe palier cu dou
a semnale 1 si 2 defazate si nesuprapuse, Figura 3.76-d;
datele n pipe curg alternativ, din etape cu num
ar impar n etape cu num
ar par,
comandate alternativ de cele dou
a faze 1 si 2 .
O uniformizare a unei implement
ari de tip pipe se poate obtine dac
a, n fiecare
etap
a, pentru CLC-ul este utilizat
a o aceeasi structur
a programabil
a care se programeaz
a pentru operatia specific
a OPi cerut
a n etapa i de procesare printr-un cuv
ant
de control cu m biti. Un astfel de CLC programabil poate fi un MUX2m :1, programat
m
s
a genereze una din cele 22 functii de m variabile. Intr-o etap
a din pipe se poate
sc
adea timpul de propagare p
ana la patru niveluri logice, un AND-OR pe CLC si nc
a
dou
a niveluri dac
a registrul pipe este un registru latch. Totusi, exist
a o variant
a prin
care timpul se poate reduce chiar p
an
a la dou
a niveluri de propagare, care acoper
a
at
at propagarea c
at si memorarea, dac
a se utilizeaz
a latch-uri Early, Figura 3.41.
Organizarea de tip pipeline este modul comun pentru structurarea c
aii de date
a microprocesoarelor actuale. Executia unei instructiuni (ciclul de executie) se descompune n n subcicluri, deci calea de date se granuleaz
a n n etape succesive de
procesare. Dac
a se reuseste alimentarea continu
a cu instructiuni n calea de date
atunci viteza de procesare a microprocesorului creste (teoretic!) de n ori fata
de un
procesor o cu cale de date non-pipe.

450

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

3.5.4

Registrul de deplasare

Registrul de deplasare, la fel ca si registrul paralel, este o structur


a simpl
a ce
se obtine prin nserierea de celule bistabil, uzual de tip D, de unde si denumirea de
registru de deplasare serie sau mai frecvent, registru serial. In Figura 3.77-a este
0
Q

Q4
y(t)
Iesire
serie

Q
1

Q D

Q D

Q D

Q D

CLK

CLK

CLK

CLK

QN

QN

CLEAR

QN

CLEAR

x(t)
Intrare
serie

QN

CLEAR

CLEAR

CLK

RESET

(1011)

(011)

(11)

(1)

(0000)

(0000)

a)

Q4

Q3

Q2

Q1

VDD
T12

O1

V0
Iesire
serie

T11

T13
C04

T9

O2

T10
C03

Cin

celula 4

T8

celula 3

T6

O1

Cin

T5

T7
C02

T3

O2

T4
C01

Cin

celula 2

O1

x(t)

T2

T1
Cin

intrare
serie

celula 1

b)
n

Qn

n1

n1

Q3

Q2

Q1

c)

Figura 3.77 Registru de deplasare: a) structurarea si functionarea unui registru de


deplasare cu patru celule (n = 4); b) registru de deplasare, n = 4, pe baz
a de inversoare
dinamice cu raport; c) simbol pentru registru de deplasare compus din n celule (ca retea
digital
a de nt
arziere)

prezentat
a organizarea unui registru, prin nserierea a patru celule bistabil D, precum
si functionarea sa la aplicarea pe intrarea serie a cuv
antului X = 1011. Consider
and
initial continutul registrului Q4 Q3 Q2 Q1 = 0000 la primul impuls de ceas, pe front
pozitiv, bitul cel mai semnificativ, MSB, este introdus n celula Q1 , deci continutul
registrului serial este Q4 Q3 Q2 Q1 = 0001. La al doilea impuls de ceas continutul din
prima celul
a, Q1 = 1, este transferat n celula a doua, deci Q2 = 1, iar n prima celul
a
se nscrie valoarea bitului urm
ator dup
a MSB, deci Q1 = 0, rezult
and continutul
registrului Q4 Q3 Q2 Q1 = 0010. La al patrulea impuls de ceas ntreg cuv
antul 1011 a

3.5. CIRCUITE REGISTRU

451

fost deja introdus n registru iar continutul acestuia este Q4 Q3 Q2 Q1 = 1011; valoarea
MSB este disponibil
a la iesirea serie. Incep
and cu al cincilea impuls de ceas, transferul
serial celul
a dup
a celul
a se continu
a, bitul din celula Q4 se pierde, fiind nscris cu bitul
care a fost n celula Q3 , la fel si n celula Q1 , se nscrie valoarea Q1 = 0, deoarece
cuv
antul X = 1011 aplicat pe intrare a fost deja introdus. Pe tactele de ceas 4, 5,
6, 7 pe iesirea serie se obtine cuv
antul Y care este identic cu cuv
antul X aplicat pe
intrarea serie pe tactele 1, 2, 3, 4, deci dup
a un interval de patru tacte, la al optulea
tact continutul registrului va fi din nou Q4 Q3 Q2 Q1 = 0000. Pe un registru serial de
n celule transferul unui bit aplicat pe intrare si p
an
a la iesire se face pe durata a n
perioade de ceas, iar transferul p
an
a la o iesire intermediar
a i, 1 i < n, necesita
i perioade de ceas. Formal, transferul prin registrul serial poate fi exprimat n felul
urm
ator:

Qi (t + T ) = Qi1 (t) CLK
Qi (t + iT ) = x(t)
(3.47)
Q1 (t + T ) = x(t) CLK
unde x(t) este valoarea bitului, din cuv
antul X, aplicat pe intrarea serie la momentul
t.
Fizic, transferul corect prin registrul serial, pe durata unui tact, bitul de la celula
Qi la celula Qi+1 , poate fi realizat numai dac
a timpul de mentinere de la celula
urm
atoare, Qi+1 , este mai mic dec
at timpul de propagare pe celula anterioar
a, Qi ,
H(Qi+1 ) < pCQ(Qi) . Dac
a aceast
a conditie nu este ndeplinit
a nseamn
a c
a semnalul
pe intrarea de date al celulei Qi+1 , care este semnalul de iesire de la celula anterioar
a,
se modific
a n fereasta de decizie (relatia 3.23, Figura 3.46 a si b). La bistabile
este ndeplinit
a relatia H < pCQ deci, dac
a registrul serial se realizeaz
a cu acelasi tip
de registre, atunci este realizat
a conditia anterioar
a de transfer corect. Dac
a celulele
registrului serial sunt latch-uri, care sunt transparente pe durata palierului activ de
ceas, atunci un bit este transferat continuu nspre iesire din celul
a n celul
a c
at timp
se mentine activ palierul semnalului de ceas.
Pentru implement
arile integrate, mai ales pentru num
ar de celule de valoare
ridicat
a, sunt recomandate structurile de registre serie pe baz
a de celule dinamice.
Toate astfel de registre dinamice se comand
a prin dou
a semnale de ceas 1 , 2 ,
Figura 3.76-d, nesuprapuse si aplicate alternativ. In Figura 3.77-b este prezentat un
registru serie cu patru celule, fiecare celul
a fiind un invers dinamic cu tranzistoare
nMOS. Pentru micsorarea puterii disipate tranzistoarele de sarcin
a, T3 , T6 , T9 si T12 ,
sunt n conductie numai pe durata palierului 2 . Pe durata palierului activ 1 valoarea tensiunii de intrare, corespunz
atoare bitului x(t) aplicat pe intrarea serie, este
transferat
a, prin tranzistorul de trecere T1 , condensatorului Cin1 de pe intrarea primei
celule 1. Valoarea tensiunii pe Cin1 , dup
a anularea semnalului 1 , nu trebuie s
a ias
a
din intervalul VH (ori VL ) p
an
a la activarea semnalului 2 . La activarea lui 2 ,
tranzistorul T3 intr
a n conductie, condensatorul C01 de pe iesirea primului inversor
se ncarc
a la tensiunea corespunz
atoare care, prin tranzistorul de trecere T 4 comandat
n conductie tot de 2 , este transferat
a ca tensiune de nc
arcare si pe condensatorul
Cin2 de pe intrarea celulei a doua. C
and semnalul 1 devine din nou activ tensiunea
de pe C02 , corespunz
atoare tensinii de pe Cin2 , este transferat
a pe condensatorul Cin3
de la intrarea celulei a treia si de asemenea, tensiunea corespunz
atoare urm
atorului
bit de pe intrarea x(t + T ) este transferat
a condensatorului Cin1 , de la intrarea primei
celule. Sunt comandate succesiv: nt
ai toate celulele cu num
ar impar cu faza 1 , apoi

452

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

toate celulele cu num


ar par cu faza 2 .
Registrul serie dinamic prezentat mai este referit si ca registru serie dinamic
cu raport. Termenul de raport specific
a faptul c
a n layout-ul inversorului trebuie
realizat
a o anumit
a valoare a raportului ntre coeficientul W/L al tranzistorului inversor si coeficientul W/L al tranzistorului de sarcin
a. Numai realiz
and un anumit
raport tensiunea de iesire V0L a etajului inversor, de pe condensatorul C0 , care se
transfer
a prin tranzistorul de trecere ca tensiune de intrare la inversorul urm
ator,
poate nc
arca Cin la o valoare n intervalul VL ; tensiunea corespunz
atoare pe intrarea inversorului este n intervalul VH . Se pot realiza celule de inversor dinamic
si far
a raport. La un inversor far
a raport un semnal de ceas comand
a tranzistorul
de sarcin
a si simultan tranzistorul de trecere care ncarc
a capacitatea de pe propria
intrare, nu si tranzistorul de trecere care ncarc
a intrarea inversorului urm
ator cum
este la structura cu raport; ncercati s
a desenati aceast
a structurare. O structur
a de
registru serial CMOS dinamic se poate obtine simplu prin nserierea de celule ca cea
prezentat
a n Figura 1.54-b; trebuie ca cele dou
a porti de transmisie corespunz
atoare
la dou
a inversoare succesive s
a fie comandate una cu 1 /2 iar cealalt
a cu 2 /1 .
Registrul serie, n functionarea corect
a, poate realiza nt
arzieri controlate, de multiplii ai perioadei semnalului de ceas, ntre semnalul aplicat pe intrarea serie si momentul obtinerii acestuia la iesirile diferitelor celule componente, deci poate fi considerat
echivalentul n digital al liniei de nt
arziere analogic
a cu nt
arzieri multiple. Dac
a se
exprim
a operatia de nt
arziere cu o perioad
a de ceas, a unui bit b printr-o celul
a a registrului, cu simbolul (operatorul) Db, iar operatia de deplasare a bitului b prin i celule
ale registrului cu D i b (o aplicare de i ori a operatorului D(D(D. . .D(b)). . .)) = D i b)
se poate considera o reprezentare generic
a pentru un registru serie cea din Figura
3.77-c. Bitul b aplicat pe intrare devine iesirea Qi dup
a i operatii de nt
arziere:
Qi = Di b, 1 i n, D0 b = Ib = b

(3.48)

unde I este operatorul unitar (identic).


Pentru un cuv
ant X cu lungimea de n biti X = bn bn1 . . .b2 b1 introdus bit dup
a
bit, ncep
and cu cel mai semnificativ, bn , prin aplicarea succesiv
a a unui num
ar de n
tacte, ntr-un registru de deplasare cu n celule, conform relatiei 3.47 se poate adopta
o exprimare polinomial
a (dup
a puterile lui D)
X = bn Dn + bn1 Dn1 + . . . + b2 D2 + b1 D1

(3.49)

continutul celulelor bistabil fiind: Qn = bn , Qn1 = bn1 ,. . . , Q2 = b2 si Q1 = b1 .


Deoarece tactul de ceas se aplic
a sincron la toate celulele, analiza continutului registrului, valorile Qi , se consider
a numai pe durata dintre fronturile active de ceas
,,
(interval numit uneori dit ).
,,
Registrul, intuitiv, poate fi considerat ca o lup
a sub care intr
a sirul X n devenire
spre sirul Y . In aceat
a abordare, registrul de deplasare serie poate fi utilizat pentru
o implementare alternativ
a a automatelor de identificare a anumitor secvente.
Exemplul 3.27 Automatul cu graful de tranzitie din Exemplul 3.3 sa se implementeze
pe baz
a de registre de deplasare.
,,
Solutie. C
and n sirurile de biti de intrare x1 , x0 , intrate sub lupa a dou
a registre de
deplasare, se identific
a secventa de perechi 00, 00, 11, 10 si se genereaz
a iesirea y = 1.

453

3.5. CIRCUITE REGISTRU


0

Q
D
CLK

Q
D
CLK

QN

Q
CLK

QN

QN

Q
QN

Q
D
CLK

Q
D
CLK

QN

Q
QN

x1

QN

QN

x0

CLK

Figura 3.78 Modalitate alternativ


a, pe baz
a de registru de deplasare, pentru un
automat de identificare de secvete.

Implementarea corespunz
atoare este cea din Figura 3.78; dou
a registre serie de patru
celule, unul pentru sirul intr
ari x1 , altul pentru sirul intr
ari x2 , iar iesirile lor se compar
a
,,
permanent pe o retea de porti AND. In raport cu implementarea clasic
a de automat, unde
este necesar un registru de stare cu trei celule plus partea de CLC, aceast
a implementare
necesit
a mai mult
a circuistic
a dar, n schimb, se elimin
a efortul de sintez
a pentru automat,
structurarea fiind intuitiv
a si imediat
a.

Registrul inel. Structura de registru inel se obtine dintr-un registru de deplasare


la care iesirea serie se conecteaz
a la intrarea serie, deci se nchide o bucl
a de reactie
n jurul registrului de deplasare. La un registru inel cuv
antul initial nu este pierdut
prin deplasarea sa, ci este recirculat n interiorul inelului. Exprimarea formal
a a
transferului ciclic se obtine, prin adaptarea relatiilor (3.47) la existenta reactiei, n
felul urm
ator:
Qi (t + T ) = Qi1 (t) CLK,

Q1 (t + T ) = Qn (t) CLK.

(3.50)

O structur
a de registru inel, compus din patru celule bistabil D, este prezentat
a
n Figura 3.79-a. In general, ntr-un registru inel se forteaz
a initial, prin intr
arile
asincrone CLEAR si PRESET ale celulelor, un cuv
ant care are numai bitul cel mai
putin semnificativ egal cu 1, restul bitilor fiind zerouri. Prin deplasarea acestui cuv
ant
bitul cu valoarea 1 va ocupa toate cele n pozitii din registru, iar dup
a n impulsuri
de tact bitul cu valoarea 1 ajunge n pozitia initial
a. Aceast
a deplasare liniar
a poate
fi asociat
a cu functionarea unui num
ar
ator modulo n, dup
a n impulsuri se ajunge la
acelasi continut n inel, de unde si denumirea, uneori, de num
ar
ator n inel. Pentru
registrul inel cu patru celule, succesiunea de cuvinte din inel este: 0001, 0010, 0100,
1000, 0001,. . .. Registrul inel este de fapt un automat Moore, starea urm
atoare se
calculeaz
a din starea prezent
a cu ajutorul relatiilor (3.50) care de fapt sunt functiile
de excitatie (pentru uniformitate, n tratare ca automat, cuv
antul de stare este notat
si prin z4 z3 z2 z1 .
Nu se recomand
a utilizarea unui num
ar
ator n inel n raport cu un num
ar
ator clasic

454

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
z3

z4

z2

z1
CLK

PRESET

PRESET

Q 4D

Q CLK

PRESET

Q3

Q CLK

Q CLK

CLEAR

CLEAR

Q1D

CLK

Q CLK

CLEAR

RESET

(Initializare)

z4

z3

Q4

CLK

Q3

CLEAR

z1

z2

CLK

CLEAR

Q
Q

Q2

CLK

CLEAR

F 2,(z 2)

Q1

F 4,(z 4)

b)

Q1

F1

Q2

CLK

Q1
Q2

CLK

Q2
Q3

F5 Q
2
Q3

d)

CLEAR

F2 Q
3
Q4

F3 Q1

F4

F6

F7

F8

Q3
Q4

Q4

Q4
Q1

RESET

c)
Impuls
de ceas

z4

z3

z2

z1

0
1
2
3

0
0

0
0

0
1

0
0

4
5
6

1
1
1

0
1
1
1
1

0
0
1

0
0

0
0
1

7
8

9
10
11

e)

F 3,(z 3)

CLEAR

a)

F 1,(z 1)

PRESET

Q2

0
0

0
0
1

1
1
1
0

CLK

10

F1
F2

1
1

F3

1
0
0
0
0
1

F4

F8

F5
F6
F7

f)

Figura 3.79 Registrul inel: a) structur


a de registru inel cu patru celule (n = 4);
b) diagrama semnalelor de faze generate de un registru inel cu n = 4; c) structur
a de
num
ar
ator Johnson cu n = 4 si succesiunea normal
a a cuvintelor n procesul de num
arare
(e); d) decodificatorul de faze pentru un num
ar
ator Johnson cu n = 4 si diagrama corespunz
atoare pentru semnalele de faz
a (f).

n cod binar deoarece primul necesit


a n celule bistabil pe c
and al doilea numai log2 n
celule bistabil. Totusi, num
ar
atorul inel poate fi utilizat pentru producerea dintr-o
secventa
de n impulsuri de ceas a unui num
ar de n semnale defazate si nesuprapuse
fiecare cu frecventa 1/n, adic
a pentru realizarea unui generator de faze. Registrul
inel, prin modul s
au de functionare, este un generator de faze, fiecare bit zi , 1 i n,
al cuv
antului de stare este o faz
a Fi ; n Figura 3.79-b sunt prezentate fazele generate
de un registru inel cu n = 4. Uneori, n registrul inel este recirculat un compact de
m 1-uri n interiorul cuv
antului de n biti. Pentru aceast
a functionare se pot genera
cele n faze printr-un sistem de porti AND cu dou
a intr
ari; poarta care genereaz
ao
faz
a la un moment dat are o intrare conectat
a la celula care indic
a primul bit 1 din

3.5. CIRCUITE REGISTRU

455

compact, iar cealalt


a intrare la celula care indic
a ultimul bit din compact.
Uzual, un generator de n faze se structureaz
a dintr-un num
ar
ator modulo n care
comand
a un decodificator cu dlog2 ne intr
ari si n iesiri; iesirea i a decodificatorului
fiind faza Fi . Dar, deoarece iesirile num
ar
atorului nu comut
a simultan, chiar si la
un num
ar
ator sincron(!), iar decodificatorul poate introduce hazard, n iesirile decodificatorului/(faze) se produc glitch-uri. Pentru eliminarea glitch-urilor iesirile decodificatorului sunt introduse ntr-un registru, comandat pe nc
arcare cu un semnal
complementat fata
de semnalul de ceas care este aplicat num
ar
atorului, deci sem,,
nalele de faz
a de la iesirea registrului sunt curate dar si generate cu nt
arziere fata

de num
arul corespunz
ator din num
ar
ator. Evident c
a, n raport cu aceast
a structurare de generator de faze, simplitatea generatorului de faze cu registru inel este
preferat
a.
Num
ar
atorul n inel, analizat ca automat, utilizeaz
a din cele 2n st
ari posibile doar
n
n st
ari, restul de (2 n) st
ari sunt ilegale pentru functionarea sa. Dac
a automatul
ajunge accidental, de exemplu, la aplicarea tensiunii sau datorit
a zgomotului, ntr-o
stare ilegal
a poate r
am
ane un timp indefinit n starea respectiv
a sau se realizeaz
a un
ciclu ntre st
ari ilegale pe care le parcurge, la fel, indefinit. De exemplu, pentru un
num
ar
ator n inel cu patru celule (n = 4), modulo 4, care are numai 4 st
ari normale, la
functionarea normal
a se parcurge ciclul compus din urm
atoarea succesiune de cuvinte
de stare: 0001, 0010, 0100, 1000, 0001, . . . .Intre restul de (24 4 = 12) st
ari ilegale,
c
and una din acestea apare accidental n num
ar
atorul n inel, se poate stabili unul
din urm
atoarele 5 cicluri (care reprezint
a o functionare anormal
a):
1. 0000, 0000, 0000, 0000, . . .
2. 0101, 1010, 0101, 1010, . . .
3. 0011, 0110, 1100, 1001, 0011, 0110, . . .
4. 0111, 1110, 1101, 1011, 0111, 1110, . . .
5. 1111, 1111, 1111, 1111, . . .
Pentru eliminarea function
arii anormale se utilizeaz
a, n sintez
a, abordarea de risc
minim, Figura 3.30-b, adic
a din oricare stare ilegal
a se dirijeaz
a tranzitii, ntr-un
num
ar finit de tacte, spre o stare legal
a. Practic, num
ar
atorul n inel cu n = 4 se
realizeaz
a cu un circuit de autocorectie care este o poart
a NOR cu trei intr
ari; la
intr
arile portii NOR se aplic
a bitii z4 , z3 , z2 ai cuv
antului de stare iar iesirea portii
se introduce, ca semnal de reactie, la prima celul
a. Deci reactia nu se mai realizeaz
a
ca n ecuatia (3.50) ci prin ecuatia
Q1 (t + T ) = (Q3 (t) + Q2 (t) + Q1 (t)) CLK

(3.51)

De exemplu, dac
a n num
ar
ator apare accidental cuv
antul de stare 1011, pe urm
atoarele dou
a tacte, deoarece Q1 este produs permanent de poarta NOR, st
arile vor fi
0110, 1100, iar la al treilea tact se nscrie starea normal
a 1000, deci num
ar
atorul intr
a
n ciclul de functionare normal
a (vezi problema P3.78). In general, un num
ar
ator n
inel modulo n cu autocorectie utilizeaz
a o poart
a NOR cu (n1) intr
ari, iar corectarea
se realizeaz
a n maximum (n 1) tacte.

456

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Num
ar
atorul Johnson (sau Moebius). Acest tip de num
ar
ator este tot un
registru inel cu particularitatea c
a reactia de la celula Qn la celula Q1 se complementeaz
a, adic
a se culege de pe QN . O structur
a de num
ar
ator Johnson cu patru
celule, pe baz
a de bistabile JK, este prezentat
a n Figura 3.79-c. Functiile de excitate
pentru toate celulele r
am
an acelasi ca si la registrul inel, wJi = Qi1 , wKi = QN (i1) ,
n afar
a de prima celul
a unde prin reactia inversat
a se introduce un defazaj de 180 ,
wJ1 = QN n , wK1 = Qn ; de fapt si la implementarea cu bistabile JK celulele au o
functionare de bistabil D, deoarece intr
arile fiec
arei celule sunt comandate n opozitie
(de la Q si QN ale celulei anterioare). Spre deosebire de un registru inel cu n celule,
care genereaz
a n ciclul s
au n cuvinte de stare, num
ar
arorul Johnson cu n celule poate
avea 2n st
ari. Denumirea si de num
ar
ator Moebius este datorit
a aseman
arii care se
face cu bucla Moebius. Aceast
a bucl
a se poate confectiona dintr-o band
a de h
artie
care, nainte de a se uni (si lipi) cele dou
a capete, se r
asuceste o dat
a (ncercati).
Pornind cu un creion, dintr-un punct al buclei Moebius, drumul parcurs p
an
a se
ajunge n acelasi punct este dublu fata
de lungimea benzii deoarece se parcurg ambele fete ntr-un traseu continuu.
Pentru num
ar
atorul Johnson, cu n = 4 din figur
a, prin activarea semnalului
RESET = 0 cuv
antul nscris va fi z4 z3 z2 z1 = 0000. La primul impuls de ceas n
celula Q1 se nscrie 1 deoarece, prin reactia inversat
a, intr
arile de date au valorile wJ1 = QN 4 = 1 si wK1 = Q4 = 0. Se continu
a nscrierea n Q1 a valorii
1 si pe urm
atoarele trei impulsuri de ceas, c
and se ajunge n num
ar
ator la starea
z4 z3 z2 z1 = 1111, deci Q4 este nscris n starea 1. La al cincilea impuls de ceas n
Q1 se nscrie valoarea 0, deoarece wJ1 = QN 4 = 0 si wK1 = Q4 = 1, si se continu
a
nscrierea n 0 n aceast
a celul
a si pentru impulsurile 6, 7, 8 c
and se ajunge ca celula
Q4 s
a comute din nou n 0, continutul num
ar
atorului este z4 z3 z2 z1 = 0000, deci ciclul
n num
ar
ator se reia, urm
atoarele patru impulsuri vor nscrie iar
asi Q 1 n starea 1;
aceast
a functionare este sintetizat
a n tabelul din Figura 3.79-e. Ciclul de num
arare
este 2 4 = 8.
Cel mai simplu num
ar
ator Johnson este cel cu n = 1, care se obtine printr-o
reactie inversat
a n jurul unui element de nt
arziere, bistabil D, adic
a bistabilul de tip
T, Figura 3.50-b. Impulsurile de ceas aplicate sunt divizate cu doi, deci un ciclu de
num
arare egal cu 2. Dar se pune ntrebarea: nu se pot realiza num
ar
atoare Johnson
modulo un num
ar impar? R
aspunsul este afirmativ. Se pot realiza si pentru modulo
(2n 1) dac
a prin sinteza, ca automat, se elimin
a una din st
ari, n general starea al
c
arui cod este format numai din 1 (vezi problema 3.75).
Aplicatia cea mai eficient
a pentru num
ar
atorul Johnson este, ca si a num
atorului
n inel, cea de generator de faze. Dar spre deosebire de num
ar
atorul n inel, unde
fazele sunt direct cele n iesiri din celulele bistabil, la num
ar
atorul Johnson cele 2n
faze se genereaz
a prin n porti AND cu dou
a intr
ari; n Figura 3.79-d sunt indicate
conexiunile la intrarea portilor AND2 pentru n = 4, iar n figura 3.79-f diagrama de
semnale pentru fazele generate.
Ca automat, num
ar
atorul Johnson utilizeaz
a n ciclul s
au normal de functionare
numai 2n st
ari din totalul de 2n ; deci un num
ar de (2n 2n) st
ari ilegale (anormale).
Abord
and din punct de vedere al riscului minim, Figura 3.30-b, trebuie realizat un
circuit de autocorectare care va forta, din oricare stare ilegal
a dup
a un num
ar de
maximum (n1) tacte, nscrierea st
arii legale 00 . . . 01. St
arile normale de functionare
sunt numai cele cuprinse in urm
atorul ciclu: 00 . . . 00, 00 . . . 01, 00 . . . 11, . . . , 01 . . . 11,

457

3.5. CIRCUITE REGISTRU

11 . . . 11, 11 . . . 10, 11 . . . 00, . . . , 10 . . . 00, 00 . . . 00, 00 . . . 01, . . . . Oricare cuv


ant
de stare anormal
a, n care poate ajunge accidental num
ar
atorul, poate fi scris numai
sub forma . . . 10 . . . , care dup
a maximum(n 2) tacte de ceas va fi deplasat
n num
ar
ator n pozitia 10 . . . , iar dup
a nc
a n tacte (prin reactia inversat
a) n
,,
pozitia 0 . . . 0. In aceast
a pozitie cuv
antul de stare, prin amprenta lui, cu dou
a
zerouri extreme, pe zn si z1 , poate fi detectat printr-o poart
a NOR, (Qn + Q1 = 1),
iar la urm
atorul tact iesirea portii NOR, care este 1, forteaz
a n num
ar
atorul Johnson
nscrierea cuv
antului (normal) 00 . . . 01 (vezi problema 3.79).

3.5.5

Registrul serie-paralel

Cu n bistabile D se poate realiza un registru serie sau se poate realiza un registru paralel, dar se poate realiza un registru care s
a aib
a functiunile am
andurora?
R
aspunsul este afirmativ, chiar mai mult, ca registru serie, deplasarea poate fi bidirectional
a, st
anga/dreapta si nu numai unidirectional
a. Pentu a implementa toate
aceste functiuni ntr-un singur circuit, referit ca registru serie-paralel, celula bistabil
trebuie inzestrat
a cu un comutator selectabil (multiplexor) pe intrarea de date pentru
a se putea programa conexiunile necesare n functie de realizarea functiunii dorite. O
astfel de celul
a din pozitia i-a a registrului, cu un MUX4:1 pe intrarea de date, a fost
prezentat
a n Figura 3.72-c, cele patru surse de date fiind: dou
a surse (independente)
2Di , 1Di , de nc
arcare paralel
a; o surs
a, 0Di , de nc
arcare de pe magistrala de iesire
si o surs
a, Qi , pentru nc
arcarea cu propria-i dat
a a celulei.
In organizarea de registru serie-paralel, cu partu celule, din Figura 3.80-a fiecare
celul
a este nzestrat
a cu un MUX4:1. (Notatiile sunt cele corespunz
atoare circuitului
registru univerasl 74xx194 care va fi utilizat n problemele atasate acestui capitol).
Cele patru intr
ari, selectate cu semnalele S1 S0 , sunt:
(S1 S0 = 00) pentru mentinerea nemodificat
a a continutului registrului, fiecare
celul
a se rencarc
a la aplicatea impulsului de ceas cu propria dat
a:
wA wB wC wD = Q A Q B Q C Q D
(wA wB wC wD fiind notatia de la automate corespunz
atoare st
arii urm
atoare);
(S1 S0 = 01) pentru deplasare continutului registrului cu o pozitie spre dreapta,
fiecare celul
a se ncarc
a, la aplicarea impulsului de ceas, cu continutul celulei
vecine din st
anga n felul urm
ator: wB = QA , wC = QB , wD = QC , iar
wA = RIN . Intrarea RIN este intrarea serie pentru deplasare spre dreapta, la
aceasta se aplic
a c
ate un bit la fiecare impuls de ceas; aceast
a intrare poate fi
conectat
a la iesirea serie a unui circuit registru similar, situat n st
anga, atunci
c
and se lucreaz
a cu cuvinte multiplu de patru. Iesirea serie pentru deplasarea
spre dreapta este QD ;
(S1 S0 = 10) pentru deplasarea continutului registrului cu o pozitie spre st
anga,
fiecare celul
a se ncarc
a, la aplicarea impulsului de ceas, cu continutul celulei vecine din dreapta n felul urm
ator: wA = QB , wB = QC , wC = QD , wD = LIN .
Intrarea serie pentru deplasarea st
anga este LIN iar iesirea serie este Q A ;
(S1 S0 = 11) pentru nc
arcarea fiec
arei celule cu o dat
a independent
a n felul
urm
ator: wA = A, wB = B, wC = C, wD = D, registrul se ncarc
a (paralel)

458

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

la aplicarea impulsului de ceas, cu cuv


antul de patru biti ABCD de la o surs
a
independent
a.
In tabelul din Figura 3.80-b este sintetizat
a functionarea registrului serie-paralel
care corespunde circuitului 74xx194 iar simbolul de reprezentare pentru acest circuit
este dat n Figura 3.80-c.
QB

QA
Q

QC

CLK

QD

CLK

Q CLEAR

CLK

Q CLEAR

D
CLK

Q CLEAR

Q CLEAR
RESET
CLK

MUX 4:1
11 10 01 00

MUX 4:1
11 10 01 00

MUX 4:1
11 10 01 00

MUX 4:1
11 10 01 00

RIN

a)

Functia
Fara modificare

b)

Depl. dreapta
Depl. stanga
Incarcare

B
Selectare
multiplexor

S1
0
0

1
1

Starea urmatoare

S 0 wA wB
0 QA QB
1 RIN QA
0 QB Q C
1

wC wD
Q C QD
QB Q C
QD LIN
C

74XX194
CLK

CLR S 1

S 0 RIN

S1
So
LIN

QA QB Q C QD

A B C D

LIN

c)

Figura 3.80 Regitrul serie-paralel: a) structurarea pentru un circuit cu patru celule;


b),c) modul de functionare si simbolul de reprezentare pentru circuitul 74xx194, registru
universal cu patru celule.

Pentru un registru operatia de deplasare (shiftare) st


anga/dreapta cu o pozitie a
unui cuv
ant necesit
a un tact, deci pentru n pozitii n tacte; dimensiunea circuitului este
n O(n), iar ad
ancimea n O(1), cu produsul dimensiune-ad
ancime n O(n). Aceeasi
operatie de deplasare, cu oricare num
ar i pozitii, 1 i n, se poate realiza pe
un circuit combinational de deplasare (vezi 2.5.4) ntr-un singur tact; acest circuit
combinational are ad
ancimea n O(log n) iar dimensiunea n O(n log n) rezut
and un
produs dimensiune-ad
ancime n O(n log 2 n). Inc
a o dat
a apare, evident, compromisul
ce trebuie f
acut ntre ad
ancime si dimensiune n alegerea unei solutii (relatia 2.9). In
calea de date a microprocesoarelor, Figura 2.73, unde shiftarea trebuie realizat
a pe
un singur tact, indiferent de num
arul de pozitii ( n), se include pe l
ang
a unitatea
aritmetico-logic
a si un circuit de deplasare combinational, referit prin termenul de
barrel shifter.
La un registru serie-paralel cuv
antul de intrare cu lungimea de n biti poate fi
prezentat pentru nc
arcare fie n format serie, fie n format paralel. Aplicat cuv
antul
de intare, c
ate un bit la fiecare celul
a bistabil, pentru nc
arcarea paralel
a este necesar
un singur tact de ceas, pe c
and la nc
arcarea serie se aplic
a fie la intarea RIN (deplasare

459

3.5. CIRCUITE REGISTRU

dreapta) fie la LIN (deplasare st


anga) c
ate un bit al cuv
antului pentru fiecare tact
de ceas, deci un num
ar de n tacte. De asemenea, pentru iesirea paralel
a cuv
antul cu
lungimea de n biti continut n registru poate fi accesat permanent (dac
a iesirea nu
este de tip TSL), dar la iesirea serie se obtine c
ate un bit la fiecare tact de ceas, deci
cuv
antul se obtine ntr-un num
ar de n tacte. Combin
and cele patru operatii (intrare
serial
a, intrare paralel
a, iesire paralel
a si iesire serial
a) disponibile pe un circuit registru serie-paralel universal apare posibilitatea utiliz
arii registrului ca suport pentru
urm
atoarele patru operatii de conversie/transfer: paralel-paralel, serie-serie,
paralel-serie, serie-paralel, Figura 3.81. Prin schimbarea modurilor de selectare,
pe durata de functionare, se pot succeda at
at pe intrare c
at si pe iesire prezentarea
serie cu cea paralel
a si invers. Conversiile serie-paralel si paralel-serie sunt operatii
fundamentale n implementarea transmisiilor la distanta
pe un singur fir; la emisie
cuvintele, printr-o conversie paralel-serie, sunt serializate, transmise pe un singur fir,
iar la receptie, printr-o conversie serie-paralel, sunt deserilizate.

CLK

LOAD

Intrare
date

CLK

LOAD

Intrare
date

Iesire
date

Iesire
date

Iesire
date

CLK

LOAD

Intrare
date

Iesire
date
CLK

LOAD

Intrare
date

Figura 3.81 Registrul serie-paralel utilizat pentru functiunile de: a) transfer


paralel-paralel; b) transfer serie-serie; c) conversie paralel-serie; d-conversie serie-paralel.

Se poate realiza un circuit din k registre serie, fiecare cu lungimea de n biti,


cu deplasare st
anga-dreapta (reversibil), iar deplas
arile (nr. de pozitii, sens) se fac
sincron n toate aceste registre. Intr-un astfel de circuit pot fi stocate n cuvinte fiecare
cu lungimea de k biti, deci poate fi privit ca o memorie de capacitate (n k) biti. Se
pot realiza, pe aceast
a structurare, dou
a tipuri (speciale) de memorie:
1. Memoria FIFO (First-In-First-Out). Pe fiecare impuls de tact se nscrie n
celulele bistabile de intrare (20 ) un cuv
ant cu lungimea de k biti si este deplasat
st
anga cu o pozitie. Dup
a n tacte s-au nscris n registre n cuvinte si pe tactele
n+1, n+2, n+3, . . . . se obtin la iesire (celulele bistabile de pondere 2n1 )
cuvintele n ordinea n care au fost nscrise (primul nscris primul citit!)
2. Memoria LIFO (Last-In-First-Out). Pentru nscriere se procedeaz
a ca si la
memoria FIFO (deplasare st
anga) dar de data aceasta citirea nu se mai face pe
celulele de iesire ci pe celulele bistabile de intrare (cu ponderea 20 ), la care de
fapt s-a introdus cuv
antul. Pentru citirea cuvintelor nscrise n memorie LIFO
comanda de citire produce o deplasare dreapta, deci la celulele bistabil de intrare
se obtine ultimul cuv
ant introdus (ultimul nscris primul citit!).
Exemplul 3.28 In sistemele de calcul, n general, procesarea si transferul informatiei,
reprezentat
a sub form
a de cuv
ant, se realizeaz
a simultan asupra tuturor bitilor cuv
antului
respectiv - aceasta este procesarea paralel
a. In unele situatii, procesarea sau transferul paralel este nlocuit cu variantele seriale, adic
a succesiv bit dup
a bit pentru cuv
antul respectiv.

460

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Un caz tipic, n acest sens, este transmisia la distanta pentru care se procedeaz
a n modul
urm
ator: la partea de emisie, unde informatia ce trebuie transmis
a este sub forma unui
cuv
ant, acesta este serializat, prin intermediul unui registru paralel-serie si transmis bit cu
bit pe un singur fir, iar la receptie cuv
antul este convertit din nou la forma de cuv
ant,
prin intermediul unui registru serie-paralel. In continuare se va prezenta, ca structurare de
principiu, conversia serie-paralel din punctul de receptie, cea paralel-serie dintr-un punct de
,,
emisie poate fi privit
a si realizat
a ca o imagine n oglind
a .
Pentru transferul serial asincron pe o linie se utilizeaz
a urm
atorul protocol, care
este standardizat. Cuvintele sub form
a de byte, se transmit pe linie bit dup
a bit ncep
and
cu D0 (LSB) si termin
and cu D7 (MSB); c
and nu este transmisie pe linie nivelul de tensiune
prezent este H. Transmisia unui cuv
ant de un byte ncepe printr-o tranzitie H L a
tensiunii de pe linie, Figura 3.82-a. Pentru receptor tranzitia H L sesizat
a constituie
informatia c
a ncepe transmisia unui byte (poate fi si un zgomot), iar dac
a nivelul L al liniei
se p
astreaz
a un timp T (durat
a de timp n secunde alocat
a aplic
arii unui bit al cuv
antului) se
,,
consider
a c
a acesta a fost bitul de atentionare (si nu a fost un zgomot care, n general, are
o durat
a mai scurt
a) referit ca bitul de start, aplicat obligatoriu la nceputul transmisiei
fiec
arui byte. Apoi, se transmit cei opt biti ai cuv
antului, fiecare fiind aplicat pe linie o
durat
a T , ncep
and cu D0 si termin
and cu D7 . Valoarea fiec
arui bit receptionat, pentru
a micsora c
at mai mult erorile de transmisie, este testat
a la mijlocul intervalului de timp
T , alocat bitului respectiv; n consecinta
bitul D0 este testat dup
a un interval 3/2T de la
sezizarea unei tranzitii H L (si dac
a nivelul L s-a p
astrat un interval T , bitul de start).
Dup
a cele (8 + 1) intervale T se mai introduc unul sau dou
a intervale T , n care linia este
comandat
a n nivelul H, ce se constituie n unul sau doi biti se stop. Bitul sau bitii de
stop sunt introdusi pentru a preg
ati o transmisie corect
a a urm
atorului cuv
ant, care poate
porni imediat sau oric
and. Deci, pentru transmisia asincron
a a unui cuv
ant de un byte, se
transmit 8 biti de date, un bit de start si unul sau doi biti de stop, de unde referirea ca tip
de transmisie 8/10 sau 8/11.
Viteza de transmisie pe linie se m
asoar
a n baud (rata n Baud, se citeste bauzi) si este
definit
a ca inversul duratei T a celui mai scurt element din codul cuv
antului transmis pe
linie. Unele din frecventele (standard) inferioare sunt: 19200, 9600, 4800, 2400, 600, 300,
150, 110,75. De exemplu, pentru cuvinte n format 8/11, la o rat
a (frecventa) de 110 baud,
se transmit 8 cuvinte adic
a numai 80 biti de informatie (si nu 110); iar la o rat
a de 2400
baud, durata T este de 416 23 s. Realizarea transmisiei asincrone impune ca rata baud s
a
aib
a aceeasi valoare la emisie si la receptie. Termenul asincron, din acest protocol, semnific
a
faptul c
a transmisia/(aparitia) unui cuv
ant n linie poate fi n oricare moment de timp.
In Figura 3.82-b este structurat un bloc de receptie asincron conform protocolului expus
anterior. La aparitia pe linie a unei tranzitii H L bistabilul de control este nscris n starea
Q = 1 care comand
a declansarea astabilului sincronizat, cu o nt
arziere de 23 T . Semnalul
generat de astabil, cu frecventa 1/T , este utilizat ca semnal de ceas, pe frontul pozitiv,
pentru nc
arcarea serial
a n registrul serie de 8 biti a cuv
antului receptionat de pe linie si
pentru num
ar
atorul modulo 8. Dup
a opt tacte de ceas registrul serie este plin cu byte-ul
receptionat iar num
ar
atorul generez
a semnalul RCO. Prin poarta 1, pe durata T /2 al celui
de al optulea impuls de ceas, este generat semnalul (RCO CLK) care comand
a:
1 - nc
arcarea continutului registrului serie Q7 , Q6 , . . . , Q1 , Q0 n registrul paralel de
8 biti, deci la iesirea acestuia se obtine, n paralel, cuv
antul D7 , D6 , . . . , D1 , D0
transmis serial pe linie;
2 - monostabilul care generez
a un impuls CLEAR ce constituie semnalul de reset pentru
bistabilul de control (Q = 0 deci astabilul este blocat) si pentru num
ar
atorul modulo 8.
Blocul de receptie este preg
atit pentru receptia urm
atorului cuv
ant pe linie care poate
apare oric
and dup
a consumarea unuia sau a doi biti de stop. Diagramele semnalelor
pentru procesul de receptie si conversie serie-paralel sunt prezentate n Figura 3.82-c.

461

3.5. CIRCUITE REGISTRU

Bitul
de
start

D1

D0

D2

D3

D4

D5

D6

Stop
bit 1

D7

Stop
bit 2

Bitul
de
start

Timpul de transmisie 1 caracter (8 biti+1 bit de stop+2 biti de stop)

a)
Linie
Intrare
date "1"
serie

Bistabil
de control

CLK

Astabil
sincronizat
Monostabil

CLK

Registru serie, 8 biti

CLEAR

Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0

RCO

Numarator
modulo 8

LOAD

(RCO CLK)

b)

D1

CLK

EN

K
CLEAR

D0

Urmatorul caracter

CLK

Registru paralel, 8 biti

D7 D6 D5 D4 D3 D2 D1 D0

CLEAR

Iesire dateparalel
Stop
bit 1

Bitii cuvantului
de intrareserie
Bistabil de
control

Stop
bit 2

Q
CLK

Date
intrate
in
registrul
serie

Q7

D7 =0

Q6

D 6 =1

Q5

D 5 =0

Q4

D 4 =1

Q3

D 3 =1

Q2

D 2 =0

k
k

D 1 =0

Q1

D 0 =1

Q0

(RCO CLK)

c)

CLEAR
Transmisie
paralela

uP
f)

UART

Bitii
cuvantului
de
iesire
(paralel)

Transmisie
serie

CLK

Registru
receptie
date

Periferic

Conversie
serieparalel

Intrare

Conversie
paralelserie

Iesire
date
serie

date
serie

Buffer

d)

Registru
transmisie
date
CLK

Figura 3.82 Transmisia serial


a asincron
a: a) protocolul tip 8/10 sau 8/11 de transmisie
asincron
a; b) structurarea unui bloc de receptie asincron
a; c) diagrama semnalelor pentru
procesul de conversie serie-paralel; d) structurarea, de principiu, a unui circuit UART si (e)
utilizarea sa ca interfata
ntr-un sistem pe baz
a de microprocesor.

462

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Circuitul UART (Universal Asynchronous Receiver Transmitter), Figura 3.82-d, obtenabil comercial, include at
at partea de receptie c
at si partea de emisie. Partea de receptie, cu
o structur
a similar
a cu cea prezentat
a anterior, receptioneaz
a serie, converteste n paralel si
printr-un registru buffer depune datele pe o magistral
a paralel
a. Partea de emisie, printr-un
buffer, preia datele de pe o magistral
a paralel
a si dup
a o convesie paralel-serie transmite
serial datele pe linie. Un astfel de circuit totdeauna interfateaz
a, ntr-un sistem pe baz
a de
microprocesor, conectarea unui periferic ce are intrarea si iesirea serie, Figura 3.82-e

3.5.6

Circuite liniare cu registre de deplasare

Un sistem, definit ca o aplicatie f de pe multimea intr


arilor X pe multimea iesirilor
Y , Y = f (X) este referit ca fiind liniar dac
a i se poate aplica principiul superpozitiei
(1. r
aspunsul la dou
a sau mai multe intr
ari este egal cu suma r
aspunsurilor la fiecare
intrare n parte: dac
a y1 = f (x1 ), y2 = f (x2 ) atunci y1 + y2 = f (x1 + x2 )); 2.
p
astreaz
a factorul de scalare al intr
arilor (pentru a x af (x)). Pe multimea binar
a
elementele liniare sunt: elementul de nt
arziere (celula bistabil D) si operatorul XOR
(NXOR); nu sunt liniari operatorii OR si AND. Deci sistemele digitale realizate
cu celule D (registre de deplasare) si porti XOR sunt referite ca sisteme
liniare. Pentru sistemele (secventiale) liniare, utiliz
and adunarea modulo 2 si nu
adunarea logic
a, c
and multimea de definitie este 0,1, aritmetica cu care se opereaz
a
este pe c
ampul Galois GF (2); se pot concepe astfel de sisteme pe oricare c
amp Galois
GF (q), vezi sectiunea 1.1.2. Operatiile pe GF (2) sunt identice cu cele din aritmetica
numerelor reale cu deosebire de adunare (care este modulo 2). Pe GF (2) oricare
element, pentru adunare, este identic cu inversul s
au A = A, deci sc
aderea este
identic
a cu adunarea (A A = 0, A 0 = A, A 1 = A). Amintim relatia: dac
a
A B = C atunci A = C B (pentru c
a A B B = C B A = C B),
B = A C si A B C = 0.
Pentru analiza function
arii circuitelor realizate cu porti logice XOR si celule de
nt
arziere cu bistabile D se vor utiliza (pentru comparatie) patru circuite; Figura
3.83: dou
a compuse numai din din c
ate o poart
a XOR si o celul
a D, dar unul din ele
cu reactie; dou
a circuite mai complexe realizate din cinci celule bistabil D si patru
porti XOR, dar unul, de asemenea, cu reactie. Se consider
a c
a toate celulele bistabil
comut
a sincron pe frontul semnalului de ceas. Dup
a aplicarea frontului activ de ceas,
pe durata perioadei de ceas T , iesirea oric
arui circuit se calculeaz
a ca o sum
a modulo
2 ntre valoarea bitului existent pe intrare si cu anumite valori anterioare ale bitilor
din succesiunea X aplicat
a pe intrare, sau cu valorile anumitor biti din succesiunea
Y obtinut
a la iesire, valori care au fost stocate n celule de memorare D. Rezult
a
,,
c
a iesirea depinde, pe l
ang
a intrarea prezent
a si de istoria function
arii circuitului.
Apare o similitudine, n functionare, cu un automat sincron(care la fel depinde de
,,
istoria sa), de unde pentru denumirea acestor circuite liniare s-a ajuns la sintagma
circuite secventiale liniare.
Semnalele utilizate n testarea acestor circuite, prin care se pot evidentia anumite
particularit
ati de structurare ale circuitului respectiv, sunt semnalul impuls unitar si
semnalul treapt
a unitar
a. Pentru sistemele digitale, semnalul impuls unitar este
format din 1 precedat si urmat de un sir infinit de zero-uri, Xi = . . . 0001000 . . ., iar
semnalul treapt
a unitar
a este format dintr-un sir infinit de 1 precedat de un sir

463

3.5. CIRCUITE REGISTRU

DX

Xi = 0 0 0 1 0 0 0 0
CLK= 0 1 2

Y=X + DX

a)

CLK= 0 1 2

Yi1 = 0 0 0 11 0 0 0

H 1 (D) = Y(D) =I + D

000 1 1 1 1 1

X t=

Yt1= 0 0 0 1 0 0 0 0

X(D)

Xi = 0 0 0 1 0 0 0 0

DY

CLK= 0 1 2

X=Y+ DY
Y(D)
X(D)

H 2 (D)

b)

= I

Yt2= 0 0 0 1 0 1 0 1 0

I+D

Xi = 0 0 0 1 1 1 1 1
CLK= 0 1 2

X=

2
3
4
5
= I+D +D +D +D +D

Xt =

000 1 1 1 1 1
CLK= 0 1 2

Yi3 = 0 0 1 1 1 1 0 0

Y=X DX D2X D3X D4X D5X


X(D)

000 1 1 1 1 1
CLK= 0 1 2

Yi2 = 0 0 0 1 1 1 1 1

DX D2X D3X D4X D5X

H 3 (D) Y(D)

Xt =

Yt3 = 0 0 0 1 0 1 0 0 1 1

00 1 0 1 00 1 1 0 0 0 0 0 0 0 0 0
CLK= 1 2

Y 3= 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0

c)
DY D2Y D3Y D4Y D5Y
H 4 (D) =

Y(D)
X(D)

I
2
3
4
5
+
+
+
I D D D +D +D

Y=X+ DY+ D2Y+D3Y+D4Y+D5Y

X i= 0 0 0 1 0 0 0
CLK= 1 2 3

Yi4 = 0
Xt =

30 31 32

0 0 11 0 0 1 0 0 1 1 1 1 1 0 111

0 0 0 1 0 1 0 11 0 1 0 0 0 0 0 11 0 0 1 0

1 ciclu de 31 tacte

000 1 1 1
CLK= 1 2

Xt4=
d)

se repeta

000 1 0 0 0

30 31 32

111 0 1 0 1 0 0

0 11111 0 0 1 1 0 11 0 0 0 0 0 1 0 0 0 1
1 ciclu de 31 tacte

se repeta

Figura 3.83 Secventele de r


aspuns Yi si Yt pentru semnalele de intrare impuls
unitar Xi si treapt
a unitar
a Xt aplicate la: a),c) circuite secventiale liniare far
a reactie;
b),d) circuite secventiale liniare cu reactie.

464

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

infinit de zero-uri Xt = . . . 000111 . . ..


Pentru circuitul simplu din Figura 3.83-a, compus dintr-o poart
a XOR si o celul
a
D se poate deduce simplu modul de calcul al bitului de iesire Y1 = X DX. Rezult
a
c
a fiecare bit de iesire, dup
a aplicarea frontului activ de ceas (tactului) pe durata
perioadei de ceas, TCLK , se calculeaz
a prin sum
a modulo 2 ntre valoarea bitului
prezent pe intrare X si bitul anterior de intrare DX (stocat n celula D), deci Y =
X(I D); I - este operatorul unitar, D 0 = I, relatia 3.48. R
aspunsurile Yi1 si Yt1 , la
aplicarea semnalelor impuls unitar Xi si treapt
a unitar
a Yt , sunt prezentate n aceeasi
figur
a.
Circuitul din Figura 3.83-b, cu aceleasi componente ca si cel din Figura 3.83-a,
dar pentru elementul de nt
arziere fluxul de transfer este de la iesire la intrare, realizeaz
a o reactie, deci se memoreaz
a iesirea, DY . Din structura circuitului se deduce
Y = X DY , care se transform
a n Y DY = X, deci X = Y (I D). Fiecare bit de
iesire, pe durata unei perioade de ceas, TCLK , se calculeaz
a prin sum
a modulo 2 ntre
valoarea bitului prezent pe intrare X si a bitului de iesire DY , care a fost n perioada
anterioar
a a semnalului de ceas (nainte de aplicarea tactului). R
aspunsurile Y i2 si
Yt2 , la aplicarea semnalelor impuls unitar Xi si treapt
a unitar
a Xt , sunt prezentate n
aceeasi figur
a. R
aspunsul la un semnal treapt
a Yt2 este un semnal cu variatie dreptunghiular
a cu perioada 2TCLK (de fapt acest circuit nu este altceva dec
at o transformare a bistbilului D n bistabil T, Figura 3.50-b, care divizeaz
a cu doi frecventa
semnalului de ceas c
and T = 1).
Analiz
and circuitul din Figura 3.83-c se poate deduce usor relatia pentru semnalul
de iesire, Y = X DX D 2 X D3 x D5 X = X(I D D2 D3 D5 ). Bitul de
iesire, pe durata unei perioade de ceas TCLK , se calculeaz
a prin sum
a modulo 2 ntre
valoarea bitului aplicat pe intrare si valorile bitilor anteriori (aplicati cu unu, dou
a,
trei si cinci tacte nainte) din sirul de intrare, valori memorate sub forma DX, D 2 X,
D3 X si D5 X. Dup
a aceast
a regul
a sunt calculate r
aspunsurile la semnal impuls Yi3
si la semnal treapt
a Yt3 , prezentate n aceeasi figur
a.
La circuitul din Figura 3.83-d, din modul de realizare a conexiunilor se deduce
expresia pentru calculul semnalului de iesire Y = X DY D 2 Y D3 Y D5 Y
Y Y X = Y X X DY D 2 Y D3 Y D5 Y X = Y (I D D2
D3 D5 ). Pentru fiecare bit din sirul de intrare, valoarea bitului de iesire se obtine
prin sumare modulo 2 ntre valoarea bitului aplicat pe intrare si valorile bitilor de
iesire anteriori DY , D 2 Y , D3 Y si D5 Y . Spre deosebire de circuitul anterior, unde
n registru de deplasare sunt introdusi bitii sirului de intrare, aici n registrul de
deplasare sunt introdusi bitii sirului de iesire. Aplic
and regula de calcul a circuitului,
pe aceeasi figur
a, sunt prezentate sirurile Yi4 si Yt4 care sunt r
aspunsurile la semnalul
impuls unitar si semnalul treapt
a unitar
a. Ambele r
aspunsuri sunt siruri periodice
de impulsuri, perioad
a ce se ntinde pe durata a 31 impulsuri de tact. Pentru Yi4
se observ
a c
a impulsul unitar de pornire nu se mai aplic
a (la al 31-lea tact de ceas),
deci poate fi considerat ca un ciruit cu functionare autonom
a, cu un ciclu de 31
tacte; pentru amorsare este necesar doar un singur impuls. Circuitele cu functionare
autonom
a sunt utilizate mai mult pentru succesiunea de cuvinte generate n paralel,
la iesirile bistabilelor care formeaz
a registrul de deplasare, dec
at pentru generarea
succesiunii serie de biti la iesire.
Utiliz
and principiul superpozitiei, succesiunea de biti de la iesire, pentru oricare
succesiune de biti aplicat
a la intrare, se poate obtine pe baza r
aspunsului la semnalul

465

3.5. CIRCUITE REGISTRU

impuls unitar. Se va exemplifica pentru circuitul din Figura 3.83-c. Deoarece un


semnal treapt
a unitar
a, Xt , se poate compune printr-o sumare infinit
a de semnale
impuls unitar, Xi , defazat unul de altul cu TCLK , rezult
a r
aspunsul la semnal treapt
a
prin sumare modulo 2 a r
aspunsurilor de semnal impuls n felul urm
ator:
. . . 00010000 . . .
. . . 00010000 . . .
. . . 00010000 . . .
. . . 00010000 . . .

Xt = . . . 1111 . . . . . . . . .

. . . 00011110100 . . .
. . . 00011110100 . . .
. . . 00011110100 . . .
. . . 00011110100 . . .

Xt3 = . . . 101001111 . . .

Invers, deoarece un semnal impuls Xi poate fi compus prin sum


a modulo 2 ntre
dou
a semnale Xt defazate cu TCLK , semnalul Xi3 se obtine prin sumarea modulo 2
ntre dou
a semnale Yt3 (ncercati!). In Figura 3.83-c este prezentat r
aspunsul circuitului si pentru urm
atoarea succesiune de intrare compus
a din sapte biti
X = . . . 0001010011000 . . .. Compun
and aceast
a succesiune din semnale impuls unitar
defazate corespunz
ator se obtine:

. . . 00010000 . . .
. . . 0001111010000 . . .

. . . 0000010000 . . .
. . . 000001111010000 . . .
. . . 000000001111010000 . . .
. . . 0000000010000 . . . Y3 =
X =

.
.
.
00000000010000
.
.
.

. . . 0000000001111010000 . . .

. . . 00010100110000 . . .
. . . 0001100110101110000 . . .

Aceast
a operare n timp asupra bitilor de intrare si asupra bitilor de intrare/iesire
anteriori, stocati n celulele bistabil, este destul de laborioas
a si supus
a la erori, mai
ales dac
a sunt multe celule de memorare. Se poate evita aceast
a operare, printro algebrizare a calculelor, dac
a si sirurile de biti de intrare si cele de iesire sunt
reprezentate ca polinoame dup
a puterile variabilei D. De exemplu, pentru secventa de
7 biti, utilizat
a anterior, X = . . . 0001010011000 . . . se face reprezentarea X(D) = I
D2 D5 D6 . Bitul bi din pozitia i a secventei de intrare este reprezentat n polinom
prin termenul bi Di (pentru bi = 0 0 Di = 0 si pentru bi = 1 1 Di = Di );
primul bit care se aplic
a circuitului, ce corespunde cu MSB, are pozitia zero si are
totdeauna valoarea 1, deci 1D 0 = I. Pentru secventele de impuls unitar Xi si treapt
a
unitar
a Xt se obtin urm
atoarele reprezent
ari polinomiale:
Xi (D) = 1 D0 = I
Xt (D) = I D D2 D3 D4 D5 D6 . . .

(3.52)

Raportul ntre polinomul secventei de iesire Y (D) si al polinomului secventei de


intrare X(D) defineste functia de transfer a circuitului, H(D):
H(D) =

Y (D)
X(D)

(3.53)

Functia de transfer pentru un circuit se deduce din analiza conexiunilor (structurarea) ntre registrul de deplasare si portile XOR. De exemplu, pentru circuitele
f
ar
a reactie din Figura 3.83 se deduc
H1 (D) = (I D)

H3 (D) = I D D2 D3 D5

466

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

iar pentru circuitele cu reactie


H2 (D) = I/I D

H4 (D) = I/(I D D 2 D3 D5 )

Cunosc
and polinomul secventei de intrare X(D) si functia de transfer a circuitului
H(D) cu relatia 3.53 se poate calcula polinomul secventei de iesire Y (D), care este o
mapare a bitilor 1 din secventa de iesire. Prin acest mod de calcul se va exemplifica
n continuare determinarea (si n acelasi timp verificarea) secventelor de iesire pentru
semnalele de intrare prezentate n Figura 3.83-c.
1.

R
aspunsul la treapt
a unitar
a, Xt (D).
Yt3 (D) = H3 (D) Xt (D) = H3 (D) (I D D2 D3 D4 . . .) =
= I H3 (D) D H3 (D) D2 H3 (D) D3 H3 (D) . . . =

= H3 (D) D H3 (D)(I D D2 D3 . . .) = H3 (D) D Yt3


Yt3 (D) D Yt3 (D) = H3 (D) D Yt3 (D) D Yt3 (D) =

= H3 (D) Yt3 (I D) = H3 (D)
Yt3 (D)

= H3 (D)/(I D) = (I D D 2 D3 D5 )/(I D) =
= I D2 D5 D6 D7 . . . deci 0001010011 . . .

(I D D2 D3 D5 ) (D6 D6 ) (D7 D7 ) (D8 D8 ) =



= (I D) (I D)D 2 (I D)D5 (I D)D6 (I D)D7 . . .
2.

R
aspunsul la impuls unitar, Xi (D).
Yi3 (D) = H3 (D)Xi (D) = H3 (D) = IDD2 D3 D5 deci Yi3 = 11110100 . . .

3.

R
aspunsul la secventa X = . . . 0001010011000 . . .
Y3 (D)

= H3 (D) X(D) = (I D D 2 D3 D5 ) (I D2 D5 D6 )
= I D D4 D5 D7 D9 D10 D11

deci Y3 = 110011010111000 . . .
Similar, se pot calcula r
aspunsurile la semnal treapt
a si semnal impuls pentru
circuitul cu reactie cu functia de transfer H4 (D). Dificultatea, de data aceasta, const
a
n faptul c
a pentru Yi4 (D) si Yt4 (D) rezult
a polinoame a c
aror puteri ajung la D 31 .
Dar mai simplu, aceste dou
a polinoame pot fi obtinute invers dac
a sirul de biti, n
timp, pentru Yi4 si Yt4 din Figura 3.83-d este mapat direct n forma polinomial
a
(se consider
a numai puterile pentru care exist
a impuls n r
aspunsul n timp, 0D i =
0,1Di = Di ).
La realizarea unui singur circuit din mai multe circuite componente cu functiile
de transfer H1 (D), H2 (D), . . . Hk (D), pentru determinarea functiei de transfer rezultante H(D), se utilizeaz
a algebra functiilor de transfer. Pentru circuitul obtinut,

467

3.5. CIRCUITE REGISTRU

prin nserierea de circuite componente, functiile de transfer se nmultesc H(D) =


H1 (D) H2 (D) . . . Hk (D); prin conectare n paralel de circuite componente functiile
de transfer se sumeaz
a modulo 2 H(D) = H1 (D) H2 (D) . . . Hk (D), iar pentru
serie paralel sau paralel serie se combin
a nmultirea cu sumarea.
Din analiza circuitelor liniare cu registre de deplasare rezult
a c
a acestea pot fi
utilizate ca filtre binare - o succesiune de biti aplicat
a pe intrare este modificat
a ntro alt
a succesiune de biti de iesire n functie de functia de transfer a circuitului. Dar,
abordarea poate fi si de sintez
a, impun
andu-se transformarea unei anumite secvente de
intrare X(D) ntr-o anumit
a secventa
de iesire Y (D) se determin
a functia de transfer
H(D), apoi din functia de transfer se deduce structura circuitului c
autat.
Pentru circuitul cu functia de transfer H(D) = I D D 3 s
a se
determine secventa de intrare nul
a.
Solutie. Secventa de intrare nul
a X0 (D) este acel sir de biti aplicat pe intrare care
produce pe iesire secventa Y (D) = . . . 0000 . . . , deci respect
a relatia
3
X0 (D)H(D) = X0 (D)DX0 (D)D X0 (D) = 0

X0 (D) = DX0 (D)D3 X0 (D)


Expresia obtinut
a pentru X0 (D) arat
a c
a fiecare bit care trebuie s
a se aplice pe intrare
se calculeaz
a ca sum
a modulo 2 ntre bitii registrului de deplasare din celulele D si D 3 .
Dar pornind din repaus cu acest filtru, adic
a toate celulele pline cu 0, rezult
a c
a adev
arata
secventa
nul
a este un sir de zero-uri (dar care nu va putea scoate filtrul din repaus). Pentru
a scoate filtrul din repaus se accept
a ca secventa de intrare nul
a s
a aib
a primul bit 1, care
genereaz
a si n iesire primul bit 1, ceea ce violeaz
a sirul de zero-uri pe iesire pentru primul
bit. Dar proced
and n acest mod secventa nul
a de iesire este considerat
a ca fiind r
aspunsul
unitar Y (D) = I, deci relatia anterioar
a se rescrie.

Exemplul 3.29

I = X0 (D) H(D) = X0 (D) D X0 (D) D3 X0 (D)

X0 (D) = I/(I D D 3 ) = 1 D D 2 D4 D7 D8 . . .

rezult
a secventele:

X0 =
Y = Xi =

.
.
.
.
. . . 000..1110100..1110100..1110100.. . . .
.
.
.
.
. . . 000..1000000..0000000..0000000.. . . .

(3.54)

Aplicatii n transmisia codurilor ciclice. Oricare CLC cu iesiri multiple


poate fi privit ca un transcodor, Figura 2.33, conversia ntr-un alt cod efectu
andu-se
n paralel. Pentru codurile ciclice, ai c
aror biti se transmit serial, codificarea si decodificarea se realizeaz
a prin trecerea sirului de biti prin circuite secventiale liniare.
Codurile ciclice, care apartin unei clase generale a codurilor algebrice detectoare de
erori, prezint
a distinctiv faptul c
a: dac
a vectorul (bn1 bn2 . . . b3 b2 b1 b0 ) reprezint
a
un cuv
ant al codului atunci si combinatia (b0 bn1 bn2 . . . b3 , b2 b1 ) obtinut
a prin deplasarea ciclic
a a bitilor, apartine de asemenea codului.
In principiu, pentru transmisia codurilor ciclice (secventa X(D)) acestea sunt
aplicate la emisie ntr-un circuit secvential cu functia de transfer H(D) ce genereaz
a
secventa de iesire Y (D). Ceea ce de fapt este o nmultire modulo 2 a polinomului de
intrare X(D) (codul de transmis) cu polinomul circuitului (functia de transfer). Este
posibil ca pe canalul de transmisie s
a fie injectat un zgomot, N , la receptie ajung
and
secventa X 0 (D) = Y 0 (D) + N . Receptia se face printr-un circuit cu o functie de
transfer de forma 1/H(D) obtin
andu-se la iesire secventa:
Y 0 (D) =

1
1
1
(Y (D) + N ) =
(X(D)H(D) + N ) = X(D) +
N
H(D)
H(D)
H(D)

468

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

De data aceasta se realizeaz


a o mp
artire cu acelasi polinom cu care s-a nmultit
le emisie; la o transmisie corect
a restul mp
artirii trebuie s
a fie nul.
Dac
a cuv
antul de cod nu este modificat de zgomot (N = 0) atunci Y 0 (D) = X(D).
1
N , la receptie, va indica transmisia
Dac
a N 6= 0 atunci analiza termenului H(D)
nc
arcat
a cu zgomot a cuv
antului X(D); chiar mai mult, se poate indica pozitia din
cuv
ant a bitului/bitilor modificat/modificati precum si corectarea pentru obtinerea
cuv
antului (initial) corect [Vl
adutiu 0 89].
Exemplul 3.30 In Figura 3.84, un cuvant de patru biti, 1110, din cele 16 posibile,
este transmis printr-o pereche de filtre liniare cu functii inverse. La emisie, cuv
antul este
extins la o lungime de cod de 7 biti, 1110 000, ad
aug
and pe ultimele trei pozitii trei biti
000, referiti ca biti de control. Se obtine la iesire din filtrul de la emisie, care are functia
de transfer H(D) = I D 2 D3 , urm
atorul sir 1100010. In linia de transmisie, un zgomot
injecteaz
a n pozitia a patra din dreapta un bit 1, deci la intrarea filtrului de receptie, cu
functia 1/H(D), se aplic
a sirul X 0 = 1101010. Se obtine sirul de iesire Y 0 = 1111 001 n care
ultimii trei biti de control difer
a de 000, ceea ce indic
a faptul c
a transmisia s-a realizat cu
eroare (pe baza cuv
antului de control 001 se poate detecta si corecta eroarea).)

D3

H(D)=I D2
D

D3

D2

1110 000

0
1
1
1
0
0
0
0

1100010

Emisie

a)

D2

D3

0
0
1
1
1
0
0
0

0
0
0
1
1
1
0
0

0
0
0
0
1
1
1
0

H(D)=

Canal de transmisie

D2

X
0
0
0
1
0
0
0

D2 D3
D

1101010

Y
0
1
1
0
0
0
1
0

0001000

D3

I
I

0
1
1
0
1
0
1
0

1111 001

Receptie

D3

D2

0
0
0
0
1
1
1
1

0
0
0
1
1
1
1
0

0
0
1
1
1
1
0
0

Y
0
1
1
1
1
0
0
1

b)
Figura 3.84 Transmisie cu detectare si corectare de eroare: a) structur
a de circuit
pe baz
a de filtre secventiale liniare cu functii de transfer inverse; b) tabele cu modificarea
continuturilor filtrelor de la emisie si de la receptie.

Circuite liniare cu registre de deplasare cu reactie, autonome. Aceste


circuite dup
a cum reiese si din aceast
a denumire (lung
a!) sunt de fapt filtre binare
cu reactie, prezentate anterior, dar la care este eliminat
a intrarea, referite n literatur
a ca circuite de deplasare cu reactie, LFSR (autonomous Linear-Feedback ShiftRegister). Neexist
and intrare, circuitul dup
a amorsare continu
a s
a genereze un semnal
periodic, prin aplicarea impulsurilor de ceas, ceea ce poate fi analogul discret al unui
oscilator.

469

3.5. CIRCUITE REGISTRU

De exemplu, la circuitul cu reactie din Figura 3.83-d r


aspunsul Yi4 la un semnal
impuls unitar este o secventa
cu o perioad
a de 31 de tacte. De asemenea, la circuitul
cu functia de transfer H(D) = I D 2 D3 din Exemplul 3.29 aplic
and pe intrare
secventa nul
a se obtine pe iesire secventa care este semnalul impuls unitar X i ; dar
dac
a acest circuit este realizat cu reactie, cu functia de transfer 1/H(D) care are
structura circuitului receptor din Figura 3.84-a, atunci aplic
andu-i pe intrare (pentru
amorsare) secventa impuls unitar se obtine pe iesire un semnal periodic care este
secventa nul
a (invers, n raport cu relatia 3.53).
.
.
.
Xi = . . . 000..1000000..0000000.. . . .
.
.
.
Y = . . . 000..1110100..1110100.. . . .
0

La aceste dou
a circuite cu reactie se constat
a c
a fiind n starea zero, toate celulele
pline cu 0, dac
a se aplica
a numai o singur
a dat
a impulsul unitar, vor genera permanent
o secventa
periodic
a, chiar dac
a intrarea este zero, deci au autonomie fata
de intrare.
Structura de principiu pentru un circuit de deplasare cu reactie ca n celule este
prezentat
a n Figura 3.85-a. La sumatoarele modulo 2 intr
arile sunt iesirile din celulele
registrului de deplasare multiplicate cu coeficientii ai , i = 1, 2, . . . , n 1, ai {0,1}.
(De fapt acesti coeficienti indic
a dac
a iesirea celulei i a registrului este conectat
a n
sumarea modulo 2, ai = 1, sau dac
a nu este conectat
a, ai = 0; iesirea din ultima
celul
a totdeauna este conectat
a, an = 1). Un astfel de circuit cu reactie este un
automat deci, pentru analiza sa, este mai potrivit
a abordarea din punct de vedere al
tranzitiei st
arilor si nu descriind sirul bitilor de iesire Y . In Figura 3.83-d, de exemplu,
sirul Yi4 introdus n registrul de deplasare va realiza urm
atoarele tranzitii ale st
arilor
(D5 Y = z5 , D4 Y = z4 , D3 Y = z3 , D2 Y = z2 , DY = z1 ):
z5 z4 z3 z2 z1

0 1 3 6 12 25 18 4 9

19 7 15 31 30 29 27 25

14 28 24 17 2 5 10 21

11 22 13 26 20 9 16 1 . . .

(cifrele ncercuite reprezint


a num
arul n zecimal al echivalentului binar dat de codul
st
arii z5 z4 z3 z2 z1 ).
Particulariz
and structura de principiu la n=4, functia de transfer a st
arilor se
exprim
a n felul urm
ator:
w4
w3

= z3
= z2

w2
w1

= z1
= a 4 z4 a 3 z3 a 2 z2 a 1 z1 = Y

(3.55)

Primele trei ecuatii descriu deplas


arile (st
anga) din registru iar ultima reactia
liniar
a prin reteaua de porti sum
a modulo 2. Ecuatia pentru calculul semnalului de
reactie Y , care se aplic
a la intrarea primului bistabil D al registrului, este:
a4 D4 Y a3 D3 Y a2 D2 Y a1 DY = Y a4 D4 Y a3 D3 Y a2 D2 Y a1 DY Y = 0

470

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

z n2

z n1

zn
Dn

n1

z1

z2
2

D3

n2

D
a2

a3

a n3

an2

a n1

z3

z n3

a1

a)
z4

CLK

z3

X4

X3

z2

z1

X2

Q D

Q D

Q D

Q D

CLK

CLK

CLK

CLK

z4

z3

X4
Q D

z2

z1

X2

CLK

X
Q D

Q D

Q D

CLK

CLK

X3

CLK

CLK

Y
Starea

z 4 z 3z 2 z 1

X 4,(D 4) X3, (D 3) X2,(D 2) X , (D)

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

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

b)
z4

CLK

z3

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

z2

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

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

Starea

z 4 z 3z 2 z 1

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

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

X 4,(D 4) X3, (D 3) X2,(D 2) X , (D)

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

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

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

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

Y
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0

c)
X2

z1

X3

Q D

Q D

Q D

Q D

CLK

CLK

CLK

CLK

z3
X4

z1

z2

X3 X 4

X2

Q D

Q D

Q D

Q D

CLK

CLK

CLK

CLK

CLK

y
d)

e)

Figura 3.85 Circuitul secvential liniar cu reactie: a) structurare general


a, de principiu,
pentru un (circuit bazat pe) registru de deplasare cu n celule; structura de circuit si tabelul
de tranzitie al st
arilor pentru polinomul I X X 4 , n ordonare direct
a cu sumator extern
(b) si cu sumator intern (c); structur
a de circuit pentru polinomul I X X 4 , n ordonare
invers
a (sau polinomul inversat X 4 X 3 I si ordonare direct
a), cu sumator extern (d) si
cu sumator intern (e)(Liniile desenate ntrerupt corespund introducerii n ciclu normal si a
st
arii z4 z3 z2 z1 = 0000).

471

3.5. CIRCUITE REGISTRU

a4 D4 Y a3 D3 Y a2 D2 Y a1 DY Y = 0 a4 D4 a3 D3 a2 D2 a1 D I = 0
iar particulariz
and a4 = 1, a3 = 0, a2 = 0, a1 = 1, si pentru obisnuinta
si generalitate
adopt
and notatia n X (= Y ), se obtine polinomul caracteristic:
I X X4

(3.56)

care corespunde circuitului din figura 3.85-b. Ordonarea (direct


a) a termenilor unui
polinom de ordinul n pe cele n celule ale registrului de deplasare se face printr-o
mapare direct
a n sensul de crestere a exponentului puterii si a cresterii num
arului de
tacte de nt
arziere pe registru. Termenul polinomului X k , 1 k < n i corespunde
n registru celula care realizeaz
a o nt
arziere a intr
arii cu k tacte (D k ), iar termenilor
n
X si 1, care sunt totdeauna prezenti n reteaua de rectie a circuitului, le corespunde
n registru respectiv ultima celul
a (D n ) si intrarea primei celule (D 0 = 1). Pentru
polinomul caracteristic din relatia 3.56, ntr-o ordonare direct
a, n reteaua sumatoare
modulo 2, din exteriorul registrului, sunt conectate iesirile celulei a patra (X 4 ) si
celulei a nt
aia (X) si rezultatul aplicat la intarea primei celule (D 0 ); structurarea
rezultat
a este referit
a ca circuit secvential liniar cu reactie cu sumatoare exterioare.
Pentru acelasi polinom caracteristic (3.56) exist
a si structurarea cu sumatoare incluse,
prezentat
a n Figura 3.85-c, n care se conecteaz
a celulele bistabil ale registrului la
reteaua de sumatoare modulo 2 dup
a aceeasi regul
a expus
a anterior. Sub desenul
corespunz
ator fiec
arei din cele dou
a structur
ari, cu sumator exterior si sumator inclus,
este atasat si tabelul de tranzitie al st
arilor (cu calculul bitilor fiec
arei st
ari).
Din analiza celor dou
a tabele de tranzitie ale st
arilor rezult
a c
a se genereaz
a cicluri
succesive ce c
ate 15 st
ari, (2n 1), starea z4 z3 z2 z1 = 0000 nu este inclus
a n ciclu.
Succesiunea st
arilor n cadrul ciclului are un caracter semi-aleatoriu, prin urmare
circuitul poate fi considerat ca un generator de zgomot alb sub forma de scvente
binare pseudo-aleatoare.
Pentru cazul general de registru cu n celule, secventa binar
a pseudo-aleatoare
generat
a are un ciclu de (2n 1) st
ari. Ciclu maxim de (2n 1) st
ari se genereaz
a
numai atunci c
and polinomul caractristic al circuitului este primitiv, adic
a este un
polinom ireductibil (prim, nu are divizori si exponentul puterii este de valoare maxim
a
pentru acel circuit). In literatur
a [Green 0 85] sunt date polinoamele primitive p
an
a
la gradul n = 100; n continuare sunt date aceste polinoame primitive p
an
a la gradul
n = 13:
I
I
I
I

X X2
X X3
X X4
X2 X5

I
I
I
I

X X6
X X7
X X5 X6 X8
X4 X9

I
I
I
I

X 3 X 10
X 2 X 11
X 3 X 4 X 7 X 12
X X 3 X 4 X 13

Dac
a polinomul nu este primitiv (admite divizori) circuitul corespunz
ator va avea
un num
ar de cicluri egal cu divizorul cel mai mare al lui (2n 1), fiecare din aceste
cicluri av
and o secventa
cu lungimea maxim
a < 2n 1; aceste cicluri fiind independente, odat
a circuitul intrat ntr-unul din ele, nu l mai p
ar
aseste dec
at numai prin
resetare.
Se demonstreaz
a c
a dac
a polinomul caracteristic este primitiv atunci si polinomul
inversat este primitiv; dac
a n polinomul caracteristic se substituie X 1/X se obtine
polinomul inversat. Ordonarea (direct
a) a polinomului caracteristic pe registru

472

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

de deplasare se face n felul urm


ator: I(D 0 ) la intrarea primei celule; X la iesirea lui
2
2
(D); X la iesirea lui (D ); . . . ;X k la (Dk ); . . . ; X n1 la (Dn1 ); X n la (Dn ). In
opozitie, ordonarea (invers
a) a polinomului inversat pe registrul de deplasare se
face n felul urm
ator: X n la intrarea primei celule (D 0 ); X n1 la iesirea lui (D); X n2
la (D2 ); X n3 la (D3 ); . . . ; X k la (Dnk ); . . . ; X la (Dn1 ); I la iesirea lui D n .
Corespunz
ator polinomului caracteristic dat prin relatia (3.56), polinomul inversat
X 4 X 3 I, ordonat direct pe un registru de deplasare cu patru celule, produce o
structurare de circuit secvential cu reactie cu sumatoare exterioare ca n Figura 3.85-d
si produce si o alt
a structurare cu sumatoare incluse ca n Figura 3.85-e. Rezult
a c
a
pentru un polinom primitiv exist
a patru structur
ari: dou
a cu sumatoare exterioare,
una corespunde polinomului direct, X 4 X I, Figura 3.85-b, iar cealalt
a corespunde
polinomului inversat X 4 X 3 I, Figura 3.85-d; dou
a cu sumatoare incluse, una
corespunz
atoare polinomului direct, Figura 3.85-c, iar cealalt
a polinomului inversat,
Figura 3.85-e. Desi toate cele patru structur
ari provin din acelasi polinom primitiv,
fiecare din ele genereaz
a propria secventa
cu lungimea maxim
a de 15 tacte (n general
2n 1 tacte). Uzual, nu se mai calculeaz
a polinomul inversat iar pentru implementarea
sa se utilizeaz
a tot polinomul direct dar se consider
a ordonarea inversat
a.
Circuitul secvential liniar cu reatie cu ciclul de lungimea maxim
a (2n 1) nu
cuprinde starea zero (toate celulele pline cu zero) deoarece prin reteaua sumatoare
modulo 2 de reactie s-ar produce tot zero; n registru se injecteaz
a zero, deci circuitul
r
am
ane n starea zero nchiz
andu-se un ciclu permanent n jurul st
arii zero (nu poate
fi amorsat). Pentru evitarea bloc
arii accidentale n starea zero, la punerea circuitului
sub tensiune trebuie prev
azut
a setarea automat
a a unei celule n starea unu. (O
astfel de solutie const
a ntr-un circuit de integrare RC a c
arei intrare este tensiunea
de alimentare a registrului (VDD , VCC ) iar iesirea acestui circuit se conecteaz
a la
intrarea asincron
a PRESET a celulei n care se va nscrie 1 si la intrarea asincron
a
CLEAR a tuturor celorlalte celule care se vor nscrie n zero.)
Se poate extinde ciclul circuitului secvential liniar cu reactie la 2n dac
a se introduce
ca stare normal
a si starea zero. Pentru aceast
a extensie, intrarea unei porti XOR din
reteaua de reactie se obtine ca iesire de la o poart
a NOR cu n1 intr
ari, aceste intr
ari
fiind colectate de la iesirile tuturor celulelor registrului de deplasare mai putin ultima
(Dn ). Dac
a circuitul este n starea zero, zn zn1 . . . z1 z0 = 00 . . . 00, iesirea portii NOR
genereaz
a un 1 prin care reteaua de reactie cu XOR, la urm
atorul impuls de ceas,
va injecta 1 n prima celul
a si/sau ntr-o alt
a celul
a a registrului de deplasare (c
and
sumatoarele sunt incluse). Dac
a circuitul este n starea zn zn1 . . . z1 z0 = 10 . . . 00
iesirea 1 a portii NOR, plus D n = 1, prin reteaua de reactie va injecta 0 n registrul
de deplasare, deci urm
atoarea stare este zn zn1 . . . z1 z0 = 00 . . . 00. Se obtine at
at
extensia la 2n st
ari c
at si amorsarea din starea zero. Pentru structurile din Figura
3.85-d si 3.85-e sunt desenate punctat conexiunile pentru aceste circuite de extensie.
Aplicatiile circuitelor secventiale liniare cu reacti sunt numeroase:
- generator de secvente binare pseudo-aleatoare pentru generare de stimuli n
testarea circuitelor;
- circuite de codificare si decodificare pentru detectarea si corectarea erorilor,
tehnica de comunicatii;
- num
ar
atoare modulo 2n 1 sau 2n (pot fi considerate num
ar
atoare n cod arbitrar, 3.4.2.2). Consum
a cea mai putin
a suprafata
dec
at oricare alt num
ar
ator cu

473

3.5. CIRCUITE REGISTRU

exceptia celui asincron, dar acesta nefiind sincron ridic


a problema la interfatare.
Este mai rapid dec
at oricare num
ar
ator cu exceptia num
ar
atorului Johnson, dar
acesta este numai modulo 2n. (Pentru structurarea cu sumatoare incluse perioada de ceas minim
a este egal
a cu propagarea printr-o celul
a D plus o poart
a
XOR.)

3.5.7

Distributia si aplicarea semnalului de ceas

Intr-un sistem digital sincron semnalul de ceas (tactul) este utilizat pentru a introduce o referinta
de timp fata
de care se raporteaz
a realizarea unei functii n sistem.
Deoarece acest
a referinta
este vital
a, pentru functionare sistemului sincron trebuie
acordat
a o deosebit
a atentie parametrilor semnalului de ceas si a retelei de distributie,
care este suportul fizic pentru aplicarea semnalului de ceas. Semnalul de ceas, uzual,
este considerat ca un semnal de control, dar este un semnal de control cu caracteristici
si atribute speciale. Semnalele de ceas, tipic, asigur
a comanda unor sarcini mari, se
propag
a pe cele mai lungi trasee, opereaz
a la frecventele cele mai ridicate n raport
cu oricare semnal de control sau de date din sistem. Deoarece semnalele de date sunt
furnizate pe baza referintei de timp, forma de variatie n timp a semnalelor de ceas
,,
,,
trebuie s
a fie curat
a . Ori, p
astrarea formei curate produs
a de generatorul de ceas,
p
an
a la punctele de aplicare, este puternic influentat
a si nt
arziat
a de c
atre reteaua
de distributie. Proiectarea retelei de distributie a semnalelor de ceas determin
a n
mod esential performantele sistemului digital mai ales la sistemele de vitez
a ridicat
a.
In concluzie, semnalul de ceas are o contributie major
a n obtinerea performantelor
si function
arii corecte pentru sistemele digitale sincrone.
In oricare sistem digital, cu procesare de tip clasic sau n pipeline, circuitele
combinationale sunt interfatate pe intrare si pe iesire cu elemente de memorare (latchuri, bistabile, registre). Transferul din interfata de intrare, prin partea combinational
a, n interfata de iesire se realizeaz
a ntre dou
a tacte ale semnalului de ceas, a c
arui
perioad
a minim
a, TCLKmin , se calculeaz
a cu relatia 3.45. Structurarea clasic
a, Figura
3.76-a, pe baza c
areia s-a dedus acest
a relatie este reluat
a si n figura 3.86-a. De data
acesta s-au introdus n relatia pentru calculul timpului de propagare date, pD , ntre
cele dou
a interfete si timpul de propagare pe interconexiuni pInt , obtin
andu-se relatia:
pD
TCLKmin

= pCQ + pCLC + SU + pInt


pCQ + pCLC + SU + pInt

(3.57)

Evident, pInt la circuitele realizate cu componente discrete poate fi neglijat dar


pentru sistemele integrate de mare vitez
a unde prin procesul de scalare, permanent,
dimensiunile sunt multiplicate cu 1/s (s > 1, factorul de scalare, vezi Tabelul 1.11),
aceast
a component
a a timpului de propagare devine din ce n ce mai putin de neglijat.
Timpii de propagare, dependenti de dispozitiv: pCQ , SU , pCLC , se micsoreaz
a prin
scalarea dimensiunilor dar nu se micsoreaz
a si pInt . Micsorarea dimensiunilor traseelor
de interconectare duce la micsorarea sectiunilor, la cresterea rezistentei, deci nu la o
micsorare a timpului de propagare pInt , n plus apar capacit
ati parazite (distribuite) si
efectul de electromigratie (vezi sectiunea 1.5.1). Mai ales, pentru traseele din reteaua
de distributie a semnalului de ceas, scalarea se aplic
a cu foarte mare prudenta
, ori se
p
astreaz
a aceleasi dimensiuni (vezi sectiunea 4.5).

474

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Intrare
date

Registru

Retea combinationala

Registru

Ri

(CLC)

Rj

Iesire
date

t CLKj

t CLKi
CLK

CLK

Iesire
date

Intrare
date
pCQ

pInt

pInt

pCLC

a)

SU

pD

Sursa de
alimentare

D Q

7 Temperatura

CLK

2
Amplificatoare
(buffere)
semnal de
ceas

Generator
semnal
de ceas

D Q

CLK

CLK

D Q

Di

CLK

t CLKi

5
PLL

3 Interconexiuni

6
Sarcina capacitiva
D Q

Dj

CLK

D Q

D Q

D Q

CLK

CLK

CLK

t CLKj

b)

Cuplaje
capacitive

6
Sarcina capacitiva

TCLK
CLK

c)

fl

+ fl

Figura 3.86 Nesincronizarea semnalelor de ceas ntre dou


a registre/bistabile consecutive dintr-o cale de propagare a datelor: a) structur
a de principiu a unei etape
n propagarea datelor cu evidentierea timpilor (componente) de propagare; b) reprezentarea
cauzelor, ntr-o retea de distributie a semnalelor de ceas, care pot determina defazaj de ceas
si fluctuatia fronturilor; c) explicativ
a pentru aparitia efectului de fluctuatie al fronturilor
(clock jitter).

475

3.5. CIRCUITE REGISTRU

In structura din Figura 3.86 se consider


a c
a exist
a sincronizare/(suprapunere) ntre
momentele de aplicare a semnalelor de ceas la cele dou
a registre, tCLKi = tCLKj . In
prctic
a, cele dou
a momente nu se suprapun tCLKi 6= tCLKj ; acest
a nesincronizare are
dou
a componente: defazajul si fluctuatia fronturilor semnalelor de ceas.
Cauzele care duc la un defazaj de ceas (la nt
arzieri diferite) sunt reprezentate n
Figura 3.86-b. De exemplu, cele dou
a momente de aplicare ale semnalelor de ceas
la bistabilele consecutive Di , Dj , din lantul de bistabile, pot s
a nu se suprapun
a,
tCLKi tCLKj deoarece din motiv de nc
arcare cele dou
a semnale se obtin de la dou
a
ramuri diferite ale retelei de distributie a semnalului de ceas, iar pe cele dou
a ramuri
nt
arzierile nu sunt egale. Dac
a se noteaz
a cu t timpul la generatorul de ceas
general, GCLK (un generator PLL, Phase Lock Loop), iar nt
arzierile de propagare
prin reteaua de distributie, ale celor dou
a semnale de ceas, p
an
a la Di si Dj respectiv
cu i si j rezult
a momentele n timp tCLKi = t + i si tCLKj = t + j .
Definitia 3.11 Defazajul de ceas df (clock skew), ntre dou
a registre/bistabile i, j, consecutive n sensul de propagare a datelor pentru procesare, este diferenta
n timp ntre momentul aplic
arii semnalului activ de ceas la registrul/bistabilul j si
momentul aplic
arii semnalului activ de ceas la registrul/bistabilul i 
df = tCLKj tCLCi = j i

(3.58)

De notat faptul c
a defazajul de ceas este relevant numai ntre dou
a registre/bistabile consecutive, deci ntre care exist
a un transfer de date.
Cauzele care pot duce ca nt
arzierile de propagare j si i s
a nu fie egale sunt:
- Bufferele (amplificatoarele) de semnal 2 din reteaua de distributie. Aceste
amplificatoare sunt o cauz
a principal
a pentru df 6= 0. Datorit
a dispersiei din
procesul de fabricatie bufferele rezult
a cu variatii pentru valorile timpilor de
propagare (care se p
astreaz
a chiar daca sunt incluse n retele echilibrate si cu
nc
arc
ari identice).
- Interconexiunile 3 din reteaua de distributie a ceasului. Pentru fiecare interconexiune intervine lungimea si rezistivitatea traseului, constanta si grosimea
dielectricilor, rezistentele de contact si ale g
aurilor de p
atrundere (vias) ntre
straturile metalizate, capacit
atile parazite.
- Variatia valorii tensinii de alimentare 4 (vezi Figura 1.78).
- Cuplajele capacitive 5 . Se recomand
a ca stratul metalizat pentru reteaua de
distributie a semnalului de ceas s
a fie ntre straturile metalizate pentru VDD si
VSS (surs
a si mas
a).
- Sarcini de comand
a 6 diferite pentru cele dou
a semnale de ceas.
- Variatia temperaturii 7 . Defazajul de ceas are o valoare constant
a n timp
dac
a temperatura mediului nu se modifica pronuntat.
A doua component
a care contribuie la nesincronizare este efectul de fluctuatie
(n aparitie) al fronturilor semnalelor semnalelor de ceas (clock jitter). Ca o

476

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

consecinta
a acestui efect fronturile consecutive apar c
and la intervale de timp mai
mari dec
at TCLK , c
and la intervale mai mici dec
at TCLK , Figura 3.86-c. Dac
a se
noteaz
a pentru semnalul de ceas cu perioada TCLK abaterile de aparitie (fluctuatiile)
ale fronturilor semnalelor de ceas, fata
de momentul corect de aparitie al frontului, cu
fl si +fl atunci perioada real
a a semnalului de ceas poate avea valori n intervalul
[TCLK 2fl , TCLK + 2fl . Cauzele acestor fluctuatii sunt: generatorul de ceas 1 ;

a 7 si
nc
arcarea capacitiv
a 6 si cuplajele capacitive 5 ; variatiile de temperatur

n tensiunea de alimentare 4 .
In functionarea real
a a sistemelor semnalul de ceas aplicat la dou
a registre/bistabile consecutive poate fi afectat simultan at
at de defazaj c
at si de fluctuatia fronturilor.
Defazajul este o variatie spatial
a reflectat
a n momentele de aplicare a semnalelor de
ceas si nu se modific
a de la perioad
a la perioad
a pe c
and fluctuatia fronturilor, se
poate modifica de la ciclu la ciclu, este un efect pasager.
Transferul sincron al datelor de la registrul Ri la registrul urm
ator Rj trebuie
asigurat at
at pentru valoarea maxim
a a timpului de propagare al datelor pDmax c
at
si pentru timpul de propagare minim pDmin n conditiile n care intervin factorii de
nesincronizare df si fl . Valoarea pDmax determin
a TCLKmin , adic
a frecventa maxim
a
a semnalului de ceas, deci performanta de vitez
a. Valoarea pDmin determin
a transferul
corectat al datelor n registrul Rj , deci functionarea corect
a a sistemului. Dac
a timpul
de propagare minim, de la registrul Ri la Rj , este mai mc dec
at timpul de mentinere
H al registrului Rj , pDmin < H , adic
a datele nscrise n registrul Ri ajung la registrul
Rj nainte ca datele anterioare aplic
arii frontului activ de ceas s
a fi fost nscrise n
registrul Rj , n registrul Rj se nscriu datele de la registrul Ri ; deci pe un singur tact
datele parcurg dou
a etape n calea de transfer (nscriere n registrul R i si propagare
la registrul Rj precum si nscriere n registrul Rj pentru c
a timpul de mentinere H de
la registrul Rj nu s-a consumat). Pentru a evalua modul cum se poate asigura at
at
performanta c
at si functonarea corect
a a sistemului sincron se vor analiza tipurile de
defazaj de ceas.
Defazajul de ceas pozitiv, df > 0. O valoare pozitiv
a pentru df , conform
relatiei 3.53, apare c
and frontul activ de ceas la registrul Rj se aplic
a cu un interval
de timp df dup
a aplicarea aceluiasi front activ de ceas la registrul Ri , tCLKi < tCLKj .
Practic, o astfel de situatie n aplicarea semnalelor de ceas poate apare c
and sensul
de aplicare al semnalelor de ceas coincide cu sensul de deplasare al datelor si ntre
registrele consecutive Ri si Rj , pe traseul de ceas, apare o nt
arziere df , Figura 3.87-a.
In prezenta defazajului df pozitiv, pentru nt
arzierea minim
a n propagarea datelor pDmin , nscrierea corect
a in registrul Rj este asigurat
a numai c
and se respect
a
relatia df + H pDmin , adic
a:
H pDmin df = pCQ + pCLC + pInt df

(3.59)

Aceast
a relatie c
and defazajul devine semnificativ, prin difernta pDmin df de
valoare mic
a, poate impune pentru timpul de mentinere H s
a aib
a o valoare mai
mic
a dec
at valoarea minim
a prescris
a unui bistabil D pentru o functinare corect
a
(evitarea metastabilit
atii, Figura 3.46). Deci cresterea defazajului poate determina
ca functionarea s
a ajung
a la limita critic
a pentru care valoarea prescris
a pentru H s
a
fie H pDmin df , deci o nscriere incorect
a a bistabilului Rj . Inegalitatea exprimat
a de relatia 3.59 poate ajunge la limita critic
a pentru circuitele care cascadeaz
a

477

3.5. CIRCUITE REGISTRU

Registru

Registru
Intrare
date

Ri

Rj

CLC

t CLKj

t CLKi
CLK

a)
Registru
Intrare
date

tCLK

c)

df

t CLKi t CLKj

Rj
i

CLK

dp

CLK

Intarziere

CLK

TCLK + df
TCLK

CLK

df <0

Rj

CLK

t CLK

t CLKi t CLKj

CLC

b)

df

Registru

Ri

df

CLK

Intarziere
t dp

Ri

CLK

CLK

CLK

t CLK

TCLK + df
TCLK

df >0

Rk

tCLK
3 1,5

t CLK k

Rm

Etapa

df =0
pD

max

df =0

df =0 tCLK tCLK j df
i

Ri

Rj

2+4+0=6

Rj

Rk

7+2+0=9

1,5

fmax

111,1 MHz

pD

max

df =0

1,5 1,5 4+2(1,5)=7,5


3

1,5

7+21,5=7,5
133,3 MHz

Figura 3.87 Defazajul de ceas: a) defazajul de ceas pozitiv (poate fi generat de structuri
la care coincide sensul fluxului de date cu cel de aplicare al semnalelor de ceas); b) defazajul
de ceas negativ (cele dou
a sensuri sunt opuse); c) exempificare de utilizare a defazajului
pozitiv pentru m
arimea frecventei se sincronizare ntr-o cale de date.

bistabile, cum sunt structurile de registre de deplasare sau de num


ar
atoare; la aceste
circuite pCLC = 0 (n general), pInt 0 (prin geometria de proiectare), deci se
poate ajunge la H pCQ df . Un registru sau un num
ar
ator care functioneaz
a la
limita acestei inegalit
ati poate avea o functionare corect
a la testare dar, n utilizare,
datorit
a variatiilor de mediu (temperatur
a, tensiune), poate inversa inegalitatea. Pentru o functionare sigur
a a acestor tipuri de circuite se recomand
a o comand
a cu un
defazaj de ceas negativ.
In prezenta defazajului df pozitiv de valoare mult mai mic
a dec
at pD pericolul
nscrierii eronate nu poate apare dar, n schimb, la o valoare mare a timpului de
propagare a datelor aceasta trebuie corelat
a cu perioada minim
a impus
a pentru semnalul de ceas. Din diagrama de semnale din figur
a rezult
a c
a durata perioadei de ceas
plus timpul de defazaj, TCLK + df , nu poate fi mai mic
a dac
at timpul de propagare a
datelor plus timpul de stabilizare al registrului Rj , TCLK + df pD + SU = pDmax .

478

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Din aceast
a relatie rezult
a valoarea minim
a a prioadei de ceas:
TCLKmin pDmax df = pCQ + pCLC + pInt + SU df

(3.60)

De notat faptul c
a, fata
de cazul de inexistenta
a defazajului, df = 0, c
and
comanda se face cu o perioad
a minim
a dat
a de relatia 3.57, n prezenta defazajului
de ceas pozitiv, prin relatia 3.60, comanda se poate realiza cu o perioad
a de ceas
mai mic
a, deci o frecventa
mai ridicat
a (un efect benefic al defazajului pozitiv!, vezi
Exemplul 3.31).
Defazajul de ceas negativ, df < 0. Defazajul negativ de ceas apare c
and
frontul activ se aplic
a nt
ai la Rj si apoi la Ri , adic
a tCLKj < tCLKi . O astfel de
comand
a poate apare c
and sensul de aplicare al semnalelor de ceas este opus sensului
de deplasare al datelor si ntre registrele consecutive Ri si Rj , pe traseul de ceas, apare
nt
arzierea df , Figura 3.87-b. Relatiile pentru valoarea critic
a a timpului de stabilizare
H si a perioadei minime de ceas TCLKmin , se deduc prin acelasi rationament ca si
pentru df > 0, sunt respectiv (3.59) si (3.60) cu diferenta c
a pentru calcul se introduce
o valoare negativ
a pentru defazaj. Se observ
a c
a defazajul negativ n raport cu cel
pozitiv, este mai putin restrictiv pentru timpul de mentinere H (poate avea valori
mai mari care asigur
a o nscriere corect
a a datelor), dar n schimb, m
areste valoarea
pentru TCLKmin (ceea ce poate fi o limitare n sistemele de vitez
a rdicat
a).
In concluzie, cresterea defazajului pozitiv are ca efect micsorarea perioadei minime
de ceas aplicabile dar poate duce la o degradare a nscrierii corecte (function
arii
sigure), pe c
and crsterea defazajului negativ, n valoare absolut
a, are ca efect m
arirea
perioadei minime de ceas aplicabile dar cu o nbun
at
atire pentru nscrierea corect
a.
Dar ntr-o cale de transfer de date fiecare registru/bistabil Rj , n afar
a de primul
si ultimul, realizeaz
a o etap
a cu urm
atorul Rk si o alt
a etap
a cu cel anterior Ri
(i < j < k). Consider
and defazaj zero n cele dou
a etape, la m
arirea/micsorarea
timpului de aplicare a semnalului de ceas tCLKj la registrul Rj se va genera un
defazaj negativ/pozitiv n etapa Rj Rk si un defazaj pozitiv/negativ n etapa Ri
Rj , deci efectele care apar prin aceasta asupra perioadei de ceas aplicabile si asupra
function
arii sigure vor fi n sensuri opuse n cele dou
a etape. Rezult
a c
a modificarea
timpului tCLKj , f
ar
a modificarea timpilor tCLKi si tCLKk , poate modifica n sens
contrar valoarea minim
a, TCLKmin , aplicabil
a n cele dou
a etape vecine Ri Rj si
Rj Rk . Aceast
a concluzie poate fi utilizat
a pentru o metod
a de optimizare global
a
,,
a unei c
ai de date printr-o optimizare/modificare local
a (deskewing data pulses ,
,,
cycle stealing ); metod
a aplicabil
a c
and n calea de date exist
a diferente mari ntre
valorile timpilor de propagare pD din dou
a etape consecutive, dar s
a concretiz
am
printr-un exemplu.
Exemplul 3.31 In Figura 3.87-c este prezentat un segment dintr-o cale de date,
cu cele trei registre Ri , Rj , Rk , cu specificarea timpilor de propagare maxim
a din fiecare
etap
a din calea de date, prin ovale orizontale si prin ovale verticale, nt
arzierile (considerate
egale) de pe fiecare traseu de aplicare a semnalelor de ceas. Frecventa maxim
a de ceas,
cu care se poate sincroniza aceast
a cale de date (consider
and c
a registrele sunt identice,
cu pCQ = 2ns), este impus
a de etapa cu propagarea maxim
a, adic
a etapa Rj Rk unde
pDmax = 7ns + 2ns = 9ns, deci fmax = 1/9ns = 111.1M Hz.
Dac
a numai timpul de aplicare al semnalului de ceas tCLKj , la registrul Rj , este micsorat
de la 3ns la 1.5ns, prin ajustarea nt
arzierii de pe traseul respectiv, apare, conform relatiei
3.58, un defazaj pozitiv pentru etapa Rj Rk , 3ns 1.5ns = 1.5ns, si un defazaj negativ

3.5. CIRCUITE REGISTRU

479

pentru etapa Ri Rj , 1.5ns 3ns = 1.5ns. Aceasta nseamn


a, conform relatiei 3.60, c
a
perioada minim
a de ceas aplicabil
a n etapa Rj Rk poate fi micsorat
a, 2ns+7ns1.5ns =
7.5ns, iar n etapa Ri Rj trebuie s
a fie m
arit
a, 2ns + 4ns (1.5ns) = 7.5ns, deci se
ajunge la o egalitate ntre perioadele de ceas minime aplicabile n cele dou
a etape vecine;
rezult
a o frecventa
maxim
a de comand
a fmax = 133.3M HZ (o crestere cu 19.98%). Prin
micsorarea timpului tCLKj de la 3ns la 1.5ns nu se afecteaz
a nscrierea corect
a a datelor n
registrul Rk ; n etapa Rj Rk defazajul este pozitiv dar valoarea acestuia este mult mai
mic
a dec
at timpul maxim de propagare (df = 1.5ns < 9ns = pDmax ), deci nu devine critic
a
valoarea impus
a pentru H , vezi relatia 3.59.
Aceast
a modalitate de modificare local
a ntr-o cale de date, dar cu efect de optimizare
global
a deoarece creste frecventa maxim
a pentru GCLK, depinde de posibilitatea de modificare n circut a nt
arzierii pentru a obtine un df ajustabil si evident, de variatiile de mediu
(temperatur
a si tensiune).

Reteaua de distributie a semnalelor de ceas. Multimea de trasee de la sursa


de ceas general, GCLK, p
an
a la punctele de aplicare a semnalelor de ceas pentru
sincronizare formeaz
a reteaua de distribitie. Performantele care se urm
aresc, pentru
o retea, si care sunt fundamentale pentru functionarea corect
a a circuitului sunt:
timpul de propagare (nt
arzierea introdus
a) de la GCLK p
an
a la punctele de aplicare,
adic
a sincronizarea; defazajul de ceas si puterea disipat
a. Exist
a dou
a modalit
ati, de
structurare a unei retele: de arbore bufferat si de arbore simetric.
Reteaua de distributie sub form
a de arbore bufferat are, prin analogie o
structur
a de arbore, un traseu principal pornind din sursa de GCLK (r
ad
acin
a) care
,,
apoi se ramific
a pentru fiecare registru, acestea fiind frunzele , Figura 3.88-a. Pe
acest traseu de la r
ad
acin
a la frunze se introduc buffere care au rolul de amplificare si
de izolare. Num
arul de buffere nseriate depinde de sarcina capacitiv
a total
a (interconexiuni si punctele de sincronizare) ce trebuie comandat
a. Iesirea buferului trebuie
s
a genereze un curent suficient de nc
arcare si desc
arcare al capacit
atilor ntr-un timp
scurt pentru ca semnalele de ceas s
a prezinte fronturi abrupte necesare procesului de
sincronizare; acest
a cerinta
impune ca bufferul s
a aib
a o functionare de generator de
curent, rezistenta sa de iesire s
a fie mult mai mare dec
at rezistenta conexiunilor retelei
comandate (restrictie ce poate fi ndeplinit
a relativ usor dac
a reteua de distributie este
realizat
a n strat metalizat). Dar bufferele sunt si principala surs
a de introducere de
defazaj deoarece caracteristicile elementelor active din retea (buffere) variaz
a mult
mai pronuntat n raport cu caracteristicile elementelor pasive (interconexiuni) at
at
datorit
a procesului de fabricatie c
at si datorit
a mediului.
Uneori, pentru a micsora rezistenta interconexinilor, si a uniformiza disipatia
de putere pe toat
a suprafata de integrare, reteaua de distributie este realizat
a sub
forma unei plase de trasee pe o suprafata
c
at mai mare; n figur
a este prezentat
a, ca
medalion, o structurare de principiu pentru o plas
a. Pentru reducerea controlat
aa
puterii disipate n reteaua de distributie sunt introduse porti care, comandate cu un
semnal de conditionare, pot s
a elimine alimentarea cu un semnal de ceas a anumitor
zone locale pentru anumite intervale de timp.
A doua structur
a de retea de distributie pentru semnalele de ceas poate fi
considerat
a tot un arbore dar sub form
a de arbore simetric, echilibrat, av
and
forma de H sau X, Figura 3.88-b; evident fiecare v
arf H sau X se poate continua cu
un alt H sau X si acesta s
a se continue cu un alt H sau X s.a.m.d. Bifurcarea traseelor,
din cel anterior, duce si la njum
at
atirea l
atimii acestor trasee pentru ca n propagarea

480

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
Conditionare ceas local

Ceas local aplicat


conditionat

Sursa
externa
ceas

D Q

Plasa
trasee
distributie
generala
GCLK

PLL

Ceasul general
(GCLK)

Ceas
local neconditionat

D Q

D Q

D Q

Plasa
partiala
distrib.
ceas

a)

Ceas local neconditionat


DQ

Ceas local
aplicat
conditionat

D Q

D Q

GCLK
Conditionare ceas local
DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

GCLK

DRIVER

DRIVER

DRIVER

GCLK

D
R
I
V
E
R

D
R
I
V
E
R

GCLK

DRIVER

DRIVER

GCLK

DRIVER

DRIVER

DRIVER

DRIVER

Conditia
de aplicare
semnal
de
ceas

Ceas
aplicat
conditionat

CLK

b)
Figura 3.88 Modalit
ati de structurare a retelei de distributie pentru semnalul
de ceas: a) sub forma unei retele de arbore bufferat; b) sub forma unei retele de arbore
simetric H.

semnalelor s
a se evite reflexia n punctele de bifurcatie. Aceast
a structurare realizeaz
a
ca atingerea oric
arei frunze s
a se fac
a prin trasee de aceeasi lungime si sectiune,
obtin
andu-se nt
arzieri egale fata
de GCLK, deci, teoretic, un defazaj de ceas nul. In
raport cu arborele bufferat, arborele simetric H trebuie s
a comande o capacitate mai
mare deoarece traseele necesare sunt mai lungi. In plus, arborele H este mai putin
potrivit pentru VLSI care au un layout mai putin simetric. Combinatia ntre cele
dou
a tipuri de structuri pare a fi compromisul indicat: o retea H, pentru distributia
global
a de semnal de ceas, continuat
a din v
arfuri cu retele bufferate pentru distributia

3.5. CIRCUITE REGISTRU

481

local
a.
In circuitele VLSI actuale, reteaua de distributie a semnalului de ceas ajunge
s
a comande zeci de mii de registre, deci a unei sarcini capacitive ce se apropie de
100cm! Intr-o retea de distributie de ceas fiecare tranzitie schimb
a starea n fiecare
nod capacitiv, spre deosebire de o retea combinational
a unde activitatea de comutatie
a elementelor este determinat
a de functia logic
a. Combinatia de sarcin
a capacitiv
a
mare, CL , si frecventa ridicat
a determin
a o valoare ridicat
a pentru componenta di2
namic
a a puterii disipate, VDD
CL f ; la unele procesoare actuale mai mult de 30%
din puterea consumat
a se reg
aseste n puterea disipat
a n reteaua de distributie a
ceasului. Solutiile pentru reducerea componentei dinamice a puterii disipate sunt:
1 - micsorarea tensiunii de alimentare (implement
ari la 21 VDD numai pentru alimentarea retelei de ceas, prin aceasta degradarea performantei de vitez
a este nesemnificativ
a);
2 - micsorarea capacit
atii echivalente totale, printr-o proiectare adecvat
a;
3 - micsorarea frecventei se exclude deoarece viteza este o cerinta
a majorit
atii
circuitelor VLSI.
De asemenea, pentru nealimentarea temporar
a local
a, exist
a porti care comand
a
conditionat aplicarea semnalului de ceas (vezi medalionul de la Figura 3.88-b).
Pentru circuitele VLSI actuale, care lucreaz
a la frecvente de peste 1GHz, realizarea distributiei semnalului de ceas si mentinerea puterii disipate n limita de
siguranta
sunt dou
a aspecte ce ridic
a dificult
ati. La valori fCLK > 1GHz, perioada
semnalului de ceas TCLK se micsoreaz
a p
an
a la valori care nu dep
asesc timpul de
propagare, p poarta , prin 10 poti logice, TCLK < 10p poarta , iar m
arimea defazajului
de ceas trebuie mentinut sub 30ps (1ps = 1012 s) [Friedman 0 01]. Obtinerea acestor
m
arimi reduse de defazaj ridic
a dificult
ati datorit
a faptului c
a valorile nt
arzierilor
semnalului de ceas au variatii greu de controlat. Aceste variatii greu de controlat ale
valorilor nt
arzierilor se datoreaz
a:
1 - procesul de fabricatie nu poate asigura o dispersie care s
a duc
a la obtinerea
unor parametri cu abateri foarte str
anse;
2 - variatiile de mediu (temperatur
a, tensiune);
3 - utilizarea n proiectare a unor modele cu o precizie nc
a nesatisf
ac
atoare pentru
schemele echivalente de circuit.
Pentru frecvente peste (1 2)GHz si efectul de linie de transmisie trebuie luat n
considerare, deci pe l
ang
a caracterul RC al sarcinii apare si componenta de inductivitate L rezult
and caracteristici de tip RLC. Caracterul RLC n functionare modific
a
puternic nt
arzierea semnalului si puterea disipat
a (uneori aceasta poate chiar s
a
descreasc
a).
Pentru frecvente peste 1GHz structurarea retelei de distributie a semnalelor de
ceas cuprinde, n succesiune, urm
atoarele trei componente: 1 - global, o retea pentru
distributia semnalului GCLK, la care se conecteaz
a; 2 - regional, o serie de circuite de
compensare a defazajului (deskew circuits), fiecare dintre acestea comand
a, printr-o
retea arbore echilibrat; 3 - local, o multitudine de buffere ce alimenteaz
a punctele de
sincronizare de la registre.
In plus, n paralel cu reteua global
a, GCLK, mai exist
a (separat) nc
a o retea care
distribuie un semnal GCLK etalon, dar nc
arcarea acestei retele este mult mai mic
a
dec
at cea a retelei globale.
Reteaua global
a GCLK, structurat
a ca un arbore H, distribuie semnalul de ceas de

482

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

la PLL p
an
a la circuitele regionale de compensare a defazajului. Pentru a minimiza
efectele de cuplare capacitiv
a si inductiv
a ntre liniile adiacente de semnal si traseele
retelei GCLK, acestea, din urm
a, sunt complet ecranate prin plasarea ntre linii de
mas
a si de alimentare VDD . Componenta de compensare a defazajului care se bazeaz
a
n principal pe un sistem de reglare const
a din (1) un detector de faz
a, dintre semnalul
GCLK etalon si un semnal de reactie cules local. Semnalul diferenta
de faz
a comand
a
digital o linie de nt
arziere analogic
a a c
arei iesire se aplic
a la (2) un buffer ce produce
un semnal de ceas f
ar
a nt
arziere si care se aplic
a la o (3) - retea arbore echilibrat ce
alimenteaz
a bufferele locale. De la un buffer local se distribuie semnale de sincronizare
printr-o retea de porti comandate conditionat (deci se poate reduce puterea disipat
a
prin nealimentare temporar
a).
Toate sistemele electronice, fundamental, sunt de natur
a asincrone, totusi printr-o
precis
a inserare a unei relatii de temporizare local
a n realizarea functiilor si utilizarea
elementelor de memorare un sistem asincron poate fi adaptat s
a aib
a o functionare
sincron
a. At
ata timp c
at relatia de temporizare local
a este ndeplinit
a (sincronizarea),
modul de abordare sincron poate fi aplicat, implementarea de sisteme, controlabile
n functionare, este posibil
a. Oricum, sistemele sincrone vor fi nc
a mult timp modul
comun de implementare p
an
a vor ceda locul implement
arilor asincrone(care, n principiu, pot obtine viteze de procesare mai ridicate).
Exemplul 3.32 Pentru circuitul din Figura 3.89-a, n raport cu sensul de transfer
prin poarta C n etapa D1 D2 , semnalul de ceas se aplic
a: a - n acelasi sens; b - n sens opus.
Pentru aceste dou
a variante de aplicare a semnalului de ceas s
a se calculeze lungimea maxim
a
a conductorului (lD1 D2 si lD2 D1 ) care asigur
a un transfer de date corect ntre bistabile precum
si frecventa maxim
a a semnalului de ceas. Parametrii de timp pentru circuitele utilizate
sunt dati n Figura 3.89-b. Pentru viteza de propagare a semnalului se consider
a valoare
vp = 20cm/ns.
7400
A
"1"

7474

74LS02
B
"0"
l=0

D1

CLK

7474

7400
C
"1"

lD D

1 2

lD2D1

D2

CLK
l=0

Circuit

t pHL [ns]

t pHL [ns]

Min Tipic Max Min Tipic Max

7400

11

22

74LS02

10

20

10

14

25

7474*

10

10

15
20

20 40

SU=20 [ns] , H =5 [ns]

Figura 3.89 Explicativ


a pentru exemplul 3.32

Solutie. Valorile maxime si minime ale timpilor de propagare pentru transferul D1 D2


prin poarta C sunt:
pD1 D2 (LH)max = pCQ(LH)max + pC(HL)max = 25ns + 15ns = 35ns
pD1 D2 (LH)min = pCQ(LH)min + pC(HL)min = 10ns + 7ns = 17ns
pD1 D2 (HL)max = pCQ(HL)max + pC(LH)max = 40ns + 22ns = 62ns
pD1 D2 (HL)min = pCQ(HL)min + pC(LH)min = 10ns + 11ns = 21ns

3.6. MEMORIA CU ACCES ALEATORIU

483

de asemenea pentru transferul D2 D1 prin portile A si B se calculeaz


a:
pD2 D1 (LH)max = pCQ(LH)max + pA(HL)max + pB(LH)max = 25ns + 15ns + 20ns = 60ns
pD2 D1 (LH)min = pCQ(LH)min + pA(HL)min + pB(LH)min = 10ns + 7ns + 10ns = 27ns
pD2 D1 (HL)max = pCQ(HL)max + pA(LH)max + pB(HL)max = 40ns + 22ns + 20ns = 82ns
pD2 D1 (HL)min = pCQ(HL)min + pA(LH)min pB(HL)min = 10ns + 11ns + 10ns = 31ns
Pentru cele dou
a variante a si b aplic
and relatiile (3.59) si (3.60) se obtin respectiv valorile
lungimilor maxime si frecventei maxime.
a) tCLKD1 < tCLKD2 dfD1 D2 > 0, dfD2 D1 < 0, |dfD2 D1 | = dfD1 D2
dfD1 D2 max pD1 D2 (LH)min H = 17ns 5ns = 12ns; lD1 D2 max 12ns 20cm/ns = 2.4m
Defazajul negativ dfD2 D1 = 12ns pentru transferul D2 D1 nu pericliteaz
a nscrierea
corect
a a datelor n D1 , dimpotriv
a ajut
a!
TCLKD1 D2 min pD1 D2 (HL)max + SU dfD1 D2 = 62ns + 20ns 12ns = 90ns
Iar pentru transferul D2 D1 prin portile A si B se calculeaz
a
TCLKD2 D1 min pD2 D1 (HL)max + SU dfD2 D1 = 82ns + 20ns (12ns) = 114ns
deci frecventa maxim
a fmax 1/114ns = 87.71M Hz este limitat
a de acest transfer.

b) tCLKD2 < tCLKD1 dfD2 D1 > 0, dfD1 D2 < 0, |dfD1 D2 | = dfD2 D1


dfD2 D1 pD2 D1 (LH)min H = 27ns 5ns = 22ns; lD2 D1 max 22ns 20cm/ns = 4.4m
Defazajul negativ dfD1 D2 = 22ns, pentru transferul D1 D2 ajut
a la nscrierea
corect
a a datelor n bistabilul D2 .
TCLKD2 D1 min pD2 D1 (HL)max + SU dfD2 D1 = 82ns + 20ns 22ns = 80ns
Iar pentru tansferul D1 D2 prin poarta C se calculeaz
a
TCLKD1 D2 min pD2 D1 (HL)max + SU dfD1 D2 = 62ns + 20ns (22ns) = 104ns
deci frecventa maxim
a fmax 1/104ns = 96.153M Hz este limitat
a de acest transfer.
Frecventa maxim
a, pentru cazul c
and bistabilele D1 si D2 se comand
a sincron, este
fixat
a de transferul cel mai lung TCLKmin pD2 D1 (HL)max + SU = 82ns + 20ns = 102ns,
fmax 98.039M Hz.

3.6

MEMORIA CU ACCES ALEATORIU

Circuitul RAM (Random-Access-Memory), ca si circuitul ROM (2.4.6), este un


suport pentru stocarea informatiei sub form
a de cuvinte binare. Spre deosebire de
ROM, la RAM, pe l
ang
a posibilitatea de citire a imformatiei, exist
a si facilitatea de
modificare a informatiei, adic
a de nscriere. Referirea acestor circuite cu termenul
de memorie reflect
a o similitudine cu memoria natural
a. Totusi, procesul de extragere/reg
asire a informatiei n aceste circuite electronice, n comparatie cu memoria
natural
a, este destul de diferit. La memoria natural
a se reg
aseste o informatie pe
,,
,,
baza unei mai mici informatii (un fir ) care are o conexiune cu informatia c
autat
a,
deci un proces de asociere. In aceeasi abordare, putem spune c
a si circuitele ROM sau
RAM sunt o memorie pentru c
a reg
asirea unei informatii se face tot printr-o asociere,
,,
acest fir fiind o adres
a, a locatiei unde a fost stocat
a informatia. Dar exist
a si
circuite electronice la care reg
asirea informatiei se face prin asociere la aceasta a unei
informatii partiale, similar memoriei naturale, acestea sunt memoriile de tip asociativ
[Stefan 0 00].

484

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Termenul de memorie RAM exprim


a faptul c
a accesul la oricare locatie (random)
se poate face f
ar
a nici o restrictie de timp indiferent care este adresa locatiei accesate,
posibilitate care este evident
a si la circuitul ROM. Justificarea termenului de random
(aleator) este de nuanta
istoric
a. Primele memorii cu citire si nscriere aveau accesul
serial, adic
a accesul la o locatie nu putea fi realizat dec
at numai dup
a parcurgerea
tuturor adreselor locatiilor anterioare; un exemplu curent de memorie serial
a este
caseta magnetic
a unde accesul la o anumit
a informatie (date, sunet sau imagine) se
face prin derularea benzii p
an
a la pozitia respectiv
a. Un alt exemplu de memorie
serial
a este registrul inel la care nscrierea sau citirea unui bit se face prin recicularea
cuv
antului n inel p
an
a c
and pozitia din cuv
antul respectiv ajunge s
a fie transferat
a
din ultima celul
a n prima celul
a. La aparitia memoriei cu acces aleator aceast
a
caracteristic
a de accesare la oricare locatie fiind un salt deosebit din punct de vedere
al vitezei de acces, n raport cu memoriile cu acces serial, s-a imprimat n denumire
(abreviatia) RAM, care a devenit un termen utilizat n exclusivitate. Denumirea
corect
a ar fi de memorie RWM (Read/Write Memory).
Spre deosebire de circuitul ROM memoria RAM este de tip volatil, adic
a la
,,
pierderea tensiunii de alimentare informatia stocat
a se volatilizeaz
a . Aceast
a volatilitate se datoreaz
a faptului c
a stocarea unui bit are ca suport fizic o stare a unui
circuit, stare ce dispare la nealimentarea circuitului, si nu prezenta sau absenta unui
element fizic (fuzibil, diod
a, tranzistor) este suportul fizic, cum apare la circuitul
ROM.
Structurarea de principiu pentru memoria RAM poate fi realizat
a printr-o extensie
a celei pentru memoria ROM, Figura 2.49-a. La fel ca si la ROM se adopt
a, pe
suprafata de Si, pentru memoria RAM, o form
a p
atratic
a sau o form
a dreptunghiular
a apropiat
a de un p
atrat. De exemplu, pentru o memorie RAM de capacitate
2n m biti (n biti de adrese si un cuv
ant de date de m biti pe I/O), din cuv
antul
de adresare, An1 An2 . . . A1 A0 , subcuv
antul de n2 biti, An1 An2 . . . An1 +1 An1 ,
ant, iar
se aplic
a decodificatorului DCDn2 : 2n2 pentru activarea liniilor de cuv
subcuv
antul de n1 biti, An1 1 An1 2 . . . A1 A0 , se aplic
a pentru selectarea coloanelor,
n1 + n2 = n, Figura 3.90-a . Valorile care duc la o form
a p
atratic
a se calculeaz
a cu
relatiile n2 = (n + k)/2, n1 + k = (n + k)/2; lungimea cuv
antului de date, m, este n
general o putere a lui doi, m = 2k .
Pe fiecare linie de cuv
ant activat
a prin una din cele 2n2 iesiri de la DCDn2 : 2n2
exist
a m 2n1 celule, adic
a linii (coloane) de bit, care formeaz
a 2n1 cuvinte, fiecare
cuv
ant cu lungimea de m biti. La aplicarea subcuv
antului de n1 biti se selecteaz
a
simultan, din linia activat
a de DCD, m linii de bit, selectare care se poate realiza cu
a fie at
at
un grup de m M U X2n1 : 1. Deoarece cele m linii de bit (celule) trebuie s
nscrise c
at si citite, impune pentru cuv
antul de date Dm1 Dm2 . . . D1 D0 s
a poat
a
fi aplicat la terminalele de I/O n ambele sensuri. Acest dublu sens de transfer al
datelor pe I/O impune pentru citire ca selectarea liniilor de bit s
a se realizeze cu un
grup de m M U X2n1 : 1, iar pentru nscriere selectarea s
a se realizeze cu un grup
de m DM U X1 : 2n1 ; n practic
a select
arile pentru cele dou
a sensuri sunt incluse
ntr-un grup de m (M U X/DM U X). Realizarea acestei duble select
ari se bazeaz
a
pe elemente care pot conduce n ambele sensuri: tranzistoare de trecere sau porti de
transmisie.
Transferul n ambele sensuri, ale grupului m (M U X/DM U X), poate fi realizat
a arborescent
a cu tranzistoare de trecere, Figura
de m M U X2n1 : 1 cu o structur

485

3.6. MEMORIA CU ACCES ALEATORIU

MATRICE DE CELULE( 2 n 2 xm2 n 1 )


Linii (coloane) de bit
2n2 1

A (n1)
A (n2)

2n2 2

A
R
E

de
cuvant

An

1 +1

An

An

1 1

..

A0
C
O
N
T
R
O
L

Linii

DCMn 2: 2n2

WE_L
CS_L
OE_L

m2 n11 m2n12 . . .

SELECTARE COLOANE
(MUX/DMUX,Amplificatoare se sens,
registru de linie,circuistica de inscriere)

. .

WR_L
I/OE_L

a)
D (m1)

A n2

D m1

D2

T3

RAM

(2 x m)biti

A1
A0
WE
CS
OE

b)

D1

D0

DATE DE INTRARE / IESIRE

A n1

A2

D (m2)

Linie de cuvant

Linie de cuvant
G

D m2

D
T4

S
T

D1
D0

C1

c)

C2
Linie (/coloana) dubla
pentru fiecare bit

Linie / coloana
de bit

d)

Figura 3.90 Memoria RAM: a) structurare de principiu cu o adresare bidimensional


a
(prin linii de cuv
ant si linii (coloane) de bit); b) simbol de reprezentare pentru un circuit
RAM; c),d) structurare de principiu pentru o celul
a static
a respectiv pentru o celul
a dinamic
a.

486

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

2.35-b. Num
arul tranzistoarelor de trecere pe oricare ramur
a, n sensul de la pinul
I/O la o linie de bit sau n sens invers, este egal cu n1 . Aceast
a structur
a arborescent
a
de M U X, c
and n1 are valoare ridicat
a, poate duce la valori mari pentru timpul de
transfer al datelor la memorie, deoarece timpul de transfer pe o ramur
a ntre linia de
bit si I/O este proportional cu rezistenta echivalent
a a tranzistoarelor pe acea ramur
a.
O alt
a variant
a care realizeaz
a valori mai reduse pentru timpul de transfer al
datelor utilizeaz
a doar c
ate un singur tranzistor de trecere pe fiecare traseu care duce
la cele m 2n1 linii de bit, iar comanda acestor tranzistoare se obtine n urma aplic
ari
subcuv
antului An1 1 An1 2 . . . A1 A0 la un DCDn1 : 2n1 . Fiecare din cele 2n1 iesiri
ale DCD va comanda m tranzistoare de trecere, ceea ce poate constitui o nc
arcare
ridicat
a. De asemenea, num
arul de tranzistoare necesar pentru selectarea coloanelor
de bit este (m + n1 )2n1 ; m2n1 tranzistoare de trecere si n1 2n1 tranzistoare pentru
circuitul decodificator. Se pot concepe si variante hibride ntre aceste variante cum ar
fi: arbori partiali cu un num
ar p de tranzistoare, p << n1 , apoi fiecare arbore partial
nseriat cu un tranzistor de trecere comandat de la iesirea unui DCD(n1 p) : 2(n1 p)
poate duce la valori rezonabile pentru timpii de acces si num
arul de tranzistoare [Kang
0
96]. Dimeniunea memoriei RAM structurat
a cu o adresare bidimensional
a, c
and
n1 ' n2 ' n/2, deoarece k are valori mici 4, m = 1, 4, 8, 16 se poate calcula cu
relatia 2.16, rezult
a n O(2n ).
Semnalele de control pentru memoria RAM sunt: selectare circuit CS L (Chip
Select), validarea iesirii OE L (Output Enable), care sunt prev
azute si la memoria
ROM, plus semnalul de validare a nscrierii WE L (Write Enable). Structurarea
anterioar
a a memoriei RAM, plec
and de la memoria ROM, se reflect
a si n semnalele
de control; o memorie RAM (static
a) poate fi privit
a ca o memorie ROM nzestrat
a
cu facilitatea de nscriere.
a a matricei RAM se obtine, n interiorul
Semnalul de nscriere WR L ntr-o celul
circuitului, pa baza conjunctiei a dou
a semnale exterioare: cel de validare a nscrierii
si cel de selectare a circuituluiW R L = W E L CS L. Pentru o nscriere corect
aa
unui cuv
ant de date, Dm1 Dm2 . . . D1 D0 , ntr-o locatie determinat
a de cuv
antul de
adres
a, An1 An2 . . . A1 A0 , trebuie respectat
a cu strictete o secventialitate n aplicarea semnalelor de control; nt
ai se aplic
a cuv
antul de adres
a, apoi cuv
antul de date
si ambele trebuie s
a fie stabile n momentul aplic
arii frontului activ al semnalului
intern de nscriere W R L. Deoarece semnalul W R L se obtine din conjunctia celor
dou
a semnale externe CS L si W E L trebuie luate n considerare si durata intervalelor de activare ale acestora n raport cu valorile stabile al cuv
antului de date si
ale cuv
antului de adres
a, aceste restrictii vor fi explicate n sectiunea urm
atoare.
Citirea unui cuv
ant de date din matricea RAM, la fel ca si la ROM, este mai
putin exigent
a fata
de stabilitatea adresei n momentul activ
arii semnalului intern
de validare a iesirii I/OE L (I/O Enable); schimbarea adresei c
and I/OE L = 0
(activ) nu va produce o modificare gresit
a n matricea RAM ci doar, eventual, citirea
altei locatii. Semnalul intern I/OE L pentru validarea bufferelor de iesire TSL se
obtine prin urm
atoarea conjunctie I/OE L = CS L W E L OE L. Pentru citire se
aplic
a cuv
antul de adres
a, se activeaz
a semnalele de control selectare circuit, CS L, de
validare iesire OE L, iar cuv
antul citit se obtine la iesire prin bufferele TSL. Activarea
semnalului de nscriere WE L=0 va trece bufferele de iesire n starea HZ (deci se
exclude probabilitatea citirii unei locatii); bufferele de intrare nu trebuie comandate
deoarece un cuv
ant de date nu poate fi nscris dec
at atunci c
and se comand
a operatia

3.6. MEMORIA CU ACCES ALEATORIU

487

de nscriere prin semnalul de nscriere, WE L=0.


Celula de memorie RAM poate fi cu o functionare static
a sau dinamic
a. Celula
RAM static
a este de fapt o celul
a bistabil
a care prin cele dou
a st
ari ale sale poate
stoca bitul 0 sau 1. Ca celul
a bistabil
a poate fi un latch sau un bistabil. Se prefer
a
totusi celula pe baz
a de latch, Figura 3.90-c, pentru c
a necesit
a mai putine componente dec
at un bistabil deci se pot realiza memorii de capacitate mai ridicat
a. Dar
utilizarea unui latch n loc de bistabil, de exemplu de tip D, prezint
a dezavantajele
de transparenta
si de functionare asincron
a; memoria RAM av
and n consecint
a
functionare asincron
a. (Asincronismul trebuie privit prin faptul c
a aplicarea semnalelor de control nu sunt raportate la aparitia semnalului de ceas). Accesul la un
latch dintr-un nod se realizeaz
a prin dou
a tranzistoare de trecere T3 , T4 comandate de
potentialul liniei de cuv
ant care trece prin acel nod. Cele dou
a tanzistoare conecteaz
a
latch-ul, pentru realizarea operatiilor de citire si nscriere, la dou
a linii de bit notate
cu C1 si C2 , deci pentru fiecare nod exist
a nu una, ci dou
a linii de bit. Exist
a variante cu o singur
a linie de bit dar implement
arile uzuale sunt cu dou
a linii de bit
deoarece operatiile de nscriere si citire sunt mult mai sigure. Latch-ul dintr-un nod
comandat prin tranzistoarele de trecere T3 si T4 poate fi comparat cu latch-ul cu ceas,
Figura 3.40-a; semnalul de pe linia de cuv
ant la o celul
a de memorie ar fi echivalentul
semnalului de ceas al latch-ului cu ceas care valideaz
a portile 3 si 4 pentru aplicarea
intr
arilor de date R si S (la celula de memorie se accept
a dou
a inversoare n loc de
porti pentru cresterea num
arului de biti integrati pe suprafata de Si).
Celula RAM dinamic
a, Figura 3.90-d, are ca suport pentru memorarea bitului 1
sau 0 prezenta sau absenta unei sarcini pe un condensator C realizat n fiecare nod al
matricei. Condensatorul este conectat la linia de bit printru-un tranzistor de trecere T
care este comandat pe poart
a de c
atre potentialul aplicat pe linia de cuv
ant. Deoarece
sarcina cu care este nc
arcat condensatorul C, corespunz
atoare memor
arii bitului 1,
se micsoreaz
a n timp prin curentul rezidual al tranzistorului T se impune refacerea
(remprosp
atarea) acestei sarcini prin renc
arcarea condensatorului; n general timpul
dup
a care se impune renc
arcarea este de ordinul ms. Denumirea de celul
a dinamic
a
s-a acceptat prin similitudinea function
arii cu cea a circuitelor dinamice, dar de data
acesta nu se utilizeaz
a o capacitate parazit
a a circuitului ci aceast
a capacitate C este
implementat
a n fiecare nod mpreun
a cu tranzistorul T .
Parametrii care se analizeaz
a pentru compararea circuitelor de memorie sunt:
1 - costul/bit, care este direct legat de densitatea de integrare (num
arul de biti pe
unitatea de suprafata
de Si);
2 - timpul de acces, care determin
a viteza de lucru a circuitului;
3 - puterea disipat
a.
Comparativ, memoriile RAM statice realizeaz
a viteze mult mai bune de ordinul
ns (pot ajunge p
an
a la 2ns timp de acces) fata
de cele dinamice care se situeaz
a n
domeniul zeci de ns, in schimb memoriile RAM dinamice au performante superioare
n ceea ce priveste puterea disipat
a si densitatea de integrare.

3.6.1

Memoria RAM static


a

Memoria cu acces aleatoriu static


a, SRAM, utilizeaz
a ca celul
a de memorie un
latch; inversoarele latch-ului pot fi cu sarcin
a rezistiv
a (realizat
a n polisiliciu) sau
cu sarcin
a activ
a (tranzistoare cu canal initial, Figura 1.54-a, sau cu tranzistor com-

488

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

plementar, Figura 1.33-a). In functie de existenta sau neexistenta unui tranzistor


de sarcin
a, n structura inversorului, celula static
a de memorare dintr-un nod al matricei poate fi format
a din 6 sau respectiv 4 tranzistoare (sunt incluse si cele dou
a
tranzistoare de trecere prin care se conecteaz
a la linia de bit); de unde denumirea de
celul
a 6T-SRAM sau 4T-SRAM. Actual, majoritatea implement
arilor VLSI de memorii SRAM se bazeaz
a pe o celul
a 6T-CMOS; aceat
a impunere a memoriilor CMOSSRAM n raport cu alte implement
ari SRAM se datoreaz
a urm
atoarelor avantaje:
1 - putere redus
a (puterea disipat
a n regim stationar este practic nul
a, determinat
a doar de curentul rezidual prin inversoarele CMOS);
2 - imunitate ridicat
a la zgomot (relatia 1.19) deoarece admite margine de zgomot
de valoare ridicat
a (relatia 1.18);
3 - posibilitatea de functionare ntr-o larg
a plaje de tensiuni de alimentare (mai
ales la tensiuni reduse).
Dezavantajele memoriei CMOS-SRAM sunt:
1 - consum mai ridicat de suprafata
pe aria de Si;
2 - proces tehnologic mai complex;
,,
3 - tendinta de aparitie a fenomenului de z
avor
are (vezi sectiunea 1.6).
Prin tehnologiile actuale cu multiple straturi de polisiliciu si multiple straturi de
metal (pentru realizarea conexiunilor) se reduce dezavantajul consumului mai ridicat de suprafata
. Implement
arile de putere si tensiune redus
a utilizeaz
a o celul
a
6T-CMOS, n consecinta
n continuare se va analiza structurarea si functionarea memoriei cu o astfel de celul
a. O astfel de structurare este prezentat
a n Figura 3.91-a
cu o celul
a 6T desenat
a la intersectia liniei de cuv
ant j (activat
a de iesirea j a decodificatorului de linii, DCDn2 : 2n2 , Figura 3.90-a) cu coloana de bit i (compus
a din cele
dou
a coloane de bit C1 , C2 ) care este selectat
a prin cuv
antul An1 1 An1 2 . . . A1 A0
aplicat grupului de MUX/DMUX.
Operatia de citire a celulei. Se consider
a c
a celula este nscris
a n starea logic
a
0 care, prin conventie, corespunde valorilor de tensiune: n nodul 1 , V1 = 0V , deci T1
conduce, T5 blocat; iar n nodul 2 , V2 = VDD , T2 blocat, T6 conduce. La activarea
liniei de cuv
ant j, cu o tensiune VDD , tranzistoarele de acces T3 si T4 intr
a in conductie
conect
and liniile de bit C1 si C2 , care au potentialele VC1 = VC2 = VDD , la iesirile
latch-ului. Datorit
a diferentei de potential ntre linia C1 si nodul 1 , prin tranzistorul
T3 si T1 , condensatorul Ce1 (capacitatea echivalent
a a liniei C1 ) se descarc
a produc
and
o mic
a sc
adere (maxim de ordinul sutelor de mV, deoarece capacitatea C e1 este destul
and o diferenta
de potential ntre cele dou
a linii
de mare) a potentialului VC1 , rezult
V = VC1 VC2 < 0. In timp ce VC1 scade putin, tensiunea n nodul 1 creste, dar
and T2
tensiunea V1 nu trebuie s
a devin
a mai mare dec
at tensiunea de prag VpT2 (c
a relatie, n proiectarea latch-ului,
ar intra n conductie), V1max VpT2 . Din aceast
rezult
a valorile pentru raporturile dimensiunilor (W/L)T3 si (W/L)T1 pentru care se
poate realiza citirea f
ar
a comutarea latch-ului n starea opus
a.
Amplificarea n prima etap
a a diferentei V se realizeaz
a cu un amplificator de
sens, care, de fapt, este un latch ale c
arei iesiri sunt conectate la liniile de bit C1
si C2 deci potentialele pe portile celor dou
a tranzistoare T9 si T10 sunt egale cu
VC1 = VC2 = VDD . In momentul c
and potentialul VC1 al liniei C1 ncepe s
a descreasc
a, si tranzistorul T11 este comandat n conductie (prin selectarea coloanei),
tranzistorul T10 este comandat nspre blocare, care prin reactie comand
a pe T9 nspre

489

3.6. MEMORIA CU ACCES ALEATORIU

.
.

COLOANA / (LINIE) DE BIT, i


VDD

T7
LINIE DE
CUVANT
(j+1)

LINIE DE
CUVANT
j

Celula SRAM 1 bit

..

C1
linie
de bit

CIRCUITE
PENTRU
CITIRE

CIRCUITE
PENTRU
INSCRIERE

a)

T8
WR_L D i WC1 WC2 Functia

T3

. .. .

T5

T6

V1

V2

T1

T2

T4

De la
selectare
coloana de bit

De la
selectare
coloana de bit

T12blocat

T13blocat
VC ,VC
H
!

b)

VC

Ce2

Amplificator de sens
(diferential
cu oglinda de
curent)
VDD

.
.
.
.
.
.
T18

T16

De la
selectare
citire

De la

selectare
citire

T13

1/OE_L
T19

Di

T17

T20

T14
WC1
T12

T13blocat
VC
L

T15

T10
T11

..

C2
linie
de bit

Amplificator de sens
(cu cuplaj incrucisat)
T9

T12conduce
1

Celula SRAM 1 bit

T12blocat
T13conduce
VC
L
2

VDD

VC
C e1

PC
Control preincarcare
linii de bit : C 1 si C2

WR_L

WC2

T21

Figura 3.91 Memoria CMOS-RAM static


a: a) structurarea unei coloane dintr-o matrice RAM. Pe l
ang
a structura unei celule sunt prezentate circuitele necesare operatiilor de
nscriere si citire; b) tabelul de adev
ar pentru generarea semnalelor, de comand
a a liniilor
de bit W C1 si W C2 , n efectuarea operatiei de nscriere.

490

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

conductie realiz
andu-se astfel bascularea acestui latch-amplificator. Pe traseul T 9 , T11 ,
nspre mas
a, condensatorul Ce1 se descarc
a rezult
and o m
arire a diferentei VC1 VC2 .
Aceast
a diferenta
pronuntat
a de tensiune, dintre cele dou
a linii C1 si C2 , rezultat
a
n urma procesului de citire a celulei de memorie, se aplic
a prin intermediul tranzistoarelor de trecere T14 si T15 pe intr
arile amplificatorului de sens.
Amplificatorul de sens (diferential) va genera (prin driverul de iesire TSL) un
semnal 0 logic pentru V < 0 si un semnal 1 logic pentru V > 0. Tranzistorul T20
este realizat cu o lungime de canal m
arit
a pentru a avea o functionare de generator
de curent. Terminalele de substrat ale tranzistoarelor T16 si T17 sunt conectate la
nodul de surs
a comun
a si nu la mas
a, pentru a se evita variatia tensiunilor de prag
ale acestor tranzistoare datorit
a polariz
arii de substrat. Pentru aceste variatii mici
V amplificatorul de sens diferential realizeaz
a un semnal de r
aspuns cu un timp de
crestere de valoarea r ' 1ns (vezi Figura 1.15-a).
La citirea st
arii logice 1, nscris
a n celul
a, n nodul

1 , V1 = VDD , deci T5

conduce, T1 blocat, n nodul 2 , V2 = 0V , deci T2 conduce, T6 blocat. Analiz


and
similar, ca n cazul anterior se genereaz
a V = VC1 VC2 > 0, iar la iesirea driverului
TSL se obtine semnalul 1 logic.
In utilizarea memoriei SRAM poate apare cazul c
and se citeste o celul
a de pe
o coloan
a, nscris
a n 0 deci V < 0, iar citirea urm
atoare este de la o celul
a tot
de pe aceeasi coloan
a, dar nscris
a n 1 deci V > 0. Pentru aceste cazuri, pentru
a citi corect si rapid, trebuie nc
arcate n intervalul dintre cele dou
a citiri cele dou
a
capacit
ati echivalente Ce1 si Ce2 cu aceeasi sarcin
a deci liniile C1 si C2 aduse la acelasi
potential. In acest scop este introdus
a posibilitatea de egalizare (prenc
arcare), PC,
de aducere la acelasi potential a liniilor de bit.
Operatia de nscriere n celul
a. S
a consider
am, ca si anterior, c
a valorile la
iesirea latch-ului V1 = 0, V2 = VDD reprezint
a 0 logic, iar V1 = VDD si V2 = 0
reprezint
a 1 logic. Pentru nscrierea celulei de memorie n starea 1 se aplic
a pe linia
de bit C1 potentialul VC1 = VDD si pe linia C2 potentialul VC2 = 0V , iar celula initial
este n starea zero. La activarea liniei de cuv
ant j tranzistoarele T 3 si T4 intr
a n
a VC1 = VDD , iar
conductie, n nodul 1 si pe poarta tranzistoarelor T2 , T6 se aplic
n nodul 2 si pe poarta tranzistoarelor T1 , T5 se aplic
a VC2 = 0V ; dac
a celula era
n starea 0 prin conexiunile care realizeaz
a o reactie pozitiv
a starea inversorului din
dreapta, cu T2 blocat T6 n conductie, va trece n starea cu T2 n conductie si T6
blocat, iar inversorul din st
anga va trece din starea cu T1 n conductie si T5 blocat n
starea cu T1 blocat si T6 n conductie ceea ce reprezint
a nscrierea st
arii 1 n celul
a.
Dac
a celula era n starea 1, aplicarea pe liniile de bit VC1 = VDD , VC2 = 0 nu produce
bascularea latch-ului. In mod similar, dac
a pe liniile de bit C1 , C2 se aplic
a respectiv
VC1 = 0V si VC2 = VDD , iar celula era n stare logic
a 1 se va produce bascularea celulei
n starea logic
a 0, iar dac
a era n starea logic
a 0 nu se produce nici o modificare.
Aplicarea celor dou
a tensiuni de niveluri logice diferite pe cele dou
a linii de bit se
realizeaz
a cu circuitele desenate n partea de jos a figurii. Practic, pentru nscrierea
n 1, coloana C2 este conectat
a la mas
a prin tranzistoarele T13 si T21 , iar pentru
nscrierea n 0 coloana C1 este conectat
a la mas
a prin tranzistoarele T12 si T21 ; T21
intr
a n conductie c
and coloana de bit j este selectat
a prin semicuv
antul de adres
a
An1 1 An1 2 . . . A1 A0 . Semnalele complementare W C1 si W C2 , care comand
a respectiv tranzistoarele T12 si T13 , se obtin din valoarea bitului Di , a cuv
antului de date,

3.6. MEMORIA CU ACCES ALEATORIU

491

aplicat pe intrare pentru a fi nscris si din semnalul de nscriere n celul


a WR L,
prin intermediul a dou
a porti NOR, conform tabelului de adev
ar din Figura 3.91-b.
Tranzistoarele T12 , T13 si T21 trebuie s
a fie dimensionate cu valori ridicate pentru raportul (W/L) pentru ca s
a forteze aproape la zero potentialele coloanelor n operatia
de nscriere. Semnalele W C1 si W C2 pot fi utlizate pentru comanda si a altor coloane,
n cazul nostru de 2n1 coloane (dar atentie la fan-out, care creste mult!).
Parametrii de timp pentru operatiile de citire si nscriere n memorie.
Pentru efectuarea corect
a a operatiilor de citire si nscriere semnalele care concur
a
(cuv
antul de adres
a An1 A0 , cuv
antul de date Dm1 D0 pe I/O si semnalele de
control: validare nscriere WE L; selectare circuit CS L; validare iesire OE L, Figura
3.90-b) trebuie s
a aib
a o anumit
a succesiune n timp si sunt restrictionate de anumite
valori limit
a de timp. Aceste restrictii sunt impuse de nscrierea latch-ului care are
o functionare transparent
a. Semnalul intern WR L care nscrie datele n latch, si
care determin
a durata de transparenta a latch-ului, se obtine ca o conjunctie ntre
semnalele de intrare, W R L = W E L CS L, deci acest semnal este activ n L pe o
durat
a WP egal
a cu intervalul n care ambele semnale de intrare sunt active. Latchul devine transparent la nceputul duratei WP , pe frontul H-L, si r
am
ane n stare de
transparenta
p
an
a la frontul L-H. Pe durata de transparenta
WP , nu se impune pentru
cuvintele de date si de adres
a aplicate s
a fie stabile, dar este necesar ca acestea s
a fie
stabile fata
de frontul L-H, pe un interval SU nainte si H dup
a; aceast
a restrictie se
va reflecta n definirea parametrilor de timp urm
atori [Wakerly 0 00].
Operatia de citire din memorie, Figura 3.92-a (semnalul de nscriere se consider
a neactivat, WE L=H)
- AA , timpul de acces (fata
de aplicarea adresei). Este intervalul de timp din
momentul aplic
arii la intrare a cuv
antului de adres
a p
an
a n momentul c
and
cuv
antul de date citit este valid la pinii I/O (se presupune c
a semnalul intern
I/OE L a fost deja activat). In exprimarea profesional
a c
and se refer
a la o
memorie, de exemplu de 60ns se ntelege AA .
- ACS , timpul de acces de la selectarea circuitului. Este intervalul de timp din
momentul aplic
arii semnalului CS p
an
a n momentul c
and cuv
antul de date citit
este valid la pinii I/O (se presupune cuv
antul de adres
a si semnalul OE c
a au
fost deja aplicate si sunt stabile). In general AA = ACS , dar nu si n cazul
circuitelor la care neactivarea semnalului CS introduce circuitul n regimul de
asteptare (standby), Figura 2.49-a.
- OE , timpul de validare a iesirii. Este intervalul din momentul n care ambele
semnale OE si CS sunt activate (care genereaz
a semnalul intern I/OE) p
an
a
c
and driverele de iesire TSL trec n starea de functionare normal
a; OE < ACS .
- OZ , timpul de devalidare a iesirii. Acest parametru caracterizeaz
a trecerea n
regim de HZ a driverelor TSL; este intervalul de timp din momentul dezactiv
arii
semnalelor OE si CS p
an
a c
and driverele TSL ajung n HZ.
- OH , timpul de mentinere a datelor. Specific
a intervalul de timp n care cuv
ntul
citit mai poate r
am
ane valid la I/O dup
a ce cuv
antul de adres
a, al locatiei de
unde s-a citit, a fost anulat.

492

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

An1

.. A

Adresa stabila

Adresa stabila

CS_L
WE_L=H
OE_L
D m1

.. D

Adresa stabila
max( ,ACS )
OH

ACS

Date

Date
valide

oz

oz

OE
Date
valide

valide

a)
An1

.. A

Ciclu de inscriere controlat prin WE


Adresa stabila
CSW

CS_L

AS

WP

Ciclu de inscriere controlat prin CS


AS

AH

Adresa stabila
CSW
AH

WP

WE_L

D m1

.. D

DS
0

DH

Date valide

DS

DH

Date valide

b)
Figura 3.92 Definirea parametrilor de timp pentru o memorie SRAM: a) pentru
operatia de citire (WE L, inactiv); b) pentru operatia de nscriere

Operatia de nscriere n memorie, Figura 3.92-b


- AS , timpul de stabilizare a adresei. Specific
a cu c
at timp nainte de aplicarea
semnalului de nscriere (generat prin conjunctia CSWE) cuv
antul de adres
a
trebuie s
a fie stabil.
- AH , timpul de mentinere a adresei. Specific
a c
at timp dup
a aplicarea semnalului de nscriere cuv
antul de adres
a mai trebuie s
a nu se modifice. AS si AH
determin
a, pentru nscriere, intervalul interzis centrat pe frontul de nscriere,
n care bitii cuv
antului de adres
a nu trebuie s
a se modifice.
- DS , timpul de stabilizare a datelor. Specific
a cu c
at timp nainte de frontul activ
al semnalului de nscriere, WR L, datele aplicate pe teminalele I/O trebuie s
a
fie stabile.
- DH , timpul de mentinere a datelor (nemodificate dup
a frontul de nscriere). DS
si DH , la fel ca si AS si AH pentru adrese, determin
a pentru date intervalul
interzis , centrat pe frontul de nscriere n care bitii cuv
antului de date nu
trebuie s
a se modifice.
- CSW , timpul de stabilizare pentru CS. Specific
a cu c
at timp nainte de frontul
de nscriere semnalul CS trebuie s
a fie stabil.

3.6. MEMORIA CU ACCES ALEATORIU

493

- WP , l
atimea palierului semnalului de nscriere. Specific
a cu c
at timp nainte
de frontul de nscriere trebuie s
a se aplice semnalul WE. De fapt transparenta
latch-ului, dup
a cum s-a spus, este determinat
a de durata palierului semnalului
WR (generat prin conjunctia CS L W E L). Consider
and c
a aceste dou
a semnale sunt dezactivate simultan atunci se pot distinge dou
a cicluri de nscriere:
controlat prin WE sau controlat prin CS, dup
a cum WE L este activat ultimul
sau CS L este activat ultimul.
Din analiza function
arii memorie SRAM si din prezentarea parametrilor se observ
a
c
a operatiile de nscriere si de citire sunt asincrone (aparitia lor nu este determinat
a de
un semnal de ceas). De aceast
a observatie trebuie tinut cont c
and o memorie SRAM
este introdus
a ntr-un sistem n care exist
a alte componente (registre, num
ar
atoare,
ASM) care au o functionare sincron
a.

3.6.2

Memoria RAM dinamic


a

Memoria dinamic
a DRAM (Dynamic RAM) datorit
a faptului c
a permite
densit
ati ridicate de integrare, n raport cu memoria RAM, s-a impus pentru capacit
ati
de stocare mari (chiar de ordinul Gb, 1G= 23 0), desi fata
de memoria static
a prezint
a
circuistic
a de control suplimentar
a. Exist
a variante de DRAM care se bazeaz
a pe
celule de memorie compuse dintr-o capacitate de stocare si 1,3 sau 4 tranzistoare, dar
s-a generalizat structura de DRAM care prezint
a n fiecare nod al matricei o celul
a
cu un singur tranzistor, notat
a prin 1-T DRAM; numai structura bazat
a pe aceast
a
celul
a se va prezenta. Int
ai se va prezenta modalitatea de realizare a proceselor de
nscriere si de citire/regenerare la nivelul unei celule dintr-o matrice de memorie, apoi
modul de comand
a al operatiilor de nscriere si citire/regenerare la nivel de circuit
DRAM, prin aplicarea la pinii circuitului a semnalelor: de control, adres
a si date.
Se consider
a o matrice de 256 linii de cuv
ant (LW255 , . . . , LW1 , LW0 ) si 256
coloane/ linii de bit (C255 , . . . C1 , C0 ), Figura 3.93-a. In fiecare nod al matricei
(256 256), celula const
a dintr-un tranzistor nMOS si un condensator C, Figura
3.93-b. Condensatorul de stocare C se realizeaz
a ntre zona difuzat
a n + din substrat,
ca surs
a a tranzistorului, si o plac
a din polisiliciu realizat
a deasupra stratului de
SiO2 , conectat
a la mas
a (VSS ). Intr-un nod ji al matricei, conectarea condensatorului C la coloana de bit Ci prin intermediul tranzistorului nMOS, se realizeaz
a prin
activarea (VDD ) liniei de cuv
ant LWj . Prin aceast
a conectare sunt puse n paralel
dou
a capacit
ati de valori sensibil diferite: capacitatea C de stocare din nod (valori
30 10f F , 1fF=1015 F) si capacitatea echivalent
a Ce ( 300fF) a coloanei. Prin
transferul de sarcin
a ntre cele dou
a condensatoare, c
and sunt puse n paralel, deci
prin valoarea tensiunii rezultate pe coloana de bit, se pot realiza operatiile de nscriere,
citire/regenerare.

Inscrierea celulei din nodul ji cu bitul Din aplicat pe intrare se realizeaz


a simplu. Int
ai, se activeaz
a prin semicuv
antul superior de adres
a aplicat la intrarea decodificatorului de linia de cuv
ant LWj , apoi prin semicuv
antul inferior de adres
a aplicat
decodificatorului de coloan
a se selecteaz
a coloana de bit Ci , iar pe acest
a coloan
a se
aplic
a valoarea bitului de intrare, Din , deci prin tranzistorul n conductie T din nodul
ji se ncarc
a condensatorul cu sarcin
a zero (pentru Din =0) sau la potentialul VDD
(pentru Din =1).

494

.. ..
. .. . ..
.. ..
.. ..
.. ..

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

PC
LW255

Decodificare linii

LWO

.
.
. C255 .
.
LW128 .
LW127

Plasate in
intervalul
dintre subariile
matricei

1
D in

a)

Buffer
Date de
Intrare

. . . .
. . . .

.
.
. C254 .
.
.
C

ampl.latch
si ampl.
de sens
col 255

ampl.latch
si ampl.
de sens
col 254

. ..
.
.

. . . .
. . . .

.. .
. .. . ..
.. ..
.. ..
.. ..
C

.
.
. C1 .
.
.

.
.
. C0 .
.
.

ampl.latch
. . . .
si ampl.
de sens
col 1
. . . .

ampl.latch
si ampl.
de sens
col 0

.. ..

VDD / 2

Linie de bit, i
Ci
Linie de cuvant
D
LW j
Ce

semicoloana
superioara

C
VSS

LW j

. . . .
. . . . .
Ci

n+ D

VSS

semicoloana
inferioara
Si O2

VSS
. .
. .

n+

. .
. .
S

substrat
Polisiliciu
(poarta)

Buffer
Date de
Iesire

Polisiliciu
(placa
condensator)

b)

D0

Selectare coloane

Figura 3.93 Memoria DRAM:a) structurarea de principiu a unei matrice de dimensiune


256 linii 256 colone; b) structura unei celule de tipul 1-T si layout-ul corespunz
ator

Exist
a o paricularitate n structurarea acestei matrice, fiecare coloan
a de bit este
sectionat
a n dou
a lungimi egale: semicoloana superioar
a, care cuprinde nodurile de
intersectii cu liniile de cuv
ant LW255 , . . . LW129 , LW128 si semicoloana inferioar
a
care cuprinde nodurile de intersectie cu liniile de cuv
ant LW127 , . . . LW1 , LW0 .
(Aceast
a sectionare explic
a de ce n Figura 3.93-a num
arul liniilor de cuv
ant LW j
sunt alternate n num
arare corespunz
ator celor dou
a intervale: de la LW 0 LW127 cu
LW128 LW255 .) Aceast
a sectionare a coloanelor apare si pe aria de Si prin realizare
a dou
a subarii iar n spatiul dintre acestea este implementat, corespunz
ator fiec
arei
coloane de bit, c
ate un amplificator latch si un amplificator de sens diferential, Figura
3.94-a. (In aceast
a figur
a este desenat doar amplificatorul latch, circuitul complet
amplificator latch si amplificator de sens diferential sunt similare cu cele prezentate
n Figura 3.91-a.) Fiecare din cele dou
a semicoloane (S superioar
a, I inferioar
a)
este caracterizat
a de o capacitate electric
a echivalent
a, C eI ,CeS (CeI = CeS ). In
figur
a sunt prezentate pentru fiecare semicoloan
a tranzistoarele si condensatoarele
din nodurile corespunz
atoare, care sunt comandate de semnale de la liniile de cuv
ant
LWj ; n plus, sunt, pentru fiecare semicoloan
a, introduse c
ate o celul
a martor. Cele
dou
a celule martor de pe o coloan
a sunt, ca structur
a, identice cu cea a unei celule
din oricare nod dar au un condensator de stocare de valoare C/2, prezint
a pentru comand
a pe portile tranzistoarelor semnalele CMI si CMS , care nu sunt obtinute de la
linii de cuv
ant, iar potentialele n punctele X si Y pot fi puse la mas
a prin intermediul
a dou
a tranzistoare comandate prin semnalul de prenc
arcare, PC.
Sectionarea fiec
arei coloane n dou
a semicoloane identice face ca operatia de citire

495

3.6. MEMORIA CU ACCES ALEATORIU

Semicoloana inferioara
LW 0

....

.
.

CMI

LW 127

LW 126
C

a)

VDD
PC

C eI

C eS

Celula martor

Ampl.
latch

LW 129

PC

PC

Semicoloana superioara

LW 128

C
C/2

SC

C/2

CMS

....

LW 225

Celula martor

Preincarcare, PC
Selectare linie LW
Selectare celula
martor CMI,CMS
Selectare
coloana SC

b)

Faza1

Faza2

Semicoloana inferioara

....

PC

CMI

LW 127

LW 126

c)
Semicoloana inferioara

....

LW 128
Y
C/2

PC

PC
VDD

CMS

CMI
C eI

....

Semicoloana superioara
LW 129

....

d)

LW 225

LW 128

C eS
SC
PC

C/2

LW 129

Celula martor

X
C

C/2

PC

LW 225

VDD

Faza 3
Semicoloana inferioara
LW 126

....

CMS

CMI

LW 127

C eI
X

Faza3

Semicoloana superioara

C eS
SC

C/2

LW 127

LW 126

CMS

C eI

Celula martor

Faza 2

LW 0

Faza2

X
C

LW 0

Faza1

VDD

Faza 1
LW 0

Faza3

C/2

Semicoloana superioara
LW 128

C eS

LW 129

....

Y
SC
PC

PC

C/2

LW 225

e)
Figura 3.94 Realizarea ciclului citire/regenerare pe o memorie 1-T DRAM
prin succesiunea a trei faze: a) structurarea unei coloane de bit a matricei cu 256 de
noduri n dou
a semicoloane egale separate printr-un amplificator latch si dou
a celule martor; b) succesiunea semnalelor de comand
a pentru cele trei faze; c) Faza 1 prenc
arcarea
coloanei de bit si desc
arcarea celulelor martor; d) Faza 2 activarea liniei de cuv
ant, LW127
(= VDD ) si a celulei martor din semicoloana opus
a; e) Faza 3 selectarea coloanei de bit,
SCi (= VDD ), citirea celulei si regenerarea celulei din nodul (127, i). (Partea de circuit care
nu particip
a n faza respectiv
a este desenat
a cu linie punctat
a)

496

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

a celulei dinamice s
a fie similar
a cu cea de la celula de memorie static
a. La celula
static
a citirea se realiza prin sesizarea diferentei de potential ntre cele dou
a coloane C 1
si C2 . La fel si la celula dinamic
a citirea se va baza pe sesizarea diferentei de potential
ntre semicoloana inferioar
a (VCeI ) si coloana superioar
a (VCeS ), V = VCeI VCeS .
Citirea/regenerarea celulei. Aceast
a operatie este realizat
a, ntr-o succesiune
temporal
a compus
a din trei faze, Figura 3.94-b.
Faza 1 - prenc
arcare. Prin activarea semnalului de prenc
arcare, PC, capacit
atile
echivalente CeI si CeS ale semicoloanei superioare si inferioare de bit se ncarc
a la
tensiuni egale (aproape de nivelul H), iar potentialele n punctele X si Y sunt fixate
la mas
a, Figura 3.94-c. Este necesar
a aceast
a egalizare a potentialelor pentru cele
dou
a semicoloane deoarece dup
a o citire, pentru refacerea datei citite, semicoloanele
vor fi fortate, n urma comutatiei amplificatorului latch, una n nivel H iar cealalt
a n
nivel L (vezi dup
a Faza 3). (Elementele din figur
a care nu sunt implicate n realizarea
acestei faze sunt desenate cu linie punctat
a).
Faza 2 - activarea liniei de cuv
ant si comanda celulei martor, Figura 3.94-d. Se
presupune c
a prin aplicarea semicuv
antului superior de adres
a la decodificatorul de
linii se activeaz
a linia de cuv
ant LW127 (= VDD ) din semicoloana inferioar
a si semnalul CMS (= VDD ) din semicoloana superioar
a. Dac
a n celula de la intersectia
coloanei i cu linia de cuv
ant LW127 era nscris 1 logic, atunci potentialul semicoloanei
inferioare va creste putin, iar potentialul semicoloanei superioare va sc
adea putin,
pentru c
a condensatorul C/2 al celulei martor se va nc
arca; deci apare o diferenta

de potential V (maximum c
ateva sute de mV) ntre cele dou
a semicoloane, care
se aplic
a ntre iesirile amplificatorului latch. Iar dac
a n celul
a era nscris 0 logic,
potentialul semicoloanei inferioare va sc
adea mai mult dec
at al semicoloanei superioare deoarece capacitatea celulei 127 este dubl
a fata
de capacitatea celulei martor.
Evident, prin conectarea celulei la coloana de bit valoarea potentialului pe condensatorul C din nodul accesat se modific
a, deci o distrugere a nivelului de bit care era
nscris.
Faza 3 - selectarea coloanei de bit, Figura 3.94-e. Prin aplicarea semicuv
antului
inferior de adres
a la decodificatorul de coloane, semnalul pentru selectarea coloanei i
devine activ, SC (= VDD ), amplificatorul latch basculeaz
a forta
nd pentru semicoloana
inferioar
a potentialul VDD , deci condensatorul nodului (127, i) se rencarc
a cu 1 logic,
iar potentialul semicoloanei superioare de bit este fortat la mas
a. In consecinta
data
stocat
a n nodul (127, i), deteriorat
a ca nivel n urma citirii, este regenerat
a, rezult
a
c
a operatia realizat
a de citire este urmat
a automat de regenerare. Totodat
a, este
comandat amplificatorul de sens diferential care va genera pe pinii de iesire bitul citit
n celula nodului (127, i). In continuare poate urma un nou ciclu de citire/regenerare,
cu trei faze succesive, pentru alt nod.
In Faza 2, a ciclului de citire/regenerare, sarcina pe condensatorul de stocare
dintr-o celul
a este modificat
a dar este ref
acut
a n Faza 3. Dar sarcina stocat
a pentru
valoare logic
a 1 pe condensatorul C, dintr-o celul
a care nu este supus
a la un ciclu
citire/regenerare, se micsoreaz
a (datorit
a curentului rezidual prin tranzistorul nMOS)
nc
at dup
a un anumit interval de timp nu mai reprezint
a nivelul de 1 logic. Deci, dac
a
nu se efectueaz
a un ciclu de citire/regenerare se impune ca fiecare celul
a a matricei sa
fie supus
a unei operatii de regenerare pentru refacere (refreshment) dup
a un
anumit interval de timp (de ordinul c
atorva ms). Ceea ce este, totusi, avantajos, n
acest proces de refreshment care complic
a structura si lucrul cu o memorie DRAM,

3.6. MEMORIA CU ACCES ALEATORIU

497

const
a n faptul c
a regenerarea nu se face pentru fiecare celul
a n parte ci simultan
pentru toate celulele din nodurile de pe o linie de cuv
ant LW . Pentru matricea
anterioar
a de 256 linii 256 coloane, nivelul pentru bitul 1 nu este deteriorat, dac
a
celula este regenerat
a la un interval de 4ms, ceea ce implic
a pentru fiecare linie de
cuv
ant s
a fie activat
a, LW = VDD , la un interval 4ms : 256 = 15625ns. Dac
a timpul
de ciclu, pentru operatia de citire/regenerare a unei linii, este de 100ns, rezult
a c
a
timpul consumat de o regenerare n bloc a tuturor celulelor matricei, prin activarea
succesiv
a a celor 256 linii de cuv
ant, este de 256 100 = 2.56 10 4 ns adic
a 0.64%
din 4ms; deci 99.36% din timp memoria poate fi folosit
a efectiv pentru operatiile utile
de scriere sau citire. La unele circuite DRAM trebuie aplicate din exterior comenzile
pentru regenerare, la altele, av
and n interior circuistica necesar
a, si autogenereaz
a
procesul de regenerare; circuistica necesar
a const
a dintr-un num
ar
ator care, dup
a
consumarea unui anumit interval de timp prestabilit, n cazul anterior 4ms, genereaz
a
prin num
ararea n sens direct/invers toate adresele liniilor de cuv
ant.
Modalitatea de realizare a operatiilor de nscriere, citire/regenerare, sau regenerare
separat
a, la nivel de circuit DRAM, prin aplicarea semnalelor din exterior depinde
de structurarea circuitului respectiv. O structurare de principiu pentru un circuit
DRAM de 64Kbit este prezentat
a n Figura 3.95-a.
O particularitate n functionarea unei memorii DRAM, care nfluenteaz
a structurarea sa, rezult
a din timpul necesar pentru accesarea unei linii de cuv
ant care
este mult mai lung dec
at timpul necesar pentru accesarea unei coloane de bit. In
consecinta
, se poate accesa o celul
a a matricei aplic
and nt
ai semicuv
antul de adresare
superior la decodificatorul pentru liniile de cuv
ant si numai dup
a aceea se aplic
a
semicuv
antul inferior pentru generarea selectiei de coloan
a, deci o adresare n doi
pasi: nt
ai linia (care necesit
a un timp de acces mai lung)si apoi coloana. Neaplicarea
simultan
a a celor dou
a semicuvinte a determinat ca l
atimea magistralei de adrese
pentru o memorie de capacitate 2n biti s
a nu fie de n biti ci de n/2 biti. Aceasta
explic
a de ce capacit
atiile memoriilor DRAM sunt multiplu de patru; la cresterea
(semi)cuv
antului de adres
a cu un bit at
at num
arul liniilor de cuv
ant c
at si num
arul
coloanelor de bit se dubleaz
a. Pentru memoria de 256 256 biti se aplic
a nt
ai 8
biti la pinii de adres
a, care reprezint
a semicuv
antul superior de adres
a, acest cuv
ant
este nscris ntr-un registru latch pentru adresa de linie, iar prin intermediul decodificatorului de linii se activeaz
a una din cele 256 linii. Inscrierea semicuv
antului n
registru pentru adresa de linie se face pe frontul negativ al semnalului de strob
linii, RAS L (Row Address Strob). Apoi, se aplic
a la pinii de adres
a alti 8 biti
care reprezint
a semicuv
antul inferior de adres
a iar acest cuv
ant este nscris ntr-un
registru pentru adresa de coloan
a; prin intermediul decodificatorului se activeaz
ao
cale din grupul de MUX/DMUX pentru selectarea unei coloane n matricea de celule.
Inscrierea n registru pentru adresa de coloan
a se face pe frontul negativ al semnalului de strob coloane, CAS L (Collumn Address Strob). Pe durata CAS L=0
bufferul de iesire TSL este trecut din HZ n starea de functionare normal
a. Mai exist
a nc
a dou
a semnale de control: unul necesar numai pentru validarea operatiei de
nscriere, WE L, iar cel
alalt (nefigurat n aceast
a structur
a) pentru selectarea circuitului CS L.
Citirea memoriei, Figura 3.95-a. Semicuv
antul superior de adres
a, aplicat cu
valori stabile pe pinii circuitului, este strobat/nscris n registrul pentru adresa de
linie pe frontul negativ al semnalului RAS L; se selecteaz
a linia corespunz
atoare din

498

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Decod.

Registru
pentru adresa
de linie

..

linii

Matrice de
celule 1TDRAM

256

8:256

256x256

Logica

A7 A0

de

control

256

control

RAS_L
CAS_L
WE_L

Adresa
de
coloana

Registru
pentru adresa
de coloana

Decod.

Amplificatoere de sens,

coloana

Registru latch de linie


Multiplexoare si

8:256
256

Demultiplexoare

a)

D0

DI

CITIRE

..

RAS_L
CAS_L

..

Inscriere in reg. adr.


de linie. Selectare
linie. Inscriere in
reg. latch de linie

b)
INSCRIERE

..

RAS_L
CAS_L

..

Adr.de linie valida

CAS
Date de
iesire valide

Se incarca registrul pentru


adr. de coloana, se valideaza
bufferul de iesire(TSL), bitul
selectat se aplica pe pinul
de iesire

Adresa de linie valida


RAS

Adr.coloana valida
ciclu

CAS

Devalidarea
bufferului de
iesire(TSL)

Reinscriere
liniei selectate

Adr.de linie valida

Date de intrare valide

AO3 D0 0
WE_L

c)

RAS

HZ

AO3 D0 0
WE_L=H

A11 A0

Adr.coloana valida
ciclu

Adresa de linie valida

A11 A0

Inscriere in reg. adr.


de linie. Selectare
linie. Inscriere in
reg. latch de linie

Se incarca registrul pentru


adresa de coloana, se selecteaza
pozitia bitului ce trebuie inscris

Inscriere DI
in reg latch
de linie

Reinscriere
liniei selectate

Figura 3.95 Circuitul de memorie DRAM: a) structurare de principiu pentru o memorie de 64Mb (4096 4096 4); succesiunea aplic
arii cuv
antului de adres
a, a datelor de
iesire/intrare si a semnalelor de control n efectuarea operatiilor de citire/regenerare (b) si
de nscriere (c).

3.6. MEMORIA CU ACCES ALEATORIU

499

matrice iar continutul acestei linii este nscris ntr-un registru latch de linie. Apoi,
dup
a ce semicuv
antul inferior de adres
a aplicat pe pinii circuitului devine stabil acesta
este nscris n registrul pentru adresa de coloan
a pe frontul negativ al semnalului de
strob CAS L. Pe baza acestei adrese de coloan
a prin intermediul multiplexoarelor
este selectat bitul corespunz
ator, din cuv
antul nscris temporar n registrul latch de
linie, si aplicat pe pinul de iesire DO (bufferul de iesire TSL este n stare normal
a de
functionare at
at timp c
at CAS L este activat). La dezactivarea semnalului RAS L,
continutul din registrul latch de linie este renscris (/regenerare) napoi n linia de
cuv
ant care a fost selectat
a, deci la sf
arsitul operatiei de citire a unei locatii se realizeaz
a regenerarea ntregii linii n care se afl
a locatia respectiv
a citit
a.
Operatia numai de regenerare a informatiei din ntreaga matrice este similar
a cu
cea de la citire cu diferenta c
a nu se mai comand
a selectarea coloanei (CAS L nu
se activeaz
a, se ncarc
a linia selectat
a n registrul latch de linie si apoi se nscrie
napoi linia cu acelasi continut). Se aplic
a succesiv toate adresele liniilor de cuv
ant,
pe frontul negativ al semnalului RAS L continutul unei linii se nscrie n registrul
latch de linie iar la dezactivarea acestui semnal continutul din registrul latch de linie
este nscris napoi n linia respectiv
a; intervalul de timp dup
a care o linie trebuie
remprosp
atat
a este de ordinul ms. In principiu, partea de remprosp
atare trebuie
s
a aib
a un circuit timer care s
a produc
a intervale de timp dup
a care trebuie pornit
a
operatia de remprosp
atare (Timer - un circuit num
ar
ator prestabil, comandat cu o
frecventa
stabil
a) si un num
ar
ator ce genereaz
a succesiv toate adresele de linie.

Inscrierea memoriei. Succesiunea de selectare a locatiei din matricea de memorie este similar
a ca la operatia de citire, dar semnalul WE L trebuie activat naintea
am
ane n starea
semnalului CAS L; pe durata RAS L=0 bufferul de iesire TSL va r
HZ chiar dac
a CAS L devine activ. Dup
a ce continutul liniei selectate a fost nscris
n registrul latch de linie (la fel ca la citire), pozitia din acest registru, determinat
a
de selectare coloan
a, este nscris
a cu bitul de intrare DI la activarea semnalului de
nscriere WE L. La dezactivarea semnalului RAS L se va nscrie n linia de cuv
ant
continutul din registrul latch de linie dar cu valoarea bitului DI n pozitia selectat
a.
Un procedeu prin care se simpific
a procesul de remprosp
atare a memoriei este
cel referit prin CAS nainte de RAS (CAS before RAS). Aplicarea acestui procedeu
necesit
a existenta unui num
ar
ator n interiorul circuitului de memorie care s
a genereze
succesiv adresele de linii de cuv
at (se elimin
a astfel aplicarea din exterior a adreselor
de linie). Dup
a cum si denumirea procedeului indic
a, se aplic
a semnalul CAS naintea
semnalului RAS, este remprosp
atat
a linia de cuv
ant selectat
a de num
ar
ator si apoi
se incrementeaz
a num
ar
atorul.
La DRAM, ca si la SRAM, functionarea nu este dirijat
a de ceas, functionarea
este de tip asincron si este fixat
a prin fronturile H-L si L-H ale semnalelor de control
RAS L si CAS L.
Sintetic functionarea memoriei dinamice se compune din (parametrii de timp din
paranteze corespund unei memorii actuate de 4MB):
Adresarea liniei de cuv
ant ( 50ns)
se aplic
a adresa de linie si se activeaz
a semnalul de strobare RAS L

ntregul continut al liniei selectate/citite este nscris n registrul latch de


linie
continutul liniei citite este deteriorat

500

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Adresarea coloanei ( 10ns)


se aplic
a adresa de coloan
a si se activeaz
a semnalul de strobare CAS L
pentru coloana selectat
a bitul:

- la citire este transferat din registrul latch de linie la iesire, DO


- la nscriere este nscris cu valoare DI

Remprosp
atare ( 30ns)
se nscrie napoi n linie ntreg continutul din registrul latch de linie
Pentru o memorie dinamic
a principalii parametri din catalog sunt (valorile din
paranteze corespund pentru o memorie de 4MB):
RAC , este intervalul de timp minim de la frontul de activare a semnalului RAS L
p
an
a n momentul c
and datele sunt valide la iesirea bufferului TSL (60 ns).
Viteza unui cip de memorie este specificat
a prin aceast
a valoare (de acces).
RC , este intervlul de timp minim din momentul (pornirii) acces
arii unei linii de
cuv
ant p
an
a n momentul acces
arii liniei de cuv
ant urm
atoare, adic
a distanta
mini-m
a, n timp, ntre dou
a activ
ari ale semnalului RAS L; este un timp de
ciclu (110 ns).
CAC , este intervalul de timp minim din momentul activ
arii semnalului se strob
CAS L p
an
a la obtinerea datelor valide la iesierea bufferului TSL (15 ns).
PC , este intervalul de timp minim din momentul (pornirii) acces
arii unei coloane
p
an
a n momentul acces
arii coloanei urm
atoare; este un timp de ciclu (35 ns)
Urm
atoarele valori reflect
a dinamica memoriilor de tip DRAM: cresterea de capacitate +60%/an; sc
aderea de cost -30%/an; cresterea densit
atii de integrare
2.5celule/suprafata
; cresterea suprafetei waferului 1.5 ori n 3 ani.
Memoria este o component
a foarte important
a n sistemele de calcul, unde din
ce n ce mai mult se impun un volum mare de schimb de date n unitatea de timp.
Pentru cresterea volumului schimbului de date se actioneaz
a: fie prin m
arirea lungimii
cuv
antului cu care se lucreaz
a, fie prin micsorarea latentei memoriei (valorile date
anterior ar
atau c
a timpul minim de acces consecutiv la liniile de cuv
ant este RC =
110ns) sau simultan, prin ambele modalit
ati. Exist
a diferite modalit
ati prin care se
obtine o latent
a micsorat
a pentru memorie, amintim doar dou
a: accesarea tip pagin
a
si accesarea tip cu iesirea de date extins
a EDO (Extended Data Out). Acestea de
fapt, realizeaz
a c
at mai multe operatii pe o aceeasi accesare a unei linii de cuv
ant,
astfel nc
at operatiile s
a nu mai fie o repetare de tipul CAS, RAS, CAS, RAS . . . .
Modul de accesare de tip pagin
a, prin adresa de linie, activeaz
a o ntreag
a pagin
a/linie de cuv
ant (poate fi p
an
a la 8096 biti) si apoi prin schimbarea numai a
adresei de coloan
a, conjugat
a cu activarea semnalului CAS, poate accesa oricare celul
a
cuprins
a n acea linie; trecerea la o alt
a pagin
a impune aplicarea noii adrese de linie si
reactivarea semnalului RAS. Succesiunea semnallor de strobare n aplicarea adreselor
pentru o operatie n modalitatea de acces tip pagin
a este: RAS, CAS, CAS, . . . , CAS;
RAS, CAS, CAS, . . . .

3.6. MEMORIA CU ACCES ALEATORIU

501

Modul de accesare tip EDO este de fapt tot o adresare de tip pagin
a numai c
a,
dup
a cum si denumirea sugereaz
a, se extinde timpul c
at datele sunt valide pe iesire.
De data aceasta se exclude activarea succesiv
a a semnalului CAS pentru fiecare citire,
iar starea normal
a a bufferului de iesire TSL este comandat
a de un semnal de validare
a iesirii, OE L. Deci datele, din registrul latch de linie, sunt valide la iesire c
at timp
OE L = 0, pe durata dintre nceputul marcat de activarea semnalului CAS L p
an
a
la activarea urm
atoare a acestui semnal. Pe aceast
a durat
a sunt generate succesiv
adresele de coloan
a ale bitilor stocati n registrul latch de linie.
Din prezent
arile anterioare, at
at la memoria static
a c
at si la cea dinamic
a, rezult
a
c
a functionarea acestor circuite este de tip asincron. Pentru integrarea lor ntr-un
,,
sistem sincron este necesar
a aducerii function
arii n acelasi timp /(sincronizarea) cu
ceasul sistemului. In modul sincron functionarea intern
a a circuitului de memorie
r
am
ane aceeasi dar semnalele cu exteriorul (cuv
antul de adres
a, semnalele de control,
datele de intrare) sunt citite/(esantionate) pe frontul pozitiv al semnalului de ceas si
nscrise n registre interne ale circuitului de memorie (aceste circuite registru interne
sunt componente ale interfetei de sincronizare); de asemenea datele de iesire sunt
generate sincron (pe durata dintre dou
a fronturi pozitive consecutive ale semnalului
de ceas). Circuitele de memorie SRAM, DRAM nzestrate cu aceste interfete de
Sincronizare sunt referite respectiv prin abreviatiile SSRAM si SDRAM.
3.6.2.1

Memoria DRAM sincron


a, SDRAM

Integrarea unei memorii DRAM, a c


arei functionare de tip asincron este fixat
a
prin fronturile H-L si L-H ale semnalelor de control RAS L si CAS L, ntr-un sistem
sincron necesit
a o anumit
a circuistic
a de interfatare. Dar n ultimii ani, aceast
a
circuistic
a de interfatare a fost integrat
a pe acelsi cip cu memoria DRAM, iar pentru
exterior (pentru utilizator) apare ca un circuit cu functionare sincron
a, pe baza unui
semnal de ceas, circutul fiind referit ca memorie dinamic
a Sincron
a, SDRAM. Pentru
prezentarea organiz
arii, function
arii si comenzilor exterioare ale unei memorii dinamice sincrone s-a ales circuitul SDRAM 128Mb (32) (Micron Technology), care, cu
anumite simplific
ari, poate fi utilizat ca un circuit generic.
Organizarea circuitului de capacitate 128Mb este prezentat
a n Figura 3.96-a.
Pentru circuitele DRAM de capacitate mare, datorit
a dificult
atilor de realizare a
unei matrice p
atratic
a de dimensiune ridicat
a, matricea este segmentat
a n mai multe
submatrice, referite prin temenul de banc
a sau de plan; aceste b
anci functioneaz
a n
paralel dar independent una de alta. Organizarea din aceast
a figur
a, de capacitatea
128Mb (227 =134 217 728 biti), este compus
a din patru b
anci acoperind un spatiu de
adresare de 4M adrese; num
arul de 33 554 432 (225 ) biti dintr-o banc
a are ca suport
o matric
a cu 4096 linii (A11 A0 ) si 256 coloane (A7 A0 ), la fiecare locatie de la
intersectia unei linii cu o coloan
a fiind un cuv
ant de 32 biti. Selectarea uneia din cele
patru b
anci se realizeaz
a cu bitii BA1 si BA0.
La nivelul de celul
a de stocare ntr-o banc
a operatiile de citire, scriere, remprosp
atare se fac prin succesiunea semnalelor CAS, RAS si bitilor de intrare si iesire,
la fel ca la memoria dinamic
a prezentat
a n sectiunea anterioar
a, diferenta apare
n modul cum aceste semnale interne se obtin, prin circuistica de interfatare, din
semnalele externe aplicate la pinii circuitului de memorie sincron
a, deoarece acest
circuit are o functionare programat
a care este sub controlul semnalului de ceas, CLK.

502

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

....
..

CLK
CKE
CS_L
WE_L
CAS_L
RAS_L

Logica de
control
Numarator pentru
reinprospatare

Decodif.
comenzi
registru
de mod

Mux
adrese 11
de
11 linie

11

BA0 ,BA1

2
BA0 ,BA1

a)
Reg
de
mod

10

Banca 0
Matrice de celule
(4096x256x32)

A8

Magistrala de adrese
A7 A6 A5 A4 A3

A2

A1

A0

0
0
0
0
1

M9
0
1

0
0
1
1

..

Latenta
CAS
Rezervat
1
2
3
Rezervat

Modul rafala
pt. inscriere
lungimea de
rafala programata
fara rafala
M8 M7 M6M0

b)

Definite

0
0
0
0
1
1

M3
0
1

A0

A1 A0

Tipul de rafala

0
1
0
1

Succesiv
Intretesut

Modul de operare
Operator standard
Toate starile rezervate

32

Reg.
date
de
intrare
DQT

coloana

1
1
2
2
4
4
8
8
Neutilizate
pagina neutilizat
1 1 intraga

0
0
1
1

32

Reg.
date
de
iesire
DQO

Decodificator

lungime adresa
coloanei
rafala de
inceput

Lungime rafala
M2 M1 M0 M =0 M =1
3
3

c)

0
0
1
1
A2 A1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

DQM0
DQM3

..

0
1
0
1
A0
0
1
0
1
0
1
0
1

DQ0
DQ31

ordine de acces in rafala


Succesiv(M3 =0)
01
10
0123
1230
2301
3012
01234567
12345670
23456701
34567012
45670123
56701234
67012345
70123456

pagina n=A0 A7 Cn, Cn+1,Cn+2,


intreaga Locatii: Cn+3,Cn+4,....
(256) 0 256 ...Cn1,Cn,...

..

32

256
(x32)

0
1
0
1

Amplif. de sens

Rezervat
M6 M5 M4

Interfatare
1/0 date

Control 1/0
Logica mascare DOM
Latch pt.citire date
Drivere pt.inscriere

Logica
de
control
pentru
banci

Latch/numarator
pentru
adresa de coloana

Nucleul
memoriei

A10 A9

Banca 0
Latch
adresa
4096
de
linie
si
decodif.

8192

Registru
de
adrese

A0A11

Banca0

..

11

Banca3
Banca2
Banca1

Intretesut(M 3 =1)
01
10
0123
1032
2301
3210
01234567
10325476
23016743
32107654
45670123
54761032
674552301
76543210
Neimplementat

Figura 3.96 Memoria sincron


a DRAM: a) organizare de principiu pentru un SDRAM
de capacitate 4M 32 compus
a din patru b
anci fiecare de dimensiune 4096 256 32;
b,c) modalitatea de programare, prin cuv
antul nscris n registrul de mod, a tipurilor de
rafale pentru operatiile de nscriere si de citire.

3.6. MEMORIA CU ACCES ALEATORIU

503

Pe l
ang
a semnalul de ceas mai exist
a un semnal de validare a semnalului de ceas,
CKE, deci efectul de sincronizare se realizeaz
a numai c
and acest semnal este activ,
CKE = H. Pe fiecare front pozitiv al semnalului CLK, de frecventa
maxim
a 166MHz,
semnalele externe de control CS L, WE L, RAS L si CAS L sunt nregistrate n blocul
de decodificare comenzi, cuv
antul de adres
a A11 A10 si bitii de adresare a b
ancilor
BA1, BA0 sunt nscrisi n registrele de adrese, iar cuv
antul de date DQ31 DQ0
este nscris n registrul de date de intrare DQI (pentru nscriere) sau este generat
la iesirea registrului de date de iesire DQO (pentru citire) si de asemenea, cuv
antul
masc
a DQM3 DQM0 , pentru datele de intrare/iesire este nregistrat. Pentru fiecare
byte din cuv
antul de date intrare/iesire corespunde un bit n cuv
antul de mascare n
felul urm
ator: DQM0 pentru DQ7 DQ0 ; DQM1 pentru DQ15 DQ8 ; DQM2
pentru DQ23 DQ16 si DQM3 pentru DQ31 DQ24 . Valoarea H a bitului de
mascare DQMi , constituie pentru byte-ul i corespunz
ator din cuv
antul de date de
intrare/iesire o masc
a, adic
a bufferele de iesire sunt n starea HZ deci nu se obtin date
de iesire iar datele aplicate pentru nscriere nu vor fi stocate n memorie; datele de
intrare/iesire vor fi valide pentru nscriere/citire numai c
and valoarea testat
a a bitului
respectiv de masc
a, DQMi , este n L. C
and cei patru biti de mascare sunt considerati
toti n aceeasi stare (H sau L), adic
a aceeasi comand
a pentru toti cei patru bytes ai
cuv
antului de date, sunt referiti n comun prin notatia DQM.
Pentru realizarea unei operatii de prenc
arcare, citire, nscriere sau remprosp
atare
comenzile necesare se obtin din valorile semnalelor aplicate din exterior pe pinii circuitului, esantionate pe frontul pozitiv de ceas, dar aceste valori nu sunt interpretate
individual ci interpretate mpreun
a sub forma unui cuv
ant de control; deci pentru
SDRAM exist
a un cuv
ant de control extern, format din bitii CS L, WE L, CAS L,
RAS L, un cuv
ant de adresare format din bitii A11 A0 si BA1, BA0 si un cuv
ant
de mascare format din bitii DQM3 DQM0 . (Toate semnalele aplicate pe pini sunt
compatibile LVTTL, VDD = 3.3V , vezi Figura 1.48-c.)
Operatiile de citire si nscriere sunt pipelinizate, adic
a pe fiecare front al impulsului
de ceas se genereaz
a sau se nscrie c
ate un cuv
ant de 32 biti. Aceast
a pipelinizare este
realizat
a at
at la o accesare aleatorie a locatiilor c
at si la o accesare de tip rafal
a
(burst) - accesarea porneste de la o locatie selectat
a continu
and apoi, f
ar
a ntrerupere
(rafal
a), cu un num
ar prescris de locatii ntr-o succesiune programat
a. Programarea
succesiunii, continut
a n cuv
antul de mod M10 M0 , pentru modul de accesare de
tip rafal
a se realizeaz
a n exterior si se nscrie, prin intermediul cuv
antului de adres
a
A10 A0 , n registrul de mod, Figura 3.96-b; aceast
a programare se p
astrez
a p
an
a la
o nou
a nc
arcare cu un cuv
ant de mod sau p
an
a la anularea tensiunii de alimentare.
Pipelinizarea cuvintelor de date pentru nscriere sau pentru citire este asigurat
a si de
existenta a patru b
anci, selectate cu bitii AB1, AB0, care opereaz
a independent si
n paralel; de exemplu n timp ce ntr-o banc
a se realizeaz
a o operatie de nscriere n
alta se initiaz
a o operatie de citire.
Pentru o succesiune de tip rafal
a a acces
arilor, programarea prin cuv
antul,
M10 M0 , nscris n registrul de mod, prescrie urm
atoarele caracteristici: lungimea
rafalei, tipul de rafal
a, latenta CAS, modul de operare si modul de nscriere. Rafala
este efectuat
a dup
a ce o linie de cuv
ant dintr-o banc
a a fost activat
a si deci se realizeaz
a numai prin activarea ntr-o anumit
a succesiune a coloanelor(n cadrul unei linii
de cuv
ant).
- Lungimea rafalei determin
a, prin subcuv
antul M2 M0 , num
arul maxim de

504

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

locatii (de coloane) care sunt selectate pentru a fi accesate la o comand


a de nscriere
sau de citire. Pentru o lungime de 2 (locatii) a rafalei, M2 M1 M0 = 001, este selectat,
de pe linia activat
a, blocul de coloane cu lungimea 2, fixat prin cuv
antul de adres
a
A7 A1 , iar n interiorul acestui bloc citirea sau nscrierea porneste de la coloana
cu num
arul 0 sau 1, fixat prin valoarea lui A0 ; pentru o lungime a rafalei de opt
locatii, M2 M1 M0 = 011, este selectat un bloc cu lungimea de opt coloane fixat prin
cuv
antul de adres
a A7 A3 iar n interiorul blocului citirea sau nscrierea porneste
de la coloana specificat
a de subcuv
antul A2 A1 A0 . Pentru o lungime de o pagin
a se
porneste de la coloana de adres
a fixat
a de cuv
antul A7 A0 , Figura 3.96-c. Dac
a n
cadrul blocului sau paginii respective se ajunge la adresa superioar
a de coloan
a se sare
la prima adres
a de coloan
a dac
a nu s-au parcurs toate adresele (fixate prin lungimea
programat
a a rafalei) din blocul sau pagina respectiv
a. Ordinea de parcurgere a
adreselor, programat
a prin tipul de rafal
a, M3 , poate fi n mod succesiv sau n mod
ntretesut (ordinea ntretesut
a nu este permis
a la tipul de rafal
a pagin
a).
- Latenta CAS, programat
a prin M6 M5 M4 , fixeaz
a nt
arzierea, n num
ar de tacte
de ceas, din momentul nregistr
arii comenzii (frontul pozitiv al semnalului de ceas)
aplicat
a la pinii circuitului SDRAM p
an
a n momentul c
and cuv
antul citit din memorie este disponibil ca dat
a valid
a de iesire, DQ32 DQ0 ; latenta poate avea valorile
1, 2 sau 3 tacte de ceas.
- Modul de operare standard, at
at pentru citire c
at si pentru nscriere. este fixat
prin subcuv
antul M8 M7 = 00, alte valori pentru acest subcuv
ant fixeaz
a moduri de
operare pentru testare.
- Modul de rafal
a pentru nscriere. C
and M9 = 0 at
at pentru nscriere c
at si
pentru citire se efectueaz
a rafal
a de lungime programat
a. Pentru M9 = 1 se aplic
a
rafal
a de lungime programat
a numai pentru citire, nscrierea nu se face n mod rafal
a
(se nscrie o singur
a locatie).
Pentru circuitul SDRAM se obtine cu flux continuu (pipeline) de date de intrare
(nscriere) sau de iesire (citire), c
ate un cuv
ant de date, DQ31 DQ0 , pe fiecare tact
de ceas, indiferent dac
a accesarea coloanelor se face n modul rafal
a sau aleatoriu;
aceast
a operare este programat
a prin aplicarea din exterior a cuvintelor: de comand
a,
de adres
a si de masc
a la pinii circuitului. Pe durata unui tact de ceas circuitul
realizeaz
a operatiile exprimate prin cuvintele aplicate din exterior la pinii circuitului,
nregistrate/esantionate pe frontul pozitiv al tactului respectiv de ceas. Continutul
acestor cuvinte si succesiunea lor n timp, pentru realizarea anumitor operatii, se
efecturaz
a n exterior de c
atre circuitul controler pentru SDRAM. In continuare, se
vor prezenta, pentru realizarea operatiilor pe o memorie sincron
a DRAM, cuvintele
de control.
In tabelul din Figura 3.97-a sunt sintetizate comenzile pentru un SDRAM de
capacitate 4M 32 biti.
- Comanda INHIBARE (NOP). Prin aceast
a comand
a se elimin
a posibilitatea ca
circuitul s
a mai primeasc
a oricare alt
a comand
a, chiar dac
a semnalul de ceas CLK
este validat (CKE = H); dar operatiile n curs pe care le efectueaz
a SDRAM sunt
continuate. De fapt prin comanda INHIBARE este deselectat circuitul SDRAM, CS L
= H.
- Comanda Nici-o-OPeratie, NOP. Pentru SDRAM, care este deja selectat
(CS L=0), comanda NOP face ca circuitul s
a nu accepte o alt
a comand
a; operatiile
n curs sunt continuate (se introduce c
and se doreste doar consumarea unui timp).

505

3.6. MEMORIA CU ACCES ALEATORIU

Cuvintele de comanda pentru memoria SDRAM, 1Mb x 32 x 4 banci


CUVANTUL DE :
Denumirea comenzii
comanda
Masca
ADRESA
H
L

L/H

L/H

WRITE (Selecteaza o banca si


o coloana, porneste operatia
WRITE in rafala )
TERMINARE RAFALA
PREINCARCARE (Dezactiveaza
linia deschisa din banca/banci ),PA

REFRES sau AUTO REFRES

INCARCARE REGISTRU DE MOD

a)
Comanda
aplicata

b)

Banca
Linia

A10=1 Preincarcare
Date
automata
A10=0 Preincarcare active
automata devalidata

READ
sau
WRITE

ACTIVE

RCDmin /TCLK
T4

Comenzi
aplicate

READ

NOP

NOP

NOP

Preincar.

Comenzi
aplicate

Banca 2
col n

T6

NOP

NOP

T0

T7

RP

T1

T2

DQ out
Col n

T3

Active

Banca
Linie

Banca 2
sau toate
DQ out
Col n+1

DQ out
Col n+2

DQ out
Col n+3

T4

T5

T6

T7

NOP

Active

DQM
Comenzi
aplicate

T5

x=2 tacturi

Latenta CAS=3

Date
valide

T3

T3

DQ

: A0

M10...............M0

T2

CLK

A7

A11A10................A0

T1

c)

AB1,AB0

Coloana

A10=H dezact. bancile


A10=H dezact. banca

T0

CLK

DQ

BA1,BA0
A11 : A0

Banca

T2

T1

T0

CLK

Date

DQM

CS_L RAS_L CAS_L WE_L

Comanda de INHIBARE
NICI O OPERATIE (NOP)
ACTIVARE (selecteaza o
banca si activeaza o linie)
READ (Selecteaza o banca si o
coloana, porneste operatia
READ in rafala )

RP
WRITE

Comenzi
aplicate

Banca 1
Col n

d) DQ

DQ in
Col n

NOP

DQ in
Col n+1

WRITE

WRITE

WRITE

Preincar.
Banca 1
sau
toate

Banca 2
Col p

Banca 3
Col q

Banca 1
Col n+1

DQ in
Col p

DQ in
Col q

DQ in
Col n+2

WR

Banca 0
Linie

Figura 3.97 Comanda memoriei sincrone SDRAM: a) comenzile aplicabile din exterior
pentru controlul function
arii circuitului SDRAM; exemple de diagrame de semnale care
ilustreaz
a functionarea memoriei la aplicarea comanzilor de: ACTIVARE (b), READ (c) si
WRITE (d).

506

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

- Comanda INCARCARE
REGISTRUL DE MOD (Load Mod Register). Continutul cuv
antului de mod M10 M0 , vezi Figura 3.96-b, este nc
arcat, din exterior, n
registrul de mod prin intermediul cuv
antului de adres
a A10 A0 . Inc
arcarea registrului
de mod se poate realiza numai c
and toate cele patru b
anci nu sunt activate; dup
a
nc
arcare o urm
atoare comand
a pentru memorie se poate aplica numai dup
a intervalul
de timp M RD .
- Comanda ACTIVARE. Pentru a realiza o operatie de citire sau nscriere de pe o
linie dintr-o banc
a aceasta trebuie nt
ai deschis
a (activat
a acea linie), iar aceast
a deschidere se realizeaz
a prin comanda ACTIVARE. Prin continutul cuvintelor BA1 BA0
si A11 A0 , din momentul nregistr
arii/esantion
arii comenzii ACTIVARE, este deschis
a una din cele patru b
anci (BA1 BA0) si n acea banc
a o linie de cuv
ant; apoi
pot urma operatii de citire si/sau nscriere la locatiile de pe linia deschis
a. Se impune un interval RCDmin din momentul nregistr
arii comenzii ACTIVARE p
an
a la
comanda unei operatii de citire sau nscriere. De exemplu, dac
a RCDmin = 20ns iar
frecventa la care se comand
a memoria este fCLK = 125M Hz (TCLK = 8ns) rezult
a
c
a, raportat la frontul de ceas care a nregistrat comanda ACTIVARE, urm
atoarea
operatie de citire sau nscriere se poate aplica numai la al treilea front pozitiv de
ces, dRCDmin /TCLK e = 3, Figura 3.97-b. Succesiunea cuvintelor de comand
a generate de controlerul de memorie este: T0 - ACTIVARE; T1 - NOP; T2 - NOP;
T3 - READ/WRITE . . . .
Urm
atoarea comand
a ACTIVARE, pentru deschiderea unei alte linii de cuv
ant din
aceeasi banc
a se poate aplica numai dup
a ce linia deschis
a anterior a fost nchis
a/dezactivat
a (prin aplicarea unei operatii de prenc
arcare); se impune un interval minim
de timp RCminntre dou
a comenzi ACTIVARE consecutive. Dar o urm
atoare comand
a ACTIVARE la o alt
a banc
a se poate genera chiar c
and banca curent
a este
deschis
a, ceea ce duce la o reducere/(ascundere) a timpului total de acces la o linie
de cuv
ant.
- Comanda READ. Aceast
a comand
a este utilizat
a pentru initierea unei operatii
de citire de tip rafal
a ntr-o linie de cuv
ant deja activat
a. In momentul nregistr
arii
comenzii READ se esantioneaz
a si cuv
antul de adres
a: bitii BA1, BA0 fixeaz
a banca
iar bitii A7 A0 selecteaz
a coloana de la care se ncepe citirea; iar bitul A10 , din
cuv
antul de adres
a, determin
a modul de prenc
arcare: A10 = H, prenc
arcarea
automat
a este selectat
a; A10 = L, prenc
arcarea automat
a ste devalidat
a. Dac
a
prenc
arcarea automat
a este selectat
a atunci linia deja activat
a va fi prenc
arcat
a
(dezactivat
a) la sf
arsitul efectu
arii rafalei de citire, iar dac
a prenc
arcarea automat
a
este deselectat
a atunci linia deja activat
a r
am
ane n continuare activat
a si pentru
urm
atorul acces.
Odat
a initiat
a comanda READ rafal
a, pornind de la coloana selectat
a, se obtine
pe iesire, dup
a o latent
a CAS prescris
a (vezi Figura 3.96-b), un flux continuu de date
DQout , c
ate un cuv
ant pe fiecare front pozitiv de ceas, evident dac
a, cuv
antul de
masc
a DQM a fost n L. Cuv
antul de masc
a va trece iesirea memoriei n HZ cu o
nt
arziere de dou
a tacte dup
a ce valoarea acestui cuv
ant a fost nregistrat
a n starea
H. Dup
a completarea unei citiri n mod rafal
a, consider
and c
a nu a fost initiat
a o alt
a
comand
a, iesirea va trece n HZ; la o pagin
a citit
a n mod rafal
a dup
a citirea ultimei
coloane din pagin
a (255) se continu
a cu prima coloan
a p
an
a se ajunge la coloana din
fata primei coloane selectate. Datele unei citiri n rafal
a pot fi continuate cu alte date
citite de c
atre o urm
atoare/(nou
a) rafal
a, iar noua rafal
a poate fi aplicat
a ncep
and

3.6. MEMORIA CU ACCES ALEATORIU

507

de la terminarea datelor rafalei curente sau chiar de la oricare front pozitiv de ceas
din interiorul rafalei curente (trunchiere); dar noua comand
a READ rafal
a trebuie s
a
fie aplicat
a cu un num
ar x de tacte nainte de tactul pe care se vor obtine date valide
pe iesire, unde x = (latenta CAS) 1. Deci prin comenzi READ succesive se poate
mentine un flux de date continuu pe iesire indiferent dac
a aceste comenzi acceseaz
a
aceeasi banc
a sau b
anci diferite. Se poate obtine pe iesire un flux continuu de date
citite care pot alterna cu date nscrise dac
a se intercaleaz
a si comenzi WRITE rafal
a
(cu conditia s
a nu apar
a concurenta de date la intrare/iesire); dar comanda WRITE
trebuie s
a fie aplicat
a chiar pe frontul pozitiv de ceas pe care se nscriu datele.
Operatia de citire sub o rafal
a de lungime fix
a sau de o pagin
a se poate termi
na/(trunchia) prin aplicarea la banca respctiv
a a comenzii PREINCARCARE
(PA),
aceast
a aplicare trebuie efectuat
a cu x tacte nainte de tactul care mai citeste date
valide. De exemplu, n Figura 3.97-c s-a aplicat comanda READ rafal
a pe T 0 ,
aici de lungime nespecificat
a, din banca 2, ncep
and de la coloana n, cu latenta
CAS = 3, iar dup
a citirea a patru date consecutive (de la coloanele n, n + 1, n + 2,

n + 3) se termin
a rafala prin aplicarea comenzii PREINCARCARE;
succesiunea de
comenzi generat
a de controler este: T0 - READ; T1 - NOP; T2 - NOP; T3 - NOP;

T4 - PREINCARCARE;
T5 - NOP; T6 - NOP. De notat c
a timpul de prescriere x

pentru comanda PREINCARCARE


apare ca fiind ascuns deoarece simultan se fac si

citirile de date succesive. Dup


a comanda PREINCARCARE
o urm
atoare comand
a
la aceeasi banc
a nu se poate aplica dec
at numai dup
a un inteval prescris de timp
RP . De asemenea, trunchierea/terminarea unei rafale de o anumit
a lungime sau de
(cu conditia s
o pagin
a se poate realiza si cu o comand
a TERMINARE RAFALA
a nu
fi fost prescris
a autoprenc
arcarea, A10 = H), care trebuie aplicat
a cu x tacte nainte
de ultimul tact care genereaz
a date valide.
- Comanda WRITE. Inregistrarea comanzii WRITE initiaz
a un acces pentru o
nscriere rafal
a la o coloan
a de adres
a A7 A0 ntr-o banc
a fixat
a prin BA1, BA0 n
care a fost deja activat
a o linie de cuv
ant; dac
a A10 = H se realizeaz
a o prenc
arcare
automat
a la terminatea rafalei. Primul cuv
ant de date de intrare DQint se nscrie
n coloana de adres
a A7 A0 pe primul front pozitiv de ceas, c
and se nregistreaz
a
comanda WRITE, apoi, c
ate un cuv
ant de intrare pe fiecare din fronturile pozitive de
ceas urm
atoare p
an
a la completarea lungimii rafalei sau paginii (pentru mod pagin
a);
la terminare, dac
a nu mai exist
a alt
a comand
a, intrarea DQ va trece n HZ si va ignora
oricare dat
a aplicat
a. O comand
a WRITE poate fi urmat
a de o alt
a comand
a WRITE
pe oricare front pozitiv urm
ator, n consecinta
se poate nscrie un flux continuu de
date n aceeasi banc
a sau n b
anci diferite.
Fluxul de date pentru o comand
a WRITE poate fi trunchiat/(terminat) printr-o

comand
a READ sau PREINCARCARE.
De exemplu, n Figura 3.97-d se realizeaz
a
o nscriere rafal
a, cu lungimea 2, n banca 1 ncep
and cu coloana n, apoi trei nscrieri
consecutive: prima n banca 2, ncep
and de la coloana p, a dou
a n banca 3, ncep
and
cu coloana q iar a treia tot n banca 1, ncep
and cu coloana n + 2. In banca 2
nu se nscriu n rafal
a dou
a coloane deoarece este trunchiat
a de comand
a WRITE
pentru banca 3, dar nici n banca 3 nu se nscriu dou
a coloane n rafal
a deoarece
este trunchiat
a de comanda WRITE pentru banca 1. Dar si n banca 1 se nscrie
tot numai o coloan
a (col n + 2) deoarece este trunchiat
a prin aplicarea comenzii

PREINCARCARE
(dat
a pentru banca 1 sau pentru toate). In aplicarea comenzii

PREINCARCARE
trebuie respectat intervalul de timp W R ncep
and de la frontul

508

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

pozitiv al ultimei date care se doreste a fi nscris


a (n acest caz T4 ); num
arul de
tacte pentru acest interval rezult
a n functie de frecventa de ceas cu care se comand
a
memoria (in general W R se acoper
a prin 1-2 tacte de nt
arziere p
an
a la aplicarea

comenzii PREINCARCARE).
Semnalul DQM trebuie pus n H imediat dup
a ultima

dat
a nscris
a p
an
a la aplicarea comenzii PREINCARCARE
pentru a masca n con
tinuare intrarea datelor de nscriere. (In cazul c
and PREINCARCARE
se aplic
a la
teminarea lungimii rafalei, DQM nu se pune n H, dar intervalul W R trebuie respectat

si n acest caz.) Dup


a comanda PREINCARCARE
aplicarea comenzii ACTIVARE
nu se poate aplica dec
at numai dup
a intervalul RP .

- Comanda PREINCARCARE
este utilizat
a pentru dezactivarea unei linii activate
ntr-o banc
a sau a liniilor activate n toate b
ancile. Dac
a n momentul nregistr
arii

comenzii PREINCARCARE
bitul A10 , din cuv
antul de adres
a, este H atunci toate
b
ancile sunt prenc
arcate, iar dac
a A10 este n L atunci numai banca al c
arui num
ar
este dat prin cuv
antul BA1BA0 va fi prenc
arcat
a. Odat
a prenc
arcat
a o banc
a/b
ancile este n continuare n stare inactiv
a, deci nainte de a aplica o comand
a READ sau
WRITE banca respectiv
a trebuie s
a fie activat
a (prin comanda ACTIVARE); dup
a

comanda PREINCARCARE
urm
atoarea comand
a (ACTIVARE) nu poate fi aplicat
a
nainte de RP .
Prenc
arcarea automat
a realizeaz
a, la fel, o prenc
arcare a unei b
anci dar nu este

initiat
a prin aplicarea cuv
antului de comand
a PREINCARECARE.
Prenc
arcarea
automat
a este prescris
a odat
a cu comenzile WRITE sau READ dac
a bitul A 10 = H,
iar operatia de prenc
arcare se efectueaz
a (automat) la terminarea lungimii de rafal
a,
cu exceptia lungimii de rafal
a pagin
a c
and prenc
arcarea nu se execut
a la terminarea
parcurgerii paginii.
Exemplul 3.33 Sa se proiecteze un controler pentru o memorie dinamica sincrona,
SDRAM CNTRL, av
and urm
atoarele date impuse (codul Verilog asociat acestui controler
este prezentat n sectiunea 5.11 din volumul 2 al acestei lucr
ari):
Memorie SDRAM (Micron Technology),128Mb (1M b324 b
anci),MT48LC4M32B2.
1 client (P): apeleaz
a scriere si citire, operatii sincronizate cu SDRAM CNTRL (4M
32 biti).
Gestiunea automat
a a remprosp
at
arii memoriei.
Frecventa de lucru: 100 MHz (TCLK = 10ns).
Rafal
a secvential
a cu lungimea 4, latent
a CAS = 2 tacte.
Adres
a multiplu de 4.
Solutie. Modul de interfatare, cu specificarea semnalelor (directie, activare, lungime
de cuv
ant) ntre client (P) si SDRAM prin intermediul controlerului este prezentat sub
form
a de schem
a bloc n Figura 3.98-a. De asemenea, este prezentat
a interdependenta ntre
semnalele cerere acces, RQ (de la clent) si confirmare ACK (de la controler), n realizarea
protocolului pentru operatia de citire si de nscriere, Figura 3.98-b. Cuv
antul adres
a pentru
o locatie n memorie, generat de client, este segmentat n subcuvintele pentru adres
a banc
a,
linie si coloane de c
atre controler si transmis n aceast
a forma la SDRAM, Figura 3.98-c.
Controlerul va fi implementat sub forma unui automat (ASM). Organigrama ASM,
Figura 3.99-a, se compune din trei p
arti: nitializarea memoriei, remprosp
atarea memoriei
si operatiile de memorie (activare, citire, nscriere si prenc
arcare). La conectarea tensiunii
sau activare, RESET L = 0, circuitul de memorie trebuie initializat si aceasta const
a din: o

3.6. MEMORIA CU ACCES ALEATORIU

509

Port

Descriere semnal
CLK, semnal de ceas comun pentru:
client,
CLK
SDRAM CNTRL, SDRAM.
RESET
RESET L, semnal de resetare (repornire)
Interfatarea cu clientul
RQ
RQ, semnalul de acces (generat de client)
ACK
ACK, semnalul de confirmare (generat de SDRAM CNTRL)
R/W L, semnalul pentru operatiile de citire/scriere
RW
(generat de client)
A A0 , cuv
ant de adres
a generat de client
ADR CLIENT[21:0] 21
(banc
a+linie+coloan
a)
DQO[31:0]
DQ31 DQ0 , cuv
ant de date citite din SDRAM
DQI [31:0]
DQ31 DQ0 , cuv
ant de date pentru nscrierea n SDRAM
Interfatarea cu SDRAM
CS
CS L, semnal selectare SDRAM
CKE
CKE, semnal validare ceas (se consider
a permanent n H)
BA[1:0]
BA1BA0, cuv
ant selectare b
anci
ADR[11:0]
A11 A0 , cuv
ant adres
a selectare linie;
A7 A0 , cuv
ant adres
a selectare coloan
a
RAS
RAS L, semnal strobare adres
a linie (A11 A0 )
CAS
CAS L, cuv
ant strobare adres
a colon
a (A7 A0 )
WE
WE L, semnal validare nscriere date
DQM[3:0]
DQM3 DQM0 , cuv
ant pentru mascare date (pe byte)
DQ[31:0]
DQ31 DQ0 , cuv
ant de date bidirectionale

comand
a de PREINCARCARE
(PA), dou
a comenzii de AUTOREFRESH (AR1, AR2) si o

comand
a de programare (INCARCARE
REGISTRU MOD, LMR).
In starea 0 de initializare, Init st, automatul va stationa 17 tacte de ceas pe durata
c
arora, cu anumite determin
ari de temporizare (prescrise de fabricant), se genereaz
a comenzile PA, AR1, AR2 si LMR; pe baza acestor comenzi controlerul va calcula semnalele care
and pe
se aplic
a la SDRAM. Automatul r
am
ane n starea 0 pe durata a 17 tacte de ceas c
baza unui registru de deplasare de initializare, initShReg, se genereaz
a cele patru comanzi.
La RESET L = 0 se nscrie 1 n prima celul
a a registrului ShReg(0) = 1. Prin deplasarea

valorii 1 din celul


a n celul
a rezult
a: o comand
a de PREINCARCARE,
ShReg(1) = 1 = P A;
dou
a comenzi de AUTOREFRESH, ShReg(3) = 1 = AR1 si ShReg(10) = 1 = AR2; o
comand
a pentru nc
arcarea registrului de mod ShReg(17) = 1 = LM R (c
and se trece la
stare urm
atoare).
Refresh-ul memoriei trebuie f
acut la fiecare 64 ms, ceea ce nseamn
a c
a la o repartizare
uniform
a a remprosp
at
arii celor 4096 linii ale matricei intervalul n timp ntre remprosp
atarea a dou
a linii este ref = 64ms/4096 = 16s, raportat acest interval la frecventa de ceas
de 100 MHz (TCLK = 10ns) rezult
a c
a dup
a un num
ar de 16s/10ns = 1600 perioade de
ceas trebuie dat
a o comand
a de AUTOREFRESH (se consider
a acoperitor 1500 perioade).
Semnalul cerere refresh, rf rq, este produs de un num
ar
ator cu prescriere (rfCounter) cu
num
arare n sens invers, CU/CD = 0, ca n Figura 3.100-c, al c
arui semnal RCO comand
a
un latch SR (iar num
ar
atorul ncepe un nou ciclu de 1500 de tacte). Iesirea Q a latchului SR este semnalul rf rq de cerere pentru aplicarea comenzii AUTOREFRESH; c
and
rf rq=1 se trece n starea 2 a automatului. La generarea comenzii AUTOREFRESH, n

510

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
CLK
RESET_L
RESET CKE

CLK
CLK

CLIENT
(P)

RQ

ACK
1
R,W_L 1

ACK

A21 A0

ADR. CLIENT

R/W

32

DQI

32

DQO

a)

CS_L

CS

RQ
SDRAM_CNTRL

RAS_L 1
CAS_L 1
WE_L 1
4

RAS
CAS
WE

A11 : A0

12
2

BA1,BA0
DQ

CS_L

H
CKE

RAS_L
CAS_L
WE_L
DQM
A11 : A0
BA1,BA0
DQ

Protocol Client _SDRAM_CNTRL

CLK

SDRAM
(MT48LC4M32B2)

Inscriere

CLK
RQ
ADR_
CLIENT

Adr [21:0]

Adr [21:0]

R,W_L
DQO

4
1

DQI

1
A1

0
A0

ACK

b)

ADR_CLIENT

21 20 19 18 17 16 15 14 13 12 11 10 9
BA1 BA2 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1
Select.
Adresa linie de cuvant (pagina)
banca

8
A0

7
A7

6
A6

5
A5

4
3
2
A4 A3 A2
Adresa coloana

c)

Figura 3.98 Explicativ


a pentru exemplul 3.33: a) schema bloc a interfata
rii
CLIENT SDRAM CNTRL si SDRAM CNTRL SDRAM; b) semnalele de protocol
ampurile pentru
CLIENT SDRAM CNTRL pentru operatia de citire si nscriere; c) subc
adres
a banc
a, linie si coloan
a n cuv
antul de adres
a generat de client.

starea 2 , arf st, latchul SR este resetat si n acelasi timp, se nscrie valoarea 1 n pozitia
rdr(0) a registrului durat
a remprosp
atare, rdr, cu lungimea de 7 biti. Se intr
a n bucla de
atare p
an
a la activarea
asteptare din starea 3 , Idle arf st, pe durata procesului de remprosp
semnalului arf term; durata procesului de remprosp
atare pentru o linie de cuv
ant, fixat
a
la sapte tacte de ceas, este realizat
a prin parcurgerea registrului de deplasare st
anga, rdr
(registru durat
a refresh), p
an
a la celula a saptea c
and rdr(6)=1=arf term, Figura 3.100-d.
In partea de operatii a diagramei ASM se intr
a c
and nu exist
a o cerere de remprosp
atare,
rf rq = 0 si este activat
a cererea de acces de la client, RQ = 1. Prima operatie, care trebuie
efectuat
a dup
a o remprosp
atare sau dup
a o prenc
arcare, este cea de activare, ceea ce se
realizeaz
a n starea 4 , act st, prin comanda ACTIVARE. La linia de cuv
ant activat
a o
urm
atoare comand
a READ/WRITE, generat
a n starea 6 , oper st, poate fi aplicat
a numai
dup
a intervalul de timp RCD ; starea

5 , Idle act st, care genereaz


a comanda NOP este

511

3.6. MEMORIA CU ACCES ALEATORIU

000H

PREINCARCARE(PA)
AUTOREFRESH(AR1,AR2)
INCARCARE REGISTRU MOD(LMR)

0
Initializare

Init_st

ShReg(17)
1
1
nop_st

002H

NOP
1

arf_term

008H
ACTIVARE
010H
NOP
020H

6
oper_st
7
Idle_1_st
8
Idle_2_st
9
Idle_3_st

10
Idle_wr_st

NOP

WRITE / READ
040H
NOP
080H
100H
NOP
rwCrt

RQ
LMR
arf_term
rwCrt

b)

400H
PREINCARCARE

CLK
rf_rq
CLC
Registru
pentru
de
calculul Starea
stare
Starea
prezenta
starii urmatoare
urmatoare
11
11

Operatii

NOP

0
200H
11
pr_st

a)

RQ

4
act_st
5
Idle_act_st

004H
3
Idle_arf_st

rf_rq

AUTOREFRESH

Refresh

001H

NOP
1

2
arf_st

Logica
pentru
calculul
semnalelor
de iesire

Registru
de
sincro
nizare

CS_L
RAS_L
CAS_L
WE_L
ACK

11

PA LMR
AR1,AR2
rwCrt

la
SDRAM

la
client

DQIe la ASM
(Fig 3.101)

Figura 3.99 Explicativ


a pentru exemplul 3.33: a) organigrama ASM pentru functionarea SDRAM CNTRL; b) structurarea contrlollerului ca un automat Moore cu nt
arziere.

512

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

introdus
a tocmai pentru acoperirea nt
arzierii RCD . Pe tactele corespunz
atoare st
arilor 6 ,
7 , 8 , 9 se realizeaz
a rafala cu lungimea de patru tacte pentru operatia de nscriere
sau citire aplicat
a n starea 6 .
O rafal
a cu lungime fix
a, pentru citire sau nscriere, poate fi urmat
a sau trunchiat
a/

ntrerupt
a printr-o comand
a PREINCARCARE (starea 11 , pr st) la aceeasi banc
a (dac
a

nu a fost prescris
a AUTO-PREINCARCARE,
A10 = 1). Dar dac
a se efectueaz
a o rafal
a

de nscriere atunci comanda PREINCARCARE


nu se poate genera dec
at numai dup
a consumarea intervalului de timp W R , vezi Figura 3.97-d, de la aplicarea pe intrarea de date a
memoriei a ultimului cuv
ant de date care se doreste a fi nscris. In consecinta
, la terminarea
rafalei de patru date se testeaz
a dac
a operatia curent
a a fost de nscriere, rwCrt=0, si n caz
afirmativ se intr
a n starea 10 , Idle wr st, care asigur
a acoperirea intervalului W R . Dup
a
aplicarea operatiei de prenc
arcare starea 11 , aplicarea unei noi comenzi ACTIVARE, pentru selectarea unei alte linii de cuv
ant, se poate face numai dup
a consumarea intevalului de
timp RP (vezi Figura 3.97-c) ceea ce se realizeaz
a prin comanda NOP din starea 1 , nop st.
Variabila de testat rwCrt se genereaz
a ca iesirea unui latch SR comandat prin conjunctia
RQ (R, W L), Figura 3.101.
Tabelul de tranzitie al st
arilor si al iesirilor (comenzilor), corespunz
ator organigramei
ASM, este prezentat in Figura 3.100-a; rezult
a c
a automatul este de tip Moore (comenzile
depind numai de st
ari) care se implementeaz
a cu nt
arziere (pe un registru de sincronizare)
pentru ca s
a se obtin
a semnale sincronizate pentru SDRAM, Figura 3.99-b. Codificarea
,,
st
arilor automatului se alege de tipul one-hot , se obtine o structur
a de automat cu 11
bistabile D; cuvintele de cod pentru fiecare stare sunt notate n tabel si pe organigram
a n
hexazecimal. Din tabelul de tranzitie al st
arilor, pe baza celor cinci semnale de intrare (unul
generat de client, RQ, iar celelalte generate de controler), a st
arilor prezente z10 z10 . . . z1 z0
si a st
arilor urm
atoare w11 w10 . . . w1 w0 se poate realiza sinteza circuitului combinational al
semiautomatului pentru calculul st
arii urm
atoare.
In tabelul iesirilor pentru fiecare comand
a, realizat
a ntr-o stare a automatului, pe baza
informatiilor de catalog din Figura 3.97-a, s-au completat valorile corespunz
atoare ale semnalelor generate de automat: CS L, RAS L, CAS L, WE L, ACK, DQ L. Sinteza expresiilor
logice pentru aceste semnale n functie de cuvintele de stare nu ridic
a probleme, n starea
6 trebuie f
acut
a sinteza si n functie de wr eft (pentru a distinge ntre comenzile WRITE si
READ) iar n starea 0 pentru cele trei tipuri de comenzi: PA, AR si LMR; aceste semnale
de conditionare sunt introduse n blocul combinational de dup
a registrul de stare, Figura
3.99-b.
Generarea semnalului de confirmare acceptare (ACK=1) cerere client (RQ=1) corespunde situatiei c
and cererea respectiv
a pentru R,W L este executat
a, adic
a automatul este
n una din st
arile 6 , 7 , 8 sau 9 ceea ce se realizeaz
a printr-o poart
a OR4, Figura
3.101. Dar semnalul ACK pentru cazul c
and operatia cerut
a a fost READ trebuie nt
arziat cu
patru tacte, patru bistabile nseriate (2 tacte pentru compensarea latentei CAS, 1 tact pentru
latenta bistabilului D de pe iesirea DQO si un tact pentru compensarea latentei semnalului
RQ introdus printr-un bistabil D). Alegerea ntre ACK pentru READ sau WRITE se face
cu un MUX2:1 a c
arui selectare se obtine prin semnalul compus RQ (R, W L) = 1.
Cuv
antul de 12 biti, transmis pe portul ADR[11:0] al memoriei, vezi Figura 3.96-a, este
calculat de controler n patru variante:
1. ca un cuv
ant de adres
a linie, n starea act st si este identic cu biti ADR CLIENT[19:8],
vezi Figura 3.98-c;
2. ca un cuv
ant de adres
a coloan
a, n starea oper st si este identic cu bitii

513

Starea prezenta

Starea urmatoare

z 10 z 9 .........z1 z 0
nr

Denumire

Cod

nr

2
0
1

001 H

arf_st

002 H

Idle_arf_st 004 H

4
5
6
7
8

act_st
Idle_act_st
oper_st
Idle_1_st
Idle_2_st

008 H
010 H
020 H
040 H
080 H

Idle_3_st

100 H

10

Idle_wr_st 200 H 11
400 H 1
pr_st

11

11

16

15

14

13

12

11

10

ShReg(17)

ShReg(10)

LMR

b)

PREINCARCARE(PA) L L H
AUTOREFRESH(AR1,AR2) L L L
001 H LOAD MOD REG( LMR ) L L L
nop_st
000 H
nop_st
NOP
act_st
008 H
L H H
002 H
arf_st
L L L
AUTO_REFRESH
Idle_arf_st 004 H
Idle_arf_st 004 H
NOP
L H H
001 H
nop_st
ACTIVARE
L L H
Idle_act_st 010 H
020 H
NOP
oper_st
L H H
040 H
READ/WRITE
Idle_1_st
L H L
080 H
NOP
Idle_2_st
L H H
100 H
NOP
Idle_3_st
L H H
Idle_wr_st 200 H
NOP
L H H
pr_st
400 H
400 H
NOP
L H H
pr_st
nop_st
010 H
PREINCARCARE
L L H

0
4
2
3
3
1
5
6
7
8
9
10

0
1

a)17

nop_st

Comenzi

Cod

000 H

Init_st

1
0
1

Denumire

000 H

Init_st

w10 w9 .........w1w0

AR2

AR1

PA

L
H
L
H
H
H
H
H

H
H
H

H
L

REGISTRU
DE
CLK
INITIALIZARE

(iniShReg)

Inscriere ShReg(0)=1
la RESET_L=0

PerRefresh (implicit 1500)

RESET_L

CLEAR
CLK

CU/CD

rfCounter
RCO
1

RESET_L

LD
S

c)

* wr _eft

ShReg(3) ShReg(1)

11

CLK

CS_L
RAS_L
CAS_L
WE_L

ShReg(17)
rf_rg
arf_tm
RQ
wr_eft

3.6. MEMORIA CU ACCES ALEATORIU

arf_st
(de la ASM)

rf_rq
(la ASM)

R
CLEAR
RESET_L

d)

Registru durata
reimprospatere, rdr
4

CLK

rdr(6)
arf_term
(la ASM)

Inscriere 1
prin arf_st
(de la ASM)

Figura 3.100 Explicativ


a pentru Exemplul 3.33: a) tabelul de tranzitie al st
arilor
si tabelul iesirilor (comenzilor) pentru SDRAM CNTRL; b) generarea comenzilor n starea
de initializare pe baza unui registru de deplasare, ShReg; c) structura generatorului pentru
intervalele de timp de remprosp
atare la o linie de cuv
ant; d) structura circuitului pentru
generarea duratei procesului de remprosp
atare la o linie de cuv
ant.

514

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

ADR_CLIENT[21:0]

22
20

2 [21:20]

CLK

12 [19:8]

[7:0]

RQ

E
E

0 0 0 0 Cablat
4
7
colCrt[7:0]
oper_st
12
rowCrt[11:0]
act_st
0_0_00_010_0_010 Cablat

12

12

12

12

Logica pentru
calculul
semnalelor
de iesire
si ASMul
(fig 3.99b)

CLK
rwCrt
(read/write
Curent)

Q D

Q D

Q D

Q D

CLK

CLK

CLK

CLK

DQO[31:0]

32

32

D
CLK
Q

CLK

CS_L
RAS_L
CAS_L
WE_L

CLK

CLK

32

Reg
de
sincro
nizare

oper_st
Idle_1_st
Idle_2_st
Idle_3_st

DQI[31:0]

ADR[11:0]

CLK

Intarziere ACK (4 tacturi)


1

12

12

0
MUX
2:1

CLK

AR1
AR2
PA
pr_st

ACK

D
CLK

12

12

D Q

CLK

12

LMR
0100_0000_0000

R,W_L

BA1,BA2

SDRAM_CNTRL

CLK

E CLK

D Q

act_st

colCrt[7:0]
(coloana
curenta)

D Q
CLK

oper_st
rowCrt[11:0]
(linia
curenta)

D Q
CLK

BA[0:1]

D Q

DQIe

D
CLK
32

DQIO[31:0]

CLK

CLK

Figura 3.101 Explicativ


a pentru Exemplul 3.33. Circuistica controlerului pentru
generarea semnalelor exterioare (nu s-a figurat pentru semnalele CS L, RAS L, CAS L si
WE L).

3.6. MEMORIA CU ACCES ALEATORIU

515

ADR CLIENT[7:0] la care se completeaz


a cei patru biti superiori cu cuv
antul cablat 0000;
3. ca un cuv
ant de programare pentru registrul de mod, n starea Init st, LMR=1 si se
obtine ca un cuv
ant cablat, 0 0 00 010 0 010, vezi Figura 3.96-b;

4. ca un cuv
ant pentru comanda PREINCARCARE,
n starea pr st sau Init st si se
obtine ca un cuv
ant cablat 0100 0000 0000, A11 = 1 prenc
arcarea tuturor b
ancilor.
Datele de la client DQI[31 : 0], separate de datele nspre client DQO[31 : 0], sunt
multiplexate pentru o singur
a magistral
a bidirectional
a ntre controler si memorie. Multiplexarea se face n controler prin intermediul unui buffer TSL comandat n stare normal
a de
functionare (nscrierea DQI n memorie) prin semnalul DQIe dac
a operatia curent
a este de
nscriere.

3.6.3

Circuite actuale pentru memoriile de date

Memoria RAM de capacitate mare este utilizat


a n primul r
and n scopul de a
stoca date pentru procesare (functie aritmetic
a) si nu at
at pentru a implementa functii
logice. Dar la aplicatii cu cantit
ati mari de date se impune, implicit, si o modalitate
de citire si scriere a unei cantit
ati mari de date (/cuvinte) n unitatea de timp; o
prim
a astfel de modalitate a fost citirea si nscrierea sub form
a de rafal
a. Exist
a
multe modalit
ati de crestere a debitului de date pentru lucrul cu memoria, c
ateva din
acestea, care sunt de baz
a, se vor prezenta n continuare.
Accesarea dubl
a pe perioada de ceas, DDR (Double Data Rate). La
memoria SDRAM accesarea, fie pentru READ, fie pentru WRITE, se realizeaz
a
(esantioneaz
a/ nregistreaz
a) la un singur cuv
ant de date pe o perioad
a de ceas (pe
frontul pozitiv); dar la memoriile de tip DDR SDRAM pe durata unei perioade de ceas
sunt accesate dou
a cuvinte (pe magistral
a) care pot fi trimise (nscrise n memorie) sau
primite (citite din memorie), adic
a un cuv
ant pe frontul pozitiv si un cuv
ant pe frontul negativ al semnalului de ceas. De fapt, se transmit circuitului DDR SDRAM dou
a
semnale de ceas CLK si negatul acestuia CLK (n opozitie cu 180 ), Figura 3.102; n
exteriorul memoriei, pe magistral
a, un cuv
ant apare pentru CLK iar urm
atorul pentru CLK, deci dac
a se comand
a cu frecventle de ceas 100, 133, 166, 290 MHz rata de
date este de 200, 266, 333, 400 . . . Mcuvinte/s. Frontul pozitiv pentru DDR SDRAM
se consider
a c
and pentru CLK exist
a tranzitie L-H, indicat n figur
a printr-o s
ageat
a,
iar pentru CLK c
and exist
a tranzitia H-L.
Pentru a se trece de la o structurare de memorie SDRAM, Figura 3.96, la o
structurare de memorie DDR SDRAM se modific
a doar partea de interfatare I/O
date (ncadrat
a printr-o linie punctat
a n figur
a) cealalt
a parte (nucleul memoriei)
r
am
ane nemodificat
a.
La organizarea de tip DDR SDRAM, pentru o comand
a READ/WRITE, pe o
perioad
a de ceas se acceseaz
a un cuv
ant de 2n biti la nucleul memoriei, dar nspre/de
la pinii I/O sunt dou
a cuvinte de n biti (c
ate unul pe fiecare semiperioad
a de ceas).
Pentru un transfer sigur al datelor de la surs
a la receptie, la o rat
a dubl
a pe linia
magistral
a, la DDR SDRAM sunt introduse semnale (de strob) de sincronizare a
datelor, DQS. Un semnal DQS este generat de controler (propagat c
atre memorii)
pentru a se realiza nscrierea corect
a n memorie a datelor, DQin , iar un altul DQout
(propagat c
atre controler) este generat de c
atre memorie pentru a asigura receptia

516

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
CLK

CLK
Comenzi
aplicate

READ

WRITE

DQS
Data

Data
1

Data
2

Data
3

Data
4

Data
1

Data
2

Data
3

Data
4

Figura 3.102 Semnalele specifice pentru memoria cu rata dubl


a de accesare DDR
SDRAM. Sincronizarea datelor (strobarea) pentru nscriere sau citire se face cu semnalul
DQS.

corect
a (n timp) la controler a datelor citite din memorie. Strobarea datelor citite
(la controler) se face pe frontul semnalului DQS, iar la nscriere (n memorie) se face
pe mijlocul palierului semnalului DQS (c
and nu exist
a transfer pe magistral
a, linia
pentru semnalul DQS este n starea HZ, reprezentat
a la nivelul median ntre H si
L). Circuitele DDR n raport cu cele SDRAM, deoarece au mai multe functiuni care
trebuie programate, prezint
a un al doile registru de mod, EMR (Extended Mode
Register) care se programeaz
a ntr-o modalitate similar
a cu primul registru de mod.
DDR2 SDRAM este o variant
a mbun
at
atit
a a DDR n tendinta de crestere
a ratei de transfer pe magistral
a la valori de 400, 533 cu posibilitate p
an
a la 667
sau chiar 800 M cuvinte/s. Aceast
a crestere a ratei fluxului de date se poate obtine
doar printr-o adaptare a liniei de conexiune ntre controler si cipul DDR2 SDRAM, n
scopul mbun
at
atiri semnalelor de date, DQ, de strobare, DQS, de mascare, DQM at
at
pentru nscriere c
at si pentru citire. Adaptarea la intrarea pe circuitul DDR2, Figura
3.103-a, se face printr-un divizor 2Z0 la VDD si 2Z0 la VSS (terminator Thevenin,
vezi Figura 1.75-b), a c
arui rezistenta
echivalent
a este egal
a cu impedanta caracteristic
a a liniei Z0 . Printr-un pin suplimentar ODT (On-Die Termination) pe cipul
DDR2 se aplic
a un semnal de la controler care, pe baza (si a program
arii) registrului
de mod extins, EMR, poate realiza comanda, prin comutatoarele SW1 si SW2 , de
conectarea sau deconectarea terminatorului Thevenin (sunt dou
a divizoare cu dou
a
valori de rezistente, 2Z01 , 2Z02 pentru a realiza adaptarea la dou
a valori de impedante
caracteristice Z01 si Z02 ).
Pentru operatia de citire c
and datele se transmit de la memorie la controler, Figura
3.103-b, este prezentat
a adaptarea n controler at
at pentru cazul c
and exist
a un singur
modul de memorie activ (din care se citeste) c
at si pentru cazul c
and sunt dou
a module de memorie conectate. C
and sunt dou
a module de memorie conectate, adaptarea se
realizeaz
a si la al doilea modul de memorie (din care nu se citeste, este n asteptare).
Adaptarea pe iesirea driverului pentru datele DQout de pe modulul de memorie (activ), const
a n egalizarea mpedantei de iesire n starea H cu cea din starea L la
valoarea de 18 1.5. In acest scop n interiorul controlerului, pe o rezistenta
etalon,
se m
asoar
a c
aderea de tensiune at
at pentru iesirea n starea H c
at si pentru iesirea n
starea L a driverului de iesire din memorie. Pe baza acestor dou
a tensiunii m
asurate
controlerul genereaz
a o succesiune de comenzi WRITE prin care se ajusteaz
a, pentru
egalizare, la driverul de iesire de la memorie, reteaua de rezistente de iesire din starea

517

3.6. MEMORIA CU ACCES ALEATORIU

DDR2 SDRAM
READ

Driver

SW1

DQ out
DRAM

DQ in 2Z01

DQ
pin

2Z0

WRITE

VDD

SW2
2Z0

RThevenin =

2Z0

SW1

SW2

2Z0 2Z0
= Z0
2Z0+2Z 0
VSS

ODT
pin

Logica de
control

a)

Modul
DDR2 SDRAM
activ

Modul
DDR2 SDRAM
activ

VDD

READ

300

WRITE

Controler

300

Controler

150

VSS

DQ pin

DQ pin

pin
150

Modul
DDR2 SDRAM
activ

Modul
DDR2 SDRAM
in asteptare
VDD

Modul
DDR2 SDRAM
activ
VDD

150
150

Controler

VSS

300

DQ pin
pin

300

Controler

DQ pin

Modul
DDR2 SDRAM
in asteptare
VDD

300

150

300
VSS

VSS

DQ pin

150

DQ pin

pin

b)

c)

Figura 3.103 Memoria cu rat


a dubl
a de accesare DDR2 SDRAM: a) structura (doar a) circuitului pentru adaptarea intr
arilor pe cipul de memorie; exemplificare
de adaptare ntre controler si memorie pentru operatia de citire (b) si pentru operatia de
nscriere (c)

518

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

H cu reteaua de rezistante de iesire n starea L.


In Figura 3.103-c este prezentat
a adaptarea pentru nscrierea n memorie at
at
pentru un singur modul c
at si pentru dou
a module de memorie conectate. Responsabilitatea gener
arii succesiunii de comenzi pe pinul ODT de la DDR2 SDRAM revine
controlerului.
QDR SRAM. Modalitatea QDR aplicabil
a la memoriile statice RAM este o extensie a modalit
atii DDR n sensul c
a, pe l
ang
a accesarea cu o rat
a dubl
a pe perioada
de ceas, de data aceasta memoria este accesat
a DDR la dou
a porturi (memorie dublu
port); deci n raport cu o memorie SRAM pe magistral
a se obtine un flux de date cu
o rat
a qvadrupl
a, de unde si denumirea QDR (Quad Data Rate). Memoria QDR
SRAM, a c
arei structurare de principiu este prezentat
a n Figura 3.104-a, prezint
a
dou
a porturi cu functionare independent
a, unul de intrare (nscriere) si unul de iesire
(citire), fiecare din acestea fiind accesate de dou
a ori pe perioada de ceas (CLK, CLK).
pentru nscriere sau citire sunt
Porturile fiind accesate simultan, cuvintele ADRESA
multiplexate pe magistrala de adresare, memoria apare ca realiz
and un flux de date
n acelasi sens.
Memoria QDR SRAM a fost realizat
a pentru aplicatiile unde succesiunea ntre
operatiile de citire, RD, si cele de nscriere, WR, este foarte str
ans
a n timp, de exemplu alternantele RD-WR-RD-WR-. . . , RD-RD-WR-RD-RD-WR-. . . , RD-WR-WRRD-WR-WR-. . . ; adic
a acele aplicatii la care raportul mediu ntre numerele acestor
dou
a operatii efectuate nu dep
aseste valoarea doi sau trei. Aplicatiile unde valoarea
acestui raport mediu este mai mare de trei, deci un sir continuu de date de nscriere
sau de citire, sunt bine acoperite de c
atre o memorie DDR. Memoria QDR SRAM,
Figura 3.104-b, permite dou
a tipuri de implementare: cu lungime de rafal
a 2 si cu
lungime de rafal
a 4, iar pentru fiecare din acestea, n functionare trebuie considerate
dou
a aspecte, accesarea adresei pe magistrala de adrese si plasarea (captarea) datelor
pentru nscriere.
Memoria QDR SRAM cu lungimea de rafal
a 2 poate sustine indefinit o succesiune de comenzi externe READ (2 cuvinte DQin ), WRITE (2 cuvinte DQout ) n
fiecare ciclu de ceas; intern, prima jum
atate a perioadei de ceas realizeaz
a functia
READ iar n a doua jum
atate functia WRITE. Evident, pe magistrala de adrese se
aplic
a succesiv adresa pentru citire urmat
a de cea da nscriere; frontul pozitiv al semnalului CLK nregistreaz
a adresa de citire n portul de iesire (PC) iar frontul pozitiv
al semnalului CLK nregistraz
a adresa de nscriere n portul de intrare (PI).
Memoria QDR SRAM cu lungimea de rafal
a 4 poate sustine indefinit numai
pentru o alternanta
de comenzi externe READ (4 cuvinte DQout ), WRITE (4 cuvinte
DQin ) pe durata de c
ate dou
a cicluri de ceas, la fel ca si memoria cu lungimea de
rafal
a 2, dar intern utilizeaz
a ciclurile diferit fata
de organizarea cu lungime de rafal
a
2. Memoria SRAM utilizeaz
a un ciclu de ceas pentru realizarea intern
a a comenzii
READ apoi pe urm
atoarele dou
a cicluri de ceas rezult
a la iesirea portului de citire
patru cuvinte DQout . Pe urm
atorul ciclu de ceas, dup
a cel ocupat de realizarea
comenzii READ, o comand
a WRITE poate fi initiat
a care determin
a nscrierea n
portul de intrare a patru cuvinte date, DQin . Rezult
a c
a succesiunea celor dou
a
comenzi implic
a numai aplicarea unei adrese pe ciclu; frontul pozitiv al semanlului
CLK nregistreaz
a adresa de citire iar urm
atorul front pozitiv, al semanlului CLK, este
disponibil pentru nregistrarea adresei de nscriere. Dac
a nu este aplicat
a o comand
a
WRITE pe urm
atorul front pozitiv al semnalului de cesa CLK atunci pe acest front

519

3.6. MEMORIA CU ACCES ALEATORIU

17

17
ADRESA
1
WR_L
BW0,BW1 2
18
DQin

CLK,CLK
Vrec
ZQ

17

Portul
Adresa
de
inscriere
(PI)
36

Matricea
memoriei
(256kx 36)

CLC,CLC

36

Data

18

Data

17 ADRESA
1
RD_L

Portul
de
citire
(PC)

Adresa

DQout

Controlul logic
FLUX DE DATE INTRUN SINGUR SENS

a)
CLK
CLK
WR_L
Lungime RD_L
de
rafala
2
ADRESA A
DQ in

DQin

DQin
B+1

DQin

DQin
D+1

DQin

DQout
A

DQ out

F
DQout
A+1

F+1

G
DQin DQin
DQout
C

DQin
H+1

H
DQout
C+1

DQout
E+1

DQout
E

DQout
G

WR_L
RD_L
Lungime
de
A
rafala ADRESA
4
DQ in

DQin

DQin DQin
A+1
A+2

DQin DQin
C
A+3
DQout
B

DQ out

C+1

DQout
B+1

DQin DQin
DQout
B+2

C+2

C+3

DQout
B+3

DQin
DQ
D out

CLC

b)

CLC

READ
WRITE
ADRESA
DQ

Controler
Reintoercere
semnale de
ceas

c)

CLK,CLK
CLC,CLC

in

CQ
CQ

SRAM 1
CLK
CLK

CLC
CLC

. .

DQ

out

READ
WRITE
ADRESA
DQ in

CQ
CQ

SRAM 2
CLK
CLK

CLC
CLC

DQout

. .

1< 2

Figura 3.104 Memoria de tip QDR SRAM: a) structurarea de principiu a memoriei (prin caracteristica de dublu port se realizeaza un singur sens pentru fluxul de date);
b) diagramele de semnale pentru comenzile READ si WRITE pentru QDR cu lungimea de
rafal
a 2 si 4; c) organizarea aplicarii semnalelor de la/nspre controler pentru sincronizare
c
and memoria este realizata din mai multe module.

520

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

nu poate fi initiat nici un alt ciclu RD-WR; rafala cu lungimea 4 nu poate fi stopat
a
mai devreme, aceasta trebuie s
a se termine.
Pentru sistemele care permit lucrul cu rafale de lungime 4 (si nu numai lucrul
cu rafale cu lungime 2) se recomand
a primul tip de organizare de QDR (lungime 4)
pentru c
a: 1 - adresele pentru comenzile de READ si WRITE sunt prezentate de
c
atre controler doar c
ate una pe un ciclu de ceas; 2 - la aceeasi vitez
a realizabil
a pe
siliciu se poate comanda cu o frecventa
de ceas mai ridicat
a.
Referitor la plasarea datei de nscriere, DQin , exist
a o mic
a diferenta n functionarea memoriei QDR cu rafal
a de lungime 2 si rafal
a de lungime 4, ceea ce se poate
observa din diagrama de semnale din figur
a. Pentru rafala de lungime 2 captarea
datelor de nscriere DQin1 se realizeaz
a imediat ce semnalul de nscriere devine activ,
WR L=0, si pe frontul pozitiv al semnalului CLK, iar pe urm
atorul front pozitiv al
semnalului CLK este captat cuv
antul DQin2 si interior este executat
a operatia de
nscriere. Pentru rafala de lungime 4 captarea datelor de nscriere DQin1 se realizeaz
a
cu un ciclu de ceas nt
aziere dup
a activarea semnalului de nscriere, WR L=0; deci la
urm
atorul front pozitiv CLK este captat DQin1 , la urm
atorul front pozitiv CLK este
captat DQin2 , urmeaz
a apoi captarea pentru DQin3 , DQin4 , respectiv pe fronturile
pozitive ale semnalelor CLK si CLK.
Semnalele de ceas pentru memoriile QDS SRAM trebuie s
a asigure restrictiile de
temporizare. Pentru nscriere controlerul, Figura 3.104-c, trebuie s
a genereze memori WR L, DQin cu cel putin SU nainte de aplicarea frontului
ei semnalele de ADERSA,
pozitiv al semnalului CLK si evident mentinerea valid
a a acestora pe un interval H
dup
a acest front. De asemenea, pentru citire cu aceleasi restrictii de temporizare
si RD L n portul de iesire, mai mult
trebuie esantionate datele DQout , ADRESA
aceste date DQout trebuie nscrise corect n controler dup
a ce au fost transferate
pe distanta dintre memorie si controler. Pentru memoriile QDS SRAM care sunt
comandate la frecvente sub 133 MHz semnalele CLK si CLK pot fi generate nc
at s
a
realizeze restrictiile de temporizare, dar la memoriile QDR care lucreaz
a la frecvente
ridicate, peste 133 MHz, timpii de acces devin sensibil egali cu timpii de propagare a
semnalelor pe distanta de la controler la primul modul de memorie.
Pentru nscrierea datelor , c
and sunt mai multe module QDR, semnalele CLK,
CLK se genereaz
a la controler cu o mic
a nt
arziere fata
de generarea semnalelor
WR L, DQin nc
ADRESA,
at s
a se asigure SU ; iar SU este asigurat la fiecare modul
deoarece se presupune c
a pentru fiecare modul toate aceste semnale generate de controler parcurg mpreun
a aceeasi distanta
(deci aceeasi nt
arziere de propagare). Dar
la citire pentru c
a datele DQout parcurg de la module p
an
a la controler distante
diferite (de exemplu, n figur
a pentru cele dou
a module nt
arzierile de propagare p
an
a
la controler sunt 1 si 2 , 1 < 2 ) pentru ca s
a fie captate n controler cu acelasi
front de ceas aceste date trebuie s
a fi fost nregistrate n porturile de iesire de la
memorie anterior cu intervale de timp 1 si 2 . Rezult
a c
a, pe l
ang
a semnalele CLK si
CLK pentru inscriere, este necesar
a nc
a o pereche de semnale de ceas CLC si CLC
pentru citire. Aceste semnale CLC si CLC, defazate fata
de CLK si CLK se obtin
printr-o bucl
a a traseului semnalelor de ceas, acest traseu porneste de la controler
si se ntoarce tot la controler. Semnalele CLK si CLK generate de controler sunt
aplicate succesiv la fiecare modul QDR si sunt folosite pentru sincronizarea comenzii
WRITE, apoi la rentoarcere, cu defazajele corespunz
atoare diatantelor parcurse, sunt
aplicate succesiv dar n ordine invers
a la fiecare modul ca semnale CLC CLC pentru

3.6. MEMORIA CU ACCES ALEATORIU

521

nscrierea datelor DQout n porturile de citire; iar c


and ajung n controler vor sincroniza nscrierea datelor receptionate. Deoarece prin acest
a bucl
a semnalele de ceas
pot avea o nc
arcare mare, mai nou, memoriile QDR genereaz
a ele nsele o pereche
de semnale ecou, CQ si CQ, care sunt utilizate pentru sincronizarea n controler a
datelor citite DQout ; aceste semnale de ceas ecou sunt produse din semnalele de ceas
primite de memorie, CLK si CLK, prin introducerea unor defazaje. (In structura de
principiu a memoriei QDR din Figura 3.104-a, semnalul ZQ are o functie similar
a cu
a semnalului aplicat pe pinul ODT la o memorie DDR2, adic
a ajustarea impedantei
de iesire a driverelor de iesire pentru a se adapta la impedantele de pe circuitul imprimat. BW1 , BW0 sunt semnale prin care se poate selecta pentru nscriere un anume
byte din cuv
antul DQin .)
Pentru circuitele de memorie, utilizate n sistemele de de calcul, tendinta este ca
acestea s
a devin
a din ce n ce mai mult circuite programate (prin unul sau mai multe
Load Mod Register) si, n viitor, memoria s
a dob
andeasc
a o anumit
a inteligenta
astfel
nc
at (integr
and si controlerul) s
a poat
a realiza independent anumite functii.

3.6.4

Memoria adresabil
a prin continut, CAM

La toate tipurile de memorie prezentate p


an
a acum procesul de obtinere/restablire
a unei informatii (cuv
ant) se realizeaz
a n felul urm
ator: prin cunoasterea unei adrese
(deci se impune memorarea, ntr-un fel, a adresei) care se aplic
a memoriei se extrage
din locatia, de la aceast
a adres
a, informatia c
autat
a. Dar, se poate realiza acest proces
si n sens invers, adic
a se cunoaste informatia (cuv
antul de date) si se determin
a adresa
(locatiei) unde este stocat (acest cuv
ant) n memorie. Practic, acest proces invers se
realizeaz
a n felul urm
ator: cuv
antul data cunoscut, Dn1 Dn2 . . . D1 D0 , se compar
a,
n paralel, cu cuvintele data din toate locatiile memoriei si se genereaz
a un semnal
de g
asire M (match) dac
a exist
a stocat acest cuv
ant si totodat
a se obtine si adresa
(sau adresele), AMm1 , . . . , AMk , . . . AM0 , locatiei care contin acest cuv
ant, Figura
3.105-a. Deoarece la acest tip de memorie explorarea se realizeaz
a prin continut, si
nu prin adres
a, referirea sa se face prin sintagma memorie adresabil
a prin continut,
CAM (Content Addresable Memory).
Pentru structurarea de principiu a unei memorii CMOS CAM, Figura 3.105-b,
se poate porni de la circuitul pentru generarea identit
atii a dou
a cuvinte, realizat
cu tranzistoare de trecere, Figura 1.53-d. C
ate un astfel de circuit de generare a
identit
atii este realizat pentru toate celulele, Figura 3.91-a, unei locatii (adres
a) a
memoriei. Poarta XOR pentru celula i este relizat
a cu tranzistoarele de trecere T 1
si T2 (si realizeaz
a xi Di + xi Di ). Cele dou
a valori xi si xi se g
asesc nscrise n
celula i, ca iesiri ale celor dou
a inversoare CMOS (n celul
a este nscris bitul x i al
cuv
antului X = xn1 . . . xi . . . x1 x0 ), iar cele dou
a valori Di si Di , ale bitului de
rang i din cuv
antul de comparat, D = Dn1 . . . Di . . . D1 D0 , se aplic
a din exteriorul
memoriei respectiv pe coloanele de bit C1 si C2 la celulele i de pe toate liniile de
cuv
ant (adrese). (Celula de memorie CMOS se consider
a n starea 0 (xi = 0, xi = 1)
c
and iesirea inversorului din dreapta este H si iesirea inversorului din st
anga este L iar
n starea 1 c
and cel din st
anga este n H si cel din dreapta este n L.) Circuitul NOR
al generatorului de identitate, ntre cuv
antul D si cuv
antul X de pe o linie de cuv
ant,
este constituit (distribuit) din toate tranzistoarele T3 , c
ate unul pentru fiecare celul
a
de memorie, si care sunt comandate de c
atre iesirile portilor XOR. Aceast
a poart
a

522

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Cuvant aplicat
pentru identificare
D n1 D n2

D i+1

D1 D2

. .
D i+1

linie de cuvant

....
.
VDD

Memorie

C1

adresabila
prin continut
(CAM)

a)

AMm1 AMi

AM0

Adresa / adresele
cuvantului cautat

celula
(i+1)

contine
bitul xi+1

T2

T1

b)

XOR

celula
i

T1

VDD

xi

Ts

contine
bitul xi

T3

VDD

Ts3

Ts2

DCD
2:4

Ts1

Ts0

AMk

NOR

. .
.. .
.. .
.

di mi
M
xi

AM3
Celula
CAM

AM 0

AM2

AM1

AM0

c)

T2

T3

Bloc 1/0

A0

xi

C2

D out
(E est )

Cuvant aplicat
pentru identifiacre
D in
4

A1

C2

xi+1

....
.
VDD

C1

xi+1

Di

Di

Celula CAM

AM m1
AMk

d)

Cuvant
adresa virtuala (V) aplicata
TLB (V

e)

B)

Adresa virtuala, V1

Adresa virtuala, V0

AM0
AM1

Adresa virtuala, Vk

AMi

Adresa reala, R k

Adresa virtuala, Vq1

AM m

Adresa reala, Rq1

Locatii de tip CAM

Adresa reala, R 0
Adresa reala, R 1

Adresa
reala, (R)
citita
RAM

Data

Locatii de tip RAM

Figura 3.105 Memoria adresabil


a prin continut, CAM: a) schem
a bloc pentru o
memorie CAM; b) structurarea unei celule de memorie CAM pe baza unei celule RAMCMOS prin ad
augarea componentei de generare a functiei de identitate (poarta XOR);
c) organizarea unei memorii CAM de patru locatii pentru cuvinte de patru biti; d) structura
logic
a a unei celule CAM pentru c
autarea cuvintelor incomplet definite; e) structurare de
principiu, pe baz
a de memorie CAM, a unui circuit pentru translatarea adreselor virtuale n
adrese reale (TLB).

3.6. MEMORIA CU ACCES ALEATORIU

523

NOR distribuit
a poate fi realizat
a dinamic (cu prenc
arcarea la timpul potrivit, de
exemplu c
and M=1) sau ca o pseudo poart
a CMOS (ca n structura prezentat
a, s
este tranzistorul de sarcin
a) dac
a nu este critic
a cerinta de vitez
a.
Memoria CMOS CAM cu structurarea prezentat
a poate fi utilizat
a n modul normal pentru nscriere si citire; operatia de nscriere este necesar
a pentru a stoca cuvintele data X la oricare adres
a, iar citirea numai pentru utilit
ati de testare; n Figura
3.105-c este prezentat
a o astfel de memorie cu patru adrese pentru cuvinte cu lungimea
de patru biti. Pentru functionare ca memorie CAM cuv
antul c
autat D se aplic
a pe
pinii de intrare, ca dat
a de intrare, astfel c
a pe coloanele de bit C1 si C2 vor fi respectiv valorile Di si Di , dar nu se aplic
a memoriei nici un cuv
ant de adres
a. Dac
a
bitul Di este identic cu bitul xi din celula i atunci poarta XOR corespunz
atoare va
aplica 0 pe poarta tranzistorului T3 (bloc
andu-l) din poarta NOR a generatorului de
identitate; toate tranzistoarele T3 de pe o linie de cuv
ant (de la o poart
a NOR) vor
fi blocate numai c
and X D, indic
and la iesire, prin actionarea AMk = 1, adresa
(liniei) la care s-a g
asit cuv
antul c
autat. Dac
a cel putin un bit din cele dou
a cuvinte sunt diferite, tranzistorul T3 corespunz
ator acelui bit va conduce, poarta NOR
de pe linia respectiv
a produce 0 pe iesire, AMk = 0, indic
and neidentitatea cuvintelor, X 6 D. In acest mod de structurare al memoriei CAM adresa la care s-a g
asit
cuv
antul c
autat corespunde cu num
arul pozitiei n cuv
antul AMm1 . . . AMk . . . AM0 ,
pentru care bitul are valoarea 1. In cazul n care exist
a mai multe adrese la care
s-a g
asit cuv
antul c
autat se poate alege doar una din aceste adrese prin aplicarea
cuv
antului AMm . . . AMk . . . AM0 la intrarea unui codificator prioritar m : dlog2 me
(alegerea uneia din adresele g
asite depinde de modul de alocare a priorit
atilor, vezi
2.4.2). Pe l
ang
a aflarea adresei locatiei, unde exist
a identitate, AM k = 1, structura
de memorie CAM trebuie nzestrat
a si cu generarea unui semnal de g
asire, M = 1,
ceea ce se poate realiza cu o poart
a NOR, ale c
arei tranzistoare n paralel din reteaua
nMOS sunt comandate de iesirile AMk , 0 k m 1; iesirea negat
a din acest
a
poart
a genereaz
a M = 1 c
and cuv
antul c
autat a fost g
asit la cel putin o adres
a.
Uneori, este necesar a se c
auta n memorie un cuv
ant Dk care este incomplet
cunoscut, adic
a valorile anumitor biti ai s
ai nu se cunosc. La accesarea printr-un
cuv
ant incomplet definit structura celulei (pentru un bit) a generatorului de identitate
este prezentat
a n Figura 3.105-d. Structura acestei celule rezult
a din strucura celulei
anterioare la care se adaug
a poarta 1 care este comandat
a de bitul de masc
a m i ; dac
a
Di este definit atunci mi trebuie s
a fie 1 (poarta AND2 este deschis
a), iar dac
a Di nu
se cunoaste atunci bitul de masc
a trebuie s
a produc
a un rezultat ca si c
and bitii D i
si xi au valori identice, deci mi = 0 (poarta AND2 este nchis
a). Cu aceast
a regul
a
rezult
a configuratia cuv
antului masc
a, m, care are aceeasi lungime ca si a cuv
antului
c
autat, cu maparea: pentru bitii Di cunoscuti mi = 1, iar pentru bitii Di nedefiniti
mi = 0. Memoriei CAM i se aplic
a din exterior simultan dou
a cuvinte, cuv
antul
dat
a c
autat, Dk , si cuv
antul masc
a m. In exemplul urm
ator, pentru un cuv
ant
incomplet definit Dk , se realizeaz
a cuv
antul masc
a m si se prezint
a c
autarea la dou
a
adrese din care la una cu succes (a) iar al cealalt
a (b) f
ar
a succes.
O utilizare foarte frecvent
a a memoriei CAM este n cadrul sistemelor pe baz
a de
microprocesor, pentru translatarea adresei virtuale n adres
a real
a prin asanumitul circuit TLB (Translation Lookaside Buffer). Intr-un sistem de calcul spatiul de adresare
virtual, V, cu care lucreaz
a programele este mult mai mare dec
at spatiul de adresare
real (/fizic), R, cu care lucreaz
a procesorul, adic
a num
arul de adrese (fizice) din mo-

524

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

Dk =
X=
m=
Rezultat
a)
Dk =
X=
m=
Rezultat
b)

1 0 1 1 0
(Data c
autat
a)
0 1 0 0 1 1 1 0 (Data existent
a n CAM)
0 1 1 0 1 0 1 1
(cuv
antul masc
a)
0

0 0

0 0

AMk = 1

1 0 1 1 0
(Data c
autat
a)
1 0 0 1 1 0 1 0 (Data existent
a n CAM)
0 1 1 0 1 0 1 1
(cuv
antul masc
a)
0

1 0

0 0

AMk = 0

dulele de memorie ale sistemului. (De exemplu, s


a consider
am c
a spatiul virtual ar
fi de 232 adrese (4G), adresare cu un cuv
ant de 32 biti, iar spatiul real de 220 adrese
(1M), adresare cu un cuv
ant de 20 biti). Translatarea unei adrese virtuale intr-o
adres
a real
a, VR, se realizeaz
a cu un tabel, TBL, implementat cu o memorie CAM,
Figura 3.105-e.
Memoria CAM cu un num
ar de q locatii are pe fiecare linie stocate dou
a cuvinte;
n prima jum
atate a liniei cu structur
a CAM este un cuv
ant care reprezint
a o adres
a
virtual
a iar n a doua jum
atate a liniei (cu structur
a de memorie RAM) este un cuv
ant
care reprezint
a o adres
a real
a (lungimea cuv
antului de adres
a virtual
a este mai mare
dec
at a celui de adres
a real
a ). In tabel se nscriu n prima jum
atate, n functie de
num
arul de locatii q, doar acele adrese virtuale care se preconizeaz
a c
a vor fi referite
prin rularea programului, iar pe fiecare linie din a doua jum
atate se nscrie adresa
(real
a) locatiei din memoria RAM a sistemului unde se afl
a data referit
a de adresa
virtual
a (inscris
a n prima jum
atate a aceleiasi linii). La aplicarea unui cuv
ant de
adres
a virtual
a la jum
atatea de tip CAM a tabelului, acest cuv
ant este comparat cu
toate adresele virtuale nscrise si n cazul unei identit
ati se genereaz
a pentru acea linie
semnalul AMk = 1. Semnalul AMk activat va produce citirea adresei reale de pe a
doua jum
atate a liniei respective, iar aceast
a adres
a real
a este aplicat
a la memoria
RAM a sistemului de unde se citeste/nscrie data referit
a de adresa virtual
a.

525

3.6. MEMORIA CU ACCES ALEATORIU

PROBLEME1
P3.1 S
a se deduc
a structura automatului asincron care are urm
atorul tabel de
evolutie al st
arilor (Figura a):

Starea urmatoare, iesire


intrari=x1x0
Starea
prezenta 0 0
01
11
10
a

a ,0

a ,0

a ,0

b, 0

a ,0

a ,0

b ,0

b ,0

a)

x0
x1

w
z
b)

P3.2 S
a se studieze conditia de instabilitate pentru circuitul a c
arui structur
a este
prezentat
a mai sus (Figura b din textul problemei P3.1)
P3.3 S
a se determine st
arile totale stabile ale circuitului asincron obtinut prin
conectarea iesirilor F 1 si F 2 ale unei porti DAR-NEGAT respectiv la intr
arile A2 si
A1 . Structura portii DAR este dat
a n problema P2.22.
P3.4 Un automat detecteaz
a dac
a ntr-un sir de biti aplicat pe intrarea x exist
a
consecutiv trei sau mai multi biti cu valoarea 1, dac
a da se genereaz
a iesirea y = 1.
S
a se deseneze graful de tranzitie al st
arilor/iesirii precum si tabelul de tranzitie al
st
arilor/iesirii.
P3.5 Un automat detecteaz
a dac
a ntr-un sir de biti aplicat pe intrarea x exit
a
n ultimi trei biti aplicati exact doi biti cu valoarea 1, dac
a da se genereaz
a iesirea
y = 1. De exemplu pentru secventa de intrare 011011100 se genereaz
a pe iesire
secventa 001111010. S
a se deseneze graful de tranzitie al st
arilor/iesirilor precum si
tabelul de tranzitie al st
arilor/iesirii.
P
P3.6 Un automat calculeaz
a functia majoritar de trei variabile F = 70 (3, 5, 6, 7) dar
tripletul valorilor celor trei variabile este aplicat serial pe intrarea x a automatului.
Automatul genereaz
a y = 0 p
an
a c
and a treia valoare din triplet este aplicat
a pe
intrare iar atunci va genera y = 0 sau 1 daca num
arul de biti 0 respectiv de 1 a fost
majoritar n triplet; de exemplu pentru sirul aplicat pe intrare 011100101 va genera la
iesire 001000001. S
a se deseneze graful de tranzitie al st
arilor/iesirii precum si tabelul
de tranzitie al st
arilor/iesirii.
P3.7 Un automat, de tip Mealy, identific
a dintr-un sir de biti, aplicat la intrarea
x, secventa 10110 si genereaz
a, c
and aceast
a secventa
este identificat
a, unu logic pe
iesirea y. In sirul aplicat peste secventa corect
a se poate suprapune, partial, si o
alta urm
atoare, secventa corect
a. S
a se deseneze graful de tranzitie al st
arilor/iesirii
precum si tabelul de tranzitie al st
arilor/iesirii.
P3.8 S
a se realizeze graful de tranzitie al st
arilor/iesirii pentru un automat Mealy
care are functiunea de detector de secvente: dintr-un sir oarecare de biti aplicat la
intrarea x se detecteaz
a secventa 010110 si se genereaz
a, cand aceast
a secventa este
1 Solut
iile

problemelor pot fi accesate pe situl c


artii

526

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

identificat
a, unu logic pe iesirea y; peste secventa corect
a se poate suprapune, partial,
si o alt
a urm
atoare secventa corect
a.
P3.9 Un detector de secvente, de tip automat Mealy, c
and detecteaz
a secventa
01101 dintr-un sir de biti aplicat pe intrarea x genereaz
a 1 pe iesirea y 1 , iar c
and
detecteaz
a secventa 01111 genereaz
a 1 pe iesirea y 0 . Unei secvente din sir i se poate
suprapune o alt
a secventa
de acelasi tip sau din cel
alalt tip. (cuv
antul de iesire este
ordonat y1 y0 ).
P3.10 Un automat de tip Moore detecteaz
a dac
a secvente de c
ate patru biti aplicate
pe intrarea x constituie un cod corect pentru o cifr
a exprimat
a n codul BCD (8-4-21). Dac
a secventa este un cod BCD corect se genereaz
a y = 1, dac
a nu se genereaz
a
y = 0. S
a se realizeze graful de tranzitie al st
arilor.
P3.11 Un automat Mealy care detecteaz
a, ntr-un sir de biti aplicat pe intrarea
x, secventa 01010 are urm
atoarea functionare. C
and secventa 01010 este detectat
a
n sir se genereaz
a iesirea y0 = 0. Dac
a n sirul de intrare se detecteaz
a subsecventa
011 atunci se genereaz
a y1 = 1 si se initializeaz
a, din nou, c
autarea secventei 01010.
Peste o secventa
01010 se poate suprapune nceperea unei urm
atoare secvente 01010.
S
a se realizeze graful de tranzitie al st
arilor/iesirilor.
P3.12 Un automat Mealy cu o singur
a intrare x si dou
a iesiri y0 (pentru deschidere)
si y1 (pentru alarm
a), utilizat ca cheie electronic
a, are urm
atoarea functionare. Pentru
deschidere trebuie s
a se aplice pe intrarea x succesiv patru cuvinte de cod C1 , C2 , C3
si C4 (fiecare de c
ate patru biti), de exemplu C1 = 0110 = 6|10 , C2 = 1010 = 10|10 ,
C3 = 0100 = 4|10 si C4 = 1000 = 8|10 , dup
a care se comand
a deschiderea y0 = 1.
Dimpotriv
a se comand
a alarma, y1 = 1, dup
a patru cuvinte de cod dac
a acestea sau
printre acestea exist
a coduri gresite. Un cod corect se noteaz
a cu C iA iar un cod
gresit cu CiF , i = 1, 2, 3, 4 iar prin C oricare combinatie de patru biti care genereaz
a
o tranzitie.
S
a se construiasc
a graful de tranzitie al st
arilor/iesirilor si tabelul de tranzitie al
st
arilor/iesirilor.

q0
C 1F
0110

0110

q2

C 1A
C 4A /y 0
1000

C 4F /y 1
1000
a)

q1
C 2A

C 2F
1010

q3
C 3A

C 3F
0100

q5

C1
Starea
prezenta C1A C1F

C */y1 =1

1010

C*
q4

0100

C*
q6
b)

C2
C2A

C2F

C3
C3A

C3F

C4
C4A

C4F

q0

q1

q2

q2

q2

q2

q2

q2

q2

q1

q4

q4

q3

q4

q4

q4

q4

q4

q2

q4

q4

q4

q4

q4

q4

q4

q4

q3

q6

q6

q6

q6

q5

q6

q6

q6

q4

q6

q6

q6

q6

q6

q6

q6

q6

q5

q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y0 q0 /y1

q6

q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1

P3.13 Un automat Mealy primeste serial pe intrarea x cuvinte de c


ate patru biti
care reprezint
a un num
ar n cod EXCESS-3 si genereaz
a serial pe iesirea y 1 cuvinte de

527

3.6. MEMORIA CU ACCES ALEATORIU

patru biti care reprezint


a codul BCD al num
arului aplicat pe intrare, deci o conversie
serial
a EXCESS-3 n BCD. Dac
a pentru codul aplicat pe intrare nu exist
a un num
ar
(0 9) n BCD automatul genereaz
a 1 pe iesirea y0 . S
a se realizeze graful de tranzitie
al st
arilor/iesiri (primul bit aplicat pe intrare din codul EXCESS-3 este cel mai putin
semnificativ.
P3.14 S
a se determine dac
a urm
atoarele grafuri de tranzitie sunt definite ambiguu
x

q0

a)

q1

q3

x y

q0

c)

x y

q2

w+x
q3

x y

q1

x y

w z

x+y

q2

b)

q1

x z

x+z

x z

w+z

q2

q0

q0
x z

xyz

wyz

y
wxy

q2

d)

q1

q3
x+y

wxz

q3

P3.15 Pentru automatul cu diagrama de semnale din figur


a s
a se construiasc
a
graful de tranzitie al st
arilor/iesirii.
CLK 1

10

11

12

x
z0
z1
y

P3.16 Pentru grafurile de tranzitie ale st


arilor/iesirilor din figura urm
atoare s
a se
deduc
a tabelele de tranzitie ale st
arilor/iesirilor.
P3.17 Pe cele dou
a intr
ari x1 si x0 ale unui automat sincron se aplic
a dou
a siruri de
biti. Automatul va genera o iesire activ
a, y = 1, c
and pentru cinci tacte consecutive
subsirurile aplicate la cele dou
a intr
ari sunt identice. S
a se realizeze graful de tranzitie
al st
arilor/iesirilor si apoi tabelul de tranzitie al st
arilor/iesirilor.
P3.18 Pentru un anumit experiment este necesar a se detecta dac
a o bil
a de un
diametru D, situat
a ntr-un tub, se deplaseaz
a n sus sau n jos. Pentru a detecta
deplasarea se fixeaz
a n lugimea tubului doi senzori S1 si S2 la o distanta < D. C
and
bila este n dreptul unui senzor acel senzor va indica valoarea logic
a 1, altfel va indica
valoarea logica 0. C
and bila se deplaseaz
a n sus o iesire y1 va avea valoarea logic
a1
iar c
and bila se deplaseaz
a n jos iesirea y2 va avea valoarea logic
a 1. S
a se conceap
a

528

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE
x/y
x/y

x/y
x/y

q0

a)

x/y

q1

x/y

x 1x 0
q0

x/y

x 1x 0 + x 1x 0

x 1x 0
x 1x 0

q1

q0
x 1x 0

x 1x 0 + x 1x 0

d)

x 1x 0 + x 1x 0

x/y

q4

q5

(x 2x 1x 0) /y 1 y 0
q1

x 2x 1x 0/y 1 y 0

x 2x 1x 0/y 1y

q2
0

(x 2x 1x 0) /y 1y

/y1 y0

q3

x/y

(x 2x 1x 0) /y 1y

q2

b)

x/y
x/y

x/y

x/y

x2 x 1x 0 /y 1 y 0

x 1x 0

x 1x 0

q3

q1

x/y

x/y

q2

c)

x/y

x/y
x/y

q0

q4

/y1 y0

= toate
configuratiile din
intervalul 000 : 111

organigrama ASM si apoi s


a se construiasc
a tabelul de tranzitie al st
arilor/iesirilor.
P3.19 Graful de tranzitie al st
arilor/iesirilor de la problema P3.7. S
a se converteasc
a
ntr-o diagrama ASM si apoi s
a se construiasc
a tabelul de tranzitie al st
arilor.
P3.20 Graful de tranzitie al st
arilor/iesirilor din exemplul 3.3 Figura 3.11. S
a se
converteasc
a ntr-o organigram
a ASM.
P3.21 S
a se conceap
a organigrama ASM a unui automat ale c
arui succesiuni de
cuvinte generate la iesire, y2 y1 y0 , la aplicarea impulsurilor de ceas, este o num
arare n
a
cod binar natural 8-4-2-1 sau n cod GRAY. Cu ajutorul intr
arii B/G = 1 se comand
num
ararea n binar natural, B/G = 0 sau n cod Gray B/G = 1.
P3.22 Pentru automatul Mealy cu tabelul de tranzitie al st
arilor/iesirilor de mai
jos s
a se reduc
a st
arile redundante prin metoda mapei implicantilor.

Starea
prezenta
0
1
2
3
4
5
6
7
8

a)

Starea urmatoare / iesire


x=0
x=1
0/00
4/00
7/00

1/00
2/00
1/00

2/01
6/10
5/01

6/10
5/00
4/11

1/01
3/10
8/01

6/10
8/00
7/11

Starea
prezenta

b)

Starea
prezenta

Starea urmatoare/iesire
x=0
x=1

C/0

B/1

B
C
D

D/0
A/1
B/1

B/1
D/0
C/0

c)

Starea urmatoare/iesire
x=0
x=1

A
B

D/0
E/0

B/0
A/1

C
D
E

G/0
A/1
A/1

F/1
D/0
D/0

F
G

C/0
A/1

B/0
E/0

P3.23 Pentru cele dou


a automate de tip Mealy cu tabelele de tranzitie ale st
arilor/iesirilor de mai sus (b si c) s
a se deseneze grafurile de tranzitie ale st
arilor/iesirilor

529

3.6. MEMORIA CU ACCES ALEATORIU

nainte si dup
a reducerea st
arilor redundante.
P3.24 Pentru automatul cu tabelul de tranzitie al st
arilor/iesirii din figura urm
atoare s
a se deduc
a functiile de excitatie pentru codificarea st
arilor n dou
a modalit
ati:
1 - cod binar natural; 2 - cod Gray.
Starea Starea urmatoare /
iesire
prezenta
x
q0

q1
q2
q3

q1 /1

q0 /1

q2 /0
q2 /0
q1 /1

q3 /0
q3 /0
q0 /0

P3.25 Urm
atoarele forme de variatie de semnale se aplic
a la un latch SR cu ceas
si respectiv la unul D. S
a se deseneze variatia semnalelor Q si QN .
CLK

CLK

P3.26 Urm
atoarele forme de variatie de semnale se aplic
a respectiv la bistabile D,
SR si JK. S
a se deseneze variatia semnalelor Q si QN . Toate bistabilele au comutatie
pe frontul pozitiv de ceas.
CLK

D
S
R
I
K

P3.27 Formele de variatie de semnale din figura de mai jos se obtin la iesirea unui
bistabil T respectiv D. S
a se deseneze variatia semnalelor pe intr
arile T respectiv D.
Comutatia bistabilelor este pe frontul negativ.
CLK
QT
QD

10

530

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

P3.28 S
a se deseneze variatia semnalului generat pe iesirilor A si B ale circuitelor
din figura de mai jos:

P3.29 S
a se deseneze variatia semnalului generat pe iesirile A si B ale circuitelor
din figura de mai jos. Initial bistabilele sunt n starea Q = 0.
"1"
CLK

I
K

CLK
K
QN

CLK
QN

a)

"1"

b)

CLK

CLK
QN

CLK
K
QN

P3.30 Pentru bistabilele din figura de mai jos se dau urm


atoarele valori: SU = 20ns
, pLH(CQ) = pHL(CQ) = 50ns. S
a se determine frecventa maxim
a a semnalului de ceas
si variatia semnalelor A, B si C. Initial bistabilele sunt n starea Q = 0.
"1"
CLK

CLK
QN

CLK
QN

P3.31 In Figura 3.40-a este realizat


a o structura de latch D cu ceas pornind de
la un latch SR pe baz
a de porti NOR plus dou
a porti NAND si un inversor. S
a se
structureze latch-uri D n felul urm
ator:
a) latch SR pe baz
a de porti NOR plus porti NOR si inversoare;
b) latch SR pe baz
a de porti NAND plus porti NAND si inversor;
c) latch SR pe baz
a de porti NAND plus numai porti NAND.
P3.32 Un bistabil PN are urm
atoarea functionare:
1) pentru P N = 00 nscrie n Q = 0, QN = 1;
2) pentru P N = 01 f
ar
a modificare Q, QN ;
3) pentru P N = 10 complementeaz
a Q, QN ;
4) pentru P N = 11 nscrie Q = 1, QN = 0.
S
a se realizeze: tabelul caracteristic, tabelul de execitatie, ecuatia de functionare si
structurarea pe un latch SR master slave. Cum poate bistabilul PN s
a fie transformat
ntr-un bistabil D? De asemenea s
a se structureze un bistabil JK utiliz
and un bistabil
D n un MUX 2:1.
P3.33 Pentru urm
atoarele circuite s
a se deseneze variatia semnalelor Q A si QB .
Se consider
a starea initial
a a bistabilelor QA = 0, QB = 0.

531

3.6. MEMORIA CU ACCES ALEATORIU

J A
K

CLK

J B

CLK
QN

CLK
QN

CLK

b)

a)

PRESET
D
Q

CLK

CLK
QN
B

QN
CLEAR

CTL

P3.34 Pentru urm


atorul circuit (a) s
a se deseneze variatia semnalelor Q A , QB si
X c
and n circuit exist
a urm
atoarele defectiuni:
a) intrarea JA este n gol;

VCC

CLK

J A Q
CLK

QN

CLK

I1
I2
I3

CLK

QN
2

K1
K2
K3

QN

b) intrarea KB este n gol;


c) iesirea QB este n gol;
d) intrarea de ceas la bistabilul B este pus
a la mas
a
e) poarta NAND2 are iesirea n gol.
Se consider
a c
a circuitul este realizat cu componente TTL.
P3.35 Pentru bistabilul de mai sus (b) s
a se deseneze variatia semnalului de iesire
Q c
and pe intrare se aplic
a urm
atoarele siruri de biti: J1 = 1010011, J2 = 0111010,
J3 = 1111000, K1 = 0001110, K3 = 1010101. Pentru fiecare impuls de ceas se aplic
a,
din sirurile date, c
ate un bit pe fiecare intrare; se incepe cu bitul cel mai din dreapta.
P3.36 S
a se proiecteze un automat cu bistabile D care pentru intrarea x = 1
genereaz
a succesiv, si ciclic, codurile Gray de doi biti, iar pentru x = 0 r
am
ane n
aceeasi stare.
P3.37 S
a se proiecteze un automat cu bistabile JK, cu dou
a intr
ari E(nable) si x
care pentru E = 0 va r
am
ane n aceeasi stare indiferent de valoarea lui x. Dar c
and
E = 1 va genera la iesire, ciclic, succesiunea y1 y0 = 00, 01, 10, 11, 00, 01, pentru
x = 1, respectiv, ciclic, succesiunea y1 y0 = 00, 11, 10, 01, 00, 11 . . . pentru x = 0.
P3.38 S
a se proiecteze un automat care pentru un cuv
ant binar de n biti, bn1 , bn2
. . . b1 , b0 , aplicat serial pe intrarea x, ncep
and cu bitul b0 - c
ate un bit pe fiecare tact genereaz
a serial pe iesirea y complementul fata de doi al cuv
antului aplicat pe intrare;
n acelasi tact al aplic
arii bitului pe intrare se obtine si bitul corespunz
ator pe iesire.
Pentru a indica faptul c
a secventa aplicat
a pe intrare s-a terminat si c
a circuitul se
initializeaz
a s
a primeasc
a o alt
a secventa
automatul mai are o intrare I care trebuie
s
a primeasc
a valoarea 1 pentru un tact, altfel I = 0. Implementarea se va face cu

532

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

bistabil D.
P3.39 Pornind de la graful de tranzitie al st
arilor reprezentat n figura urm
atoare
(a) s
a se realizeze automatul nt
ai cu bistabile D apoi cu bistabile JK.
0

1
0

q0 /1

0/0

q1 /0

q2 =11

q3 /0

q1

1/0

q0 =00
q1 =01
q2 =11

0/0

q3 =10

1
0

q0

q0 =00
q1 =01

1/0
1/1

0/0
0/0

q2 /0

1/1

q3

a)

q3 =10

q2

b)

P3.40 Pornind de la graful de tranzitie al st


arilor reprezentat n figura de mai sus
(b) s
a se implementeze automatul n varianta cu bistabile JK si bistabile T.
P3.41 Pornind de la grafurile de tranzitie al st
arilor si tabelele de tranzitie al
st
arilor deduse n problemele P 3.4, P 3.5 si P 3.6 s
a se implementeze automatele pe
baz
a de bistabile de tip D.
P3.42 Pentru automatele din figura a (cu bistabile D) si din figura b (cu bistabile
T) de mai jos s
a se deduc
a tabelele de tranzitie ale st
arilor si iesirilor, apoi grafurile
de tranzitie ale st
arilor.
D1

D Q
CLK
QN

T1

T Q
CLK
QN

CLEAR

D0
D

CLK

CLK
QN

CLEAR

B
y

a)

T Q
CLK T0
QN

CLK

RESET

b)

P3.43 Pentru automatul din figura (a) de mai jos s


a se construiasc
a tabelul de
tranzitie al st
arilor/iesirii si graful de tranzitie al st
arilor/iesirii. Apoi pentru x = 1
s
a se deseneze diagrama de variatie a semnalelor z1 , z0 , y pe un interval de 10 tacte
de ceas, pornind din starea z1 z2 = 00.

533

3.6. MEMORIA CU ACCES ALEATORIU

y
Q
CLK
K QN
J

a)
CLK

Q
CLK
K QN
B1

Ai
Bi

C i1

PRESET
D
Q

b)

CLK

CLK
QN
CLEAR

"1"/"0"

si

Ci

(3,2)

P3.44 Circuitul secvential din figura (b), desenat la problema P3.43 arePdou
a intr
ari
Ai , Bi si o iesire si . Structural, se compune dintr-un sumator complet (3, 2) si un
bistabil D. S
a se deduc
a tabelul de tranzitie al st
arilor/iesirii si graful de tranzitie.
P3.45 Un semiautomat are trei bistabile Q2 , Q1 si Q0 de tip D si o intrare x.
Ecuatiile care descriu functiile de excitatie sunt:
wD2 = (z1 z 0 + z 1 z0 )x + (z1 z0 + z 1 z 0 )x;

wD1 = z2 ,

wD0 = z1

a) S
a se construiasc
a tabelul de tranzitie al st
arilor;
b) S
a se realizeze dou
a grafuri de tranzitie ale st
arilor unul pentru x = 0 si altul
pentru x = 1.
P3.46 Automatul din figura de mai jos este construit pe baza a dou
a bistabile, Q1
este un JK iar Q2 este de tip T. S
a se deduc
a tabelul de tranzitie al st
arilor/iesirii si
graful de tranzitie al st
arilor/iesirii.

A
Q
CLK A
K Q

CLK

Q
CLK
K QN

B
y

P3.47 Pentru automatul din figura de mai jos s


a se scrie functiile de excitatie/iesire
si s
a se deduc
a tabelul de tranzitie al st
arilor/iesirilor iar apoi s
a se construiasc
a graful
de tranzitie al st
arilor/iesirilor.

y
D
Q
CLK
QN

CLK

Q
QN

534

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

P3.48 S
a se analizeze automatul din figura de mai jos.
Q2

Q
CLK
Q2 QN

Q1

Q0

Q
CLK
Q0 QN

Q
CLK

Q1

QN

P3.49 Pentru automatul din figura a) de la problema P 3.42, consider


and c
a se
afl
a n starea z1 z0 = 00, s
a se determine succesiunea st
arilor si succesiunea valorilor
iesirii c
and pe intrare se aplic
a sirul de valori: 010110111011110.
P3.50 Pentru circuitul din Figura 3.58-a cu valorile VDD = 5V, VT = 2, 5V ,
Rx = 10k si Cx = 0, 001F .
a) S
a se calculeze durata w a impulsului generat la iesire;
b) Dac
a variatia tensiunii de prag VT este 20% care este variatia n durata impulsului
generat.
P3.51 Pentru circuitul astabil din figura de mai jos s
a se deseneze diagrama de
variatie a semnalelor si s
a se deduc
a formula pentru calculul frecventei.

Vx

v 01

Rx
10 k

v 02

0,001 F
Cx

P3.52 Pentru circuitul 555 s


a se determine: a) fiind conectat ca monostabil cu
Rx = 22k si Cx = 0, 01F , care este durata w a impulsului generat; b) fiind conectat
ca astabil, s
a genereze un semnal dreptunghiular de frecventa
1 KHz si factorul de
umplere 75%.
P3.53 Cu un circuit 555 s
a se realizeze un receptor de linie compatibil la iesire
TTL.
P3.54 Utiliz
and un circuit 555 s
a se realizeze un releu cu nt
arziere la nchidere.
P3.55 Pentru un num
ar
ator asincron modulo 8, realizat cu bistabile T, cu comutatie
pe frontul negativ, s
a se determine st
arile false introduse n secventa de num
arare.
Cum se poate obtine iesirea z2 z1 z0 f
ar
a st
ari false.
P3.56 Pentru un num
ar
ator asincron modulo 8, realizat cu bistabile cu comutatie
pe frontul pozitiv av
and timpul de propagare pCQ = 8ns s
a se determine timpul cel
mai lung de propagare si ntre care st
ari se obtine.
P3.57 S
a se modifice, utiliz
and o bucl
a de fortare netransparent
a, un num
ar
ator
asincron modulo 16 pentru o functionare de num
ar
ator modulo: 9, 11, 13, 14 si 15.
P3.58 S
a se realizeze un generator de faze utiliz
and un num
artor asincron modulo

535

3.6. MEMORIA CU ACCES ALEATORIU

8 (cu comutatie pe frontul negativ al ceasului).


P3.59 Pentru un num
ar
ator asincron modulo 210 cu pCQ = 5ns: a) c
and continutul
este unul din numerele 10011000111, 00111111111, 11111111111 si se aplic
a urm
atorul
impuls de ceas c
ate celule comut
a? b) care este frecventa maxim
a de ceas?
P3.60 Utiliz
and circuitul num
ar
ator 74xx163 (Figura 3.66-a) s
a se realizeze: a) dou
a
structuri de num
ar
ator modulo 11 n cod oarecare; b) un num
ar
ator modulo 11 n
cod binar natural; c) un num
ar
ator modulo 11 n cod EXCESS3.
P3.61 Utiliz
and circuitul num
ar
ator 74xx161 (Figura 3.66-a) s
a se structureze
num
ar
atoare modulo 13 n cod binar.
P3.62 Pentru structurile din figura (a, b, c), pe baza circuitului num
ar
ator 74xx169
(vezi Figura 3.66-a) s
a se determine succesiunea cuvintelor de iesire z 3 z2 z1 z0 at
at
pentru cazul c
and se consider
a cuv
antul initial z3 z2 z1 z0 = 0000 c
at si pentru cazul
c
and z3 z2 z1 z0 = 1111.

CLK
"1"

CLK D C B A
ENP

74xx169
ENT
LOAD
RCO
3 2
1 0
UP/DN2 2 2 2
QD QC QB QA

LOAD
a)

CLK
"1"

CLK D C B A
ENP
74xx169
ENT

"1"

ENT

RCO
3 2
1 0
UP/DN2 2 2 2
QD QC QB QA

b)

CLK D C B A
ENP

LOAD

LOAD
z3 z2 z1 z0

CLK

74xx169

RCO
LOAD
3 2
1 0
UP/DN2 2 2 2
QD QC QB QA
LOAD

z3 z2 z1 z0

c)

z3 z2 z1 z0

P3.63 S
a se structureze num
ar
atoare modulo 216 , n cod binar natural, pe baza
circuitului num
ar
ator 74xx163.
P3.64 S
a se structureze dou
a num
ar
atoare modulo 129 (unul n cod binar natural,
altul n cod oarecare) pe baza circuitului 74xx163.
P3.65 Cu celule bistabil D s
a se realizeze sinteza urm
atoarele num
ar
atoare:
a) num
ar
ator modulo 16 n cod binar natural;
b) num
ar
ator modulo 6 care realizeaz
a urm
atorul ciclu (notat n zecimal) 0-1-3-7-64-0-1-3. . .
P3.66 Cu celule bistabil T s
a se realizeze sinteza unui num
artor modulo 10 n cod
BCD.
P3.67 Cu celule bistabil JK s
a se realizeze sinteza urm
atoarelor num
ar
atoare:
a) num
ar
ator modulo 3 care genereaz
a ciclic succesiunea 0-1-2-0-. . . ;
b) num
ar
ator modulo 6 care genereaz
a ciclic succesiunea 0-1-3-2-4-6-0-1. . ..
P3.68 S
a se structureze un circuit care s
a multiplice frecventa de ceas cu coeficientul
0,375.
P3.69 S
a se structureze un ceas care indic
a pe afisoare cu sapte segmente, timpul
p
an
a la 12 ore. Pentru obtinerea semnalului de ceas se va utiliza frecventa retelei
electrice de 50 Hz.
P3.70 Pentru un spatiu de parcare, cu capacitatea maxim
a Cmax = 100 locuri,
s
a se indice la intrare, n fiecare moment, printr-un semnal luminos dac
a mai exist
a

536

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

locuri de parcare, iar dac


a s-a ajuns la Cmax s
a se nchid
a o barier
a pe sensul de
intrare.
P3.71 Pentru organigrama ASM din figura a) de mai jos s
a se implementeze semiautomatul.
000

q0
L1
L2

x2
L3

q2
L4

x1
L6

q5

a)

L8

L2

010

x3

011
x1

L6

L9

q5

b)

L8

100

q4

101

010

L4
L5

x2

q3

L7

L3

q2

100

q4

001

q1

011

q3
L5

L1

001

q1

000

q0

L7
x3

101
L9
1

P3.72 Pentru organigrama ASM din figura b) de mai sus s


a se implementeze
semiautomatul.
P3.73 Utiliz
and un limbaj RTL (vezi 3.2.3.5) pentru un grup de patru registre
R3, R2, R1, R0 cu lungimea de 32 biti, s
a se specifice ntr-o diagram
a ASM st
arile
pentru efectuarea urm
atoarelor transferuri: R0 R1, R2 R3; SW AP R1, R2
(R1 R2). Se vor structura dou
a tipuri de conexiuni ntre registre: 1) fiecare cu
fiecare (punct-la-punct); 2) prin intermediul unei singure magistrale.
P3.74 Pe baza unui circuit acumulator de patru biti s
a se realizeze un num
ar
ator
n cod BCD.
P3.75 Pe baza unui circuit acumulator de patru biti s
a se realizeze un num
ar
ator
modulo 12.
P3.76 La sumatorul din problema P 3.44: a) s
a se introduc
a registre de deplasare
pentru operanzi si suma; b) s
a se realizeze cu bistabil de tip JK
P3.77 In structura num
ar
atorului Johnson, cu patru celule, s
a se modifice conexiunile astfel nc
at s
a genereze un num
ar impar (sapte) de st
ari.
P3.78 Pe baza unui num
ar
ator Johnson, cu cinci celule, s
a se realizeze:
a) un generator de 10 faze: F0 , F1 , F2 , . . . , F8 , F9 , F0 , F1 , . . .
b) un generator de 9 faze: F0 , F1 , F2 , . . . , F7 , F8 , F0 , F1 , . . .
P3.79 Utiliz
and circuitul registru universal 74xx194 (Figura P3.80-b si P3.80-c)
s
a se realizeze un circuit registru inel, f
ara autoamorsare: a) cu deplasare st
anga, din
starea initial
a z4 z3 z2 z1 = 0001; b) cu deplasare dreapta, din starea initial
a z 4 z3 z2 z1 =
1100.
P3.80 Pe baza registrului 74xx194 s
a se realizeze un num
ar
ator n inel cu deplasare
st
anga cu autoamorsare si autocorectie cu ciclul 0001 0010 0100 1000
0001 . . .
P3.81 Pe baza circuitului 74xx194, Figura P3.80, registru universal cu patru

537

3.6. MEMORIA CU ACCES ALEATORIU

celule, s
a se realizeze: a) un num
ar
ator Johnson de patru celule cu autoamorsare;
b) un num
ar
ator Johnson cu autoamorsare si autocorectie.
P3.82 Pentru polinomul caracteristic x4 x3 I s
a se structureze circuitul secvential
liniar cu reactie cu sumator extern si cu sumator inclus. Pentru fiecare din aceste
structuri s
a se determine succesiunea st
arilor generate c
and se consider
a starea initial
a
z4 z3 z2 z1 = 0001. Apoi, s
a se introduc
a circuit de autocorectie (si autoamorsare) si sa
se deduc
a succesiunea st
arilor.
P3.83 S
a se realizeze structura de circuite secventiale liniare cu reactie, cu sumator
extern si inclus, pentru polinomul caracteristic x4 x3 x 1.
P3.84 Utiliz
and trei celule ale registrului universal 74xx194 s
a se realizeze structuri
de circuite secventiale liniare cu reactie care s
a genereze secvente pseudo-aleatoare cu
lungimea maxim
a; apoi s
a se structureze un num
ar
ator modulo 5 n cod arbitrar.
P3.85 Circuitul din figura reprezint
a un generator de secvente pseudo-aleatoare
selectabil pentru secvente de cuvinte de patru biti z4 z3 z2 z1 , realizat pe baza circuitului registru universal 74xx194. Selectarea se realizeaz
a prin intermediul unui
MUX4:1. Pentru cele patru cuvinte de selectare S1 S0 ale multiplexorului s
a se determine secventele de cuvinte z4 z3 z2 z1 precum si sirul de biti aplicat pe intrarea serie deplasare st
anga, LIN. Se consider
a initializarea generatorului n starea z 4 z3 z2 z1 = 0001
realizat
a prin actionarea LOAD/DEP LASARE = 1.
VCC

CLK

CLK

LOAD/DEPLASARE

CLR S 1 S 0 RIN A B C D

LIN

74xx194

MUX 4:1

QA QB QC QD

00

01

10

S1

S1

S0

S0

11

z1 z2 z3 z4

P3.86 S
a se arate c
a numai un registru serie cu un num
ar n, par/impar, de celule
si o retea de reactie cu paritate respectiv impar
a/par
a, conectate ntr-o structur
a de
circuit secvential liniar cu reactie, poate genera o secventa
de lungime maxim
a, 2 n 1.
P3.87 Pentru circuitul secvential liniar f
ar
a reactie din figura urm
atoare s
a se
determine r
aspunsul la o secventa impuls unitar, la o secventa
treapt
a unitar
a si s
a
se calculeze secventa de intrare nul
a.
D2

D
X

D3

D4
+

D5
+

D6
+

P3.88 Dou
a circuite secventiale liniare f
ar
a reactie cu functiile de transfer H 1 (D)
si H2 (D) sunt comandate cu aceeasi secventa
de intrare X = . . . 0001011000 . . . ,

538

CAPITOLUL 3. CIRCUITE LOGICE SECVENT


IALE

obtin
andu-se secventele de iesire: Y1 = . . . 00011101101000 . . ., Y2 = . . . 00010110
011101000 . . . S
a se deduc
a expresiile algebrice si s
a se deseneze structurile pentru cele dou
a circuite. Apoi s
a se nserieze cele dou
a functii de transfer H 3 (D) =
H1 (D) H2 (D) iar pentru circuitul rezultat s
a se deseneze structura si s
a se determine
r
aspunsul pentru secventa de intrare X3 = . . . 000111000 . . .
P3.89
Cu trei circuite secventiale liniare f
ar
a reactie cu functiile de transfer
H1 (D), H2 (D), H3 (D), care pentru secventa X = . . . 000111000 . . . aplicat
a pe
intr
ari genereaz
a iesirile: Y1 = . . . 0001011101000 . . ., Y2 = . . . 0001011101000 . . .,
Y3 = . . . 0001101110101000 . . . s
a se realizeze circuitele cu functiile de transfer:
H4 (D) = H1 (D) H2 (D) H3 (D); H5 (D)
=
H1 (D) H2 (D) H3 (D);
H6 (D) = H1 (D) H2 (D) H3 (D).
P3.90 Utiliz
and un circuit RAM de capacitate 1M4 biti s
a se realizeze urm
atoarele
module de capacitate: 1M4 biti; 2M4 biti; 4M4 biti si 2M8 biti.

Capitolul 4

SUPORTUL CIRCUISTIC
IN PROIECTAREA
APLICAT
IILOR
4.1

CONEXIUNI PROGRAMABILE

Succesiunea n desf
asurarea procesului de dezvoltare a unui sistem digital se re
duce, mai mult sau mai putin, la urm
atoarele trei etape: DESCRIERESINTEZA
REALIZARE.
Descrierea functionalit
atii se refer
a la acele specificatii proprii aplicatiei realizate
de/cu sistemul digital care urmeaz
a a fi dezvoltat. Aceast
a descriere conduce la elaborarea unei arhitecturi, n general, compus
a din mai multe blocuri ntre care exist
a
schimb informational, n timp, sub form
a de semnale electrice. Pentru exprimarea
function
arii sistemului digital, la nivel de arhitectur
a, se poate utiliza fie o modalitate grafic
a (desene), fie o modalitate textual
a (prin limbaje de descriere, HDL, vezi
vol.II).
Sinteza const
a n convertirea arhitecturii ntr-o structur
a logic
a, adic
a sinteza
retelei logice a sistemului.
Realizarea const
a n detalierea retelei logice la nivel de component
a (poart
a,
tranzistor) si implementarea ntr-o anumit
a tehnologie.
Evident, aceast
a succesiune a etapelor poate fi cu iteratii pe fiecare etap
a sau chiar
cu iteratii de la ultima etap
a la prima p
an
a c
and specificatiile impuse aplicatiei sunt
realizate. In final, produsul/aplicatia se prezint
a sub forma unei implement
ari cu circuite integrate discrete conectate pe o plac
a de circuit imprimat sau sub forma unui
singur circuit integrat, SOC (System-On-a-Chip). Intre aceste dou
a modalit
ati extreme de implementare pot exista diferite variante n functie de c
at de multe p
arti ale
implement
arii de pe placa de circuit imprimat pot fi transferate ntr-o implementare
n siliciu. Aceste variante de implementare pe un circuit integrat sunt determinate
de anumite criterii impuse aplicatiei cum sunt: performanta (n general vitez
a), consumul de putere, suprafata ocupat
a pe siliciu, timpul de dezvoltare, flexibilitatea
pentru modificare (reconfigurabilitatea), siguranta n functionare si nu n ultimul

540

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

r
and costul.
Produsul n totalitate se constituie dintr-o component
a hardware si o component
a software (compilator, program de nc
arcare, program de testare si depanare,
program de lucru interactiv cu sistemul elaborat, sistem de operare (executiv), etc).
Pentru ponderarea ntre hard si soft se analizeaz
a cum contribuie acestea, hard-ul
prin performantele de vitez
a iar soft-ul prin flexibilitate, la performantele si costul
sistemului.
Costul unui circuit integrat poate fi aproximat pe baza urm
atoarei relatii:
Cost/unitate =

Costul dezvolt
arii
+ Costul de fabricatie/unitate
Volumul productiei

(4.1)

Costul de fabricatie/unitate, c
and complexitatea procesului de fabricatie este
deja st
ap
anit
a, n general, este proportional cu dimensiunea pe siliciu si, uzual, pentru
circuitele integrate comercial obtenabile se situeaz
a n ordinul unit
ati sau zeci de
EURO; acest cost este repetabil pentru fiecare circuit integrat.
Costul dezvolt
arii contine cheltuielile pentru munca de proiectare, investitia n
instrumentele de proiectare (programe CAD-Computer Aided Design, calculatoare
etc) plus cheltuielile auxiliare (regia). Costul dezvolt
arii poate fi foarte mare, n general de la zeci de mii de EURO n sus. Aceast
a component
a a costului/unitate poate
fi redus
a fie printr-o micsorare a costului procesului de proiectare, fie printr-o m
arire
a volumului productiei sau prin ambele simultan; acest cost nu este repetabil,
NRE (Nonrecurring Engineering Cost), se distribuie pe ntregul lot fabricat, deci nu
favorizeaz
a seriile mici.
Proiectarea unui circuit electronic, ideal, ar trebui efectuat
a pentru obtinerea de
performante maxime si ntr-un timp c
at mai scurt ceea ce este contradictoriu, n
consecinta
se alege una din aceste dou
a abord
ari: proiectare pentru performante
maxime sau proiectarea ntr-un timp scurt.
Proiectarea pentru performante maxime implic
a un cost al dezvolt
arii foarte
ridicat de ordinul de la sute de mii de EURO n sus si care nu se amortizeaz
a dac
a
volumul productiei nu este foarte mare (recomandat
a o astfel de productie pentru
produse de larg consum, industria auto, juc
arii, etc); n general o astfel de proiectare
se realizeaz
a cu o echip
a de zeci de ingineri an. Acest tip de proiectare este referit
a
ca proiectare complet realizat
a de c
atre utilizator - full custom design.
Abordarea dezvolt
arii printr-o proiectare n timp scurt, evident, duce la aparitia rapid
a a produsului pe piata
. In unele cazuri aparitia pe piata
a unui nou
produs cu un an mai devreme dec
at al competitorului poate duce la un profit dublu
fata
de competitor. Acest avantaj se explic
a prin faptul c
a primul n piata
capteaz
a
pe toti clientii si la un pret ridicat al produsului pe c
and la urm
atorii veniti n piata

r
am
an restul de clienti si la un pret sc
azut; cu alte cuvinte profitul obtinut printro proiectare rapid
a, foarte frecvent, dep
aseste profitul obtinut printr-o proiectare
pentru performanta
(iar la a doua proiectare, care apare pe piata
odat
a cu cea a
competitorului, se realizeaz
a pentru produs performante foarte ridicate!) Dar, n
general, o proiectare rapid
a se face pentru o productie n volum redus ceea ce nu ar
duce la valori mici pe unitate pentru componenta costului de dezvoltare, relatia 4.1.
,,
Solutia, n acest caz, este s
a se utilizeze prefabricate adic
a circuite deja proiectate
si fabricate ntr-un stadiu avansat, cu mult peste 50% din efortul total de realizare,
de c
atre fabricantul de circuite integrate (turn
atoria de siliciu) si care sunt preluate

4.1. CONEXIUNI PROGRAMABILE

541

si continuate n procesul de realizare de c


atre beneficiar/client; aceasta nseamn
ao
,,
personalizare a circuitului pentru aplicatia sa cu un efort de dezvoltare (timp si cost)
destul de redus si acceptabil pentru productie de serie mic
a spre medie. In general,
,,
aceast
a personalizare se reduce la realizarea (programarea) unor conexiuni pe un
,,
suport integrat existent (prefabricatul ) conform unui proiect realizat de c
atre client
pentru aplicatia sa specific
a; o astfel de abordare a dezvolt
arii unui sistem digital la
care particip
a si clientul este referit
a prin semicustom design, mai nou referit
a si
prin abreviatia ASIC design (Application Specific Integrated Circuit design).
Pentru realizarea personaliz
arii circuitului de c
atre utilizator la aplicatia sa, cir,,
cuitul integrat prefabricat trebuie s
a asigure un anumit suport n efectuarea conexiunilor dorite. In acest sens pe un astfel de circut exist
a posibilitatea de a se
realiza anumite trasee noi pentru interconectare sau de a se realiza jonctionarea
anumitor segmente de trase deja existente. In oricare din aceste variante o
deosebit
a atentie trebuie acordat
a nt
arzierii introduse, la propagarea semnalului, de
aceste trasee de interconectare, nt
arziere care este proportional
a cu rezistenta si capacitatea total
a a traseului.
Traseele noi pentru interconectare pot fi realizate pe suprafata de siliciu a circuitului integrat sau pe straturile metalice situate deasupra suprafetei de siliciu. Realizarea
acestor noi trasee necesit
a continuarea proces
arii, la turn
atoria de siliciu, cu realizarea
a 1 3 m
asti pe baza informatiei elaborate de c
atre utilizator; aceast
a modalitate este
referit
a ca programarea (circuitului) prin mascare. La circuitele semicustom cu
programare prin mascare se obtin cele mai mici nt
arzieri pe traseele noi de interconectare n raport cu alte variante de realizare a conexiunilor programate.
Pentru realizarea traseelor de interconectare, prin jonctionarea anumitor segmente
de linii metalizate deja implementate, trebuie s
a existe ntre capetele segmentelor
,,
respective c
ate un comutator ce poate fi nchis sau deschis pentru conectarea sau
separarea acelor segmente. De fapt, acest comutator se realizeaz
a prin plasarea n
punctele de jonctionare a unui fuzibil, antifuzibil, tranzistor cu poart
a flotant
a (de
tip EPROM sau EEPROM), tranzistor de trecere sau poart
a de transmisie. Realizarea
unei conexiuni o singur
a dat
a programabil
a, OTP prin intermediul unui fuzibil
sau prin intermediul unui antifuzibil au fost prezentate n sectiunea 1.2, Figura 1.12, si
n sectiunea 2.4.6.1; ambele modalit
ati pentru realizarea conexiunii prezint
a avantajul
unui consum redus de suprafata
(cu putin mai mare dec
at dublul l
atimii unei trase
metalizate). Din p
acate, deoarece pentru realizarea acestor conexiuni trebuie s
a se
aplice din exterior tensiuni de programare n gama 1020V este necesar
a o circuistica
auxiliar
a (tranzistoarele de programare cu dimensiuni m
arite, tranzistoarele de izolare
care trebuie s
a protejeze, de tensiunile ridicate n timpul program
arii, tranzistoarele
ce opereaz
a la tensiuni reduse) ceea ce diminueaz
a avantajul amintit anterior. Se
prefer
a antifuzibilul, n raport cu fuzibilul, datorit
a avantajului de a nu prezenta
posibilitatea de revenire la starea anterioar
a program
arii, n plus se pot obtine pe
conexiune capacit
ati si rezistente mai reduse (unele variante de antifuzibil pe baz
a de
siliciu amorf pot realiza rezistente n gama 50 100) n comparatie cu modalit
atile
de realizare a conexiunilor prezentate n continuare.
Conexiunile de tip EPROM si EEPROM, sectiunea 2.4.6.1, bazate pe tranzistorul cu poart
a flotant
a prezint
a avantajul nevolabilit
atii la disparitia tensiunii de
alimentare dar are si dezavantajele: rezistenta
ridicat
a n conductie a tranzistorului
(2 4K), consum ridicat de putere (n regim static).

542

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Conexiuni pe baz
a de de celule SRAM. O celul
a de memorie static
a prin bitul
stocat 1 (Q = 1, QN = 0) sau 0 (Q = 0, QN = 1) poate comanda n conductie sau n
blocare un tranzistor de trecere, tranzistor care realizeaz
a jonctiunea ntre dou
a capete
de segmente de trasee de interconectare. Tranzistorul de trecere realizeaz
a functia
unui comutator, ntre cele dou
a capete, care este nchis (tranzistorul n conductie)
c
and celula SRAM este nscris
a n 1 si este deschis (tranzistorul este blocat) c
and
celula este nscris
a n 0, Figura 4.1-b; rezistenta tranzistorului n conductie, deci a
puntii ntre cele dou
a segmente de traseu, este n gama 0, 5 2K. In mod similar,
pe baz
a de celule SRAM, se poate realiza selectarea dintr-un grup de 2n trasee doar a
unuia si conectarea acestuia la un alt segment de traseu prin intermediul unui MUX
2n : 1; bitii cuv
antului de selectare aplicati multiplexorului sunt nscrisi n n celule
SRAM, n Figura 4.1-c este prezentat cazul pentru n = 2.
Structura celulei SRAM se compune dintr-un latch cu inversoare plus un tranzistor
de trecere T, prin care se comand
a operatia de nscriere/citire de date la celul
a, Figura
4.1-a. Celula este nscris
a (tranzistorul T n conductie) n procesul de programare a
circuitului si este citit
a n procesul de depanare; n conditii normale de functionare
tranzistorul de trecere T din celul
a este blocat iar iesirea Q a celulei, prin valoarea sa,
controleaz
a conductia sau blocarea unui tranzistor de trecere plasat ntre dou
a capete
de segmente de traseu de interconectare. Intr-o astfel de utilizare celula SRAM are
o frecventa
a operatiilor de citire/nscriere mult mai mic
a dec
at a unei celule dintr-o
matrice de memorie conventional
a; n consecinta
, o astfel de celul
a SRAM se dimensioneaz
a n primul r
and pentru a asigura o stabilitate si densitate ridicat
a si n al
doilea r
and pentru vitez
a. Aceste celule de memorie nu formeaz
a o matrice compact
a,
ele sunt dispersate pe ntreaga suprafata
a circuitului, si sunt plasate n apropierea
tranzistoarelor sau multiplexoarelor pe care trebuie s
a le controleze. Suprafata necesar
a pentru realizarea unei conexiuni este relativ destul de mare, necesit
a cel putin
cinci tranzistoare din structura celulei SRAM plus tranzistorul de trecere comandat.
De asemenea, conexiunea programat
a este volatil
a, valoarea logic
a nscris
a n celul
a
este anulat
a la disparitia tensiunii de alimentare, deci programarea conexiunilor tre-

Citire/
Scriere

Data
T

a)

Segment
de
traseu

QN

Celula Q
SRAM
Segment
de
traseu
b)

Segmente
de
traseu
Celula Q

SRAM 2

Celula

SRAM 1

c)

S1
S0

MUX
4:1
Segment
de
traseu

Figura 4.1 Conexiunea programabil


a pe baz
a de celule SRAM: a) structura unei
celule SRAM pentru controlul unei conexiuni; b) conexiune programat
a prin comanda unui
tranzistor de trecere; c) conexiuni programate prin comanda unui multiplexor cu celule
SRAM (n acest caz dou
a celule SRAM comand
a un MUX 2n : 1).

4.2. PROIECTAREA DE TIP FULL-CUSTOM

543

buie realizat
a la fiecare punere sub tensiune a circuitului. In consecinta
, l
ang
a circuitul
programat trebuie s
a existe un mecanism de memorare a informatiei de programare
(de configurare) a conexiunilor materializat printr-un PROM, EPROM, EEPROM
sau date pe un hard(disk). Cu toate acestea, n raport cu celelalte modalit
ati de
realizare a conexiunilor programate, cea bazat
a pe celule SRAM s-a impus datorit
a
urm
atoarelor avantaje:
- reprogramare rapid
a (similar cu comutarea pe calculator la alt program);
- reprogramare dinamic
a (n circuit);
- proces standard de fabricatie pentru comutatoarele programabile.

4.2

PROIECTAREA DE TIP FULL-CUSTOM

Proiectarea de tip full-custom este o proiectare pentru performanta


, consumatoare
de investitie initial
a si necesit
a o echip
a de proiectanti cu specializare ridicat
a, de ordinul zeci de ingineri an, ceea ce determin
a un cost de dezvoltare foarte ridicat.
In plus, pentru c
a durata de dezvoltare este lung
a, de peste un an, pentru a obtine
performante ridicate produsul trebuie proiectat a fi implementat ntr-o tehnologie care
se experimenteaz
a n aceeasi perioad
a cu proiectarea circuitului. Procesul de dezvoltare are n succesiune etapele de: arhitectur
asintez
arealizare, dar fiecare etap
a
este realizat
a minutios pentru a se obtine performante maxime. Dup
a parcurgerea
etapelor n sensul prezentat anterior (n jos, top-down) se reia, prin iteratii, si parcurgerea n sens invers (n sus) pentru a se verifica ndeplinirea specificatiilor, deci se
porneste de la nivel de layout.
Proiectarea geometriei tranzistoarelor n siliciu este o operatie obligatorie pentru
un circuit full-custom. Apoi, mai multe tranzistoare sunt integrate n celule care
la fel sunt transpuse n layout si testate. Acest proces de proiectare are o ascendenta

gradual
a n sensul c
a prin compunerea acestor celule se genereaz
a un layout pentru o
celul
a mai mare care la r
andul s
au poate intra n geometria altei celule de dimensiune
si functionalitate mai ridicat
a s.a.m.d p
an
a la circuitul final. Layout-ul fiec
arui nivel
de celul
a este minutios proiectat, verificat, simulat si testat si nu se trece la nivelul
de celul
a superioar
a p
an
a c
and specificatiile nu sunt ndeplinite (o eroare strecurat
a
la un nivel si sesizat
a mai t
arziu poate fi remediat
a cu costuri foarte mari timp si
bani).
Pentru generarea layout-ului nu totdeauna exist
a programe software de proiectare suficient de performante deci, adeseori, se recurge la o proiectare manual
a sau
se intermixeaz
a proiectarea manual
a cu cea automat
a. Obtinerea unor performante
ridicate de vitez
a impune analiza nt
arzierilor at
at pe liniile de conexiune c
at si pe
nivelul unei porti logice; restrictionarea num
arului maxim pentru fan-out si pentru
fan-in este foarte important
a (vezi sectiunea 1.5.6). Proiectarea de tip full-custom
produce un layout compact, de suprafata
redus
a si de vitez
a ridicat
a; uzual pentru o
implementare n aceeasi tehnologie un circuit full-custom este, uzual, de (3 8) ori
mai rapid dec
at acelasi circuit realizat semicustom [Chinnery 0 02]. S
a nu uit
am, c
a
oricare circuit integrat, la origine, a fost full-custom!

544

4.3

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

PROIECTAREA CU ARII DE PORT


I
LOGICE

Aria de porti logice este un circuit integrat ce contine o multime de porti logice
ce sunt plasate sub o form
a matriceal
a dar f
ar
a a fi conectate ntre ele, Figura 4.2-a.
O astfel de structur
a, datorit
a unei organiz
ari matriceale, este referit
a adesea si ca
matrice de porti (neconectate). Pe baza acestor porti, prin realizarea conexiunilor
ntre acestea, conform unor relatii logice se obtine circuitul logic corespunz
ator, Figura
4.2-b.
In prezent, circuitele arie de porti nu se realizeaz
a ca o matrice de porti logice ci ca o matrice structurat
a pe baza unor componente (tranzistoare) neconectate
care constituie celula elementar
a a circuitului integrat. Cu o astfel de celul
a, prin
conectarea elementelor componente, se pot obtine mai multe tipuri de porti logice
care apoi, printr-o conectare corespunz
atoare, pot forma circuitul logic dorit.
x9
x1

f1

x2
x3

f2

x4
x5
x6
x7
x8
a)

b)

f3

Figura 4.2 Circuitul arie de porti logice: a) structur


a de principiu pentru o matrice cu
porti NOR; b) exemplu, posibil, de conectare a portilor NOR pentru realizarea a trei functii
logice.

Implementarea unei aplicatii pe baza unui circuit arie de porti logice const
a n
proiectarea interconexiunilor necesare ntre porti/celule si apoi la turn
atoria de siliciu
se realizeaz
a aceste interconexiuni, care necesit
a nc
a un num
ar de 2-3 m
asti suplimentare. Costul proiect
arii m
astilor pentru etapele de procesare ale circuitului (costul
de tip NRE), p
an
a la nivelul de la care poate fi utilizat de c
atre proiectantul aplicatiei,
se distribuie pe toate unit
atile produse de turn
atoria de siliciu ca o investitie nitial
a.
Oricum, acest num
ar de m
asti suplimentare, cerut de aplicatie, este mult mai mic
dec
at num
arul de m
asti necesar aplicatiei (peste 20) dac
a aceasta ar fi realizat
a ca
un produs full-custom. Traditional, proiectarea interconexiunilor se realizeaz
a pe
coloanele si r
andurile dintre suprafetele ocupate de celule plasate matriceal, denumite
canale de rutare, operatie care se realizeaz
a automat cu programe CAD adecvate.
In prezent circuitele arie de porti logice, mai ales cele cu num
ar mare de porti
(zeci si sute de mii), care pot contine si zone de memorie, nu mai prezint
a canale
de rutare sunt referite ca mare-de-porti. La un circuit arie de porti logice de tip

4.4. PROIECTAREA CU CELULE STANDARD

545

mare-de-porti interconexiunile sunt realizate pe straturile metalizate (34 straturi)


situate deasupra ariei/matricei de porti logice. Selectarea portilor care vor fi utilizate pentru aplicatie (plasarea portilor) si rutarea interconexiunilor se efectueaz
a
automat sau, foarte frecvent, n mod interactiv deoarece este necesar a se m
ari procentajul de porti folosite si de micsorare a interconexiunlor trasate manual (chiar si
un procent redus de porti neutilizate si de trasee duse manual reprezint
a numere absolute destul de mari deoarece num
arul total de porti pe circuit poate fi de ordinul
104 sau 105 ); se poate ajunge uneori la un procentaj de porti nefolosite de peste 50%
din num
arul total de porti continute n circuit. Datorit
a acestui procent ridicat de
porti neutilizate, n circuitul final, si a suprafetelor mari consumate de pad-urile de
intrare/iesire suprafata unui circuit arie de porti logice poate fi destul de mare; se
pot consuma suprafete de 45 ori mai mari dec
at la realizarea aceleasi aplicatii sub
form
a de circuit full-custom. O proiectare de calitate se reflect
a n circuitul rezultat prin neaparitia efectului de hazard static si aceasta se obtine prin: egalizarea
nt
arzierilor pe porti (printr-o uniformizare a sarcinilor pe intrare si a nc
arc
arilor pe
iesire) si egalizarea timpilor de propagare pe interconexiuni (printr-o lungime egal
aa
traseelor).
Proiectarea aplicatiilor pe arii de porti se recomand
a pentru serii care se realizeaz
a
n volum de sute sau mii de unit
ati si este caracterizat
a de:
- timp de dezvoltare redus;
- automatizare ridicat
a a procesului de dezvoltare;
- performante (de vitez
a, de suprafata
) relativ sc
azute (n raport cu full-custom).
Exemplul 4.1 In Figura 4.3 este prezentata o structura (posibila) de celula pentru
un circuit arie/matrice de porti logice. Structura acestei celule se compune din dou
a linii
de difuzie, una n si alta p, n care exist
a respectiv c
ate patru tranzistoare nMOS si pMOS
neconectate, cu care se pot realiza patru dispozitive CMOS. Aceast
a structur
a mai contine:
patru bare din polisiliciu care sunt portile comune pentru c
ate o pereche de tranzistoare complementare, traseele metalizate pentru alimentare VDD , VSS precum si ferestrele metalizate
de acces (c
ate dou
a) la fiecare tranzistor si ferestrele metalizate din fiecare bar
a (poart
a)
de polisiliciu. In Figura 4.3-c sunt prezentate interconexiunile realizate pe celul
a pentru
implementarea unei porti NOR4, Figura 4.3-b.

4.4

PROIECTAREA CU CELULE STANDARD

Proiectarea cu celule standard poate fi privit


a ca o extensie a proiect
arii pe baz
a de
arii de porti logice dar cu celule care nu mai sunt la nivel de tranzistor ci cu celule de
nivel mai nalt, care deja realizeaz
a functii logice. Realizarea aplicatiei pornind de la
nivelul de tranzistor este consumatoare de timp de proiectare. Se poate reduce acest
timp dac
a se porneste de la celule care pot fi porti logice sau circuite care contin mai
multe porti logice (multiplexoare, bistabile, sumatoare, comparatoare, etc). Aceste
celule, denumite celule standard sau policelule, existente ntr-o bibliotec
a de celule,
sunt selectate de c
atre proiectant n functie de aplicatia de realizat, plasate si interconectate ntre ele obtin
andu-se astfel layout-ul viitorului circuit integrat. Elaborarea

546

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II
V DD

T2

T4

B
linie
difuzata p

T6

C
Ferestre metalizate
pentru contact

A+B+C+D

T7

b)

pMOS

V DD

T8

T2

T5

T4

T3
T6

T1 V
SS
T8

pMOS
Trasee metalice
pentru alimentare

V DD

nMOS

nMOS

V SS

V SS
a)

Porti (bare)
din polisiliciu

linie
difuzata n
A
c)

B
T1

C
T3

D
T5

T7

Figura 4.3 Explicativ


a pentru Exemplul 4.1: a) structur
a posibil
a de celul
a compus
a
din patru perechi de tranzistoare (pMOS si nMOS) neconectate; c) conexiunile metalice
necesare pe celul
a pentru realizarea circuitului (NOR4) din figura b.

unei biblioteci de celule standard pentru o anumit


a tehnologie este o proiectare de tip
full-custom si necesit
a o activitate de ordinul zeci ingineri luni (fiecare turn
atorie,
pentru o anumit
a tehnologie, pune la dispozitia utilizatorilor o bibliotec
a de celule
standard).
In scopul usur
arii operatiei de rutare a conexiunilor se adopt
a, n general, pentru
fiecare celul
a aceeasi n
altime (pentru a putea realiza r
anduri de aceeasi n
altime),
l
atimea put
and fi oricare n functie de dimensiunea circuitului celulei, iar intr
arile si
iesirile se fixeaz
a numai pe laturile celulei spre care exist
a acces din canalele de rutare.
Canalele de rutare sunt pe suprafetele dintre r
anduri; la circuitul din Figura 4.4
celulele sunt plasate pe trei r
anduri. Trecerile ntre canalele de rutare se fac prin
suprafetele libere dintre celulele de pe aceasi r
and; uneori aceste treceri pot fi realizate si prin suprafata celulei (orizontal sau vertical) dac
a programul CAD de rutare
are aceast
a facilitate. Comparativ cu proiectarea de tip full-custom la proiectarea cu
celule standard suprafata consumat
a este de c
ateva ori mai mare dar este mai mic
a
dec
at cea necesar
a pentru proiectarea de tip cu arie de porti.

547

4.4. PROIECTAREA CU CELULE STANDARD

a) Canale de rutare

Celule standard

Pad pentru I/O

B
A

b)

D
S

Figura 4.4 Proiectarea aplicatiei pe baz


a de celule standard: a) exemplificarea
plas
arii (pe trei r
anduri de n
altimi egale) si conect
arii unor celule standard; b) abordarea
proiect
arii printr-o asamblare ierarhizat
a pe baza unor celule cu forme si dimensiuni diferite.

548

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Spre deosebire de dezvoltarea pe baz


a de arie de porti, unde sunt necesare doar 2
3 m
asti pentru definitivarea aplicatiei, o aplicatie pe baz
a de celule standard necesit
a
toate m
astile, ca si pentru full-custom; aceast
a asem
anare face ca uneori acest tip
de abordare de dezvoltare s
a fie referit
a ca pseudo full-custom. Totusi, o reducere
a costului initial se obtine fata
de full-custom deoarece m
astile pentru fiecare celul
a
standard exist
a deja proiectate la turn
atoria de siliciu. Dezvoltarea de tip celule
standard se situeaz
a ntre cea cu arii de porti si cea full-custom si este recomandat
a
la un volum de productie de ordinul zeci de mii de unit
ati.
Exist
a si variante de biblioteci de celule n care celulele pot fi de diferite n
altimi
si diferite forme. Prin utilizarea unor astfel de celule se pot realiza layout-uri mult
mai compacte, aproape de cele obtinute prin full-custom. Mai mult, cu astfel de
biblioteci de celule, fiecare celul
a poate fi considerat
a ca o component
a ntr-un bloc
mai mare iar apoi aceste blocuri sunt tratate ca si componente ntr-un bloc mai
mare. De exemplu, n Figura 4.4-b, celulele A,B,C si D, de dimensiuni diferite, sunt
asamblate ntr-un bloc notat cu R (delimitat printr-un dreptunghi cu linie ntrerupt
a),
apoi acest bloc mpreun
a cu blocurile R,S,T si U (de dimensiune si complexitate
aproximativ de acelasi nivel) sunt asamblate n blocul W. Rutarea pentru aceast
a
abordare ierarhizat
a, n realizarea aplicatiei, necesit
a un timp mai lung dec
at cea
cu celule standard precum si programe CAD mai performante, dar se poate obtine
o compactare care nu dep
asteste cu mai mult de 20% suprafata unei proiect
ari fullcustom.
In tehnologia de integrare un num
ar tot mai mare de etape, bazate pe mascare,
sunt necesare pentru procesele de realizare a interconexiunilor n raport cu num
arul
proceselor de mascare pentru modific
arile de conductivitate din substrat. Interconexiunile sunt realizate pe baza unor straturi metalizate, ce pot fi n num
ar mai mare
dec
at 8, referite ca metal 1, metal 2, etc., plasate succesiv deasupra substratului.
,,
De exemplu, n Figura 4.5 este prezentat
a o sectiune prin stiva de sase straturi
metalizate pentru interconexiuni ale unui circuit integrat. Deasupra substratului pe
un strat de dielectric se depune prin vaporizare chimic
a (Chemical Vapor Deposition) sau electrochimic (Electrochemical Deposition) primul strat metalic (Aluminiu,
Cupru, Titanium, Tungstem sau diferite aliaje). Pe primul strat, metal 1, pe baza
unui proces de mascare, se graveaz
a reteaua de trasee necesare pentru interconexiuni;
peste acest strat metalic gravat se realizeaz
a un alt strat dielectric pe care se depune
un al doilea strat metalic, metal 2, n care se graveaz
a interconexiunile pe care trebuie s
a le realizeze, se continu
a n acest mod, alternanta
strat metalicstrat dielectric,
p
an
a la ultimul strat metalic.
Pentru conectarea unor trasee, continute n dou
a straturi metalice vecine, se realizeaz
a n stratul de dielectric dintre acestea, orificii de p
atrundere, astfel de p
atrunderi
sunt referite prin termenul de via. Via-surile dintr-un strat de dielectric sunt metalizate n acelasi timp cu depunerea stratului metalic de deasupra stratului de dielectric.
Peste zona de via, coaxial cu aceasta, trebuie s
a fie o zon
a de interconectare, aceast
a
pereche viazon
a metalizat
a suprapus
a este referit
a prin termenul de damaschin
a
(amintind de procedeul vechi din giuvaergerie ori de inserarea de fire pretioase n
tes
aturi). In sectiunea din figur
a, prin cele sase straturi metalizate, se observ
a dou
a
stive de damaschine care realizeaz
a o penetrare de la ultimul strat, metal 6, p
an
a la
zonele de substrat (tranzistoare). Se observ
a c
a sectiunile traselor pentru interconexiuni cresc pe m
asur
a ce sunt realizate ntr-un strat metalizat mai ridicat. Obisnuit,

4.4. PROIECTAREA CU CELULE STANDARD

549

Figura 4.5 Interconexiunile metalice deasupra substratului unui circuit integrat:


a) sectiune vertical
a prin straturile metalizate n care sunt interconexiunile; b)vedere superioar
a a interconexiunilor metalice din diferite straturi (dup
a eliminarea, prin gravare, a
masei de oxid de izolare dintre straturile metalice si dintre trasee).

ultimele 34 straturi metalizate sunt utilizate pentru interconexiunile de alimentare


(VDD , VSS ) si pentru conexiunile de lungime mare (globale, care str
abat ntreaga
suprafata
a cipului). Straturile metalizate mai apropiate de substrat sunt utilizate
pentru conexiuni scurte.
Performantele de vitez
a, putere consumat
a, de imunitate la diafonie si la zgomot
pentru dispozitivele programabile sunt puternic determinate de interconexiunile realizate. Metrica principal
a a unei interconexiuni este produsul RC constanta de timp
unde R si C sunt rezistenta si capacitatea interconexiunii respective. Performanta
de vitez
a a circuitului integrat este limitat
a de nt
arzierea RC a interconexiunilor;
timpii de propagare pe tranzistori se reduc progresiv odat
a cu scalarea, n timp ce
reducerea l
atimii traselor de interconectare (R creste) duce la cresterea nt
arzieri
pe conexiuni. La o caracteristic
a de proces de 100nm timpul de propagare (la o
comutatie) pentru un tranzistor MOS este 5ps, n timp ce nt
arzierea pe o interconexiune cu lungimea de 1mm este de 30ps (raportul nt
arzierilor este de 30ps/5ps = 6);
iar la o caracteristic
a de proces de 35nm raportul nt
arzierilor creste la 100. In mod
asem
an
ator, raportul dintre energia consumat
a la comutatia interconexiunii si energia
disipat
a la comutarea tranzistorului MOS este de 5 pentru caracteristica de proces de
100nm si creste la valoarea de 30 pentru caracteristica de proces de 35nm [Lerouge
0
04]. Cresterea performantelor circuitului pe baza mbun
at
atirii interconexiunilor se
poate obtine prin micsorarea rezistentei si a capacit
atii traseelor.
Reducerea rezistentei interconexiunilor se poate obtine prin realizarea straturilor
metalizate n cupru, nlocuirea straturilor metalizate din aluminiu cu cele de cupru
micsoreaz
a rezistivitarea de la 3, 3 cm la 1, 8 cm. De asemenea cuprul
prezint
a o mai bun
a comportare pentru efectul de electromigrare (a metalului) n
raport cu aluminiul. Pentru tehnologiile cu caracteristica de proces ncep
and cu
150nm sau 130nm se impune realizarea conexiunilor numai din cupru.
Reducerea capacit
atii unei trase, at
at valoarea total
a c
at si valoarea capacit
atii

550

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

laterale/ntre liniile adiacente (care influenteaz


a fenomenul de diafonie), se poate
obtine prin micsorarea permitivit
atii electrice (vezi relatia 1.2) a dielectricului care
izoleaz
a straturile metalice si trasele metalice ntre ele. Permitivitatea electric
a a
obisnuitului izolator, bioxidul de siliciu florurat, este 3, 6 (0 = 8, 85 1014 F/cm
permitivitatea electric
a a vidului). Multe materiale pot avea o constant
a electric
a relativ
a ntre 1 si 3,6 dar nu prezint
a valori acceptabile care se impun pentru
unele propriet
ati unui astfel de izolator: rezistenta
mecanic
a, absorbtie de umiditate,
interactiune chimic
a (sp
alare/gravare n procesul de fotolitografie, adeziune pentru
depunere de metal), conductivitate termic
a si tensiune electric
a de str
apungere. Cerintele enumerate pot fi realizate de materiale numite CDO (Carbon Doped Oxide),
care sunt potrivite pentru caracteristici de proces p
an
a la 90nm. Pentru caracteristici de proces sub aceast
a valoare se impun materiale cu o permitivitate electric
a
relativ
a sub 2,2; o astfel de valoare poate fi realizat
a numai de materiale izolatoarea
cu structur
a poroas
a.

4.5

PROIECTAREA CU DISPOZITIVE LOGICE


PROGRAMABILE COMPLEXE, CPLD

Dispozitivele logice programabile simple, SPLD, analizate n sectiunea 2.4.7


sub forma unui circuit PLA, prezint
a flexibilitate maxim
a deoarece pot fi programate
pe matricea AND c
at si pe matricea OR. Desi acestea posed
a o astfel de flexibilitate,
n practic
a sunt mai frecvente circuitele de tip PAL care au numai nivelul AND
programabil iar nivelul OR este restrictionat la un num
ar fix de intr
ari si f
ar
a posibili,,
tatea de a fi programat. In scopul amelior
arii acestei restriction
ari fiecare poart
a OR
a fost inclus
a ntr-un circuit, referit n general prin termenul de macrocelul
a, Figura
2.59, obtin
andu-se circuitul de tip GAL. Circuitele de tip GAL prezint
a unele facilt
ati
pe intrare/iesire printre care si faptul c
a un pin al circuitului poate fi programat fie ca
pin de intrare, fie ca pin de iesire. Au devenit clasice circuitele GAL16V8 si GAL20V8,
care sunt ncapsulate cu pini pe dou
a r
anduri, capsul
a DIP (Dual Inline Pin), av
and
20 de pini (posibile 16 intr
ari si 8 iesiri) respectiv 24 pini (posibile 20 de intr
ari si 8
iesiri).
Uneori, pentru implementarea unui sistem de dimensiune mare un singur circuit
PLD de tipul 16V 8 sau 20V 8 nu este satisf
ac
ator din punct de vedere al resurselor
(intr
ari, iesiri, termeni AND, macrocelule), iar stationarea ar impune: 1- utilizarea
mai multor circuite SPLD ca si componente discrete, conectate pe o plac
a de circuit
imprimat; 2- realizarea unui circuit PLD integrat care s
a aib
a resursele multiplicate
de n ori. Prima solutie poate fi practic
a cu anumite inconveniente (dimensiune, putere disipat
a, vitez
a) pe c
and a doua nu este o solutie viabil
a. De exemplu, circuitul
de tip 16V 8 multiplicat de n = 16 ar fi un circuit 256V 128; acesta presupune 128
de intr
ari si 128 intr
ari/iesiri (macrocelule), dar aceasta ar avea urm
atoarele inconveniente [Wakerley 0 00]. In primul r
and timpii de propagare ar creste de cel putin 8
ori (o poart
a AND care are 512 intr
ari, 256 intr
ari negate si 256 intr
ari nenegate, nu
poate fi realizat
a pe un singur nivel de propagare). In al doilea r
and, suprafata pe
siliciu ar fi de 256 ori (n2 ) mai mare n raport cu cea a unui circuit 16V 8.
Inconvenientele anterioare, prezentate de cele dou
a solutii, pot fi eliminate prin

551

4.5. PROIECTAREA CU CPLD

PLD

PLD

PLD

PLD

PLD

PLD

PLD

PLD

Paduri
pentru I/O

Suprafete pentru
realizarea conexiunilor
programabile

Figura 4.6 Organizarea de principiu pentru un circuit logic programabil complex,


CPLD

mixarea celor dou


a solutii: realizarea conceptului de pe placa de circuit imprimat dar
sub form
a integrat
a. Aceast
a solutie const
a n realizarea pe aceeasi plachet
a de siliciu
a n circuite simple PLD, iar pe liniile si coloanele dintre acestea exist
a segmente de
trasee care, prin programare, pot fi interconectate pentru realizarea aplicatiei, Figura
4.6, obtin
andu-se astfel performante de vitez
a, dimensiune si putere mai bune dec
at
la cele dou
a solutii anterioare. Un astfel de circuit logic programabil care prezint
a
resurse pentru implmentarea sistemelor de dimensiune foarte mare este referit prin
abreviatia CPLD (Complex PLD). Un circuit CPLD poate implementa sisteme care
necesit
a un num
ar de porti de ordinul mii-zeci de mii.
Ideea arhitectural
a, prezentat
a n Figura 4.6, pentru un CPLD este realizat
a sub
diferite abord
ari de c
atre fiecare firm
a de componente, exist
and n prezent zeci de
tipuri de circuite CPLD. Diferenta ntre aceste tipuri const
a n modalit
atile specifice
prin care se realizeaz
a matricea programabil
a AND, macrocelula, interconexiunile
programabile, blocul de intrare/iesire si tensiunile de interfatare cu exteriorul. Pentru
exemplificarea organiz
arii si a resurselor disponibile la un CPLD, dar din punctul de
vedere al proiectantului de aplicatie, se va prezenta n continuare circuitul EPM7512B
din seria MAX7000B (Multiple Array matriX) a firmei ALTERA. Seria MAX7000B
prin scalare (pe baza acelorasi componente, cu celule de programare a interconexiunilor de tip CMOS EEPROM, cu tensiunea de alimentare intern
a VCCIN T = 2, 5V )
realizeaz
a cele cinci circuite CPLD din Tabelul 4.1.
Un circuit poate suporta reprogramarea celulelor CMOS EEPROM p
an
a la o sut
a
de ori.
Circuitele EPM7xxx au o structurare de principiu prezentat
a n Figura 4.7-a care
este detaliat
a n Figura 4.7-b. Scalarea fiec
arui circuit din serie se bazeaz
a pe utilizarea
urm
atoarelor cinci elemente componente:

552

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Se aplica semnale de intrare


de utilitate generala
LAB (Matrice
de 16 macrocelule)
LAB1

Macrocelula 1

LAB2

Macrocelula 2

PIA

PIA

LAB3

Bloc

Pin
I/O

I/O

Macrocelula 16

La alte LAB

LAB4

De la pin I/O

LAB31

Arie pentru
interconexiunile
programabile

LAB32

PIA

a)
INT/GCLK1

INT/OE2/GCLK2

INT/OE1

6 sau 10 semnale
globale pentru
validarea iesirilor

INT/GCLR n
6 sau 10
2 la 6 LAB1
(216)I/O

Bloc 2 la 16
I/O

LAB2

Macrocelule

116

Bloc 2 la 16
I/O
6 sau 10

36

16
2 la 6

6 sau 10
2 la 6 LAB3
(216)I/O

36

Macrocelule

1732

16
PIA

2 la 6

3348

36
16

2 la 6

36

Macrocelule

16
2 la 6

2 la 16 Bloc (216)I/O
I/O
6 sau 10

LAB4

Macrocelule

2 la 6

4964

2 la 6
2 la 16 Bloc (216)I/O
I/O
6 sau 10

b)
Figura 4.7 Seria MAX7000B (ALTERA): a) structurare de principiu a circuitelor
CPLD din cadrul seriei cu detalierea pentru un bloc matriceal logic, LAB (n medalion);
b) detaliere de structurare doar a primelor patru LAB-uri cu evidentierea semnalelor corespunz
atoare.

553

4.5. PROIECTAREA CU CPLD


Tabelul 4.1
Seria de circuite CPLD, MAX7000B, ale firmei ALTERA
Tipul de circuit
Caracteristica

EPM7032B EPM7064B EPM7128B EPM7256B EPM7512B


Num
arul de
600
1250
2500
5000
10000
porti
utilizabile
Num
arul
32
64
128
256
512
total de
macrocelule
Num
arul de
2
4
8
16
32
blocuri logice
Num
arul de
36
68
100
164
212
pini I/O
fCN T [MHz]
303,0
303,0
243,9
188,7
163,9

frecventa de ceas intern


a global
a de valoare maxim
a

1. Blocul matriceal logic, LAB (Logic Array Block);


2. Macrocelula;
3. Expandorul de termeni produs (cu alocare distribuit
a, cu alocare paralel
a);
4. Matricea de interconexiuni programabile, PIA (Programmable Interconnect
Array);
5. Blocul de intrare/iesire (I/O Control Block) la care prin intermediul a patru
intr
ari speciale se poate aplica oric
arei macrocelule sau oric
arui pin I/O fie
patru semnale de intrare de utilitate general
a, IN T , fie semnale globale pentru
control ce pot fi: semnale globale de ceas GCLK1, GCLK2; semnalul global de
stergere, GCLRn ; semnale globale de validare, OE1, OE2.
Blocul matriceal logic, LAB este o matrice de 16 macrocelule (vezi Figura
4.7-a medalion); n seria MAX7000 un circuit poate contine 2, 4, 8, 16 sau 32 de
LAB-uri. Fiec
arui LAB i se aplic
a urm
atoarele semnale:
- 36 de semnale de la PIA, care sunt variabilele de intrare n matricea AND;
- 3 semnale globale de control (utilizabile pentru operatiile la registru din componenta macrocelulelor);
- 2 p
an
a la 6 semnale direct de la pinii I/O (aplicabile direct la registrul din componenta macrocelulelor pentru cazurile c
and se elimin
a intr
arile prin intermediul
PIA).
Macrocelula, Figura 4.8-a, este compus
a dintr-o matrice programabil
a AND, o
matrice pentru selectarea termenilor produs si un registru programabil (bistabil cu
facilit
ati extinse). Fiecare macrocelul
a dintr-un LAB poate fi configurat
a individual
pentru a realiza o operatie logic
a combinational
a sau secvential
a.(Aici notiunea de

554

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

macrocelul
a este mai cuprinz
atoare dec
at cea care a fost introdus
a la circuitul GAL,
Figura 2.57) Pot fi generati cinci termeni produs, de maximum 32 de variabile, care
prin intermediul matricei de selectare sunt alocati la intrarea unei porti OR, pentru
a obtine o sum
a de produse (ori o sum
a de produse negat
a la iesirea portii XOR) sau
cei cinci termeni produs sunt aplicati la registru ca semnale de: PRESET, CLEAR,
CE (validare ceas). Functia logic
a (sum
a de produse) poate fi aplicat
a la iesire (prin
intermediul blocului I/O), fie dup
a ce a fost stocat
a ntr-un registru (sincronizat
a)
sau fie f
ar
a stocare n registru (nesincronizat
a).
Registrul macrocelulei suport
a programare individual
a pentru a realiza urm
atoarele function
ari de bistabil: D, T, JK si SR. De asemenea se poate programa (prin
intermediul unui multiplexor) ca semnalul de ceas (de sincronizare) al bistabilului s
a
fie unul din urm
atoarele semnale:
- semnalul global de ceas GCLK1 sau GCLK2 (negate sau nenegate, vezi Figura
4.7-b);
- semnalul global de ceas GCLK1 sau GCLK2 dar ca semnale de validat (pe
intrarea CE, de un termen produs n cadrul macrocelulei);
- de un termen produs n cadrul macrocelulei.
Semnalul de nscriere asincron
a, P RESET , este unul din cei cinci termeni produs
calculati n macrocelul
a. La fel si semnalul de stergere asincron
a CLEAR este unul
din cei cinci termeni produs, dar n plus, stergerea poate fi realizat
a si prin semnalul
general de stergere GCLRn .
Expandorul de termeni produs. Pentru cazul c
and cei cinci termeni produs,
calculati n macrocelul
a, nu sunt suficienti pentru num
arul necesar de termeni produs
,,
ntr-o sum
a logic
a se poate extinde calculul sumei de produse prin mprumutarea
de termeni produs calculati si n alte macrocelule; aceast
a extindere se poate realiza
n dou
a modalit
ati. In primul r
and, printr-o expandare cu alocare prin distributie: al
cincelea termen calculat pe fiecare macrocelul
a este negat si aplicat napoi ca o coloan
a
n matricea programabil
a AND (astfel apar nc
a 16 termeni produs n matricea AND,
c
ate unul provenit de la fiecare macrocelul
a). Termenul aplicat napoi, c
and este
selectat ntr-o sum
a de produse va introduce, evident, o nt
arziere suplimentar
a n
calculul functiei respective. In al doilea r
and, printr-o expandare cu alocare paralel
a
c
and functiile calculate de la maximum trei celule vecine anterioare sunt nsumate cu
functia de la macrocelula curent
a, Figura 4.8-b; se pot obtine astfel sume de maximum
20 de termeni produs. De exemplu, pentru a realiza o sum
a de produse de 19 termeni
produs pe macrocelula 5 se procedeaz
a n felul urm
ator: se colecteaz
a pe macrocelula
2 patru termeni produs, acestia se colecteaz
a pe poarta OR din macrocelula 3 cu
cinci termeni produs, apoi se colecteaz
a pe poarta OR din macrocelula 4 cu nc
a cinci
termeni produs si n final prin colectarea si a celor cinci termeni produs pe poarta OR
din macrocelula 5 se obtine functia dorit
a (4 + 5 + 5 + 5 = 19). Evident, prin aceast
a
alocare se introduce n calculul functiei o nt
arziere suplimentar
a egal
a cu nt
arzierea
de propagare prin 3 porti OR.
Blocul de intrare/iesire, I/O, Figura 4.9-a. Cu acest bloc se poate configura
individual ca fiecare pin I/O s
a poat
a fi utilizat ca un pin de intrare, ca un pin de
iesire sau ca un pin cu transfer bidirectional. Pinul I/O este un terminal de intrare
c
and driverul de iesire, de tip TSL, este n starea HZ (semnalul de validare iesire

555

4.5. PROIECTAREA CU CPLD

Ceasul global
Stergere globala (GCLK1,GCLK2)
GCLRn
De la pinul I/O
2
(intrare directa)
A
Ocolire
registre
Expandorul cu

Matrice programabila AND

alocare paralela

Selectare rapida
a intrarii

1
2

Matrice
pentru

0
1
Selectare CLK

selectare
termeni

VCC

produs

0
1
2
0
1
2

PRESET

Expandorul cu
alocare prin
distributie
a)

Selectarea
16 termeni
celor 36 de
produs
intrari de la PIA

0 I/O
1 C

D/T Q
CLK
CE

CLEAR

Selectare Registru
validare programabil

5
D

La blocul

Simbol pentru
o celula
programabila
EEPROM

0
1
Selectare CLEAR

La PIA

De la macrocelula anterioara (n1)


PRESET
1
2
3
4
5

Matricea
pentru
selectare
termeni
produs

Termeni
produs
ai
macrocelulei
n

0
1
0
1

CLOCK
CLEAR
PRESET

1
2
3
4
5

Matricea
pentru
selectare
termeni
produs

Termeni
produs
ai
macrocelulei
(n+1)

0
1
0
1

CLOCK
CLEAR

D
36 semnale
de la PIA

16 termeni produs
distribuiti

La macrocelula urmatoare (n+2)


b)

Figura 4.8 Seria MAX7000B - Macrocelula: a) structura unei macrocelule; b) modul


de expandare cu alocare paralel
a a termenilor produs ntre dou
a macrocelule vecine.

556

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

driver este n starea L) si este un terminal de iesire c


and driverul are o functionare
normal
a (semnalul de validare iesire driver este n starea H). Semnalul de validare
iesire driver poate fi selectat dintre: VCC , mas
a si un set de 6 sau 10 semnale globale
de validare. Setul de semnale globale de validare se obtin (negate sau nenegate) de
la PIA si care sunt semnale ce au fost aplicate pe diferite intr
ari ale circuitului sau
sunt semnale de la iesirile unor alte macrocelule. Alimentarea driverului de iesire
se face la valori ale tensiunii de intrare/iesire VCCO = 3, 3V ; 2, 2V ; 1, 8V care sunt
tensiuni ale standardului sub ale c
arui specificatii se face comunicatia ntre pinul
I/O al circuitului CPLD si circuitele exterioare plasate pe aceeasi plac
a de circuit
imprimat, vezi Exemplul 4.4 (circuitul MAX7000B n interior si bufferul de intrare
sunt alimentate la tensiunea VCCIN T = 2, 5V , care poate fi diferit
a de tensiunea
VCCO ). C
and pinul I/O opereaz
a ca pin de intrare exist
a toleranta
pentru tensiunile
exterioare aplicate pe intrare de 3, 3V 2, 5V si 1, 8V . Dar c
and alimentarea driverului
se face la tensiunea de intrare/iesire de VCCO = 3, 3V atunci nivelul H al driverului
de iesire este de 3, 3V , prin urmare exist
a compatibilitate la conectarea n exterior si
cu circuite care sunt alimentate la standardul de 5V .
Driverul de iesire poate fi programat pentru o functionare de tipul cu drenul n
gol (util pentru legarea pinului ntr-o conexiune SI cablat (vezi sectiunea 1.4.3)). De
asemenea, driverul poate fi programat pentru modificarea valorii pantei fronturilor
de crestere si descrestere (slew-rate) ale semnalelor generate la iesire. O pant
a de
valoare ridicat
a a semnalelor de iesire creste performantele de vitez
a dar creste de
asemenea puterea disipat
a si poate introduce zgomote, pe c
and o pant
a redus
a duce
la o nt
arziere mai mare n circuit , o putere consumat
a micsorat
a si eventual evitarea
zgomotelor.
In regim de pin de intrare, semnalul de la iesirea bufferului de intrare se poate
directiona spre o macrocelul
a fie prin aplicarea direct
a la bistabilul macrocelulei (calea
notat
a cu A ), fie prin intermediul PIA (calea notat
a cu B ). Pe calea de aplicare
direct
a la registru se poate selecta introducerea unei nt
arzieri programabile. Prin
aceast
a nt
arziere variabil
a se poate ajusta timpul de prestabilire, SU , la bistabil;
se poate adapta momentul aplic
arii semnalului pe intrarea D/T a bistabilului n raport cu aplicarea semnalului global de ceas (de sincronizare) care prezint
a o anumit
a
nt
arziere introdus
a de bufferele prin care se propag
a.
Pentru posibilitatea de conectare a pinului I/O la magistrale de tip TSL n blocul
I/O sunt prev
azute rezistentele Rpv si Rpd de conectare la VCCO si respectiv mas
a,
conectarea acestora put
and fi programat
a; optional poate exista o celul
a activ
a de
mentinere a nivelului (vezi Figura 1.46-e), care poate substitui cele dou
a rezistente.
Matricea de interconexiuni programabile, PIA. Aceast
a matrice de interconexiuni programabile poate fi privit
a ca o magistral
a la care sunt conectate toate
intr
arile dedicate, toti pinii I/O ai circuitului si iesirile de la macrocelule si prin care se
poate realiza, prin programare, conectarea oric
arui semnal surs
a la oricare destinatie.
In Figura 4.9-b este prezentat modul de programare pentru rutarea semnalelor din
PIA la LAB (Macrocelule).
Dezvoltarea unei aplicatii, pe baza unui circuit CPLD, are n succesiune aceleasi etape indiferent de produc
atorul circuitului, diferentele care apar fiind datorate
suportului de dezvoltare si performantele acestui suport. Un sistem de dezvoltare
pentru aplicatii se realizeaz
a n jurul unui PC sau a unei statii de lucru dotate cu
un mediu software ce contine module specifice pentru fiecare etap
a a elabor
arii. Se

557

4.5. PROIECTAREA CU CPLD

La matricea
AND de la
macrocelule

6 sau 10
semnale
globale
pentru
validarea
iesirii

PIA

V CC

De la macrocelula C
Programare pentru:
Iesire cu drenul in gol
Modificarea pantei frontului
Adaptarea tensiunii la diferite standarde

a)

b)

Selectare
validare
iesire

La alti pini I/O

Intrare
directa la A
registru
Intrare
PIA
B

D
(Fig 4.8)

Semnale PIA

Celula activa de
mentinere a nivelului
V CCO
pe magistrala
R pu

pin
I/O

Driver
de iesire

Intarzierea
programabila

R pd
Bufferul
de intrare

Figura 4.9 Seria MAX7000B: a) structura unui bloc de intrare/iesire I/O; b) modul de
programare, pe baz
a de celule EEPROM, a conexiunilor de la PIA c
atre LAB-uri.

porneste de la o idee (izvor


at
a dintr-o cerinta
sau dictat
a de piata
) care este translatat
a ntr-o arhitectur
a si anumite specificatii electrice. Aceast
a arhitectur
a, eventual mp
artit
a n blocuri, este introdus
a n calculator fie schematic (sub form
a de
desen), fie textual (exprimare ntr-un limbaj de descriere) si compilat
a corespunz
ator. Apoi urmeaz
a etapele de sintez
a logic
a, de plasare si rutare (pe circuitul
CPLD utilizat) si de verificare (simulare si analiza timpilor obtinuti); pe fiecare din
aceste etape sau ntre aceste etape exist
a iteratii si, n final, generarea programului pentru configurarea circuitului CPLD, adic
a programarea/(nscrierea) celulelor
de tip EEPROM. Dup
a nscrierea n CPLD a celulelor EEPROM (utiliz
and un suport hardware de programareprogramator) cu ajutorul programului de configurare se va citi starea rezultat
a a tuturor celulelor EEPROM pentru a se verifica, prin

558

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

comparatie, dac
a configuratia rezultat
a este identic
a cu cea din programul de configurare. Inscrierea/(nc
arcarea) CPLD-ului se poate face fie c
and acesta nu este nc
a
inclus n sistem, fie c
and este deja introdus n sisteme, deci inclus pe placa de circuit
imprimat (ultima variant
a se utilizeaz
a curent pentru modificarea sau actualizarea
unui sistem deja n functiune). Deoarece un CPLD este un circuit cu sute de pini,
iar alocarea functiunilor pe fiecare pin este flexibil
a (adic
a un pin poate fi alocat pentru un anumit semnal al circuitului MAX7000B), este necesar si un program pentru
proiectarea traseelor pe placa de circuit imprimat.

4.6

PROIECTAREA CU MATRICE LOGICE


PROGRAMABILE LA UTILIZATOR, FPGA

Matricea logic
a programabil
a de utilizator, FPGA (Field Programmable Gate
Array) poate fi privit
a ca o sintez
a (de succes) ntre circuitul arie de porti logice
,,
si circuitul CPLD. De la CPLD s-a mprumutat blocul logic dar nu de asa mare
dimensiune, n schimb, aceste blocuri logice de dimensiuni mai reduse, care constituie
un suport programabil pentru implementare de functii logice, sunt n num
ar mult
mai mare dec
at cele cuprinse ntr-un CPLD. S
i, similar, ca la circuitul arie de porti,
blocurile logice ale unui circuit FPGA sunt plasate n diferite topologii pe suprafata
cipului, care vor fi interconectate de c
atre proiectantul aplicatiei. Dar, spre deosebire de aria de porti logice, la FPGA exist
a deja prefabricate, mpreun
a cu blocurile
logice, anumite de segmente de trasee dintre care unele vor fi interconectate conform
proiect
arii aplicatiei. Ca si durata implement
arii s
a fie scurtat
a, elimin
and timpul de
realizare al m
astilor la turn
atoria de siliciu impus
a de o implementare pe circuitul
arie de porti logice, care poate fi de ordinul s
apt
am
anilor, pentru realizarea interconexiunilor la FPGA se evit
a programarea prin mascare. Suportul fizic al program
arii
interconexiunilor la FPGA poate fi: fuzibil sau antifuzibil (care sunt de tip o singur
a
dat
a programabil OTP), (E)EPROM (care are un num
ar de nscrieri de maximum
103 ), SRAM, Figura 4.1 (care necesit
a nscriere la fiecare punere sub tensiune a
circuitului); se poate obtine astfel un timp de realizare a aplicatiei de ordinul orelor
sau zilelor. Evident, pentru conectarea cu exteriorul, circuitul FPGA mai trebuie s
a
curpind
a blocuri de intrare/iesire, pentru fiecare pin I/O, la fel ca la CPLD.
Pentru blocurile configurabile, CLB (Configurable Logic Block), mpreun
a cu
segmentele (liniile) de trasee pentru interconectare, n cadrul circuitelor FPGA se pot
identifica, mai frecvent, urm
atoarele patru structur
ari:
1. Structur
a matriceal
a cu canale de rutare, Figura 4.10-a; similar ca la aria de
porti logice, Figura 4.2, portile logice fiind substituite cu CLB (segmentele de
interconectare fiind realizate pe liniile si coloanele dintre CLB, iar la intersectia
acestora exist
a matrice de interconectare pogramabile).
2. Structur
a pe baz
a de mare-de-celule CLB, Figura 4.10-b, similar
a ariei cu mare
de porti logice neconectate.
3. Structur
a pe baz
a de linii/coloane de celule CLB, Figura 4.10-c, similar
a structurilor cu celule standard, Figura 4.4.

559

4.6. PROIECTAREA CU FPGA

Simbolizeaza o conexiune care trebuie realizata sau eliminata


Matrice pentru interconexiuni
Bloc logic reconfigurabil (CLB)

Trasee pentru interconexiuni


a)

b)
Bloc logic reconfigurabil (CLB)

c)

Linii de magistrala
Trasee pentru interconexiuni
d)

Figura 4.10 Modalit


ati de structurare pentru circuitele FPGA: a) structur
a matriceal
a (cu canale de rutare); b) structur
a tip mare de CLB-uri; c) structurare cu CLB-uri
n linie; d) structurare pe baz
a de magistral
a (pentru interconect
ari).

560

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

4. Structur
a pe baz
a de magistral
a, Figura 4.10-c, c
and CLB-urile sunt conectate
ntre ele prin intermediul unei magistrale, similar ca la unele circuite CPLD,
vezi PIA n Figura 4.7-a.

4.6.1

Blocul Logic Configurabil

Un bloc logic configurabil, CLB, poate fi realizat pe baz


a de tranzistoare, pe baz
a
de porti logice mai simple sau mai complexe, multiplexoare sau tabele de c
autare,
LUT (Look-Up-Table, vezi sectiunea 2.4.6); s-au impus realiz
arile pe baz
a de multiplexoare si mai ales cele pe baz
a de LUT. Un CLB contine dou
a p
arti: un generator
de functii (partea combinational
a) si partea secvential
a (un registru care poate avea
functiunile normale ale tipurilor de bistabile plus alte facilit
ati suplimentare).
CLB pe baz
a de MUX. Un generator de functii de n variabile se poate realiza
cu un circuit MUX 2n : 1, sectiunea 2.4.4.1; variabilele functiei se aplic
a pe cele n
intr
ari de selectare iar coeficientii functiei pe cele 2n intr
ari de date. Pentru fiecare
n
configuratie i a cuv
antului format din coeficientii functiei se obtine una din cele 2 2
n
functii, fin , 0 i 22 1. Structuri de generatoare, pe baz
a de multiplexoare,
utilizate de firma ACTEL, sunt prezentate n Figura 4.11. Generatorul de functii din
D00
D01

0
Z
1

A0
D10
D11

f
0
Z
1

0
Z
1

B0
A1
B1

D00
D01
A0
B0
D10
D11

0
Z
1

D00
D01

f
0
Z
1

0
Z
1

D11

b)

D00

00

D01

01

D10

10

D11

11

d)

A 1 B1

c)

S
Z

A 0 B0

CLK

CLK

D10

A1
B1

a)

MUX 4:1

S1

S0

A 1B1 A 0B0

Q
CLK

C1 C0

Figura 4.11 CLB pe baz


a de multiplexoare: a,b,c) generatoare de functii pe baz
a de
multiplexoare; d) structur
a de CLB cu generator de functii pe baz
a de multiplexor iar partea
secvential
a realizabil
a n jurul a dou
a latch-uri

4.6. PROIECTAREA CU FPGA

561

Figura 4.11-a, care are opt intr


ari si o iesire, f , poate realiza, utiliz
and unele intr
ari
si sub forma negat
a, urm
atoarele functii: cele patru functii logice curente (NAND,
NOR, AND, OR cu 2, 3 si 4 intr
ari), XOR, XOR-OR-OR, XOR-OR-AND, OR-XOR,
AND-XOR-OR, AND-OR, OR-AND etc. O variant
a mbun
at
atit
a a generatorului de
functii este cea din Figura 4.11-b care este echivalent
a unui MUX4:1 din Figura 4.11-c
pe care se pot implementa un num
ar de 766 functii distincte. Expresia logic
a a functiei
f este:




f = D00 (A0 B0 ) + D01 (A0 B0 ) (A1 + B1 ) + D10 (A0 B0 ) + D11 (A0 B0 ) (A1 + B1 )

Atasa
nd acestui generator de functii o parte secvential
a, compus
a din dou
a latchuri si c
ateva porti logice, se obtine o structur
a pentru un CBL pe baz
a de multiplexor,
Figura 4.11-d.
Partea secvential
a poate fi utilizat
a ca un bistabil D cu comutatie pe frontul
pozitiv sau negativ sau ca latch transparent pe palierul H sau pe palierul L dac
a la
,,
,,
intr
arile C1 si C0 se aplic
a semnalul de ceas, CLK, 1 , 0 n diferite combinatii
,,
logice. De exemplu, pentru conexiunea C0 =0 si C1 = CLK functionarea este
de bistabil D cu comutatie pe frontul pozitiv. Bistabil de tip JK sau SR se poate
obtine prin utilizarea mai multor CLB si cu conexiuni externe pentru reactie. Partea
secvential
a prin reconfigur
ari pe baza unor porti existente n structura CLB, sau
prin utilizarea generatorului de functii, poate genera facilit
ati care nu sunt comune
bistabilelor curente. CLB-urile bazate pe multiplexoare produc o flexibilitate mare
n generarea functiilor pentru un num
ar de tranzistoare relativ redus, n schimb din
cauza unui num
ar mare de intr
ari apare o mare cerere asupra resurselor de rutare
pentru realizarea interconexiunilor.
Exemplul 4.2 Pe baza unui bistabil de tip D se vor prezenta cateva structuri cu
facilit
ati nent
alnite la bistabilul SR sau la bistabilul D. Ecuatia de functionare a bistabilului
SR este Q(t + 1) = S + RQ(t), Tabelul 3.4, iar a bistabilului D este Q(t + 1) = D(t), relatia
3.20.
- Figura 4.12-a, Sdominant; pentru ambele intr
ari de date activate, SR = 11, bistabilul
SR se va nscrie n Q(t + 1) = 1 (la bistabilul obisnuit aceast
a combinatie produce nedeterminare).
- Figura 4.12-b, Rdominant; pentru ambele intr
ari de date activate, SR = 11, bistabilul
SR se va nscrie n Q(t + 1) = 0.
- Figura 4.12-c, f
ar
a modific
ari; pentru ambele intr
ari de date activate, SR = 11, bistabilul
SR nu si modific
a starea Q(t + 1) = Q(t).
- Figura 4.12-d, basculeaz
a; pentru ambele intr
ari de date activate, SR = 11, bistabilul SR
basculeaz
a n starea opus
a, similar bistabilului JK, adic
a o functionare de bascul
a (bistabil
T).
- Figura 4.12-e, bistabilul D cu MUX 2:1 pe intrare; iesirea Q(t + 1) va avea valoarea
uneia din valorile de intrare, D0 sau D1 , n functie de valoarea 0 sau 1 a variabilei de control
C.
- Figura 4.12-f, bistabil D cu validare a semnalului de ceas, Figura 3.72-c, se va nscrie
n bistabil intrarea Din , Q(t + 1) = Din (t), numai c
and semnalul de ceas este validat de
CE = 1, altfel Q(t + 1) = Q(t) (vezi Figura 3.45-e).
CLB pe baz
a de LUT. Blocurile logice configurabile pe baz
a de LUT utilizeaz
a
o memorie SRAM pentru stocarea valorilor coeficientilor functiei, valori care se nscriu
odat
a cu configurarea aplicatiei n circuitul FPGA. O memorie SRAM de capacitate

562

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

SR
Q(t) 00
0 0
1
a)

01
0

11
1

10
1

Q(t+1)=S+Q(t)R, Sdominant

SR
Q(t) 00
0 0
1
b)

01
0

11
0

10
1

01
0

11
0

10
1

d)

CLK

CLK

CLK

Q(t+1)=SR+SQ(t)+RQ(t)
Fara modificare cand S=R=1
SR
Q(t) 00 01 11 10
0 0
0
1
1
1

CLK

c)

CLK

Q(t+1)=SR+Q(t)R, Rdominant

SR
Q(t) 00
0 0

CLK

S
D

CLK

Q(t)=SQ(t)+RQ(t)
Basculeaza cand S=R=1

CLK

D0
D
D1
e)

CLK
C

CLK
Q(t+1)=C D0+CD1

Din
CE
f)

CLK
CLK
Q(t+1)=CED in+CEQ(t)

Figura 4.12 Posibile configuratii pentru un bistabil D dintr-un CLB prin care se
pot obtine urm
atoarele facilit
ati n functionare: a)pentru SR = 11, S este dominant;
b) pentru SR = 11, R este dominant; c) pentru SR = 11, f
ar
a modific
ari; d) pentru SR = 11,
basculeaz
a (bistabil T); e) bistabil D cu MUX 2:1 pe intrare; f) bistabil D cu validare a
semnalului de ceas prin CE = 1.

2n adrese 1 bit poate stoca valorile functiei fjn , 0 j 22 1, (vezi sectiunea 1.1.3
si 2.1); n fiecare locatie, de adres
a determinat
a de configuratia cuv
antului format din
valorile variabilei functiei xn1 xn2 . . . x1 x0 , se afl
a stocat coeficientul djm al functiei
(djm {0, 1}, 0 m 2n 1). De exemplu, n LUT-ul din Figura 4.13-a, pentru
valorile variabilelor de intrare x3 x2 x1 x0 = 1010 = 11|10 , la locatia de adres
a 11 se
4
afl
a valoarea f 0; n LUT este nscris
a functia de patru variabile f 4636
. In general,
pentru FPGA, num
arul de variabile pentru functiile implementabile este ntre 4 si

563

4.6. PROIECTAREA CU FPGA

Memorie RAM
(LUT)
0000
0001
0010
0011
0100
0101
Adresa 0110
RAM
0111
4
1000
1001
ptr
x 3=1 1010
x 2=0 1011
x 1=1 1100
x 0=1 1101
1110
1111
a)

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

Din
G4
G3
G2
G1
H1
F4
F3
F2
F1

b)

MUX 1

FF 1
Q

LUT 1

YQ

Generare

functii G
( de
intrarile
G1G4)
LUT 2

Generare

functii F
( de
intrarile
F 1F4)

Y
LUT 3
Generare

functii H
( de
intrarile
H 1,G,F)

MUX 3

MUX 4

X
FF 2
Q

Din

XQ

MUX 2

Figura 4.13 CLB pe baz


a de LUT: a) exemplu de generator de functie de 4 variabile
implementat pe un SRAM de capacitate 24 adrese 1 bit; b) structur
a de CLB pe baza a
3 celule LUT si dou
a bistabile, cu dou
a iesiri directe (X, Y ) si dou
a iesiri sincronizate (XQ,
Y Q).

6; toate functiile au acelasi timp de propagare care este timpul de citire al memoriei
SRAM.
O structur
a simplificat
a de CLB, care contine trei celule LUT, este prezentat
a
n Figura 4.13-b (obtinut
a prin simplificarea structurii de CLB din seria XC4000 a
firmei Xilinx). Dou
a generatoare de functii G0 si F 0 , realizate respectiv pe LUT1 si
LUT2 , pot implementa oricare functie de patru variabile independente G1 G4 sau
F1 F4 . Al treilea generator H 0 , realizat pe LUT3 , poate implementa oricare functie
de trei variabile respectiv: F 0 , G0 (fiecare poate fi o functie de maxim patru variabile)
si variabila H1 care este aplicat
a din exterior. Semnalele de la iesirile generatoarelor
de functii pot fi obtinute la dou
a iesiri ale CLB: F 0 si H 0 pot fi conectate la iesirea
X prin intermediul MUX4 , iar G0 , H 0 pot fi conectate la iesirea Y prin intermediul
MUX3 . Se pot obtine pe iesirile X si Y : dou
a functii de cel mult patru variabile
independente, o singur
a functie de cinci variablile independente sau alte functii de
p
an
a la nou
a variabile.
Partea secvential
a se realizeaz
a n jurul a dou
a bistabile FF1 si FF2 care, n general,
pot fi programate independent pentru: nscriere sincron
a sau asincron
a (pe intr
ari de
tip PRESET si CLEAR); sincronizare prin diferite semnale de ceas; posibilitate de
activare a semnalelor de ceas prin semnal de validare, CE. In structura din figur
a,
intr
arile de date ale bistabilelor pot fi selectate, prin MUX1 si MUX2 , dintre functiile
F 0 , G0 , H 0 sau Din , un semnal direct de la o intrare (special
a) n CLB. Iesirile Y Q si
XQ sunt iesiri sincronizate din CLB.
Exemplul 4.3

Automatul cu tabelul de tranzitie al starilor dat n Figura 4.14-a s


a

564

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Starea
prez.
A
B
C
D
E

a)

Starea urmatoare/iesire
Intrari x 1x 0
00
E/0
C/0
C/1
C/0
E/1

01
B/1
B/1
E/1
A/1
E/1

CLB1/LUT 1

x 1 x 0 z1 z0 w 2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
c)

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

x1
x0

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

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

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

11
C/1
C/1
D/1
D/1
C/1

10
A/0
A/0
E/1
A/0
E/1

Starea
prezenta
z2 z1 z0
0 0 1
1 0 1
0 1 0
1 1 0
0 1 1

b)

CLB1/LUT 2

x 1 x 0 z2 z1 w 1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
d)

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

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

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

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

g)

00
011/0
010/0
010/1
010/0
011/1

01
101/1
101/1
011/1
001/1
011/1

11
010/1
010/1
110/1
110/1
010/1

CLB2/LUT 1

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
e)

LUT 1

F4
F3
F2
F1

LUT 2

G4
G3
G2
G1

LUT 1

LUT 2

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

w2

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

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

CLB2/LUT 2

0
0
0
0
1
1
1
1
f)

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

FF 1
YQ
D Q

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

z2

CLK

CLB1
w1

10
001/0
001/0
011/1
001/0
011/1

x 0 z2 z1 Z

x 1 x 0 z2 z0 w 0

G4
G3
G2
G1

F4
F3
F2
F1

Starea urmatoare/iesire
Intrari x 1x 0

FF 2

XQ

z1

FF 1
YQ
D Q

z0

D Q

CLK

w0

CLK

CLB2
Z

D Q

CLK

CLK

X
XQ

FF 2

Figura 4.14 Explicativ


a pentru Exemplul 4.3

Z
Z(t+1)

0
0
1
1
1
1
1
1

4.6. PROIECTAREA CU FPGA

565

se implementeze pe CLB-uri care au o structur


a ca cea prezentat
a n Figura 4.14-b.
Solutie: Adopt
and codificarea st
arilor A 001, B 101, C 010, D 110, E 011
se obtine tabelul st
arilor pentru functiile de execitatie w2 , w1 , w0 si pentru iesirea Z (de tip
Mealy):
w2
w1
w0
Z

=
=
=
=

x1 x0 z1 z0 + x1 x0 z 1 z0 + x1 x0 z1 z 0
x 1 x0 + x 1 x0 z 2 z1 + x 1 x0 + x 1 x0 z 2 z1
x 1 x0 z 2 z0 + x 1 x0 + x 1 x0
z 2 z1 + x 0

Cu aceste expresii se calculeaz


a valorile functiilor w2 , w1 , w0 si Z (respectiv n tabelele
din Figura 4.14-c,d,e,f) care se ncarc
a n LUT. Sunt necesare trei celule LUT cu patru
intr
ari si una cu trei intr
ari, deci se utilizeaz
a dou
a CLB-uri, Figura 4.14-g. Iesirea Z se
poate obtine at
at sincronizat
a (Mealy cu nt
arziere) c
at si nesincronizat
a (Mealy imediat).

Blocul de intrare/iesire, I/O. Blocul I/O constituie o interfata


ntre pinii exteriori si CLB. Aceste blocuri sunt situate n exteriorul suprafetei matricei formate
din CLB-uri, Figura 4.15-a. Structura si functiile unui bloc I/O al unui circuit FPGA
sunt acelesi cu cele ale unui bloc I/O al unui CPLD, care a fost prezentat n sectiunea
4.5, Figura 4.9-a. Mai nou, blocului I/O i se adaug
a s urm
atoarele dou
a facilit
ati:
1-controlul digital al impedantei driverilor de iesire si adaptarea impedantelor la intrare; 2-controlul fluxului de date pe intrare sau pe iesire la rata dubla, DDR, sectiunea
3.6.3. Structura si functionarea unui astfel de driver I/O va fi prezentat n Exemplul
4.4.

4.6.2

Resursele de interconectare

Pentru o organizare de tip matriceal, Figura 4.10-a, a unui circuit FPGA topologia
plas
arii componentelor pe cip este prezentat
a n Figura 4.15-a. Pe ntresuprafetele
(orizontale si verticale) dintre CLB-uri sunt plasate segmente de linii metalizate (de
diferite lungimi) precum si elemente de conectare programabile. Suprafata matricei
de CLB-uri este nconjurat
a de blocuri I/O, fiecare dintre aceste blocuri put
and fi
conectat la un pin I/O (la un pad). In jurul blocurilor I/O (nspre paduri) exist
a
segmente de linii metalizate care, prin interconect
ari programabile, permit conectarea
unui bloc I/O la oricare pin al circuitului; aceasta permite o proiectare a aplicatiei
f
ar
a restriction
ari impuse de pozitia pinilor (deci, un circuit FPGA poate fi programat
pentru un cablaj imprimat deja existent).
Resursa de interconectare a unui FPGA este constitit
a din segmentele de linii
metalizate care, prin intermediul punctelor de interconectare programabile, pot fi
constituite n trasee de transfer pentru semnale ntre intr
arile, iesirile CLB-urilor si
blocurile I/O. Circuitele FPGA din punct de vedere al suportului de interconectare
pot fi cu o arhitectur
a de rutare segmentat
a sau nesegmentat
a. Arhitectura nesegmentat
a ofer
a lungimi fixe pentru segmentele metalice de rutare, care str
abat ntreaga
lungime a cipului, ceea ce poate constitui o usurare n realizarea softului de plasare si
rutare. In schimb, arhitectura segmentat
a contine linii metalizate de diferite lungimi
put
andu-se astfel s
a se realizeze o rutare optim
a de la logic la logic. Testele au ar
atat
c
a o arhitectur
a segmentat
a ofer
a posibilitatea de a mpacheta mai mult
a logic
a si la

566

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

pad
Linii
simple

CLB

CLB

CLB

CLB

CLB

Linii
duble

CLB

CLB

CLB

CLB

CLB

Linii
lungi

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

Blocuri I/O programabile

Blocuri I/O programabile

Blocuri I/O programabile

8
4
3

2
Conectare
directa
CLB

3
6
4
8
4
2
Linii Linii Linii Ceas Conectare
lungi duble simple global directa

Blocuri I/O programabile

a)
Duble
Simple

Duble
Lungi

YQ
Y

F 4 C 4 G4
G1
C1
F1

K
X
XQ

b) Lungi

Duble

Simple

Duble

Lungi

Globale

Directe

CLB

G3
C3
F3

Direct

Feedback

F 2C 2G2

Feedback

Lungi

Figura 4.15 Resursele de interconectare pentru seria XC400 (Xilinx):


a) plasamentul componentelor pe cip cu reprezentarea bloc a liniilor de intercontectare n
jurul unui CLB (n medalion); b) detalierea interconect
arilor programabile n jurul unui
CLB.

4.6. PROIECTAREA CU FPGA

567

performante mai ridicate dec


at cea nesegmentat
a. Performanta unui traseu este determinat de timpul de propagare care este o nt
arziere de tip RC, nt
arziere care este
puternic influentat
a de punctele de interconectare programabile (evident, circuitele
cu trasee realizate prin mascare au performanta
de vitez
a superioare n raport cu
cele cu interconexiuni programabile). Actual, tehnologiile de rutare cu conexiuni programabile se realizeaz
a cu asa numitele interconexiuni active (bufferate), adic
a pe
segmentele metalizate la fiecare punct de interconectare se introduce un buffer, prin
acesta se elimin
a nt
arzierea de rutare variabil
a, dependent
a de factorul de nc
arcare
(fan-out) al semnalului.
Pentru concretizarea resurselor de interconectare se va prezenta n continuare suportul oferit de circuitele din seria XC4000 (Xilinx). In Figura 4.15-a (medalion) sunt
prezentate toate segmentele de linii metalizate de interconectare prin care, potential,
un CLB poate fi conectat sau poate s
a se conecteze la alte CLB-uri sau blocuri I/O,
detalierea la nivel de puncte de interconectare programabile este dat
a n Figura 4.15-b
(la intersectia dinte dou
a linii dac
a exist
a punct de interconectare acesta s-a figurat
cu un mic p
atrat).
Exist
a urm
atoarele grupe de linii de interconectare:
1. Linii de interconectare direct
a. Fiecare CLB, din matrice, are dou
a iesiri care
se conecteaz
a direct la celula urm
atoare din dreapta si la celula de dedesubt. De
asemenea, celula este conectat
a direct la grupul de trei linii de deasupra, de dedesubt
(verticale) si n partea st
anga (orizontale).
2. Linii de o lungime (linii simple). Aceste grupuri de c
ate opt linii de o lungime
formeaz
a o retea pe orizontal
a si verical
a n jurul unui CLB si se intersecteaz
a ntre
ele printr-o matrice de interconectare (conturul p
atratic trasat cu linie ntrerupt
a din
Figura 4.15-b si Figura 4.15-a medalion). Aceste linii simple asigur
a n primul r
and o
conectare flexibil
a ntre CLB-uri adiacente n afara putinelor linii de conectare directe
si, n plus, fata
de acestea sunt suport pentru un transfer bidirectional. Structura
unei matrice de interconectare este prezentat
a n Figura 4.16-a. Fiecare punct de
interconectare al matricei const
a dintr-o retea de sase tranzistoare de trecere (sau
porti de transmisie), Figura 4.16-b, a c
aror comand
a este aplicat
a de la sase latch-uri
care constituie memoria de configurare (neevidentiat
aascuns
an structura pentru
un CLB prezentat
a n Figura 4.13-b si n Figura 4.15-a), simbolizat
a prin p
atratele
mici cu litera M . Un semnal aplicat pe un traseu care intr
a prin dreapta n matricea
de interconexiuni poate fi rutat la o linie simpl
a fie n directia sus, jos sau st
anga
sau in toate cele trei directi (n functie de bitii M nscrisi n latch-urile memoriei de
configurare).
3. Linii de dou
a lungimi (linii duble). Aceste grupuri, la fel ca si liniile simple,
formeaz
a o retea pe orizontal
a si pe vertical
a n jurul unui CLB, dar fiecare linie dintre
aceste grupuri intr
a tot la a doua matrice de interconectare, deci se pot conecta CLBuri din doi n doi. Pentru trasee mai lungi, liniile duble asigur
a o nt
arziere mai
mic
a dec
at o configurare cu linii simple. Unele circuite FPGA au si linii de lungime
cvadrupl
a sau sextupl
a.
4. Linii lungi. Acest grup de linii (verticale si orizontale) sunt pe toat
a dimensiunea matricei de CLB-uri si nu trec prin matrice de interconectare. Utilitatea principal
a a acestora este de a fi folosite pentru semnale de fan-out mare, cu timp de
propagare critic (f
ar
a defazaj) sau retele de distributie la nivelul ntregului circuit;
pot fi comandate cu drivere TSL n apropiere de CLB-uri.

568

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

M
M

a)

M
M

b)

Figura 4.16 Resursele de interconectare pentru seria XC4000 (Xilinx):


a) structura unei matrice de interconectare (pentru linii simple si linii duble); b) structura
unui nod nod al matricei (M reprezint
a latch-urile din memoria de configurare).

5. Linii globale. Sunt utilizate pentru distributia f


ar
a defazaj a semnalelor de
ceas. Realiz
arile actuale inculd circuite pentru compensarea defazajului de ceas (clock
skew), vezi sectiunea 3.5.7.
Fluxul dezvolt
arii unei aplicatii pe un circuit FPGA este destul de asem
an
ator cu
cel pentru un circuit CPLD. Ponind de la o idee se elaboreaz
a o arhitectur
a si anumite
specificatii electrice, apoi etapele sunt: descrierea proiectului, sinteza, implementarea
si configurarea circuitului FPGA.
Descrierea proiectului-sintez
a se poate realiza schematic (desene) sau printrun limbaj de descriere, iar rezultatul rul
arii etapelor de descriere si sintez
a este un
fisier ntr-un format specific circuitului FPGA care va fi suportul pentru aplicatie.
Implementarea se compune din urm
atoarele trei faze: partitionarea, plasarea si
rutarea. Partitionarea const
a n mp
artirea proiectului pe blocuri care s
a poat
a fi
mapate n CLB-uri. Plasarea const
a n alocarea acestor blocuri la anumite elemente
fizice ale circuitului FPGA (CLB-uri, blocuri I/O).
Rutarea este faza prin care elementele fizice fixate sunt conectate prin intermendiul liniilor de interconectare. Determinarea traseelor optime prin jonctionarea
de segmente de linii de interconectare este un proces iterativ (mai dificil dac
at printro programare prin mascare). Fazele de partitionare, plasare si rutare sunt realizate
automat prin soft, ns
a utilizatorul poate impune constr
angeri specifice. Rezultatul
etapei de inplementare este un sir de biti, de ordinul 105 biti (bitstream).
Configurarea const
a n transmiterea (nscrierea) sirului de biti obtinut n etapa
anterioar
a n memoria de configurare. Fiecare latch, Figura 4.1-a (simbolizat prin litera M n Figura 4.16-b), al memoriei de configurare, distribuit
a pe ntreaga suprafata

a cipului, va fi nscris prin sirul de biti cu 1 sau 0 logic dup


a cum este necesar s
a
comande n starea activ
a sau inactiv
a punctul programabil, la care este conectat,
din blocurile I/O, din CLB-uri sau din reteaua de interconectare. In interiorul unui
CLB punctele configurabile sunt pentru: bitii din LUT-urile generatoarelor de functii,
bitii de selectare ai multiplexoarelor. Acest sir poate fi trimis din calculator direct n

4.6. PROIECTAREA CU FPGA

569

memoria de configurare a circuitului FPGA, deja montat pe placa de circuit imprimat


a aplicatiei, sau este nscris ntr-o memorie PROM serial
a ce se va al
atura circuitului
FPGA de pe placa de circuit inprimat (FPGA-ul trebuie configurat la fiecare punere
sub tensiune!).
Modalitatea de programare la un circuit FPGA este, esential, aceeasi ca la programarea unui calculator prin stocarea programului n memoria principal
a. Dezvoltarea
sau testarea unei noi aplicatii poate fi realizat
a tot at
at de usor si rapid ca si pentru
o aplicatie software. Deci, se poate spune c
a FPGA-ul a adus hardul la acelasi nivel
de programabilitate ca si softul. Retelele logice realizate pe FPGA au performante
de vitez
a mai reduse de p
an
a la dou
a sau trei ordine de m
arime n raport cu implementarea de tip full-custom, dar n schimb duc la performante mai ridicat
a cu c
ateva
ordine de m
arime n raport cu simularea n soft a aceleasi retele logice.
Exemplul 4.4 Acest exemplu are scopul de a completa notiunile de baza referitoare la
circuitul FPGA prezentate anterior cu noile facilit
ati existente la circuitele actuale. Aceste
noi facilit
at i vor fi exemplificate la circuitele FPGA ale familiei VIRTEX-II PRO
(Xilinx) n raport cu circuitul FPGA XC4000. Circuitele VIRTEX-II PRO care corespund
tehnologiei elaborate n anul 2000 fata
de cele XC4000 (care apartin tehnologiei anilor 0 90)
au fost proiectate astfel nc
at s
a fie o platform
a pentru realizarea unor sisteme programabile,
dep
asind astfel nivelul numai de logic
a programabil
a. Cu aceste noi circuite se trece de
la nivelul de logic
a programabil
a la nivelul de sistem programabil. Aplicatiile
complexe pot fi eficient repartizate ntre o implementare de tip logic (hardware) pentru a
obtine o vitez
a ridicat
a si o implementare de tip software pentru a obtine o flexibilitate
ridicat
a. Aceast
a platform
a VIRTEX-II PRO contine n acelasi timp trei componente:
A: Un nucleu de microprocesor (PowerPC 405)
B: transievere (transmitter-reciever, vezi Figura 3.82-f). Utilizate pentru interconect
ari
ntre magistrale, la motherboard sau la alte sisteme printr-o conexiune paralelserie
respectiv paralelserie. Fiecare dintre cele (p
an
a) la 24 canale de transmisie permite
o rat
a de transfer a datelor de la 622Mb/s p
an
a la 3,125Gb/s
C: FPGA, care va fi analizat n continuare
1. CLB.
In VIRTEX-II PRO blocurile logice configurabile, CLB, au o organizare tip matriceal
(vezi Figura 4.15-a) si sunt suport pentru proiect
arile de tip combinational si/sau secvential.
Fiecare CLB posed
a o proprie matrice de comutatie prin care poate accesa la c
aile generale de
rutare, Figura 4.16-a. Un CLB, spre deosebire de cele din familia XC4000, este compus din
patru sectiuni (slice) identice S1 , S2 , S3 , S4 conectate la propria matrice de comutatie precum
si la o conexiune direct
a (rapid
a) prin care se conecteaz
a cu CLB-urile vecine, Figura 4.17-a.
Cele patru sectiuni sunt organizate pe dou
a coloane, fiecare coloan
a av
and c
ate un circuit independent pentru propagarea transportului (Cin , Cout ) dar un singur circuit comun (ambelor
coloane) pentru deplasare (Shift). Exist
a de asemenea dou
a buffere TSL care au fiecare pin
propriu pentru intrare si pentru controlului regimului TSL, iesirile acestor buffere, TBUF,
comand
a resurse de rutare orizontale pentru realizarea de magistrale TSL pe cip. Fiecare
dintre cele patru sectiuni ale unui CLB are acces, prin intermediul matricei de comutatie,
la intrarea si/sau la controlul celor dou
a buffere TSL. In fiecare sectiune Si , i = 1, 2, 3, 4,
a CLB-ului sunt incluse dou
a generatoare de functii de patru variabile, dou
a elemente de
stocare, un circuit pentru propagarea transportului, porti pentru functii aritmetice si o multitudine de multiplexoare. Num
arul total de sectiuni pentru membrul cel mai de jos al
familiei, XC2VP2, este de 1408, iar pentru membrul cel mai dezvoltat este de 55616. In

570

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Figura 4.17-b este prezentat


a o schem
a simplificat
a pentru structura unei sectiuni (de exemplu, unele simboluri de MUX indic
a faptul c
a asupra semnalului se realizeaz
a o functie de
selectare far
a a specifica toate intr
arile de date si de selectare).
- Generatoarele de functii G si F sunt de tipul LUT cu patru intr
ari (G 4 G3 G2 G1
si F4 F3 F2 F1 ). Se poate implementa orice functie de patru variabile iar utiliz
and anumite
multiplexoare se poate extinde p
an
a la functii de 9 variabile de intrare. Semnelele de iesire
din generatoarele de functii pot fi obtinute la iesirea sectiunii respective (X, Y ) sau: pot fi
aplicate pentru calcul aritmetic (intrare la poarta XOR); aplicate n lantul de propagarea
transportului; aplicate la intrarea elemenelor de stocare.
-Elementele de stocare pot fi configurate fie ca dou
a bistabile D cu comutatie pe
front, fie ca dou
a latch-uri (active pe palier). Pe intrarea D semnalele directe X, Y , de
la iesirea generatoarelor de functii, via iesirile DX, DY sau semnalele BX, BY care intr
a
direct n sectiune, ocolind generatorul de functii. Pentru ambele elemente de stocare ale unei
sectiuni sunt comune urm
atoarele semnale de control: CLK - ceasul; CE - validare ceas; SR
- prescriere n stare 0 sau 1; REV - comanda n starea opus
a fata
de cea comandat
a prin
SR (polaritatea fiec
aruia dintre aceste semnale se poate selecta independent prin MUX2:1).
Registrele/latch-urile pot fi configurate pentru urm
atoarele tipuri de functionare: f
ar
a set
si reset; set asincron; reset asincron; set si reset asincron; set (PRESET) asincron; reset
(CLEAR) asincron; set (PRESET) si reset (CLEAR) asincron. S
tergerea (reset, CLEAR)
este predominant
a fata
de nscriere (set, PRESET).
-Logica artimetic
a. Prin utilizarea celor dou
a generatoare de functii F si G a celor
dou
a porti AND, MULTAND, a celor dou
a porti XOR si a multiplexoarelor MUXCY se
poate implementa pe o sectiune un sumator de dou
a cuvinte de doi biti G2 F2 + G1 F1 , vezi
relatia 2.25. Se obtine:
s1 =
C1 =
s1 =
Cout =

F2 F1 Cin
(F2 F1 ) (F2 F1 ) + (F2 F1 ) Cin

la iesirea X
la iesirea primului MUXCY

G 2 G 1 C1
(G2 G1 ) (G2 G1 ) + (G2 G1 ) C1

la iesirea Y
la iesirea Cout

Directia de propagare a transportului este de la LUT-ul F la LUT-ul G; exist


a astfel
dou
a c
ai de propagare ale transportului ntr-un CLB; una pe sectiunile din prima coloan
a
(S0 si S1 ) si a dou
a cale pe sectiunile din a doua coloan
a (S2 si S3 ) conform cu notatiile din
Figura 4.17-a.
Pentru a implementa operatia de nmultire portile MULTAND pot genera produsul aritmetic (= produsul logic) a dou
a variabile.
Se poate obtine o form
a normal
a disjunctiv
a, FND, relatia 1.12 (sum
a de produse, SOP)
de oric
ati termeni produs prin utilizarea portii ORCY care are ca intr
ari semnalul SOPIN
(de la CLB-ul anterior) si iesirea de la multiplexorul superior MUXCY. Termenii produs
generati de un generator de functii din sectiunea Si sunt notati cu PXSi , PY Si ; intrarea 0
a multiplexoarelor MUXCY, pentru propagarea transportului, se conecteaz
a la mas
a. Prin
colectarea termenilor produs de pe prima coloan
a la iesirea portii ORCY din sectiunea S1
se obtine:
SOU TS1 = PXS0 + PY S0 + PXS1 + PY S1 + SOP IN
iar prin colectarea acestora cu termenii produs generati si n a doua coloan
a se obtine:
SOU TS3 = PXS2 + PY S2 + PXS3 + PY S3 + SOU TS1
Aceast
a sum
a de porduse se poate aplica la intrarea SOPIN de la CLB-ul urm
ator s.a.m.d.

571

4.6. PROIECTAREA CU FPGA


Conexiune directa (rapida)
la CLBurile adiacente

Interconectari programabile

Magistrala TSL

CLB

CLB
C out

TBUF

Sectiunea S3
X 1, Y 1

Matrice
de

Matrice
de

Sectiunea S2
X 1, Y 0
C
out
comutatie
SHIFT
C in
Sectiunea S1
X 0, Y 1

C in

Sectiunea S3
X 1, Y 1

Sectiunea S2
X 1, Y 0
comutatie
SHIFT
C in
Sectiunea S1
X 0, Y 1

Sectiunea S0
X 0, Y 0

a)

C out

TBUF

C out

Sectiunea S0
X 0, Y 0
C in

Suprafata pentru interconexiuni

SHIFTIN

C out
ORCY

SOPIN

LUT 1
G4
G3
G2
G1

SOPOUT

MUXCY

G4
G3
G2
G1

GYMUX

D
DI

M 15
D

Y
FF 1

Q
CE
SR REV

CLK

MULTAND

BY

DY
YQ

CE
CLK

SR
BX
C1
LUT 2
F4
F3
F2
F1

F 4 DI
F 3 M 15
F2
D
F1

MUXCY
O
I

SR REV
CE
Q

CLK

D
FXMUX

FF 2

XQ
DX
X

MULTAND

b)

SHIFTOUT

C in

Figura 4.17 FPGA din platforma VIRTEX-II Pro: a) componentele din structura
unui bloc logic configurabil, CLB (matrice de comutatie, patru sectiuni plasate pe dou
a
coloane S0 S1 si S2 S3 si dou
a TBUF); b) structura simplificat
a a unei sectiuni.

572

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

De asemenea, prin configurarea multiplexoarelor interne,se poate realiza un MUX16:1, un


MUX32:1 pe dou
a CLB-uri, pentru selectarea functiilor generate de LUT-uri. Dou
a sectiuni,
folosind LUT-urile si MUXCY, pot implementa un AND cu 16 intr
ari (ncercati!).
- Memoria distribuit
a. Fiecare LUT dintr-o sectiune, fiind n fond o memorie RAM,
poate fi utilizat ca o memorie RAM asincron
a, simplu port (pe iesire), de capacitate 16 1
bit (nscriere sincron
a, iesirea cu citire asincron
a). Cu cele dou
a LUT-uri dintr-o sectiune
se poate configura si o memorie RAM de capacitate 16 1 bit dar dublu port pe iesire.
Adresarea unui LUT, ca memorie RAM simplu port, dintr-o sectiune se face pe intr
arile
F4 , F3 , F2 , F1 sau G4 , G3 , G2 , G1 . Fiecare LUT mai are nc
a patru intr
ari de adresare W F4 ,
W F3 , W F2 , W F1 sau W G4 , W G3 , W G2 , W G1 (nedesenate n structura simplifacat
a din
Figura 4.17-b). C
and o sectiune este configurat
a ca o memorie RAM dublu port 16 1
bit, atunci cuv
antul de adres
a de nscriere se aplic
a simultan la ambele LUT-uri pe intr
arile
F4 /W F4 , F3 /W F3 , F2 /W F2 , F1 /W F1 de la F1 si pe intr
arile W G4 , W G3 , W G2 , W G1 de la
G; pentru citirea (asincron
a) a portului F cuv
antul de adres
a se aplic
a pe aceleasi intr
ari
ca si la la nscriere, n schimb pentru citirea (asincron
a) a portului G cuv
antul de adres
a se
aplic
a numai pe intr
arile G4 , G3 , G2 , G1 . Cu cele opt LUT-uri dintr-un CLB se pot configura
urm
atoarele structuri de memorie RAM: ca simplu port 16 8 biti, 32 4 biti, 64 2 biti si
128 1 bit, iar ca dublu port 16 4 biti, 32 2 biti, 64 1 bit. Memoria RAM distribuit
a
c
and se utilizeaz
a toate CLB-urile, n acest scop, este de 45056 biti pentru XC2VP2 si de
1779712 pentru XC2VP125.
- Registru de deplasare. Fiecare LUT poate fi configurat ca un registru de deplasare cu
intrarea de date (care poate fi SHIFTIN) pe intrarea DI, la celula zero a registrului, si iesirea
de date pe M15 , de la celula a 16-a a registrului. Inscrierea n registru de deplasare se face
serial, sincron pe semnalul de ceas CLK n conjunctie cu semnalul de validare ceas CE; citirea
este asincron
a din oricare celul
a prin aplicarea pe intr
arile LUT-ului a cuv
antului de adres
a
pentru celula care se doreste a fi citit
a. Una din cele 16 celule ale registrului de deplasare
poate fi citit
a si sincron dac
a iesirea acestei celule se conecteaz
a la intrarea bistabilului D.
Intr-o sectiune, prin inserierea celor dou
a LUT-uri (M15 de la G se conecteaz
a la DI de la
F ) se obtine un registru serie de 32 biti (iesirea fiind SHIFTOUT); pe un CLB registrul de
deplasare poate fi de 128 biti.
Resursele logice dintr-un CLB sunt urm
atoarele:

Sectiuni LUT-uri
4

Circuite
Memorie
pentru
Circuite
Registru
RAM
Bistabile MULTAND
TUBF
propagarea
SOP
serie
distribuit
a
transportului
2
2
2
2
128 biti 128 biti
2

- Blocuri independente de memorie RAM si de multiplicatoare. Platforma


VIRTEX-II PRO are ca resurs
a pentru memorare, n afara utiliz
arii LUT-urilor ca memorie
RAM distribuit
a, n plus si blocuri independente de memorie RAM, dublu port, de capacitate
18kb. De asemenea, n afar
a de realizarea de multiplicatoare pe baza CLB-urilor, exist
a si blocuri independete de multiplicare pentru nmultirea a dou
a cuvinte, fiecare cuv
ant
de 18 biti, n complement de doi. In general, fiecare bloc multiplicator se ataseaz
a la un
bloc de memorie dar poate fi utilizat si separat. Combinatia bloc independent de memorie
+ multiplicator + acumulator (realizat n LUT-uri) permite implementarea functiei de
multiplicare-acumulare din procesoarele de semnal, functie care este de o utilizare comun
a
n calculul r
aspunsului la impuls finit, FIR, (Finite Impulse Response), a r
aspunsului la
impuls infinit, IIR, (Infinite Impulse Response) pentru filtrele digitale. Pe fiecare membru
al familiei VIRTEX-II PRO num
arul de blocuri de memori RAM este egal cu num
arul
de blocuri de multiplicatoare si variaz
a ntre 12 (pentru XC2VP2) p
an
a la 556 (pentru
XC2VP125).

4.6. PROIECTAREA CU FPGA

573

2. Blocul de intrare/iesire, IOB


Pe m
asur
a ce FPGA-urile cresc n num
arul de componente integrate si se l
argeste gama
de facilit
ati oferite, cresc si n dimensiune, vitez
a, performanta
si sistemele implementate cu
acestea. Intr-un astfel de sistem circuitul FPGA comunic
a cip-la-cip n exterior pe placa
de circuit imprimat cu alte componente; aceast
a comunicatie prin nt
arzierile introduse are
un impact substantial asupra performantelor. In general, aceast
a comunicatie se realizeaz
a
pe magistrala pentru care s-au elaborat o serie de standarde I/O de tensiuni reduse (n
tendinta de a reduce puterea disipat
a). Fiecare standard de I/O are propriul s
au set de
specificatii referitoare la tensiune, curent, modul de bufferare (intrare, iesire), modalitatea
de terminatie (intrare, isire, la cap
at). Blocul de intrare iesire la un FPGA trebuie s
a aib
a
suficiente resurse si o mare configurabilitate pentru bufferele de intrare, (driverele) de iesire
astfel nc
at s
a suporte c
at mai multe standarde I/O. Un buffer de intrare, IBUF, trebuie s
a
permit
a o configurare fie ca simplu buffer (cu o intrare pe un singur fir), fie ca un buffer cu
intrare diferential
a. Un buffer de iesire, OBUF, trebuie s
a fie configurat cu o iesire push-pull
(contratimp) sau cu o iesire dren n gol (open drain). De asemenea, fiecare tip de buffer
trebuie s
a suporte o varietate de valori de curenti si de tensiuni nc
at s
a poat
a fi utilizat
pentru c
at mai multe standarde I/O. Standardele pot fi grupate n: 1) de tip single-ended
(necesit
a c
ate un pin la emisie si la receptie); 2) de tip diferential (necesit
a c
ate doi pini at
at
la emisie c
at si la receptie); 3) de tip cu tensiune de referinta
VREF (necesit
a c
ate un pin la
emisie si la receptie, o intrare a bufferului de receptie se conecteaz
a la VREF ). In continuare se
vor enumera standardele I/O suportate de familia VIRTEX-II PRO, specific
andu-se pentru
fiecare doar tensiunea (descrierea complet
a a acestor standarde poate fi g
asit
a la Electronic
Industry Alliance JEDEC: http://www.jedec.org).
- PCI (Peripheral Component Interface). Este n variantele de magistrale comandate de o
frecventa
de ceas de 33MHz si 66MHz. Necesit
a: VCCO = 3, 3V , IBUF simplu (ca la
LVCMOS), OBUF cu iesirea n push-pull. Nu necesit
a VREF (tensiune de referinta
)
si VT T (tensiune pe terminatie).
- GTL (Gunning Tranceiver Logic Terminated). Este un standard de mare vitez
a. Necesit
a: OBUF de tip dren n gol (deci nu se specific
a valoarea pentru VCCO ), IBUF de
tip diferential (VREF = 0, 8V ), VT T = 1, 2V . Exist
a si n varianta GTLP (Gunning
Tranceiver Logic Plus) cu VREF = 1, 0V si VT T = 1V .
- HSTL (High-Speed Tranceiver Logic). Necesit
a: IBUF de tip diferential si OBUF de tip
push-pull, VCCO = 1, 8V sau 1, 5V . In functie de valorile pentru VCCO , VREF si VT T
exist
a patru variante ale standardului.
- SSTL2 (Stub Series Terminated Logic for 2,5V). Necesit
a: IBUF de tip diferential (deci
se specific
a VREF ), OBUF cu iesirea push-pull (se specific
a VCCO ), VT T . SSTL18 este
varianta cu VCCO = 1, 8V .
Blocurile I/O sunt plasate pe cele patru laturi (perimentrul) ale cipului si sunt grupate
c
ate dou
a sau c
ate patru. Fiecare IOB din aceste grupuri poate fi utilizat independent
pentru o transmisie pe un singur fir, sau poate fi utilizat mpreun
a cu un alt IOB din grup
realiz
and o pereche diferential
a. Conectarea unui IOB la c
aile de rutare ale FPGA-ului se
face prin intermediul unei matrice de comutatie, Figura 4.18-a; o pereche diferential
a trebuie
s
a fie totdeauna compus
a din IOB-uri care sunt conectate la aceeasi matrice de comutatie.
Blocurie I/O de pe fiecare latur
a a cipului sunt mp
artite n dou
a p
arti egale, fiecare parte
fiind referit
a prin termenul de banc
a; deci toate IOB-urile de pe cele patru laturi formeaz
a
opt b
anci. Tensiunea intern
a de alimentare, VCCIN T , a nucleului circuitului FPGA este
de 1,5V; n exteriorul circuitului, pentru comunicatia cu alte circuite din sistem valoarea
tensiunii VCCO depinde de standardul de I/O utilizat. Regula este urm
atoarea: toate IOBurile dintr-o banc
a utilizeaz
a aceeasi valoare pentru VCCO si aceeasi valoarea pentru VREF ,
deci de la pinii bancii respective pot exista comunicatii cu elemente exterioare numai pe baza
standardelor ale c
aror tensiuni sunt compatibile cu valorile VCCO si VREF aplicate la banca
respectiv
a.

574

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Pad

Perechi care pot fi utilizate


pentru I/O diferentiale
Pad1

Pad3

Pad2

I/O Bloc 1 I/O Bloc 2

Pad4

TCLK2

CLK 2
CE

SR REV

TCLK1

SR REV
CE
Q1
CLK 1
D

CE

SR REV
CE
Q1
CLK 1
D
FF 1

OD1

VRP

IBUF

ICLK 1ICLK 2 ICE

Pad

Rpd
Celula activa
de mentinere
a nivelului
pe magistrala

DDRMUX

I/O Bloc

V CCO
Buffer
de iesire
(OBUF)

Q2

SR REV

OCLK1

OBUF
IESIRE

Rpu

FF 2

CLK 2

OCE

FF 1

FF 1

OCLK2

ICLK1

Q2

TCE

TD1
REV
SR
OD2

FF 2 DDRMUX
OCLK2

R REF

FF 2

ICLK2

FF 1
OCLK1

b)

R REF
VRN

TD2

FF 2

TSL

TCLK1

I/O Bloc 3 I/O Bloc 4

V CCO

INTRARE

FF 1

Matrice de comutatie
locala (comutare)

a)

I/O Bloc

FF 2 DDRMUX
TCLK2

V REF

CE
CLK 1
D

DDRMUX

Intarziere
programabila

D1

IQ 2

SR REV

D2

Control pentru:
panta fronturilor
valoarea curentului
generat

FF
CE 2
CLK 2
Q
D
SR REV

IQ 1

FF 1

Buffer
de intrare
(IBUF)

c)
Figura 4.18 Blocul intrare/iesire, IOB, pentru familia VIRTEX-II PRO:
a) gruparea IOB-urilor la o matrice de comutatie; b) resursele logice continute ntr-un IOB;
c) structurarea (simplificat
a) pentru cele trei c
ai (intrare, iesire si TSL) ale unui IOB.

4.6. PROIECTAREA CU FPGA

575

Resursele logice ale unui IOB sunt prezentate n Figura 4.18-b, care se compun din: o
pereche de elemenete de stocare plus un buffer de intrare, IBUF, pentru calea de intrare
si dou
a perechi de elemente de stocare plus un buffer TSL de iesire, OBUF, pentru calea
de iesire (o pereche de elemente de stocare pentru intrarea n OBUF si o pereche pentru
comanda TSL a OBUF). Organizarea electric
a (simplificat
a) a unui IOB este prezentat
a
n Figura 4.18-c. Un element de stocare, FF, poate fi configurat fie ca bistabil de tip D
fie ca latch D activ pe palier. Semnalele de ceas, CLK1 si CLK2 , aplicate unei perechi de
elemente de stocare sunt (de regul
a) defazate cu 180o , n schimb semnalul de validare ceas,
CE, este acelasi pentru o pereche. Este comun pentru toate cele sase elemente de stocare
semnalul SR de prescriere a st
arii, la fel si semnalul REV (REVerse) care prescrie elementul
de stocare n starea opus
a n raport cu prescrierea cu semnalul SR; polaritatea fiec
aruia
dintre aceste semnale de control se poate alege independent (prin MUX2:1). Fiecare FF
poate fi configurat pentru urm
atoarele tipuri de functionare: f
ar
a set si reset; set asincron;
reset asincron; set si reset asincron; set (PRESET) asincron; reset (CLEAR) asincron; set
(PRESET) si reset (CLEAR) asincron. Stergerea (reset, CLEAR) este predominant
a fata

de nscriere (set, PRESET).


Un semnal exterior aplicat la pad este directionat la IBUF care poate fi configurat cu o
singur
a intrare sau cu intrare diferential
a (VREF se aplic
a pe una dintre intr
ari). Semnalul
bufferat este rutat la partea logic
a (CLB-uri) fie direct (I), fie dup
a ce a fost sincronizat n
F F1 (IQ1 ) sau F F2 (IQ2 ); pe calea prin F F -uri exist
a introdus
a o nt
arziere programabil
a
(vezi explicatia de la Figura 4.9-a).
Pentru calea de iesire, la intrarea OBUF se pot selecta de la partea logic
a (CLB-uri) fie
direct semnalele (OD1 sau OD2 ), fie aceleasi semnale dar sincronizate (Q1 sau Q2 ) sau fie
a
aceleasi semnale dar cu rata dubl
a (Q1 si Q2 ). La OBUF se poate fixa valoarea maxim
a curentului generat la iesire si de asemenea se poate controla valoarea pantei fronturilor
semnalului la iesire (pentru performanta
de vitez
a sunt necesare pante de valori ridicate, iar
pentru transferuri cu putere consumat
a mai mic
a sunt necesare pante de valori mai mici).
Semenul de control TSL (HZ/normal) pentru OBUF se obtine de la o pereche de F F -uri n
aceeasi modalitate ca si obtinerea semnalului de intrare n OBUF. Pe iesire mai sunt prezente
urm
atoarele elemente: diodele D1 si D2 , rezistentele Rpu si Rpd si optional o celul
a activ
a
de mentinere a nivelului pe magistral
a; rolul fiec
aruia dintre acestea a fost explicat n Figura
4.9-a (diodele sunt protectie la supratensiuni).
Facilit
ati inovative introduse la IOB sunt: posibilitatea de control digital a impedantei
fiec
arui pin al unui IOB, transferuri la o rat
a dubl
a at
at pentru calea de intrare c
at si pentru
calea de iesire (aceasta este motivatia de ce pentru calea de intrare si pentru calea de iesire
sunt necesare c
ate o pereche de F F , iar pentru varianta de iesire TSL sunt necesare dou
a
perechi de F F ).
Transferul datelor pe intrare la o rat
a dubl
a, DDR (Double Data Rate). Mecanismul de obtinere a unei rate duble de transfer a datelor, n raport cu frecventa (rata)
semnalului de ceas (aplicat
a deja la DDR SDRAM, vezi sectiunea 3.6.3) se bazeaz
a pe
utilizarea a dou
a semnale de ceas CLK1 si CLK2 de aceeasi frecventa
dar defazate cu 180o .
In figura 4.19-a sunt prezentate structura c
aii de date pentru modalitatea DDR si diagramele
de semnale. Datele de intrare (DATA), aplicate la un pin I/O configurat ca pin de intrare,
sosite din exterior la o rat
a dubl
a fata
de frecventa de ceas din IOB, sunt stocate alternativ pe
fronturile pozitive ale semnalelor de ceas CLK1 si CLK2 (decalate cu 180o ) respectiv n F F1
sau F F2 . Deci la partea logic
a (CLB-uri) datele de intrare sincronizate pe fronturile pozitive
ale semnalului CLK2 , IES
IRE Q2 , se obtine de la F F2 , iar cele sincronizate pe fronturile
pozitive ale semnalului CLK1 , IES
IREA Q1 , se obtine de la F F1 (semnale de control CE,
Set/PRESET si Reset/CLEAR sunt comune pentru ambele bistabile).
Transferul datelor la iesire la o rat
a dubl
a. Structura c
aii de date de iesire si
diagramele de semnale pentru o generare n exteriorul unui pin I/O, de la un IOB, la o rat
a

576

CLK2
DATA
Set/PRESET

Reset/CLEAR
CE

CLK1
a)
DATA2

CLK2
CE
Set/PRESET

Reset/CLEAR

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

CLK2
Q
CE
FF2
D

Set/

Reset/

Set/

Reset/

CLK2

Q2

DATA D0

Reset/

Set/

DATA1

b)

TDATA2

Q1

TCE
Set/PRESET

CLK2
TDATA1
ODATA2

CLK1

Reset/

Set/

Reset/

CE
FF1
CLK1
Q
D
D
Q
CLK2 FF
2
CE

Set/

Reset/

Set/

Reset/

PRESET CLEAR

Reset/CLEAR
DCE
ODATA1

c)

TSL

PRESET CLEAR

PRESET CLEAR

PRESET CLEAR

CE
FF1
CLK1
Q
D

D4

D5

D2
D1
1

D6
D4

D3
2

D7

D8
D6

D5
4

CLK1

DDRMUX

CE
FF1
CLK1
Q Q
D
1

Set/

D3

D0

CLK2

Reset/

D
Q
CLK2 FF
2
CE

D2

IESIRE_Q1

PRESET CLEAR

CLK1

D1

IESIRE_Q2

Q2
D
Q
CLK2 FF
2
CE

PRESET CLEAR

CE

PRESET CLEAR

Set/

CLK1

PRESET CLEAR

D
FF1
CE
Q
CLK1

CLK2

DATA2

D2A

D2B

D2C

D2D

DATA1

D1A

D1B

D1C

D1D

IESIRE_O

D2A D1A D2B D1B D2C D1C D2D

CLK1
DDRMUX

ODATA2

D2A

D2B

D2C

D2D

ODATA1

D1A

D1B

D1C

D1D

TDATA2
DDRMUX

TDATA1
IESIRE_O

D2A D1A D2B D1B

HZ

O
OBUF
IESIRE

Figura 4.19 Transferul cu rat


a dubl
a, DDR, n cadrul familiei VIRTEX-II PRO:
a) structurare si diagrame de semnale pentru DDR pe intrare; b) structurare si diagrame de
semnal pentru DDR pe iesire; c) structurare si diagrame de semnal pentru DDR pe iesire
c
and OBUF este de tip TSL.

4.6. PROIECTAREA CU FPGA

577

dubl
a a datelor fata
de frecventa de ceas din interiorul IOB sunt prezentate n Figura 4.19-b.
Cele dou
a siruri de date DATA1 si DATA2, obtinute de la partea logic
a a FPGA-ului, sunt
nregistrate n F F1 respectiv F F2 pe fronturile pozitive ale semnalelor de ceas CLK1 si CLK2
(defazate cu 180o ). In multiplexorul de iesire, DDRMUX, selectarea datelor de la cele dou
a
intr
ari (elemente de stocare F F1 si F F2 ) se realizeaz
a alternativ cu semanlele CLK1 si CLK2 .
Transferul datelor la iesire prin buffer TSL la o rat
a dubl
a. Pentru un astfel
de transfer structurarea c
aii de date de iesire si diagramele de semnal sunt prezentate n
Figura 4.19-c. Organizarea poate fi considerat
a ca fiind compus
a din dou
a structuri identice
cu cea din Figura 4.19-b, din care una comand
a intrarea OBUF iar cealalt
a genereaz
a semnalul de control pentru trecerea OBUF din starea normal
a de functionare n starea de nalt
a
impedanta
, HZ, si invers. Selectarea celor dou
a iesiri, ale fiec
arei pereche de elemente de
stocare, se realizeaz
a cu DDRMUX-ul respectiv utiliz
and cele dou
a paliere ale semnalului de
ceas (semnalele specifice numai pentru perechea de F F -uri care comand
a intrarea bufferului
de iesire s-au prefixat cu litera O, iar cele specifice numai pentru perechea de F F -uri care
comand
a intrarea de control TSL a OBUF s-au prefixat cu litera T). Semnalele de control
Set/PRESET, Reset/CLEAR sunt comune pentru ambele perechi de elemente F F , dar
semnalele de validare ceas, T CE si DCE, sunt diferite. Semnalul de ceas CLK2 se aplic
a la
elementul F F2 din ambele perechi, iar semnalul de ceas defazat cu 180 , CLK1 , se aplic
a la
cel
alalt element F F1 din ambele perechi. In cazul n care ambele date obtinute de la partea
logic
a , TDATA1 si TDATA2, aplicate la perechea de control TSL, au valoarea H rezult
a
c
a iesirea OBUF este n HZ, iar n cazul c
and TDATA1 si TDATA2 au ambele valoarea L
rezult
a la iesirea OBUF o succesiune de date alternante ntre ODATA2 si ODATA1 cu o rat
a
dubl
a fata
de frecventa de ceas.
C
and TDATA2 = H si TDATA1 = L, pe semiperioada CLK2 = 1, CLK1 = 0, semnalul
de control de la OBUF este H, deci iesirea bufferului este comandat
a n HZ, iar pe celalt
a
semiperioad
a a semnalului de ceas, CLK2 = 0 si CLK1 = 1, semnalul de control este L,
iesirea bufferului este IES
IRE O = ODATA1. In opozitie, c
and TDATA2=L si TDATA1=H
pentru semiperioada de ceas CLK2 = 0, CLK1 = 1 iesirea bufferului este n HZ, iar pentru
semiperioada CLK2 = 1, CLK1 = 0 iesirea bufferului este IES
IRE O = ODATA2. Pentru
aceste ultime dou
a cazuri rezult
a la iesirea OBUF, fie succesiuni ODATA1A, HZ, ODATA1B,
HZ, ODATA1C, HZ,..., fie succesiuni ODATA2A, HZ, ODATA2B, HZ, ODATA2C, HZ la o
rat
a dubl
a fata
de frecventa de ceas. Controlul digital al impedantei pe terminale.
Un circuit al familiei VIRTEX-II PRO implantat pe o plac
a de circuit imprimat este conectat cu celelalte circuite ale sistemului prin sutele de pini I/O. Transferul semnalelor ntre
aceste circuite, fie pe un singur fir, fie diferential, sub unul din standardele I/O amintite
anterior, trebuie realizat cu o integritate c
at mai ridicat
a. O astfel de integritate a semnalului se poate obtine numai dac
a n punctele de terminatie (surs
a/emisie, receptie/destinatie)
se face o adaptare cu impedanta caractaristic
a, Z0 , a liniei/trasei de pe placa de circuit
imprimat, vezi sectiunea 1.6.2.2. Fizic, o astfel e adaptare se realizeaz
a printr-o egalizare a
rezistentei echivalente a divizorului de tensiune sau a rezistentei echivalente serie din punctul
de terminatie (I/O), cu valoarea Z0 . Prin modul de organizare, BGA (Ball Grid Array)
al sutelor de pini I/O de la un circuit FPGA ar fi aproape imposibil de a conecta astfel
de rezistente de adaptare. Evitarea acestei multitudini de rezistente, n cadrul VIRTEX-II
PRO, s-a realizat prin conectarea n exteriorul cipului, pentru fiecare dintre cele opt b
anci
de blocuri I/O, doar a c
ate dou
a rezistente de referinta
, RREF (cu abateri de sub 1%), deci
n total pot fi maxim opt perechi de rezistente de referinta
. Una din rezistentele de referinta

ale perechii de la o banca se conecteaz


a ntre pinul I/O notat cu VRP si tensiunea VCCO , iar
cealalt
a rezistenta
de referinta
se conecteaz
a ntre VRP si mas
a, Figura 4.20-c. Rezistentele
de referinta
se aleg de valoare egal
a sau valoare dubl
a a impedantei caracteristice, deci
RREF = Z0 sau RREF = 2Z0 .
La fiecare banc
a exist
a o circuistic
a pentru controlul digital al impedantei, DCI (Digital

578

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

VCCO

VCCO
R=R REF=Z0
R
OBUF

VRP

pin

RREF=Z0

R=R REF/2=Z 0
R

Z0(linie)

VRP

OBUF

RREF=Z0

IOB

a)

pin VRP

Z0(linie)

VRP

IOB

RREF=2Z 0

b)
VCCO
VCCO

R=R REF=Z0

OBUF

R VRP

VCCO
R=R REF=2Z 0

RREF=Z0

VCCO
R VRP

Z0(linie)

RREF=2Z 0
Z0(linie)

pin

OBUF
R=R REF=2Z 0

VRP

IOB

RREF=Z0

c)

pin
R

VRP

RREF=2Z 0

d)
VCCO

VCCO
VCCO

Z0 =RREF

pin
Z0 =RREF

IOB

VCCO

2Z 0 =RREF

R=R REF=Z0

Z0(linie)

e)

RREF=2Z 0

R=R REF=2Z 0

Z0(linie)

VREF

pin
IBUF

2Z 0 =RREF

IOB

VREF
R=R REF=2Z 0 IBUF

f)

Figura 4.20 Controlul digital al impedantei ntr-un IOB din familia VIRTEX-II
PRO: a,b) controlul terminatiei prin impedanta de iesire a OBUF pentru RREF respectiv
RREF /2; c,d) controlul terminatiei de iesire pentru o tensiune de VCCO respectiv de VCCO /2;
e,f) controlul terminatiei de intrare pentru o tensiune de VCCO respectiv de VCCO /2.

4.6. PROIECTAREA CU FPGA

579

Controlled Impedance), care poate controla/stabili la fiecare IOB impedanta de terminatie


la valoarea Z0 . Controlul const
a n modificarea impedantei de iesire a OBUF sau a unor
rezistente interne existente la fiecare pad I/O, care sunt conectate unele la VCCO altele la
mas
a. Fizic, modifcarea valorii rezistentei se realizeaz
a prin conectarea a mai multe sau
mai putine din aceste rezistente interne, prin intermediul unor comutatoare (tranzistoare de
trecere), p
an
a c
and rezistenta echivalent
a de terminatie devine egal
a sau jum
atate din R REF .
Consider
and cele dou
a modalit
ati de functionare (surs
a/emisie sau receptie/destinatie) ale
unui IOB se disting urm
atoarele trei cazuri/modalit
ati de adaptare a terminatiei,Figura 4.20.
- Terminatia pe surs
a (pentru emisie). Prin DCI se modific
a impedanta intern
a de iesire
a OBUF, fie la R = RREF = Z0 , Figura 4.20-a, fie la R = RREF /2 = Z0 , Figura 4.20-b.
- Terminatia pe iesire (IOB este emita
tor); n acest caz DCI nu modific
a impedanta
intern
a a OBUF ci modific
a rezistente interne (din cip). Tensiunea pe terminatia de iesire,
VT T , poate fi ajustat
a fie la tensiunea VCCO (aplicat
a printr-o rezistenta
conectat
a la VCCO ,
valoarea rezistentei se modific
a p
an
a se realizeaz
a relatia R = RREF = Z0 ) Figura 4.20-c,
fie la tensiunea VCCO /2 (aplicat
a printr-un divizor ntre VCCO si mas
a, ale c
arui rezistente
se modific
a p
an
a se realizeaz
a relatia R = RREF = 2Z0 ), Figura 4.20-d.
- Terminatie pe intrarea unui IBUF; la cealalt
a intrare a bufferului se conecteaz
a o
tensiune de prag VREF a c
arei valoare depinde de standardul I/O sub care se realizeaz
a
comunicatia. S
i de data aceasta se poate realiza tensiunea VT T pe terminatia de intrare
pentru VCCO sau VCCO /2. Pentru terminatie la VCCO valoarea rezistentei se modific
a p
an
a
se realizeaz
a relatia R = RREF = Z0 , Figura 4.20-e, iar pentru terminatie la VCCO /2,
Figura 4.20-f, rezistentele divizorului se modific
a nc
at s
a se realizeze relatia
R = RREF = 2Z0 (rezistenta Thevenin echivalent
a este RT hev = (2Z0 2Z0 )/(2Z0 + 2Z0 ) =
Z0 , vezi Figura 1.77-b).
3. Resursele de interconectare.
Resursele de interconectare la VIRTEX-II PRO sunt, n fond, o extensie si o mbog
atire a resurselor de interconectare de la XC4000 (Figura 4.15 si 4.16). Aceste resurse sunt
mbog
atite pe l
ang
a liniile de dou
a lungimi si cu 120 de linii vericale si 120 de linii orizontale
(pentru ntregul cip) de sase lungimi (sextupl
a), iar liniile de conectare direct
a ale unui CLB
sunt imbog
atite cu conect
ari directe pe orizontal
a, vertical
a si diagonal
a cu CLB-uri vecine.
Extensia resurselor de conectare apare si prin introducerea unor noi trasee (dedicate) n
cadrul unui CLB, n modul urm
ator, Figura 4.17:
- 4 linii de magistral
a TSL care conecteaz
a CLB-urile de pe o linie orizontal
a;
- 2 linii dedicate pentru propagarea transportului, Cout (c
ate una pentru fiecare coloan
a
format
a din c
ate dou
a sectiuni S0 , S1 si S2 , S3 );
- 1 linie dedicat
a pentru propagarea sumei de produse (SOPIN, SOPOUT);
- 1 linie dedicat
a pentru registrul de deplasare (SHIFTIN, M15 )
De asemenea, fiecare element CLB sau IOB prezint
a o matrice de comutatie proprie
prin intermediul c
areia fiecare dintre aceste elemente este legat la matricele de conexiuni
programabile (de tipul celor din Figura 4.15 si 4.16) de pe suprafata cipului.
Dar elementul inovator pentru resursele de interconectare este interconectarea activ
a, adic
a existenta a c
ate un buffer pentru toate semnalele care trec prin interconect
arile
programabile (interconect
ari bufferate). Realizarea c
ailor de rutare prin intermediul interconect
arii bufferate determin
a ca nt
arzierile pe aceste c
ai de rutare s
a fie, relativ, neafectate
de nc
arcarea semnalelor (fan-out).

Matrice de porti logice programabile prin vias-uri, VP GA. Pentru circuitul FPGA, acest cameleon al lumii circuitelor integrate, at
at de preferat pentru
procesul de dezvoltare de sisteme, programabilitatea pe baza unei memorii RAM de

580

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

,,
,,
configurare constituie m
arirea si c
aderea . M
arirea const
a n faptul c
a a adus
,,
hardul la nivelul de programabilitate egal cu al softului iar c
aderea c
a int
arzierile
de propagare sunt cu mult peste cele obtinute la programarea prin mascare. Solutia?
A ap
arut o serie de circuite care nlocuiesc partial sau total programabilitatea celulelor
SRAM (at
at pentru fixarea continuturilor din LUT-uri c
at si pentru conexiunile programabile cu tranzistoare de trecere) cu o programabililtate pe baza unor matrice
de vias-uri realizate n straturile metalizate pentru interconexiuni. Evident, c
a pentru programarea prin vias-uri proiectantul trebuie s
a transmit
a la turn
atoria de siliciu, nainte de manufacturarea conexiunilor metalizate (vezi Figura 4.5), care din
vias-urile matricei de pe fiecare strat metalizat strat izolator se realizeaz
a si care
se elimin
a. Odat
a programate si realizate aceste vias-uri din matrice, circuitul nu
mai poate fi modificat n acest sens, doar dac
a mai exist
a n circuit si LUT-uri pe
baz
a de celule SRAM si conexiuni programabile pe baz
a de tranzistoare de trecere
care se programeaz
a de beneficiar. Aceste circuite hibride care se realizeaz
a at
at prin
programare prin mascare c
at si prin programare printr-un bitstream sunt referite
prin VPGA: Via-Patterned Gate Array, sau FPGA structurate sau mai general
ASIC-uri structurate.
Un exemplu de VPGA, cu particularizare la realizarea unei celule logice (CLB),
este prezentat n Figura 4.21. O reprezentare simplificat
a a unei CLB, care contine
un LUT pentru o functie de trei variabile, fj3 , 0 j 255, este n Figura 4.21-a, iar
varianta de realizare a aceleiasi functii dar pe baz
a de MUX2:1 este dat
a n Figura
4.21-b; dj0 , dj1 , ..., dj7 sunt coeficientii functiei fj3 (bitii nscrisi n LUT). Deoarece
iesirile din primul nivel de multiplexoare pot avea valori care apartin numai multimii
{0, 1, C, C}, aceste valori pot fi produse prin matricea de conexiuni (vias-uri programate) ca n Figura4.21-c (nivelul de 4MUX2:1 corespunz
ator variabilei C este
realizat prin programarea matricei de vias-uri, deci se elimin
a acest nivel). La nivel
de tranzistor (porti de transmisie) implementarea celulei logice de tip VPGA este
cea din Figura 4.21-d. Celula de tip VPGA obtinut
a este mai rapid
a dec
at celula
FPGA pe baz
a de SRAM deoarece are un nivel logic mai putin n arborele LUT, iar
conectarea la variabilele functiei se face printr-o conexiune metalizat
a de tip via care
este mai rapid
a dec
at conexiunea, cu rezistenta
destul de ridicat
a, a unui tranzistor
de trecere de la FPGA.
VPGA reprezint
a un compromis ntre tehnologia FPGA si tehnologia cu celule
standard, customiz
and aplicatia printr-o programare prin mascare (total sau partial)
a rut
arii si a implement
arii functiilor logice n locul program
arii prin bitstream a
tranzistoarelor de trecere si a LUT-urilor. In raport cu tehnologia cu celule standard,
tehnologia VPGA realizeaz
a: un cost mai sc
azut, deoarece nu sunt necesare toate
etapele de mascare ale procesului (se elimin
a cele pentru procesarea componentelor
diferite deoarece de data aceasta toate componentele sunt identice) si datorit
a regularit
atii structurii; o suprafata
de siliciu si un timp de propagare comparabil. In
raport cu tehnologia FPGA: pretul de cost este mult mai sc
azut (nu si pentru serii
foarte mici!); un timp de propagare mult mai bun, dar n schimb se diminueaz
a mult
flexibilitatea (reconfigurabilitatea, vezi Figura 4.26-c) n proiectare. Un tip de celul
a,
n acest sens, care are at
at LUT-uri c
at si programabilitate prin vias-uri este cea
conceput
a si produs
a de firma eASIC (tehnologia eASIC).

581

4.7. PROIECTAREA PENTRU TESTABILITATE


Conexiune programabila
f3j
dj0
dj1
dj2
dj3
dj4
dj5
dj6
dj7

A
B

Celula logica
(CLB)
MUX

Adr
000
001
A 010
B 011
C 100
101
110
111

f3j

LUT

a)

MUX 2:1

MUX 2:1

CLK

b)

dj7

MUX 2:1

MUX 2:1

MUX 2:1

dj6

dj5

dj4

MUX 2:1

dj3

dj2

MUX 2:1

dj1

dj0

f3j

f3j

A
B

MUX 2:1

C
C

Matrice
de
Viasuri

V DD
V SS

C
C

Matrice
de
Viasuri

V DD
V SS
dj4C+d j5C

d)

MUX 2:1

MUX 2:1

dj6C+d j7C

dj0C+d j1C

dj2C+d j3C

Conexiune Via
(programabila)

c)

Figura 4.21 VPGA. Conversia unei celule logice de tip FPGA (a) ntr-o structur
a
de celul
a programabil
a prin vias-uri (b), (c), (d), VPGA.

4.7

PROIECTAREA PENTRU TESTABILITATE

Testarea/verificare functionalit
atii unui circuit digital se face prin aplicarea unor
semnale (vectori) de intrare si observarea semnalelor de iesire care se compar
a cu
valorile asteptate de semnale; sau, altfel, pentru a obtine anumite valori pe iesire se
comand
a intrarea cu un anumit set de vectori de test. De fapt, acest proces se reduce
la realizarea unor actiuni de control a setului de vectori de test si de observare (si
analizare) a setului de valori obtinute la iesire. Aceastora le corespund dou
a notiuni
n teoria sistemelor, cea de controlabilitate si cea de observabilitate, notiuni ce vor fi
definite n continuare.
Definitia 4.1 Controlabilitatea st
arilor este complet
a pentru un sistem dac
a
pentru oricare stare a sa q(k0 T ), din momentul k0 T exist
a o succesiune de vectori de
intrare X(kT ), k = k0 , k1 , ..., kN 1 care realizeaz
a tranzitia sistemului n oricare stare
q(kN ), ntr-un num
ar finit de tacte kN > k0 . 

582

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Definitia 4.2 Controlabilitatea iesirilor este complet


a pentru un sistem dac
a
din oricare moment de timp k0 T exist
a o succesiune de vectori de intrare X(kT ), k =
k0 , k1 , ..., kN 1 dup
a care iesirea atinge valoarea Y (kN ), ntr-un num
ar finit de tacte
kN k 0 . 
Definitia 4.3 Un sistem este total controlabil dac
a este complet controlabil
pentru stare si iesire pentru oricare kN k0 . 
Dual
a notiunii de controlabilitate este notiunea de observabilitate.
Definitia 4.4 Un sistem este complet observabil dac
a oricare stare q(k 0 T )
din momentul de timp k0 T , poate fi determinat
a prin cunoastera setului de vectori
de intrare X(kT ) si observarea iesirii Y (kT ), k0 k < kN , ntr-un num
ar (kN ) finit
de tacte. Si este total observabil dac
a este complet observabil pentru oricare k 0 si
oricare kN > k0 . 
,,
Un circuit combinational trece testul dac
a iesirea sa este corect
a pentru toti cei
n
2 vectori de test aplicati pe intrare. Un circuit logic secvential, care are 2 k st
ari,
necesit
a teoretic aplicarea a c
ate 2n vectori de test pe intrare pentru fiecare stare,
deci n total 2n+k teste (toate elementele produsul cartezian X Q); ceea ce uneori
duce la un consum de timp/calcul inacceptabil. Se poate reduce timpul te testare,
prin eliminarea unui num
ar de teste, dac
a se exploateaz
a anumite particularit
ati ale
circuitului.
Practic, pentru testare se utilizeaz
a punctele de intrare si iesire din circuit si eventual puncte interne de test, la un sistem realizat pe o plac
a de circuit imprimat sau
la un circuit implementat cu componente discrete. La circuitele integrate punctele
de test se reduc n exclusivitate la pini. Pentru circuitele VLSI, cu sute de terminale si aplicare prin tehnologie de lipire pe suprafat
a, SMT (Surface-Mount
Technology), cu circuite pe ambele p
arti ale pl
acii de circuit imprimat, accesul la
toti pinii necesari pentru procesul de testare devine o problem
a. Pentru a elimina
aceast
a problem
a si a usura controlabilitatea si observabilitatea, pe care se bazeaz
a
procesul de testare, circuitele VLSI actuale sunt proiectate cu un suport pentru
testabilitate, DFT (Designed for Testability). Un circuit cu suport DFT necesit
a
putini pini speciali, maxim cinci, dar cu tot acest num
ar redus de pini accesibili se pot
accesa o multime de puncte din interior care nu au iesirea direct
a la un pin I/O. In
acest sens, n continuare, se va prezenta n ce const
a o proiectare pentru testabilitate
si apoi standardul care descrie DFT pentru circuitele integrate.
Pentru un automat, implementat ca un circuit integrat autonom, exist
a acces doar
la pinii s
ai care sunt intr
arile principale, IP, si iesirile principale, OP, bitii cuv
antului
de stare zn1 , zn2 , ..., z1 z0 nu sunt accesibili, starea este o m
arime intern
a a automatului. Se pot explora (scana) si bitii st
arii interne dac
a se realizeaz
a, n acest
sens, un traseu de explorare (scan path) n interiorul automatului la registrul
de stare, Figura 4.22-a. Acest traseu este format din celulele registrului de stare
c
arora li se modific
a putin structura n scopul obtinerii a celor patru facilit
ati ale unui
registru general: conversie serie-serie, serie-paralel, paralel-serie, si paralel-paralel,
Figura 3.81. Structurarea, de principiu al unui astfel de registru scan este prezentat
a
n Figura 4.22-b. O celul
a scan este, n fond, un bistabil D, similar cu cel din Figura
3.80-a, care n functie de semnalul de selectare TMS (Test Mode Selection) poate
multiplexa intrarea D, fie ntr-o intrare paralel
a, fie ntr-o intrare serie TDI (Test
Data In) de la celula scan anterioar
a; pentru regimul normal, TMS = 0, celula scan

583

4.7. PROIECTAREA PENTRU TESTABILITATE

Intrari
principale

Iesiri
principale

IP

OP
w0

Celula
scan

z0
CLC

w1

z1
w2

z2

a)

TCLK,TMS
TDI

TDO

k
k
k

Celula
scan

CLC 4


k
k

2 celule
scan

Canale de
rutare

CLC 1

CLC 6

k
k

TDI

k
k
k

CLC 3

k
k

kk
kk

TMS

Iesiri paralele

latchuri

3 celule
scan

CLC 2

Celula
scan

Registrul
de stare

k
k

k
kk
k

Pad

3 celule
CLC 5
scan

TDO

c)
Celula scan

Iesire paralela

latch
TMS
TDI
TCLK

N1

N2

CLK
b)

TDO

CLC 1

Iesire
serie

Intrare paralela

1
2
TMS, TCLK

Intrari paralele

IP

TDI Intrare
serie

CLK
TDO

0
CLC 2
+
CLC 3

CLC 4
+
CLC 5

CLC 6

OP

3
7
d)

TCLK
TMS

2
TDI

Celule scan

Figura 4.22 Metoda traseului scan pentru testare: a) transformarea registrului de


stare al unui automat ntr-un traseu scan; b) structura de principiu a unui traseu scan cu
figurarea semnalelor de control; c) exemplificarea unei posibile pozition
ari a punctelor de
test pe un layout; d) detalierea traseului scan pentru circuitul de la figura (c).

584

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

se ncarc
a paralel, iar pentru regimul de testare, TMS = 1, celula se ncarc
a serie.
Un grup de celule scan pot forma fie un registru paralel, cu nc
arcare pe semnalul de
ceas CLK al sistemului, fie un registru serie, cu deplasare pe semnalul de ceas de
testare TCLK; sunt necesare dou
a semnale de ceas deoarece un registru de deplasare
necesit
a o frecventa
mai mic
a TT CLK > TCLK . Aceast
a celul
a de registru (scan) este
completat
a pe iesire cu un latch astfel nc
at n registru s
a poat
a fi mentinut la iesire un
cuv
ant (paralel) n timp ce alt cuv
ant sau chiar cuv
antul stocat n latch-urile pentru
iesirea paralel
a a registrului, este deplasat n registru, pe semnalul de ceas TCLK,
dinspre intrarea TDI spre iesirea de date serie, TDO (Test Data Output).
Traseul scan, pentru automatul cu un cuv
ant de stare de trei biti z2 z1 z0 , din Figura
4.22-a, este format din trei celule scan, interconectarea de tip serie dintre celule este
desenat
a cu linie ngrosat
a. In fiecare moment se poate citi starea automatului: se
trece n modul test, TMS = 1, si prin aplicarea a trei tacturi ale semnalului TCLK
se obtine serie, pe iesirea TDO, valoarea cuv
antului de stare z2 z1 z0 (observabilitate).
De asemenea, in fiecare moment se poate injecta o stare n felul urm
ator: se trece n
modul de test TMS = 1, cuv
antul de stare z2 z1 z0 se aplic
a la intrarea serial
a TDI pe
durata a trei impulsuri de ceas (controlabilitate).
La o proiectare pentru testabilitate o celul
a sau grupuri de celule scan vor fi plasate
n interiorul circuitului integrat, n punctele de testare, ca n Figura 4.22-c. Metoda
traseului scan se bazeaz
a pe faptul c
a orice circuit digital poate fi privit ca fiind format
din blocuri de circuite combinationale interconectate prin elemente de stocare (latchuri, bistabile), Figura 3.76-a. Dac
a aceste elemente de stocare sunt de tipul celul
a
scan, prin proiectare se poate realiza ca toate s
a fie celule scan, atunci c
and circuitul
este trecut n regim de test, TMS = 1, poate s
a formeze un registru de deplasare.
In aceast
a abordare, pentru circuitul cu layoutul de principiu din Figura 4.23-c, n
Figura 4.23-d este prezentat traseul scan compus din registrul de deplasare cu opt
celule scan. Semnalele din cele opt puncte de test pot fi citite serie la iesirea TDO, pe
durata a opt semnale de ceas TCLK, sau n fiecare punct de test poate fi nscris
ao
valoare logic
a prin aplicarea pe intarea serie TDI, a cuv
antului format din opt valori
binare, pe durata a opt semnale de tact.
Proiectarea circuitelor VLSI pentru testabilitate poate utiliza standardul IEEE
1149. (Boundary-Scan Test) elaborat n 1990 si apoi completat cu fiecare variant
a
lansat
a. Recent a fost introdus standardul IEEE 1532 pentru dispozitivele care pot
fi configurabile/programabile n sistem, standard ce este compatibil cu 1149. Arhitectura suportului standardului IEEE 1149.1 pus
a la dispozitia proiectantului pentru
DFT este prezentat
a (simplificat) n Figura 4.23-a. Fiecare pin I/O al circuitului in,,
tegrat este inzestrat n interior cu o celul
a scan, acestea sunt unite ntr-un registru
scan (boundary register); acest registru scan controleaz
a si observ
a activitatea la pinii
I/O ai circuitului. Circuitului integrat, pe l
ang
a pinii proprii I/O mai trebuie s
a i
se adauge patru pini pentru semnalele TCLK, TDI, TDO, TMS; optional este si al
cincelea pin pentru un semnal de resetare, TRST L.
Cuvintele serie introduse pe intrarea TDI pot fi cuvinte dat
a care contin date
ce se ncarc
a serie n registrul scan sau pot fi cuvinte intstructiune care se ncarc
a
serie n registrul de instructiuni (care are o structurare ca si registrul scan). Exist
a
un automat (ASM cu 16 st
ari) care, n functie de valoarea semnalului TMS aplicat din exterior, genereaz
a n fiecare stare semnale pentru procesul de decodificare a
instructiunii care a fost nc
arcat
a n registrul de instructiuni. In functie de cuv
antul

585

4.7. PROIECTAREA PENTRU TESTABILITATE


pini I/O
TCLK

TDI

Traseul (registru) scan

N1

Registru
de instructiuni

Automat
(cu 14 stari)

D
E
C
O
D
I
F
I
C
A
T
O
R

TMS N2

Semnale

TMS N1 pentru

TMS i controlul

modului
de
functionare
al celulelor
TMS 1 din
traseul
TMS 0 scan
Decodificarea
instructiunilor

ASM

Traseul (registru) scan

N2

celula
scan

N4

Circuitele
sistemului
integrat

Bypas
registru

TMS TRST_L TDO


a)
Pin de intrare

N3

Celula
scan

pini I/O

Circuitele sistemului
integrat

De la
TDI

la
TDO

Circuitele
sistemului integrat
b)

Registru
scan

Pin I/O
(bidirectional)

Pin de iesire
(TSL)

Pin de
iesire

Figura 4.23 Suportul pentru DFT oferit prin standardul IEEE 1149 (Boundary scan): a) arhitectura circuisticii suplimentare introdus
a ca suport DFT ntr-un circuit
integrat; b) adaptarea celulelor din registrul scan n functie de modul de utilizare al unui
pin.

specific al instructiunii si de starea prezent


a a automatului, pe durata fiec
arui semnal
TCLK, se genereaz
a semnalele de control (TMS0 ,TMS1 , . . . , TMSN 2 , TMSN 1 ),
care prin aplicare la registrul scan fixeaz
a modul de functionare a fiec
arei componente; deci fiecare celul
a scan poate s
a si modifice functionarea de la tact la tact n
functie de instructiunea primit
a n registrul de instructiuni. De fapt, aceast
a aducere succesiv
a a instructiunilor n registrul de instructiuni, decodificarea si executia
instructiunii (gener
and comenzi la registrul scan) constituie o functionare de procesor,
iar suportul circuistic introdus de standard nu este altceva dec
at un procesor rudimentar/simplificat. Testarea circuitului integrat, generarea semnalelor TCLK, TMS,
TDI, TRST L si colectarea semnalului TDO, se realizeaz
a n exterior pe un calculator
echipament de testare (tester).

586

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Programul de testare const


a n secvente de cuvinte intructiuni si secvente de cuvinte dat
a care se introduc serial, prin pinul TDI, n suportul hardware (registrul
de instructiuni, registrul scan) inculs n circuitul integrat. Pentru dezvoltarea programelor de testare, pe echipamentul exterior de testare, exist
a limbaje specializate
n acest sens, BSDL (Boundary-Scan Decription Language).
Un alt element necesar n suportul circuistic implementat pe circuitul integrat este
registrul de scurtare (bypas). Acest registru, compus dintr-o singur
a celul
a scan c
and
este selectat, reduce (prin conectarea intr
arii TDI la iesirea TDO) la un singur tact
num
arul de tacturi de deplasare ntre TDI si TDO.
Monitorizarea unui pin al circuitului printr-o celul
a scan se adapteaz
a n functie
de modul de utilizare al pinului I/O, Figura 4.23-b. Pentru un pin utilizat numai
pentru intrare semnalul cules de la acesta se aplic
a la celula scan atasat
a ca intrare
paralel
a iar iesirea paralel
a (de la latch) se aplic
a la circuitele sistemului integrat.
Iar pentru un pin utilizat numai pentru iesire sensul de aplicare al semnalelor se
inverseaz
a. Pentru un pin de iesire tip TSL sunt necesare dou
a celule scan, iar pentru
un pin cu transfer bidirectional sunt necesare trei celule (structuri mai complexe pot
include aceste function
ari ntr-o singur
a celul
a scan). La circuitele CPLD, FPGA
care prezint
a pe perimetru exterior blocuri I/O configurabile, n care exist
a celule de
stocare, aceste celule de stocare pot fi proiectate astfel nc
at s
a permit
a si o configurare
de celul
a scan ce poate fi inclus
a intr-un (boundary) registru scan.

4.8

COMBINAT
IONAL SAU SECVENT
IAL?

Cu suportul circuistic prezentat, n acest capitol, pot fi implementate at


at circuite combinationale c
at si circuite secventiale. O functie logic
a, aritmetic
a sau de
comunicatie poate fi implementat
a pe un circuit combinational sau pe un circuit
secvential; ntre cele dou
a modalit
ati se poate realiza o conversie n ambele sensuri,
at
at de la combinational la secvental c
at si de la secvential la combinational. Dar
pentru decizia combinational/secvential proiectantul trebuie s
a aib
a un criteriu. In
aceast
a sectiune se va explica ce ar putea fi considerat un astfel de criteriu. Pentru
aceasta, ntre cei trei parametrii ai unui circuit implementabil: dimensiunea, S(n),
ad
ancimea, D(n), si complexitatea C(n), s
a analiz
am, pentru nceput, care este balansul ntre primii doi parametrii S(n) D(n).
Teorema 4.1 (lui Spira [Spira0 71]). Un circuit arbore degenerat, de dimensiune si ad
ancime constante, D(n) O(n) si S(n) O(n), poate fi transformat ntr-un
circuit echivalent av
and ad
ancimea n O(log n) si dimensiunea n O(n ) cu (1).
Pentru demonstrarea teoremei se va considera arborele degenerat prezentat n
Figura 4.24-a n care fiecare CLCi , i = 1, 2, . . . , n, este un circuit combinational cu
dou
a intr
ari, o iesire si aceeasi structur
a, iar num
arul n este o putere a lui 2; aceast
a
restrictionare nu reduce generalitatea teoremei (fiecare circuit CLCi ar putea fi diferit,
prezent
and k intr
ari si m iesiri, de exemplu). Succesiunea demonstratiei reflect
a si
modalitatea practic
a de transformare a circuitului.
Arborele degenerat se sectioneaz
a n doi subarbori primul cu n/2 circuite,CLC 1
CLCn/2 , si cel de al doilea tot cu n/2 circuite, CLCn/2+1 CLCn . Iesirea primului
subarbore se aplic
a pe intrarea de selectare a unui MUX2:1 (MUXE), iar pe intr
arile

587

4.8. COMBINAT
IONAL SAU SECVENT
IAL?

x0 x1

y1

x2

CLC1
y1

CLC2
y2

xn/2

x2

y2

y(n/2+1)

yn/2

xn/2

a)

y(n1)

yn/2

xn

CLCn
1

MUX 2:1
yn

xn

y(n1)

xn

y(n1)
n/2
circuite

y(n/2+1)

CLC(n/2+1)

y(n/2+1)

CLC(n/2+1)

CLCn

CLCn/2

x(n/2+1)

y(n/21)

CLCn/2

"1" x(n/21)

CLC(n/2+1)

CLC2

y(n/21)
n/2
circuite

"0" x(n/21)

x0 x1

CLC1

CLCn
yn

b)

Figura 4.24 Conversia unui circuit de la ad


ancimea n O(n) ntr-un circuit cu
ad
ancime n O(log n) prin aplicarea teoremei lui Spira: a) circuitul initial cu D(n)
O(n); b) circuitul obtinut, cu ad
ancime njum
at
atit
a, dupa prima sectionare (procesul de
njum
at
atire a ad
ancimii poate continua).

de date ale multiplexorului se aplic


a c
ate o copie a celui de al doilea subarbore.
Una dintre intr
arile celui de al doilea subarbore (din structura nesectionat
a) este
iesirea yn/2 care poate avea, indiferent de valorile aplicate variabilelor de intrare
x0 , x1 , . . . , xn/2 , de la primul subarbore, fie valoarea 0, fie valoarea 1. Pentru ca
functionarea circuitului s
a nu se modifice, prin aceast
a sectionare, se aplic
a la intr
arile
corespunz
atoare lui yn/2 de la cele dou
a copii ale celui de-al doilea subarbore, la
una valoarea 0 iar la cealalt
a valoarea 1. Evident c
a, atunci c
and primul subarbore
genereaz
a la iesirea sa valoarea 0 (yn/2 = 0) se va selecta la iesirea multiplexorului
copia celui de al doilea subarbore care are pe intrare valoarea 0, respectiv se va
selecta copia celui de al doilea subarbore care are pe intrare valoarea 1 c
and y n/2 = 1.
Ad
ancimea circuitului rezultat s-a njum
at
atit iar dimensiunea a crescut cu jum
atate
din cea a arborelui de intrare plus un MUXE.
Celor trei subarbori rezultati dup
a prima sectionare (i = 1) li se poate aplica
fiec
aruia, similar o nou
a sectionare (i = 2) pe la jum
atatea circuitelor CLC componente obtin
andu-se din nou aproximativ o njum
at
atirea ad
acimii circuitului rezultat;
num
arul de section
ari posibile succesive este i = log2 n, deci o ad
ancime D(n)
O(log n). De fiecare dat
a c
and se aplic
a o sectionare num
arul de circuite CLC i se

588

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

multiplic
a cu 1,5 si se adug
a un num
ar de 3i circuite MUXE, n consecinta
dimensi2
unea circuitului ram
ane n O(n ).
Pentru cazul c
and CLCi sunt cu iesiri multiple, de exemplu un num
ar de m iesiri,
multiplexarea se realizeaz
a cu m MUX2m :1. Dup
a prima sectionare cele m iesiri ale
CLCn/2 se aplic
a la cele m intr
ari de selectare de la fiecare dintre cele m multiplexoare
2m : 1. Pentru copia subarborelui al doilea, ale c
arui iesiri sunt aplicate la intr
arile
de date de ordin i, 0 i 2m 1, de la cele m multiplexoare, la intrarea sa se aplic
a
cuv
antul care este codul binar natural al num
arului i.
Exemplul 4.5 [Stefan 0 00] Circuitul detector de paritate din Figura 4.25-a sa i se
aplice teorema lui Spira.
x0 x1

x0 x1

"1" x2

"0" x2

x2
2

x3
S

3
a)

x3
3

0
MUX 2:1
y

b)

x0 x1

x2 x3

(2,3)

x0 x1

x2 x3

x2 x3

(2,3)

(2,3)

x3

S
c)

x0 x1

x2 x3

(2,3)

(2,3)
S

0
MUX 2:1

0
MUX 2:1
y

x0 x1

x2 x3

0
XOR

y
d)

e)

MUX 2:1
y

f)

Figura 4.25 Exemplu de aplicare a teoremei lui Spira pentru conversia unui
structuri serie de generator de paritate pentru un circuit de patru biti ntr-o
structur
a paralel
a (pe baza de XOR2)

Solutie: Arborele degenerat format din 3 porti XOR este sectionat dup
a prima poart
a;
primul subarbore format din poarta XOR, notat
a cu 1, se aplic
a la intrarea de selectare S
a multiplexorului 2:1, iar cele dou
a copii ale celui de-al doilea subarbore, format din portile
XOR notate cu 2 si 3, se aplic
a la intr
arile de date 0,1 ale multiplexorului, Figura 4.25-b.
Copia celui de-al doilea subarbore care are pe intrare valoarea 1 se transform
a ntr-o singur
a
poart
a NXOR, notat
a cu (2,3) pentru c
a 1 x2 x2 x3 = x2 x3 , iar copia care are
pe intrare valoarea 0 se transform
a ntr-o singur
a poart
a XOR, notat
a cu (2,3) pentru c
a:
0 x2 x2 x3 , Figura 4.25-c si d. Operatorul de inversare de la NXOR mpreun
a cu

589

4.8. COMBINAT
IONAL SAU SECVENT
IAL?

structrura MUX2:1, Figura 4.25-e, formeaz


a o structur
a de XOR, obtin
andu-se n final,
Figura 4.25-f; structur
a paralel
a de detector de paritate pentru cuvinte de patru biti (vezi
Figura 2.19-c si d). Suger
am, ca exercitiu, aplicarea teoremei lui Spira pentru conversia
arborilor degenerati formati din: 1 sapte porti XOR (detector de paritate pentru cuvinte
de un byte, Figura 2.19-b); 2 nserierea a sapte porti AND2; 3 nserierea a sapte porti
OR2.

,,
,,
Teorema lui Spira ne arat
a c
a la conversia serialului n paralel scade timpul
,,
(ad
ancimea) dar creste dimensiunea. Dar cum se manifest
a acest balans c
and se
trece de la secvential la combinational si invers ? La un circuit combinational timpul
de procesare T (n) se va considera proportional cu ad
ancimea D(n).
Un bloc de stare ntr-o organigram
a ASM n care se comut
a n aceeasi stare de n
ori, adic
a se parcurge repetitiv o bucla de n ori, cum este prezentat n Figura 2.16-a
poate fi modelat printr-o nseriere de n celule identice obtin
andu-se un circuit combinational, Figura 2.16-c.
q(t0)

x(t0)

CLC2

x(t1)

(f:X Q Y)

CLC1

Q+

Registru

CLC2

CLC1
q(t2)

CLC2

CLC2

CLC1
q(ti+1)

y(t1)

y(ti)

q(tn1)

x(tn)
CLC1

a)

y(t0)

q(ti)

x(ti)

(g:X Q Q)

CLC1
q(t1)

CLC2

y(tn)

b)

Figura 4.26 Conversia unui automat Mealy (a) ntr-un circuit combinational (b)
cu S(n) O(n) si D(n) O(n). Conversia invers
a este posibil
a dac
a se poate
structura CLC1 si CLC2 conform retelei din (b).

S
a consider
am cazul general, Figura 4.26-a, al unui automat Mealy care calculeaz
a
functia de transfer f : (X Q) Y pe circuitul combinational CLC2 si functia de
tranzitie g : (X Q) Q pe cicruitul combinational CLC1 . Aplic
and la intrare, sincron cu ceasul, o succesiune de valori ale semnalului de intrare x(t0 ), x(t1 ), . . . , x(ti ),
. . . , x(tn ) automatul va parcurge o traiectorie compus
a respectiv din st
arile q(t 0 ),
q(t1 ),. . . , q(ti ), . . . , q(tn ) gener
and iesirile y(t0 ), y(t1 ), . . . , y(ti ), . . . , y(tn ); cu x(ti )
X, q(ti ) Q si y(ti ) Y . Acest automat rezolv
a problema prelucr
arii sirului de
intrare x(ti ) ntr-un timp O(n) pe un circuit CLC2 de dimensiune DCLC2 = O(1), iar

590

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

pentru generarea st
arii urm
atoare (semiautomat) pe circuitul CLC1 de dimensiune
DCLC1 = O(1) tot ntr-un timp O(1). Dar aceeasi prelucrare a sirului de intrare
x(ti ), i = 0, 1, . . . , n se poate realiza prin nserierea de n ori a p
artii combinationale a
automatului (CLC1 + CLC2 ) ca n Figura 4.26-b. La primul circuit combinational se
aplic
a x(t0 ) si starea initial
a q(t0 ), se genereaz
a iesirea y(t0 ) si starea viitoare q(t1 ), la
al doilea circuit combinational se aplc
a x(t1 ) si starea q(t1 ), se genereaz
a iesirea y(t1 )
si starea urm
atoare q(t2 ). Astfel, din aproape n aproape la aplicarea valorilor intr
arii
x(ti ) si a st
arii q(ti ) se calculeaz
a iesirea y(ti ), deci circuitul combinational pentru sirul
de valori de intrare aplicat la succesiv, genereaz
a pe iesiri aceeasi succesiune pe care
o realizeaz
a si circuitul secvential de la care am pornit. La circuitul combinational
,,
obtinut prin desf
asurarea p
artii combinationale a automatului, care se compune
prin nserierea de n ori a circuitului combinational respectiv, at
at ad
ancimea D(n)
c
at si dimensiunea S(n) sunt n O(n).
,,
Circuitul combinational obtinut prin desfasurarea p
artii combinationale a automatului, prin aplicarea teoremei lui Spira, poate fi convertit ntr-un circuit combinational cu dimensiunea D(n) O(n ) si ad
acimea D(n) O(log n). Prin conversia
automatului, cu o ad
acime a p
artii combinationale n O(1) si un timp de procesare n
O(n), deci un produs S(n) T (n) = O(n), ntr-un circuit combinational, echivalent
din punct de vedere al prelucr
arii, se obtine o dimensiune n O(n ) si o ad
ancime n
O(log n), deci n cel mai bun caz un produs S(n) T (n) = O(n log n).
Conversia invers
a, de obtinere a unui circuit secvential dintr-un circuit combinational, este posibil
a dac
a se poate structura partea combinational
a a automatului
conform retelei din Figura 4.26-b.
Pentru proiectant criteriul de decizie n alegerea combinational sau secvential
poate fi produsul ad
ancime dimensiune, D(n) S(n), al circuitului, care este
proportional cu produsul dintre timpul de procesare si dimensiune, T (n) S(n). Costul unui circuit, n general, este proportional cu dimensiunea S(n), (vezi sectiunea 2.3
si 4.1), iar performanta (n general viteza de procesare) este invers proportional
a cu
T (n), deci produsul T (n)S(n) poate fi considerat ca fiind raportul cost/performanta
.
Produsul T (n) S(n) poate fi utilizat ca un criteriu n decizia secvential/combinational, varianta de circuit care asigur
a o valoare mai mic
a pentru acest produs poate fi
selectat
a deoarece realizeaz
a un cost mai mic pentru unitatea de performata
. Balansul
dintre S(n) si D(n) este exprimat de relatia 2.9 care arat
a c
a m
arirea performantei
(vitezei) de un num
ar de ori va determina cresterea costului cu un mai mare num
ar!
In Tabelul 4.2 sunt colectate caracteristicile de circuit D(n), T (n) pentru circuite
sumator si circuite multiplicator n variante combinationale si secventiale. Circuitul
multiplicator secvential (pozitia 5 din tabel) nu a fost prezentat n aceast
a carte; acest
circuit utilizeaz
a algoritmul clasic de nmultire. Se adun
a succesiv produsele partiale
obtinute prin nmultirea denmultitorului cu c
ate o cifr
a a nmultitorului, dar fiecare
produs partial nainte de adunare se deplaseaz
a cu un rang spre st
anga. Inspect
and
tabelul se constat
a c
a produsul S(n) T (n) (raportul pret/performanta
) este mai
bun la variantele cu implementare secvential
a dec
at la variantele cu implementare
combinational
a at
at pentru sumatoare c
at si pentru multiplicatoare. In concluzie,
apare c
a din punct de vedere al raportului pret/performanta
sunt mai avantajoase
,,
circuitele mai lente! Un circuit n acest sens care ncetineste timpul de procesare
dar n schimb creste utilizarea componentei combinationale si care poate fi suport
de implementare at
at pentru combinational c
at si pentru secvential, este FPGA-ul

591

4.8. COMBINAT
IONAL SAU SECVENT
IAL?
Tabelul 4.2
Valori ale produsului S(n) T (n) pentru variante de circuite implementate combinational si secvential

1
2
3
4
5

TIPUL DE CIRCUIT
Sumator cu transport progresiv,
STP (sectiunea 2.5.2.1)
Sumator cu transport anticipat,
STA (sectiunea 2.5.2.1)
Sumator serial cu transport
succesiv (secvential)
(problema P3.44 si P3.76)
Multiplicator matriceal
(sectiunea 2.5.3.1)
Multiplicator secvential

S(n)

T (n)

S(n) T (n)

O(n)

O(n)

O(n2 )

O(n3 )

O(1)

O(n3 )

O(1)

O(n)

O(n)

O(n2 )

O(n)

O(n3 )

O(1)

O(n)

O(n)

utilizat cu timp multiplexat.


Circuitul FPGA cu timp multiplexat, TM-FPGA. Modalit
atile de organizare ale unui circuit FPGA sunt prezentate n Figura 4.10 si dintre acestea varianta
,,
de organizare de tip matriceal este reluat
a n Figura 4.27-a. In spatele fiec
arui
punct programabil (din CLB-uri sau resurele de interconectare) exist
a c
ate o celul
a
memorie (latch), a c
arei valoare nscris
a determin
a programarea punctului respectiv;
totalitatea acestor celule de memorie constituie memoria de reconfigurare a circuitului FPGA, aceast
a memorie va fi referit
a ca plan de memorie de reconfigurare sau
context.
Un circuit TM-FPGA prezint
a distribuit, n fiecare dintre punctele de programare nu o singur
a celul
a de memorie (latch) ci un num
ar de k celule de memorie
de reconfigurare care, toate, la nivelul ntregii suprafete a circuitului, pot fi privite
c
a formeaz
a k plane de memorie de configurare (k contexte), Figura 4.27-c. La un
moment dat al function
arii circutului doar continutul unui singur plan contextul
curent comand
a punctele de programabilitate. Schimbarea unui plan de memorie
cu un altul, adic
a modificarea functiei realizat
a de c
atre FPGA (prin actiunea unui
alt context), se poate realiza ntr-un interval de timp mai mic de 25ns. Oricare dintre cele k plane de memorie de configurare poate fi nc
arcate, din exterior n timp
ce FPGA-ul functioneaz
a sub programarea (sub informatia) din unul din planele de
memorie (contextul curent).
Organizarea planelor de memorie de reconfigurare este prezentat
a n
Figura 4.27-d. Continutul unui plan de configurare i, i i k, se aplic
a la liniile de bit (sub forma unui cuv
ant foarte lung > 105 biti) si acest continut se va nscrie
n celulele de memorie M ale planului n momentul c
and se activeaz
a semnalul de selectare, Wi . Citirea unui plan de memorie si transformarea acestuia n context curent
se face prin activarea liniei de cuv
ant respective, Wi ; prin tranzistoarele de trecere,
comandate prin activarea liniei Wi , continutul celulelor de memorie se aplic
a la liniile
de bit, iar pe frontul activ al semnalului de ceas, CLK, se nscrie n latch-urile D care
fixeaz
a noul context.
O alt
a modificare a unui circuit FPGA pentru a fi transformat ntr-un circuit

592

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

Trasee pentru
interconectare

CLB
CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

Iesire memorata
O1

registru

O2

Matrice pentru
interconexiuni

a)

b)

la CLBuri si resursele de interconectare

CLBuri si resursele

  

Contextul
curent

de interconectare

  
D   !!"

QM Q

M
Configuratie SRAM
(Context 1)
Context 2

#$%&'(

W1 Selectare
Context 1

W2 Selectare
Context 2



Wk Selectare
Context k

QM Q

CLK

QM Q
D



  

linii de bit

Context k
c)

Iesire
directa

De la CLB

d)

Configuratie/Date de la
memoria externa/utilizator

Figura 4.27 Circuitul FPGA cu timp multiplexat TM-FPGA: a) organizarea matriceal


a a unui circuit FPGA si extensia acesteia la un TM-FPGA (b) prin ad
augarea pe
iesirea fiec
arui CLB a unui microregistru; c) reprezentarea intuitiv
a a planelor de memorie
de reconfigurare (contexte); d) structurarea circuitelor din componenta planelor de reconfigurare.

4.8. COMBINAT
IONAL SAU SECVENT
IAL?

593

TM-FPGA este introducerea microregistrelor. La iesirea fiec


arui CLB se ataseaz
a
un num
ar de k celule bistabile (microregistru) egal cu num
arul de plane de memorie
de configurare, Figura 4.27-b. In urma function
arii unui CLB, fiind configurat cu un
context, valoarea logic
a generat
a se poate obtine direct la iesire, iesirea notat
a cu
O2 , sau se nscrie n una dintre celulele bistabil ale microregistrului. Microregistrul
memoreaz
a valorile iesirilor unui CLB (at
at cele combinationale c
at si cele secventiale)
pentru a fi p
astrate dup
a ce contextul FPGA-ului a fost schimbat. Inscrierea iesirilor
CLB-ului n microregistre poate fi validat
a prin acelasi semnal de ceas care se aplic
a
si CLB-urilor.
O valoare de iesire dintr-un CLB, memorat
a n microregistru poate fi aplicat
a
(evident printr-o rutare prin interconexiunile programabile) la intrarea aceluiasi CLB
sau la un altul, pentru contextul urm
aror sau pentru un context ulterior. Rezult
a
c
a microregistrul este suportul prin care se pot comunica semnale generate de FPGA
ntre dou
a contexte consecutive (comunicare adiacent
a) sau ntre dou
a contexte
separate de mai multe tacturi de ceas (comunicare direct
a).
Implementarea unui circuit pe FPGA poate fi distribuita pe c
ateva CLB-uri, pe
un ntreg circuit FPGA sau chiar pe c
ateva circuite FPGA, aceasta depinz
and de
dimensiunea circuitului de implementat. O astfel de utilizare se reduce la o abordare spatial
a a FPGA-ului pentru c
a nu se consider
a aspectul temporal al utiliz
arii resurselor implicate (LUT-uri, matrice de conectare, trasee de interconectare,
elemente de memorare). O abordare temporal
a a FPGA-ului consider
a o reutilizare n timp ale acestor resurse, adic
a cu ce frecventa
maxim
a, f max , aceste resurse
pot fi reutilizate (n timp), dar asigur
and o functionare corect
a a functiei implementat
a. Frecventa maxim
a de reutilizare depinde de timpul minim de propagare, pmin ,
prin lantul de resurse implicate n implementarea functiei, fmax 1/pmin . Utilizarea unui FPGA n regim de timp multiplexat se bazeaz
a tocmai pe aceast
a
reutilizare a resurselor (schimbarea contextului) cu o frecventa
de p
an
a la f max ; deci
TM-FPGA utilizeaz
a at
at abordarea spatial
a c
at si cea temporal
a si n acest fel utilizarea resurselor creste p
an
a la capacitatea maxim
a (pentru circuitul implementat
scade D(n) dar creste T (n)). Dificultatea care se ridic
a, la utilizarea unui circuit
TM-FPGA, este g
asirea partaj
arii/distribuirii optime a functiei de implementat, fie
n abordarea combinational
a fie n cea secvential
a, pe resursele utilizabile repetat
(prin schimbarea contextelor).
Pentru o implementare ca circuit combinational functia de realizat se partajeaz
a
n subfunctii (subcircuite), fiecare subcircuit trebuie s
a fie implementat pe resursele
existente ale FPGA-ului care sunt comandate de c
atre un context; prin comutarea
contextelor, al c
aror num
ar este egal cu num
arul de subfunctii ce proceseaz
a functia
respectiv
a. De exemplu, n Figura 4.28-a este prezentat
a o functie sub forma unui
grafic aciclic orientat compus din sase noduri (A, B, C, D, E, F ) la care se aplic
a la
intrare variabilele x3 , x2 , x1 , x0 si genereaz
a iesirea y. Se poate partaja n patru subcircuite (1,2,3,4), nodurile (de procesare) din fiecare subcircuit se repartizeaz
a pe
resursele circuitului TM-FPGA si sunt controlate printr-un context. Modul cum
cele patru contexte, n succesiunea 1,2,3,4, sunt repartizate celor patru subfunctii
este reprezentat pe organizarea din Figura 4.28-b; schimbarea contextelor corespunde
liniilor vericale trasate ntrerupt. Comunicarea adiacent
a de semnale se realizeaz
a la
schimbarea contextelor prin intermediul microregistrului. Pentru comunicarea direct
a
de semnale, ntre contexte neadiacente, semnalele sunt memorate n celule buffer (care

594

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

Subcircuit
1
x0
x1

Subcircuit
2

Subcircuit
3

Subcircuit
4

F
G

x2
x3
a)
Context
1
x0
x1

Context
2

Context
3

Context
4

F
G

x2

Context
1
x0
x1

Context
2

Context
3
F

G
x2

x3

x3

b)

c)

Context
4

Figura 4.28 Partajarea grafului unei functii pentru implementarea pe un TMFPGA: a) graful aciclic directionat al functiei si partajarea n subfunctii/subcircuite; maparea subcircuitelor pe contexte cu trei celule buffer (b) pentru comunicarea direct
a de
semnale; cu dou
a celule buffer (c).

sunt celule ale microregistrului). De exemplu, pentru comunicarea ntre nodurile A, E,


din contextul 1 cu nodul G din contextul 3 semnalele care se transmit sunt p
astrate n
cele dou
a celule buffer pe durata contextului 2 (celulele buffer sunt figurate prin dreptunghiuri desenate cu linie ntrerupt
a), iar pentru comunicarea semnalului ntre nodul
F din contextul 2 cu nodul D din contextul 4 este introdus
a celula buffer din contextul 3, deci n total 3 celule buffer. Printr-o alt
a repartizare a subfunctiilor pe contexte
se obtine organizarea din Figura 4.28-c, care a redus num
arul de celule buffer la doi.
Num
arul de celule buffer (care sunt celule ale microregistrelor) pe implementare poate
constitui un criteriu de optimizare.
Pentru implementarea ca circuit secvential partajarea este, ntr-o prim
a abordare,
aproape direct
a aceasta rezult
and din analiza grafului de tranzitie al st
arilor/iesirilor
sau organigrama ASM. Intr-o organigram
a ASM pentru fiecare perioad
a de ceas corespunde (se activeaz
a) doar un bloc de stare, Figura 3.15-d, deci fiec
arui bloc de stare
i va corespunde n implementare un context (mapare unu-la-unu ntre blocuri de
stare si contexte); num
arul contextelor fiind egal cu num
arul st
arilor din organigrama
ASM (aceast
a abordare simpl
a poate fi util
a doar atunci c
and numarul st
arilor este

I DE PROGRAMARE
4.9. COMPARAT
IE
INTRE DIFERITELE MODALITAT

595

mai mic dec


at num
arul contextelor din TM-FPGA). La trecerea dintr-o stare n stare
urm
atoare se comut
a pe contextul st
arii urm
atoare, mai mult, se poate utiliza chiar
codul st
arii urm
atoare, calculat la sf
arsitul st
arii prezente, pentru selectarea contextului urm
ator. Comunicarea informatiei ntre dou
a st
ari (codul st
arii urm
atoare
care devine stare prezent
a) se realizeaz
a prin intermediul microregistrelor. Aceast
a
partajare simpl
a apare datorit
a faptului c
a functionarea unui automat se bazeaz
a
pe calculul st
arii urm
atoare care apoi se aplic
a la intrare ca stare prezent
a, ceea ce
corespunde cu operarea n timp multiplexat la FPGA. Exist
a si alte modalit
ati de
partajare, a unui circuit secvential, care nu sunt restrictionate de aceast
a mapare
unu-la-unu [Chang 0 99].

4.9

COMPARAT
IE INTRE DIFERITELE
I DE PROGRAMARE
MODALITAT

Progresele permanente n tehnologiile circuitelor integrate, evidentiate prin legea lui Moore, a determinat n consencinta
si obtinerea de performante la limita
tehnologic
a, evident, aceste performante trebuind s
a justifice costul ridicat al noilor
tehnologii (Legea lui Gordon Moore(1965): num
arul de tranzistoare integrate pe unitatea de suprafat
a ntr-un circuit integrat se dubleaz
a n
,,
fiecare an ; n ultimii ani aceast
a crestere exponential
a, dup
a puterile lui doi, s-a
diminuat ajung
and la dubl
ari la intervale de 1,5 ani sau chiar mai mari). O evolutie
a principalelor dimensiuni specifice tehnologiei CMOS este dat
a n tabelul din Figura
4.29-a.
Evolutia unor dimensiuni n tehnologia CMOS
Anul
Caracteristica
a)

1999
0,14
14
800

Lungimea de canal [m]



Num
ar de tranzistoare milioane
cm2
Suprafata cipului [mm2 ]

2001
0,12
16
850

2003
0,10
24
900

Capabilitate

b)

de implementare/
realizare

rin t

ta p

ura
asig

ie

log
ehno

2006
0,07
40
1000

2009
0,05
64
1100

2012
0,03
100
1300

Diferenta
productivitatii
de proiectare

nici EDA)

oiectare (teh

ceruta prin pr

ani
Figura 4.29 Evolutii: a) a unor dimensiuni specifice tehnologiei de integrare CMOS;
b) a capabilit
atilor de implementare si proiectare pentru aplicatii

De asemenea, evolutia de p
an
a acum a circuitelor integrate a ar
atat c
a posibilit
atile
de implementare disponibile ntr-o nou
a tehnologie, care acum se dezvolt
a, vor dep
asi

596

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

cerintele de implementare derminate de abord


arile prin proiectare (prin tehnicile
EDA); aceast
a asertiune referit
a prin diferenta productivit
atii de proiectare
este redat
a grafic n Figura 4.29-b. In aceast
a figur
a este dat
a evolutia n timp
at
at a capabilit
atii de implementare asigurat
a de tehnologie c
at si a capabilit
atilor de
realizare cerute de c
atre proiectare/realizare.
In tehnologia CMOS, odat
a cu cobor
area caracteristicii de proces sub 100nm,
devine din ce n ce mai scump
a si num
arul de defecte creste. Cresterea num
arului de
defecte apare din ce n ce mai pregnant, pe l
ang
a defectele de fabricatie/de proces,
prin defecte de tip parametric (zgomot, nt
arziere etc). Cresterea costului se datoreaz
a
pe l
ang
a realizarea unui coeficient de recolt
a sc
azut (procentul de circuite functionale
obtinute din totalul de circuite intrate n fabricatie) si datorit
a cresterii costului de
proiectare (timp de proiectare, instrumente EDA mai costisitoare). Fortat de aceste
considerente n realizarea de circuite suport pentru aplicatii a ap
arut conceputul de
structuri regulate. Aceste structuri creaz
a circuite cu o anumit
a regularitate, pe
partea logic
a si pe partea de interconectare, nt
alnit
a la circuitele standard, dar, n
plus, ofer
a si unele facilit
ati de ASIC, n consecinta
rezult
and un tip de ASIC cu pret
sc
azut (vezi VPGA).
Circuistica suport n abordarea aplicatiilor este destul de extins
a, de la circuitele
logice discrete p
an
a la circuitele de tip full-custom. O structurare a acestei circuistici
suport este prezentat
a n Figura 4.30-a. In sectiunea 4.1 s-a specificat c
a prin ASIC
se ntelege un circuit dedicat la a c
arui finalizare, pe l
ang
a turn
atoria de siliciu,
intervine si beneficiarul prin proiectare semicustom. In structurarea din aceast
a figur
a
notiunea de ASIC acoper
a toate circuitele (full-custom, semicustom si circuitele PLD
(field programmed)) care realizeaz
a o aplicatie specific
a/dedicat
a; n literatur
a aria
de acoperire a notiunii de ASIC este destul de larg
a.
Un criteriu prin care s
a se decid
a care mod de proiectare este optim pentru o
aplicatie este dificil de exprimat, n general decizia se ia n functie de un set de caracteristici asigurate de o anumit
a proiectare. In acest sens n Tabelul 4.3 se prezint
a
Suport
circuite pentru
aplicatii

Circuite
logice
standard

PLD

SPLD

ASIC

Arii de
porti logice

CPLD

Celule
standard

Fullcustom

FPGA

Figura 4.30 Reprezentarea suportului circuistic (tehnologia) pentru abord


arile
de proiectare ale sistemelor logice.

I DE PROGRAMARE
4.9. COMPARAT
IE
INTRE DIFERITELE MODALITAT

597

un set de caracteristici pentru fiecare dintre modurile de proiectare expus n acest


capitol (abordarea cu circuite logice discrete a fost prezentat
a n sectiunea 2.3). De
asemeanea, aceste caracteristici nu au fost date prin valori absolute ci prin valori relative; este mai important
a, n prima etap
a de selectare a tehnologiei de implementare,
o cunoastere a ordon
arii relative a acestor caracteristici pentru fiecare tehnologie de
implementare urm
and apoi, dup
a selectare, s
a se determine dac
a valorile absolute
satisfac.
Tabelul 4.3
Caracteristici ale diferitelor tipuri de proiectare
Tehnologia(Tipul de circuit)
Caracteristici Componente Circuit
Arie de
Celule
CPLD
FPGA
discrete
full-custom port
i
standard
Dimensiunea
fix
a
variabil
a
fix
a
fix
a
fix
a
celulei
(n
altimea)
Tipul de
circuite
variabil
a
fix
a
variabil
a programabil
a programabil
a
celul
a
diferite
Plasamentul
variabil
variabil
fix
pe linii
fix
fix
celulelor
Interconexiunile
variabile
variabile
variabile variabile programabile programabile
Num
ar de
toate
m
astile
toate
0
0
masti
m
astile
de rutare
m
astile
foarte
redus
a
moderat
Aria
moderat
moderat
mare
mare
(compact)
(redus
a)
Densitate
medie
ridicat
a
medie
medie
sc
azut
a
sc
azut
a
(porti/chip)
Usurinta
de
foarte bun
a
bun
a
sc
azut
a
redus
a
redus
a
bun
a
(programabilitate)
(reconfigurabil)
Gradul de
foarte
experienta
al
sc
azut
mediu
mediu
sc
azut
sc
azut
ridicat
proiectantului
Timpul de
zile/
luni/
s
apt
am
ani/s
apt
am
ani/
ore/
ore
proiectare
s
apt
am
ani
(an)
luni
luni
zile
Investitia
sc
azut
a/
mare
medie
medie
sc
azut
a
sc
azut
a
initial
a
medie
Performanta
foarte
sc
azut
a/
medie
bun
a
bun
a
sc
azut
a
(viteza)
bun
a
(medie)
Recomandat
mici/
foarte
mici
mari
mari
mari
mici
pentru serii
medii
(prototipuri)
Cost/
foarte
mic/
ridicat/
mediu
mic
ridicat
unitate
mic
(mediu)
(mediu)
Depinde pronunt
at de volumul de productie (costul relativ indicat corespunde pentru
valori de serie specificate n r
andul anterior)

Bibliografie
[Bryant 0 92] Bryant E. Randy: Symbolic Boolean Manipulation with Ordered
Binary-Decision Diagram. ACM Computing Surveys, Vol. 24, No. 3, september 1992.
[Cocan 0 01] Cocan Moise, Pop Bogdana: Bazele Matematice ale Sistemelor de Calcul. Editura Albastr
a, Cluj, 2001.
[C
arstea 2000] C
arstea Horia, Constructia si tehnologia Echipamentelor Electronice. Editura Politehnic
a Timisoara, 2000.
[Creang
a 0 73] Creang
a I., Reischer C., Simonovici D.: Introducere Algebric
a n Informatic
a. Teoria Automatelor. Editura Junimea, Iasi, 1973.
[Chang 0 99] Douglas Chang, Marek-Sadowska Malgorzata: Partitioning Sequetinal
Circuit on Dynamically Reconfigurable FPGAs in Transactions on Computers,
vol. 48, No. 6, june 1999.
[Chen 0 03] Chen Eai-Kai (editor), Logic Design. CRC Press, 2003.
[Chinnery 0 02] Chinnery David, Keutzer Kurt: Closing the Gap Between ASIC &
Custom. Kluwer Academic Publishers, Boston, 2002.
[Floyd 0 90] Floyd Thomas, Digital Fundamentals. Fourth Edition, Merryl Publishing Company, Torronto, 1990.
[Friedman 0 01] Friedman G., Eby: Clock Distribution Networks in Synchronous
Digital Integrated Circuits, in Proceedings of the IEEE, Vol. 89, No. 5, pp.
665-690, May 2001.
[Green 0 85] Green David: Modern Logic Design. Addison-Westley Publishing Company, 1985.
[Greenlaw 0 98] Greenlaw Raymond, Hoover H. James: Fundamentals of the Theory
of Computation-Principles and Practice. Morgan Kaufmann Publishers Inc.,
San Francisco, 1998.
[Gonteanu 0 96] Gonteanu Aurel, B
ab
aita
Mircea: Structuri Logice Programabile.
Aplicatii. Editura de Vest, Timisoara, 1996.
599

600

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT


II

[Hennesy 0 98] Hennesy L.I., Petterson, A. D.: Computer Organisation and Design
- The Hardware/Software Interface. 1998, Morgan Kaufmann Publishers Inc.,
San Fransico, California.
[Kang 0 96] Kang S., Lebleblici Y., CMOS Digital Integrated Circuits: Analysis and
Design. The McGraw-Hill Company Inc., 1996.
[Lerouge 0 04] Lerouge Christoph: L0 International Technology Roadmap for Semiconductors in Sciences Physiques-Nanoscience, Microelectronique, Materiaux,
Jullet 2004, No. 12.
[Lewin 0 92] Lewin D., Protheore D.: Design of Logic Systems. Champmann&Hall
Publishing, London, 1982.
[Matei 0 93] Matei S., N
asl
au P.: Elemente de Logic
a Matematic
a si Algebre Boolene.
Universitatea Tehnic
a Timisoara, 1993.
[Mead 0 80] Mead C., Conway L., Introduction to VLSI Systems. Reading, MA,
Addison-Wessley Publishing Company, 1980.
[Maican 0 99] Maican Sanda: Circuite Integrate Digitale. Editura PRIMTECH, Bucuresti, 1999.
[Mano 0 02] Mano, Morris: Digital Design. Prentice Hall International, London,
2002.
[Muresan 0 02] Muresan T., Gontean A., B
ab
aita
M., Demian P.: Circuite Integrate
Numerice - Aplicatii si Proiectare. Editura de Vest, Timisoara, 2002.
[Nicula 0 00] Nicula Dan: Proiectarea Sistemelor Digitale Implementate cu Dispozitive Programabile. Editura Tehnic
a, Bucuresti, 2000.
[Omandi 0 94] Omandi R. Amos: Computer Arithmetic Systems - Algorithms, Architecture and Implementation. Prentice Hall International (UK) Publishing,
1994.
[Oberman 0 78] Oberman R. M.: Num
ar
atoare Electronice. Editura Tehnic
a, Bucuresti, 1978.
[Petterson 0 96] Petterson A. D., Hennesy L. I.: Computer Architecture - A Quantitative Approach. 1996, Morgan Kaufmann Publishers Inc., San Francisco,
California.
[Parker 0 98] Parker P. Kenneth: The Boundary - Scan Handbook. Kluwer Academic
Publishers, 1998, London.
[Sange 0 02] Sandige Richard: Digital Design Essentials. Prentice Hall, 2002.
[Smith 0 97] Smith M. I. S.: Application Specific Integrated Circuits. 1997, AddisonWesley Publishing Company.
[Spira 0 71] Spira P. M.: On Time Hardware Complexity Tradeoff for Boolean Functions, in Proceedings of Fourth Hawaii International Symposium on System
Science, pp. 525-527, 1971.

I DE PROGRAMARE
4.9. COMPARAT
IE
INTRE DIFERITELE MODALITAT

601

[Sutherland 0 99] Sutherland I., Sproull B., Harris D.: Logical Effort. Morgan Kaufmann Publishers, 1999.
[S
tefan 0 91] S
tefan Gheorghe: Functii si Structur
a n Sistemele Digitale. Editura
Academiei Rom
ane, Bucuresti, 1991.
[S
tefan 0 93] S
tefan Gheorghe: Circuite Integrate Digitale. Editura DENIX, Bucuresti, 1993.
[S
tefan 0 97] S
tefan Gheorghe: Circuit Complexity, Recursion, Grammars and Information. Universitatea Transilvania din Brasov, Brasov, 1997.
[S
tefan 0 00] S
tefan Gheorghe: Circuite si Sisteme Digitale. Editura Tehnic
a, Bucuresti, 2000.
[S
tefan 0 92] S
tefan Gheorghe, Bistriceanu V.: Circuite Integrate Digitale. Probleme.
Proiectare. Editura Didactic
a si Pedagogic
a, Bucuresti, 1992.
[Toacse 0 96] Toacse G., Nicula D.: Electronic
a Digital
a. Editura Teora, Bucuresti,
1996.
[Vl
adutiu 0 89] Vl
adutiu Mircea, Crisan Marius: Tehnica Test
arii Echipamentelor
Automate de Prelucrarea Datelor. Editura Facla, Timisoara, 1989.
[Wakerly 0 01] Wakerly John: Digital Design - Principle and Practice. Third Edition, 2001, Prentice Hall.
[Weste 0 01] Weste N. H. E., Eshraghian K.: Principle of CMOS VLSI Design. Second Edition, 1993, Addison-Westley Publishing Company.
[Yarbrough 0 97] Yarbrough, John: Digital Logic - Application and Design. West
Publishing Company, Minniapolis, 1997.

Index
H (timpul de mentinere), 387
SU (timpul de prestabilire), 387
gi , 18
pi , 18

A
Absorbtia, 3
Absorbtia (teorem
a), 3
Accesare
aleatorie, 483, 503
tip rafal
a, 503
Activ High/Low, 26
Acumulator, 444
Ad
ancimea (D(n)), 201
Adaptarea liniilor, 143
Adresare bidimensional
a, 223, 247, 485
Algebra
Boolean
a, 1
claselor de resturi(modulo q), 6
polivalent
a, 5
Postian
a, 5
ALTERA, 551
ALU, 292
ALUE, 297
ANSI, 2
Arbore Wallace (multiplicator), 282
Arie de porti logice, 541
ASIC, 101, 541
ASIC structurat, 580
Asignarea st
arilor, 351
ASM, 336
Asociativitatea (axiom
a), 3
Astabil (circuit)
comandat, 416
sincronizat, 416
Automat finit, 322
Automat Mealy
nt
arziat, 328

imediat, 328
Automat Moore
nt
arziat, 328
imediat, 328
Axiomele (algebrei Booleene), 3

B
Banc
a de memorie, 501
Banc
a de registre, 443
Basculare, 373
Baud, 460
BCD (Binary Coded Decimal), 170
BDD, 192
BDT, 192
BGA, 577
Bistabil (Trigger)
D, 388
JK, 392
SR, 386
T, 395
Bloc de stare, 337
Bloc I/O, 553, 554, 573
Boundary-Scan Test, 584
BSDL, 586
Buffer, 9, 106
Burst(rafal
a), 503
Bus holder, 106, 149

C
CAD, 540
Cale de control, 292, 336
Cale de date, 292, 336
CAM, 521
Capacitate de decuplare, 154
Capacitatea memoriei, 242
Caracteristic
a de transfer, VTC, 34, 47
Caracteristica de proces, , 65, 71
CDCn:m, 210
CDCP, 211
602

INDEX
CDCPE, 215
Celul
a sc
az
ator complet, 270
Celul
a semi-sumator, 267
Celul
a standard, 545
Celul
a sumator complet, 18, 267
Celul
a sumator/sc
az
ator, 271
Circuit
furc
a, 131
inversor, 9, 46, 72
logic dinamic, 112
MAX, 31
MIN, 31
secvential asincron, 312, 318
secvential sincron, 320
sum
a modulo 2, 12
Clase de resturi, 418
CLB, 560
CLC, 165
CLS, 311
Cod
BCD, 170
ciclic, 467
EXCESS3, 171
Gray, 169
NBCD, 170
Codificare
cu dependenta
redus
a, 358
cu variatie minim
a, 354
,,
unic-activ (one-hot ), 359
Coeficient cu variabil
a reziduu, 185
Coeficient de reflexie, 144
Complement fata
de
doi, 196, 271
unu, 271
Complexiatea unui circuit (C(n)), 167
Comutatie pe front, 388
Comutativitate (axiom
a), 3
Configuratie binar
a, 8
Controlabilitate, 582
Conventie de logic
a
negativ
a, 30
pozitiv
a, 30
CPLD, 551
CR (Carry), 294
CS (Chip Select), 243, 486
Cuv
ant de selectare, 224

603

D
Damaschin
a, 548
DCDn : 2n , 215
DCDE, 216
DCI, 577
DDR, 515, 575
DDR2 SDRAM, 516
Decodificare bidimensional
a, 223, 249,
485
Decrementarea, 196
Defazaj de ceas
negativ, 476
pozitiv, 476
Deplasare aritmetic
a, 286
Deplasare logic
a, 286
DFT, 582
Diafonie, 150
Diagrame
de decizie binar
a ordonat
a, OBDD,
194
de decizie binar
a redus
a, RBDD, 194
de decizie binar
a, BDD, 192
Veitch-Karnaugh, V-K, 178
Dimensiunea (S(n)), 203
Distanta
Hamming, 169
Distributivitate (axiom
a), 3
Divizor de frecventa
modulo C, 431
DMUX, 238
DMUXE, 240
Do not care (valoare logic
a indiferent
a),
183
Domino (circuit), 113
DRAM, 493
Driver, 9, 41
Drum eulerian, 93
Duala (unei functii), 31

E
eASIC (tehnologie), 580
ECL, 52
EDA, 20
EEPROM sau E2 PROM, 252
Efecte de ordinul doi (la tranzistorul
MOS), 70
Efectul de z
avor
are, 138
Efort
de ramnificatie, 125

604
electric, 117
logic, 117
Elementul neutru (axiom
a), 3
ENP, 431
ENT, 431
EPROM, 250
EQ (Equal), 294
Express II sau MV, 192
Extensie de semn, 286

F
Factor de imunitate la perturbatii, 36
Factor de merit (PDP), 44
Factorul de form
a al tranzistorului
(W/L), 69
Fan-in, 39
Fan-out, 40
FCT, 98
Fereastr
a de decizie, 321, 387
FIFO, 459
Filtru binar, 467
FM (F
ar
a Modificare), 375
FO4, 122
Form
a canonic
a
normal
a conjunctiv
a, FCNC, 15
normal
a disjunctiv
a, FCND, 15
Form
a FC, 20
Form
a FD, 20
Form
a normal
a
conjunctiv
a, FNC, 16
disjunctiv
a, FND, 16
Fotorezist, 61
FPGA, 558
FPGA structurat, 580
Front activ, 320
FSM, 325
Full Custom, 540, 543
Functia de tranzitie (a st
arilor), 314
Functie de transfer, 314, 465
Functii logice (Booleene)
de dou
a variabile, 9
de o singur
a variabil
a, 8
de zero variabile, 8

INDEX

G
GAL, 263
Galois (c
ampuri), 6
Generator de faze, 453
Generator de functii, 560
Glitch, 205

H
Hazard
dinamic, 209
static 0, 206
static 1, 206
HC, 98
HCT, 98
HDL, 345
Huffman, 312
HZ, 58, 97

I
I2 L, 53
Identificare de cod, 215
Iesire
conditionat
a (Mealy), 336
neconditionat
a (Moore), 336
Impedanta
caracteristic
a, 144
Implicant Prim (IP)
esential, 181
neesential, 181
Impulsuri parazite, 205
Incrementare, 196
Interconexiune activ
a, 567
Intr
ari
asincrone, 387
de date, 387
sincrone, 387

Inscriere
asincron
a, 429
sincron
a, 430

J
Johnson (num
ar
ator), 456
Jonctiunea Josephson, 53

L
Lant Manchester, 275
Latch

INDEX
adresabil, 384
cu ceas, 379
D, 380
Early, 381
SR, 376
Latenta
, 449
Layout, 46, 89
Lege de compozitie, 3
LFSR, 468
LIFO, 459
Linie (coloan
a de bit), 484
Linie de cuv
ant, 484
Linie de transmisie, 144
Litografia EUV, 61
Locusul st
arilor, 354
Logic
a
Boolean
a, 2
fuzzy, 3
polivalent
a, 3
LSI, 209
LUT, 243, 560
LVCMOS, 101
LVTTL, 101
Lyon-Schedwy (codificator), 220

M
Macrocelul
a, 264, 553
Mare-de-porti, 544
Margine de zgomot, 34
Mas
a electronic
a, 142
Master-slave (principiul), 385
Matrice de comutatie, 290
Maxterm, 14
Metastabilitate, 374
Minterm, 13
Mnemonic operatie, 295
Mobilitatea
electronilor n , 68
golurilor p , 68
Mod fundamental(de functionare), 318
Moebius (num
ar
ator), 456
Monostabil, 412
Moore, Gordon (Legea lui), 595
MOS, 60
MSB, 11
MSI, 209
MTBF, 392

605
Multiplicator matriceal, 279
MUX, 224
MUXE, 226

N
NBCD, 170
ND (stare nedeterminat
a), 376
Niveluri de tensiune, 33
NOP, 375
NRE, 540
Num
ar
ator
n cod arbitrar, 439
n inel, 453
asincron, 420
Johnson, 456
modulo C, 418
presetabil, 429
sincron paralel, 425
sincron serie, 426

O
O (citit
a de ordinul), 168
OBDD, 194
OE (Output Enable), 58, 443
Operatori (Booleeni), 582
AND (SI), 2, 25
NOT (XOR), 2, 25
OR (SAU), 2, 25
XOR, 10, 25
XNOR, 11, 25
Organigrama ASM, 335
Oscilator n inel, 86, 318
OTP, 33, 541
OV (Overflow), 294

P
P (Parity), 294
PAL, 261
Palier activ, 320
Paritate par
a sau impar
a, 198
Pipeline, 448
PLA, 255
PLD, 255, 550
Poart
a
cu colector n gol, 53
cu drenul n gol, 96
cu trei st
ari logice, TSL, 57, 96
de transmisie, 104

606
inversor, 46, 72
logic
a, 25
logic
a CMOS domino, 113
XOR, 26
Policelule, 545
Polinom caracteristic, 471
Polisiliciu, 62
Port
de iesire, 441
de intrare, 441
dublu (port), 444
Prenc
arcare, 495, 507
Produsul dimensiune-ad
ancime
(S(n) D(n)), 204, 590
PROM, 250

Q
QDR SRAM, 518
Quine-McCluskey (metoda), 190

R
R (Reset), 375
RAM, 483
Random logic (structur
a neordonat
a),
204
Raportul cost/performanta
, 204, 590
RAS, 497
RBDD, 194
RCO, 431
Retele de comutatie, 28
Reconfigurabilitate, 204
Refreshment, 496
Registru
n inel, 453
de deplasare, 450
paralel, 441
serie, 450
Retriggerare, 414
Riscul minim, 361
RTL, 345
Rutare, 544

S
S (Set), 375
SAU EXCLUSIV, 10
Scalare, 71
Schottky (tranzistor), 49
SDRAM, 501

INDEX
Secventa
de intrare nul
a, 467
Semiautomat, 326, 352
Semnal
de strob, 497
impuls unitar, 462
treapt
a unitate, 462
SG (Sign), 294
Shifter (barrel shifter), 292
SiO2 (Bioxid de siliciu), 61
Sincronizare, 321, 362, 391
Sistem complet (de functii booleene), 12
SO n, 329
SOC, 539
SPICE, 70
Spike, 153
Spira (teorema lui), 586
SRAM, 487
SSI, 209
SSLT, 281
SSRAM, 501
SST, 276
STA, 272
STAB, 275
Stand by (regim de), 248
Stare
echivalent
a, 326
prezent
a, 313
stabil
a, 315
total
a, 317
urm
atoare, 313
Stare activ
a/de neactivare, 26
STP, 267
Strob (semnal de), 497, 515

T
Tabel
caracteristic, 376
de adev
ar, 17, 169
de excitatie, 376
de tranzitie al st
arilor, 334
Tehnologie
bipolar
a, 45
CMOS, 59
Tensiunea de prag de comutatie, 75
Teorema Thevenin, 147
Termenul canonic produs (minterm), 13
Termenul canonic sum
a (maxterm), 14

INDEX
Timpul de propagare a transportului
( ), 269
Timpul de propagare, p , 36
Timpul de sumare (T ), 269
TLB, 523
TM-FPGA, 591
Top-down (design), 543
Tranzistor cu canal initial, 110
Tranzistor de trecere, 105
Tranzistor Schottky, 49
Trigger
D, 388
JK, 392
Schmitt, 136, 408
SR, 385
T, 395
TSL, 57, 96
TTL, 50

U
UART, 462

V
Variabil
a reziduu, 184
Variabile de intrare principale, 312
Variabile de intrare secundare, 312
Variante
degenerate, 201
nedegenerate, 201
Verilog, 345
VHDL, 345
Virtex-II PRO, 569
VLSI, 59
VPGA, 579

W
W/L(raportul), 69
Wafer, 60
WE (Write Enable), 486

X
Xilinx, 569
XOR, 26

607

Z
Zgomot
de alimentare, 153
de conductie, 140
de mas
a, 142
electromagnetic, 140
extern, 140
intern, 140

Вам также может понравиться