Академический Документы
Профессиональный Документы
Культура Документы
Dan Nicula
DIGITALA
ELECTRONICA
VOL. I
DISPOZITIVE, CIRCUITE,
PROIECTARE
- 2005
EDITURA TEHNICA
Prefata
VI
Electronic
a digital
a
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.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
142
142
143
150
153
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
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
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
1.1.1
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
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
B = {x|x = 0, 1}
0 = elementul nul
(1.1)
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
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.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.
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
CAPITOLUL 1. PORT
I LOGICE
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
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
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
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.
6. Existenta inversului.
= AB
= ABAB
(1.3-a)
A = A1
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
= ABBA11=ABBA
Iar pentru exprimarea operatorilor din GF (2) prin cei din B(2) exist
a relatiile
AB
AB
= AB
= AB+AB
(1.3-b)
A1 = A
CAPITOLUL 1. PORT
I LOGICE
1.1.3
Functii Booleene
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)
(1.5)
= 0
= 1
(1.6)
de functie Boolean
a, n aceast
a carte, este sinonim cu functie logic
a.
f01
f11
f21
f31
a)
x
b)
x
"0"
x
d)
x
c)
VCC
"1"
x
e)
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)
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
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
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
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
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
1.1.4
Forme canonice
14
CAPITOLUL 1. PORT
I LOGICE
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
15
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)
n
2X
1
i=0
d i Pi
(1.10)
n
2Y
1
i=0
(di + Si )
(1.11)
16
CAPITOLUL 1. PORT
I LOGICE
n
2X
1
(1.12)
i=0
15
X
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
(1.13)
i=0
15
Y
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
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)
7
X
i=0
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
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
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 =
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) =
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
(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 )
c) Ci (Ai , Bi , Ci1 )
20
CAPITOLUL 1. PORT
I LOGICE
1.1.5
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 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 =
21
(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)
= AB +C D = AB C D
F2
= (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)
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
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
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
F = (A+B)(C+D)
A
F
B
C
regula 1 D
F = (A+B)+(C+D)
A
F
B
C
regula 3 D
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
Figura 1.5 Exemple de conversii grafice de tipul AND-OR/OR-AND n NANDNAND sau NOR-NOR.
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
1.2. POARTA LOGICA
25
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
INTR1
INTR2_L
INTR3_L
INTR4_L
INTR5
a)
OUT_L
INTR1
INTR2_L
INTR3_L
INTR4_L
INTR5
OUT_L
b)
1.2. POARTA LOGICA
27
&
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
0
1
0
1
0
1
1
1
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
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)
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)
30
CAPITOLUL 1. PORT
I LOGICE
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)
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)
33
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
= 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
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
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
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
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)
vC
= V O e T
(1.21)
39
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
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
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
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
42
CAPITOLUL 1. PORT
I LOGICE
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
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.
(1.23)
43
V CC
iC
RC
T
C
RE
Figura 1.18 Circuit echivalent (simplificat) al unei porti pentru calculul puterii
Pdca
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)
44
CAPITOLUL 1. PORT
I LOGICE
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)
1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA
45
1.4
PORT
I LOGICE IN TEHNOLOGIA
BIPOLARA
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
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+
1.4. PORT
I LOGICE
IN TEHNOLOGIA BIPOLARA
47
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)
VCC VCE(sat)
1
RB
RC
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)
50
CAPITOLUL 1. PORT
I LOGICE
1.4.2
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
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
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
1.4.3
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)
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)
VCC V (VIHmin + MH )
m IOHmax + N IIHmax
(1.26-a)
VCC + V (VILmax ML )
IOHmax N IILmax
(1.26-b)
(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
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
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
R
75
C
0,33 uF
;0,5W
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 ).
58
CAPITOLUL 1. PORT
I LOGICE
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)
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
1.5
PORT
I IN TEHNOLOGIA CMOS
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
a)
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
1.5. PORT
I
IN TEHNOLOGIA CMOS
61
62
CAPITOLUL 1. PORT
I LOGICE
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
psubstrat, Si
$ $ $
#" #" "# &' &' &' %$ $% $%
#" #" #" () () )( % % %
n+
psubstrat, Si
Zone difuzate
n+
psubstrat, Si
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
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
64
CAPITOLUL 1. PORT
I LOGICE
1.5. PORT
I
IN TEHNOLOGIA CMOS
65
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
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
(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
1.5. PORT
I
IN TEHNOLOGIA CMOS
71
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
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
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)
si
si
(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
(1.41)
(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 =
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 .
(1.45)
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
p (2VO
+ np
VDD + Vpp +
1
+ Vpn )
(1.48)
1.5. PORT
I
IN TEHNOLOGIA CMOS
77
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)
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]
1
(3VDD 2Vpn )
8
(1.57)
1
(5VDD 2Vpn )
8
(1.58)
(1.59)
= VIL VOL
(1.60)
(1.61)
1.5. PORT
I
IN TEHNOLOGIA CMOS
79
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)
(1.63-b)
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 |{
|{ |{ |{ |{
|{ |{ |{ |{
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
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+
82
CAPITOLUL 1. PORT
I LOGICE
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)
1.5. PORT
I
IN TEHNOLOGIA CMOS
83
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.
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)
CL
K
VDD n
(1.70)
LH
K
CL
VDD p
(1.71)
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
=
=
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
]
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
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
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
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
(1.76)
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
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+
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)
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+
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
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
1.5.3.2
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)
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)
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
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+
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
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
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
Pd [mW]
Factorul de merit
Pd p [pJ]
VILmax [V]
VIHmin [V]
IOLmax [mA]
IOHmax
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]
0,1
0,33
VOHmin [V]
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
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)
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
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)
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
S
B
S
B
A
S
S
B
B
S
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
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
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)
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
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
110
CAPITOLUL 1. PORT
I LOGICE
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
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
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)
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)
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)
1.5. PORT
I
IN TEHNOLOGIA CMOS
115
116
CAPITOLUL 1. PORT
I LOGICE
VDD
CLK
Tp1
CLK
Tp1
Te1
a)
Te1
b)
1.5.6
Determinarea nt
arzierii pe o poart
a logic
a
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)
(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)
118
CAPITOLUL 1. PORT
I LOGICE
(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)
(de capacitate)
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.
120
CAPITOLUL 1. PORT
I LOGICE
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
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
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)
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)
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)
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)
g i C Oi
f
(1.104)
1.5. PORT
I
IN TEHNOLOGIA CMOS
127
V DD
C/2
y
C/2
B
C/2
C/2
a)
b)
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.
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
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)
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)
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
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.
1.5. PORT
I
IN TEHNOLOGIA CMOS
131
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
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
100
10
1
2
+ 2pinv =
100
10(1 )
+ pinv
768
12
1
4
+ 4pinv = 3
768
12(1 )
+ 3pinv
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
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
+
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
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)
138
CAPITOLUL 1. PORT
I LOGICE
1.6. REJECT
IA ZGOMOTELOR
139
140
CAPITOLUL 1. PORT
I LOGICE
1.6.1
141
1.6. REJECT
IA ZGOMOTELOR
Intrare
date
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
vz1
Legaturi de
masa cat mai
apropiate
Zgomot
indus pe
linie
Masa B
Receptor
Receptor
Iesire
date
vz1
vzm
Masa A
Masa B
c)
142
CAPITOLUL 1. PORT
I LOGICE
1.6.2
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
b)
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)
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)
146
CAPITOLUL 1. PORT
I LOGICE
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
1.6. REJECT
IA ZGOMOTELOR
147
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)
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
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
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)
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)
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
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
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
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
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
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)
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
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)
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
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
F
B
a)
D
E
C
F
G
A
B
C
b)
160
CAPITOLUL 1. PORT
I LOGICE
_
A
A
_
B
_
B
_
A
_
A
_
C
a)
B
C
D
_
D
_
B
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
A
B
PT
C
D
D
E
E
F
F
PT
a)
b)
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)
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
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
2.1
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
167
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
168
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 .
2.2
REPREZENTAREA CIRCUITELOR
LOGICE COMBINAT
IONALE
169
tabelul de adev
ar, functia analitic
a, diagrama de decizie binar
a, exprimare prin limbaj
natural.
2.2.1
Tabelul de adev
ar
170
Gray
a)
1
+
0
+
0
+
0
+
1
+
1
+
0 Gray 1
+
Binar
1 Natural 1
b)
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
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)
173
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)
AB
C + (D)
ABC
+ (D)
ABC
f = (D) AB
+ (D)
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
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
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
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)
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
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)
,,
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).
177
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
= (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)
= 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 )
(2.7)
178
2.2.3
179
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
180
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
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
15
Y
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
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
c=x 3 x2 x1
d=x2 x1 x0
e=x 3 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)
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
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
15
X
15
X
E1 =
E0 =
184
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
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
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
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
186
187
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.
188
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
Introduc
and variabila D ca variabil
a reziduu se obtine diagrama V-K de trei variabile
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.3.3
189
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
15
X
F1 (A, B, C, D) =
15
X
F2 (A, B, C, D) =
15
X
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
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
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.
191
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
192
2.2.4
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
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
194
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
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
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
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.
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
(2.8)
199
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
200
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
201
OR-AND
NOR-NOR
NAND-AND
AND-NOR
202
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
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
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
204
(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
205
206
;;
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
2.1
Dac
a expresia unei functii poate fi adus
a la forma
f (xn1 , xn2 , ..., xi , ..., x1 , x0 ) = xi + xi
207
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)
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
208
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.
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
2.4.1
Codificatorul
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.
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
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
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).
(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
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)
214
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
215
(2.12)
2.4.3
Decodificatorul, DCD
216
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
(2.13)
217
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
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
219
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
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
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
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)
7
X
0
(0, 3, 5, 6),
Ci =
7
X
(0, 1, 2, 4)
221
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 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
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
223
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
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
Convertorul de cod
Codificator
(Nivel OR)
Convertor
de cod
(ANDOR)
2.4.4
Multiplexorul, MUX
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
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)
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
227
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)
228
229
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
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
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)
x0
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.
231
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
E
1/2 74139
232
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
233
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
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
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
f(A,B,C,D,E)
+(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.
31
X
0
(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).
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
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
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
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
238
Retea de
porti OR
MUX 2 n:1
x j1
x n x n1 x 0
fi
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
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)
240
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)
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
241
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
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
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
243
244
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
Magistrala
de control
READ
Magistrala
de date
d)
t2
t3
245
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
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
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
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)
248
249
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
D7
D6
D5
D4
D3
D2
D1
D0
250
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
[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.
252
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);
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.6.2
253
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
Magistrala de adrese
A 11A0
A 11
A 10
A 9A0
CS
ROM 0 D7D0
1K x 8biti
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
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
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
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
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
257
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
258
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
-
259
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
260
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
261
Matricea logic
a programabil
a cu nivel OR fix, PAL
262
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
1
Intrare
Iesire
buffer TSL
a)
buffer TSL
b)
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
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
2.5.1
Comparatorul
265
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
Fi = Fs Fe
Fs = Fe Fi
2.5.2
267
Sumatorul
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
(2.17)
268
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.
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
(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
(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
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
272
(2.23)
273
(2.24)
=
=
=
=
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)
= 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)
274
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.
275
276
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)
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
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
278
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)
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
280
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
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)
AB2
(3,2)
A 0B3
(3,2)
AB0
AB1
AB4
SSLT3
(3,2)
SPT
p3
p2
p1
p0
282
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
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
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 0B3
SSLT2
Transport 2
Suma 2
Transport 1
SSLT4
SSLT1
Suma 1
SSLT3
Suma 3
Transport 3
Transport 4
A 5B2
Suma 4
p11
p10
p9
p8
p7
p6
p5
p4
p3
p2
p1
p0
284
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 .
285
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
34 x
78
272
238
2652
p31p 8
p7p 0
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
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
287
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)
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
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
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
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
291
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
2.5.5
Unitatea Aritmetic
a si Logic
a, ALU
2.5.5.1
Calea de date
293
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
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
294
295
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)
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
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
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
297
298
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
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
299
(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
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
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
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).
303
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
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
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
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
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
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
309
310
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
3.1
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 )
a)
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.
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
(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)
(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
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
.
.
.
..
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)
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
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
de valorile nt
arzierilor 1 si 0 ) prin una din urm
atoarele trei succesiuni:
00 00
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.
319
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.
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
320
3.2
,,
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
321
322
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
3.2.2
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
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)
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
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
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)
(3.9)
(3.10)
326
(3.11)
(3.12)
327
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
cu:
f : X Q Y
g : X Q Q
(3.13)
cu:
f :QY
g : X Q Q
(3.14)
328
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
329
330
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)
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
331
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
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
332
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
01/0
10/0
00/0
00/0
q0
00/0
q1
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
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
333
334
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)
335
3.2.3.3
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
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
,,
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
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.
338
(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
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
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 .
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)
340
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)
|Q|
X
gj (Xj , qj )
j=1
f (X, Q) =
|Q|
X
(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
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
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
342
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
343
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
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
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
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)
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
348
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
E
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
349
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
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
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
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.
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
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
(2k 1)!
(2k s)!s!
(3.19)
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
nz2 = x1 x0
nz0 = x1 x0
355
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)
356
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
z2
z1z0
00
q0
q2
000
000
010
100
110
111
01
11
10
q1
2
q4
q3
357
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
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
358
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
359
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
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
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
000
011
010
001
100
101
110
111
a)
111
100
010
000
101
110
b)
001
011
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
Intr
ari si iesiri asincrone
adic
a: nz2 = x1 x0 , nz1 = x1 x0 , nz0 = x1 . Consider
am cazul c
and x1 = 0, adic
a
363
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
364
365
366
3.2.6
367
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
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
368
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
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
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)
370
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
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
. ... .
. ..
....
..
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
372
3.3
CIRCUITE BASCULANTE
373
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
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
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
375
376
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
377
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
(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
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
379
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.
(3.21)
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
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
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
381
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)
382
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(CQ)
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
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)
384
DMUX
Om1
Om2
O0
OE
CLK
D
D CLK
Q
D CLK
Q
Om1
Om2
D CLK
Q
O0
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
Principiul master-slave
386
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
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
387
388
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.
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.
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
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
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
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)
392
Bistabilul JK
(3.24)
Aleg
and pentru elementul de memorare al automatului JK un latch SR cu ceas
393
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
e)
394
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
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)
(3.26)
396
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)
(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
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
398
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)
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.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
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
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).
402
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
403
404
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
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
405
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
406
(3.28)
407
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
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
408
=
=
z2 (t + 1)
=
=
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
409
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)
I1 =
VI V A
V + VT
= P
R1
R1
I2 =
VA V O
VT VOL
=
R2
R2
R1
R1
) VOL
R2
R2
(3.29-a)
V T V p
VA V I
=
R1
R1
I2 0 =
VO V A
VOH VT
=
R2
R2
410
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)
411
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
(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
VDD Vp
VDD Vp+
412
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).
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+ )
1
0, 47 106 ln 2,38(4,51,67)
1,67(4,52,38)
= 330k
3.3.5
413
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)
414
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
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
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
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
(3.34)
417
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
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
CC
w2 = Cx RXA ln 23 VVCC
= 0, 69Cx RXA
/3
3.4
w 1
RXB
=1
w 1 + w 2
RXA + 2RXB
ATOR
CIRCUITE NUMAR
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:
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
419
Automat cu tranzitie
neconditionata, ciclica,
Multimea Q
a starilor
automatului
q0
z k1
^0
q1
C1
C1
CO
^1
qC2
^r
C1
z 1z 0
q0
q1
q2
q2
C2
Numarare
inversa
C2
Codificarea
starilor
automatului
^2
qi
qC2
Numarare
directa
qi
^i
qC1
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
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)
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
421
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
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
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
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
425
= EN
= EN z0
= EN z0 z1
= EN z0 z1 z2
..
.
(a)
T0
T1
T2
T3
= EN
= T 0 z0
= T 1 z1
= T 2 z2
..
.
(b)
(3.38)
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)
(3.40)
426
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
ATOR
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)
(3.43)
428
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
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
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
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
431
432
Codul
circuitului
74760/160
74162/163
4518/20
74190/191
74168/169
74668/669
74568/569
4510/16
74192/193
74876
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)
ATOR
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.
434
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
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)
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
435
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)
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
x(t)
LOAD
CLC2
CLC1
q+(t)
Dn1 D0 LOAD
CLEAR
Numarator
prestabil
ENABLE
Qn1 Q0
CLK
q(t)
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
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
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)
ATOR
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
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)
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
441
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
442
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
3.5.1
Registru paralel
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
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
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
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
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
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
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
446
= (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
..
.
2
X
X) modulo 2n = 0
(3.44)
447
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
Structura pipeline
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
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
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
3.5.4
Registrul de deplasare
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)
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
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
(3.48)
(3.49)
453
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
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.
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
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)
455
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
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.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
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)
459
CLK
LOAD
Intrare
date
CLK
LOAD
Intrare
date
Iesire
date
Iesire
date
Iesire
date
CLK
LOAD
Intrare
date
Iesire
date
CLK
LOAD
Intrare
date
460
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
Bitul
de
start
D1
D0
D2
D3
D4
D5
D6
Stop
bit 1
D7
Stop
bit 2
Bitul
de
start
a)
Linie
Intrare
date "1"
serie
Bistabil
de control
CLK
Astabil
sincronizat
Monostabil
CLK
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
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
462
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
463
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
000 1 1 1 1 1
CLK= 0 1 2
Yi2 = 0 0 0 1 1 1 1 1
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
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
464
465
Xt = . . . 1111 . . . . . . . . .
. . . 00011110100 . . .
. . . 00011110100 . . .
. . . 00011110100 . . .
. . . 00011110100 . . .
Xt3 = . . . 101001111 . . .
. . . 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)
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
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) . . . =
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 . . .
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
Exemplul 3.29
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)
1
1
1
(Y (D) + N ) =
(X(D)H(D) + N ) = X(D) +
N
H(D)
H(D)
H(D)
468
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.
469
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 . . .
= z3
= z2
w2
w1
= z1
= a 4 z4 a 3 z3 a 2 z2 a 1 z1 = Y
(3.55)
470
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
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
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)
471
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)
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
473
3.5.7
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
(3.57)
474
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
475
(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
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
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
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.
478
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
479
480
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
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
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
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]
7400
11
22
74LS02
10
20
10
14
25
7474*
10
10
15
20
20 40
483
3.6
484
485
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
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)
486
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
487
3.6.1
488
489
.
.
T7
LINIE DE
CUVANT
(j+1)
LINIE DE
CUVANT
j
..
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
T12blocat
T13conduce
VC
L
2
VDD
VC
C e1
PC
Control preincarcare
linii de bit : C 1 si C2
WR_L
WC2
T21
490
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
491
492
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
CS_L
AS
WP
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
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 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.
494
.. ..
. .. . ..
.. ..
.. ..
.. ..
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
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
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
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,
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
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
8:256
256
Demultiplexoare
a)
D0
DI
CITIRE
..
RAS_L
CAS_L
..
b)
INSCRIERE
..
RAS_L
CAS_L
..
CAS
Date de
iesire valide
Adr.coloana valida
ciclu
CAS
Devalidarea
bufferului de
iesire(TSL)
Reinscriere
liniei selectate
AO3 D0 0
WE_L
c)
RAS
HZ
AO3 D0 0
WE_L=H
A11 A0
Adr.coloana valida
ciclu
A11 A0
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).
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
500
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, . . . .
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
502
....
..
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
..
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
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
505
L/H
L/H
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
T0
CLK
DQ
BA1,BA0
A11 : A0
Banca
T2
T1
T0
CLK
Date
DQM
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
- 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
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
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
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
- 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
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
510
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
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)
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
511
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)
512
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
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
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
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)
514
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
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
515
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
516
CLK
Comenzi
aplicate
READ
WRITE
DQS
Data
Data
1
Data
2
Data
3
Data
4
Data
1
Data
2
Data
3
Data
4
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
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)
518
519
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
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
521
3.6.4
Memoria adresabil
a prin continut, CAM
522
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
AM m
Adresa reala, R 0
Adresa reala, R 1
Adresa
reala, (R)
citita
RAM
Data
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
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
525
PROBLEME1
P3.1 S
a se deduc
a structura automatului asincron care are urm
atorul tabel de
evolutie al st
arilor (Figura 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
526
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
q6
527
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
10
11
12
x
z0
z1
y
528
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
Starea
prezenta
0
1
2
3
4
5
6
7
8
a)
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
529
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
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
CLK
QN
CLK
QN
531
J A
K
CLK
J B
CLK
QN
CLK
QN
CLK
b)
a)
PRESET
D
Q
CLK
CLK
QN
B
QN
CLEAR
CTL
VCC
CLK
J A Q
CLK
QN
CLK
I1
I2
I3
CLK
QN
2
K1
K2
K3
QN
532
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)
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)
533
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
y
D
Q
CLK
QN
CLK
Q
QN
534
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
Vx
v 01
Rx
10 k
v 02
0,001 F
Cx
535
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
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
537
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
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
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
541
542
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
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
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
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
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
545
4.4
546
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
547
a) Canale de rutare
Celule standard
B
A
b)
D
S
548
549
550
4.5
551
PLD
PLD
PLD
PLD
PLD
PLD
PLD
PLD
Paduri
pentru I/O
Suprafete pentru
realizarea conexiunilor
programabile
552
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
554
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
Ceasul global
Stergere globala (GCLK1,GCLK2)
GCLRn
De la pinul I/O
2
(intrare directa)
A
Ocolire
registre
Expandorul cu
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
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
556
557
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
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.
558
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
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
b)
Bloc logic reconfigurabil (CLB)
c)
Linii de magistrala
Trasee pentru interconexiuni
d)
560
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
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
561
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
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
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
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
564
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
Z
Z(t+1)
0
0
1
1
1
1
1
1
565
=
=
=
=
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
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
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
8
4
3
2
Conectare
directa
CLB
3
6
4
8
4
2
Linii Linii Linii Ceas Conectare
lungi duble simple global directa
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
567
568
M
M
a)
M
M
b)
569
570
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
571
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
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
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
573
574
Pad
Pad3
Pad2
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
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
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.
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
576
CLK2
DATA
Set/PRESET
Reset/CLEAR
CE
CLK1
a)
DATA2
CLK2
CE
Set/PRESET
Reset/CLEAR
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
CLK1
DDRMUX
ODATA2
D2A
D2B
D2C
D2D
ODATA1
D1A
D1B
D1C
D1D
TDATA2
DDRMUX
TDATA1
IESIRE_O
HZ
O
OBUF
IESIRE
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
578
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.
579
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
,,
,,
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
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
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
583
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
584
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
TDI
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
N2
celula
scan
N4
Circuitele
sistemului
integrat
Bypas
registru
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.
586
4.8
COMBINAT
IONAL SAU SECVENT
IAL?
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)
588
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?
,,
,,
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
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)
592
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)
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
4.8. COMBINAT
IONAL SAU SECVENT
IAL?
593
594
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).
I DE PROGRAMARE
4.9. COMPARAT
IE
INTRE DIFERITELE MODALITAT
595
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
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
Circuite
logice
standard
PLD
SPLD
ASIC
Arii de
porti logice
CPLD
Celule
standard
Fullcustom
FPGA
I DE PROGRAMARE
4.9. COMPARAT
IE
INTRE DIFERITELE MODALITAT
597
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
[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