Documente Academic
Documente Profesional
Documente Cultură
SISTEME
SECVENIALE ASINCRONE
T
CLK
T
CLK
T
CLK
CLK
Q8
Q4
Q2
Q1
CLK
154
0000
Q 8Q 4Q 2Q 1
0111
1000
0000
0001
0010
0011
0100
0101
0110
0111
1111
1110
1101
1100
1011
1010
1001
1000
155
9.2 Hazard
Este clar cum se construiete un divizor de frecven, atunci cnd numrul de stri
permanente este o putere a lui 2. S vedem cum construim un astfel de circuit, dac numrul
strilor permanente nu este o putere a lui 2.
Metoda de sintez a divizorului de frecven cu p stri:
1. se stabilete numrul necesar m de bistabile, rezolvnd inecuaia: 2 m1 < p < 2 m
2. se realizeaz configuraia de divizor de frecven cu m bistabile
3. se detecteaz cu ajutorul unei funcii binare apariia strii p i se reseteaz
numrtorul
Exemplul 9.1
S se implementeze un divizor de frecven cu 5 stri, folosind bistabile de tip JK i
pori logice.
Conform metodei descrise mai sus, p = 5, deci m = 3. Cele 3 bistabile se conecteaz
n cascad, iar intrrile lor se conecteaz la 1 logic (se transform n T, cu T = 1). Detectarea
strii 5 se face cu o funcie binar de 3 variabile: Q4 , Q2 i Q1 . Strile 0, 1, 2, 3 i 4 sunt
stri utile, deci funcia are valoarea logic 1 n aceste cazuri (resetarea bistabilelor se face pe
0 logic). Pentru starea 5 funcia este 0, iar pentru strile 6 i 7 valoarea ei nu conteaz. Prin
minimizarea funciei cu diagrama Veitch-Karnaugh rezult c este implementabil cu o
poart I-NU cu dou intrri.
1
1
CLK
Q1
2
1
CLK
1
Q4
Q2
4
1
CLK
K R Q
K R Q
J
CLK
K R Q
Q4
Q1 1 1 x 1
Q1 1 1 x 0
Q2 Q2 Q2
Q4
Q4 Q2 Q1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
f
1
1
1
1
1
0
x
x
f = Q 1. Q 4
9.2 Hazard
Formalismul algebrei boolene folosit la analiza i sinteza structurilor combinaionale nu
inea seam de ntrzierile semnalelor prin pori. Acestea erau considerate ideale, adic aveau
timp de propagare nul. Aceast ipotez era de cele mai multe ori justificat, dac ieirile erau
citite dup un timp suficient de lung. Necesitatea de a ine seam de ntrzierile prin pori a
aprut la structurile secveniale, unde s-a introdus modelul logic asincron, model care explic
apariia hazardului.
156
B
A
B
AB
BC
C
C
1
B
1
B
1
B
1
B
1
B
1
B
157
A 0
B
C
mare
0
1
0
0
1
1 0
foarte mare
1 0
1
1
Cu ajutorul acestei ecuaii putem completa tabelul tranziiilor, care este dat n figura 9.10. Cele
dou stri 0 i 1 logic au fost notate cu q0 i respectiv cu q1 .
D
C
Y+
Y
Q
Q
158
q0
00
q0
q+
01
11
q0
q1
10
q0
CD
CD
00
q +, Q Q
01
11
10
q0
q1
q 0 ,01
Rezult tabelul tranziiilor i al ieirilor din figura 9.10. Tranziiile din acest tabel sugereaz
faptul c o modificare simultan a intrrilor ar putea produce tranziii necontrolate. De fapt, nu
exist simultan n inginerie! Una din intrri se va modifica ntotdeauna prima. Dac ne
aflm, de exemplu, n starea total stabil q1 , avnd intrrile CD = 11 , tranziia simultan a
lor n 00 va genera n final fie starea q0 , dac intrarea D se modific prima, fie starea q1 ,
dac intrarea C se modific prima.
S analizm n continuare un sistem care are mai multe bucle. Circuitul din figura
9.11 are structura unui bistabil de tip D cu declanare pe front. Problema este s stabilim
numrul minim de bucle. Chiar dac vom considera mai multe bucle dect exist, soluia
analizei va fi corect, pentru c surplusul de stri care rezult se va reduce prin tehnicile
cunoscute de reducere a strilor de la sistemele sincrone.
Se pot evidenia 3 bucle i rezult urmtoarele ecuaii pentru strile urmtoare:
q1+ = q 2 D + q1 CLK
q 2+ = q1 + CLK + q 2 D
q3+ = q1 CLK + q1 q3 + q 3 CLK + q 2 q 3 D
+
Y1
Y1
Y3+
Y3
CLK
Y+
2
Y2
D
Fig. 9.11 Analiza unui bistabil de tip D
Q
Q
159
Q = q3 + q1 q 2 CLK + q1 CLK D
CLK D
q+
q +q +
1 2 3
CLK D
q1 q2 q3
00
01
11
10
q1 q2 q3
00
01
11
10
000
001
010
011
100
101
110
111
010
011
010
011
010
011
010
011
010
011
110
111
010
011
110
111
000
000
110
111
111
111
111
111
000
000
000
000
111
111
111
111
000
001
010
011
100
101
110
111
010
011
010
011
010
011
010
011
010
011
110
111
010
011
110
111
000
000
110
111
111
111
111
111
000
000
110
000
111
111
111
111
Fig. 9.12 Tabelul tranziiilor i o curs critic pentru circuitul din figura 9.11
160
CLK D
q1 q2 q3
00
q+
q +q +
1 2 3,QQ
10
11
01
CLK D
q1 q2 q3
00
q+
q +q +
1 2 3,QQ
10
11
01
000
010
000
011
011
110
110
111
111
00
IDLE
IDLE
RES1
IDLE
PLS1
RES2
PLS2
_
PLS2
PLS2
PLSN
IDLE
q+
11
01
_
RES1
10
Semnificaie
PLS1
_
RES1 RES2
_
RES2 PLS1
Apariie puls
RES1
RES2 PLSN
_
PLS1
RES2 PLSN
RES1
_
161
Admitem c starea de repaus, notat cu IDLE, este starea n care semnalele de intrare
sunt 0, iar ieirea Y este tot n 0 logic. La activarea semnalului de reset, R = 1 , probabil c
rmnem n aceeai stare, dar pentru a nu avea dou stri stabile pe acelai rnd preferm s
introducem o nou stare notat cu RES1. Dac apare un puls, P = 1 , trecem ntr-o stare
diferit, notat cu PLS1, stare n care avem 1 logic la ieire.
Dac suntem n starea prezent RES1 i semnalul de reset de pe intrare dispare, ne
ntoarcem napoi n IDLE. Dac apare un puls, dar resetul este nc activat, atunci nu se
modific nimic, dar suntem obligai s introducem o nou stare RES2.
PLS1 este starea n care apare pulsul. Dac se activeaz i resetul, trecem n RES2,
dar dac P = 0 , circuitul ar putea trece n IDLE, dar atunci n-ar fi corect ieirea, care
trebuie meninut n 1 logic pn la apariia unui nou reset. Din acest motiv introducem o
nou stare notat cu PLS2, care va menine ieirea n 1 logic.
Din starea RES2, dac semnalul de puls trece n 0 logic, se poate trece n RES1. Dac
acelai lucru se ntmpl i cu semnalul de reset, iar P = 1 , ieirea trebuie s rmn n 0
logic, deci trebuie s introducem starea PLSN. Nu putem trece n PLS1, deoarece ieirea ar
deveni 1 logic n acest caz.
Tabelul rezultat se poate reduce, relativ uor, prin punerea n eviden a strilor
compatibile i este reprezentat n figura 9.15. Observm c IDLE i RES1 au aceleai stri
urmtoare i aceleai ieiri. Deci ele sunt compatibile, genernd o singur stare n tabelul
redus, stare notat cu IDLE. Strile PLS1 i PLS2 sunt i ele compatibile, din aceleai
motive. Starea corespunztoare din tabelul redus s-a notat cu PLS. n sfrit, RES2 i PLSN
sunt compatibile, fiind nlocuite n tabelul redus prin starea RES.
Urmeaz n continuare s codificm strile din tabelul redus. Avnd 3 stri, codul
binar minimal este pe 2 bii, dar de data aceasta codificarea nu mai poate fi ntmpltoare.
La sistemele sincrone, chiar dac alegeam codurile la ntmplare, obineam un circuit care
funciona foarte bine, singura problem fiind complexitatea lui, care putea fi mult mai mare
dect cea obinut printr-o codificare optim. Acum ns, suntem obligai s eliminm
cursele critice, dac vrem ca sistemul s funcioneze conform ateptrilor. Altfel, vom avea
o funcionare imprevizibil a sistemului.
Eliminarea curselor critice presupune de obicei o cretere a numrului de stri. Pentru
eliminarea total a curselor, dou stri ntre care au loc tranziii trebuie s primeasc coduri
adiacente, adic coduri care difer printr-un singur bit. Dac construim diagrama de
adiacen a strilor, care este dat tot n figura 9.15, observm c este imposibil s atribuim
celor 3 stri coduri adiacente. Singura soluie este s introducem o stare suplimentar, aa
cum se poate vedea n figura 9.16. S-a introdus starea RESA, iar tranziia de la PLS la RES
se face prin RESA. Dei aceast tranziie este de dou ori mai lent, acest lucru de obicei nu
conteaz, iar codificarea strilor propus n figura 9.16 elimin cursele.
q+
11
01
P R
q
00
IDLE
IDLE
IDLE
PLS
PLS
RES
IDLE
10
RES
PLS
IDLE
RES
PLS
IDLE
RES
RES
IDLE
RES
PLS
Fig. 9.15 Tabelul redus al strilor i ieirii mpreun cu diagrama de adiacen a strilor
162
q+
11
01
P R
q
00
IDLE
IDLE
IDLE
PLS
PLS
IDLE RESA
RESA
RES
IDLE
IDLE
10
PLS
PLS
RES
RES
RES
RES
00 IDLE
RES 10
PLS
RESA 11
01
Schema logic a circuitului cutat este dat n figura 9.17. Reamintim c logica
combinaional rezultat nu trebuie s aib hazard static.
n sistemele reale, mai putem avea unele surprize. Dac pe una din cile logicii
combinaionale prin care se propag semnalul de intrare avem o ntrziere prea mare, este
posibil s se produc o tranziie eronat la comutarea unei singure linii de intrare. Se spune c
avem un hazard esenial. Acest tip de hazard ar putea fi detectat pe tabelul tranziiilor, dac,
pornind dintr-o stare total stabil, starea total stabil atins dup trei modificri succesive ale
unei singure variabile de intrare este diferit de starea total stabil atins dup o singur
modificare a variabilei respective de intrare. Pentru a avea un astfel de hazard, circuitul trebuie
s aib cel puin 3 stri. Latch-urile nu au hazard esenial, dar circuitul nostru are. Eliminarea
hazardului esenial se poate face prin mrirea ntrzierilor pe buclele de reacie.
P
R
163
Probleme
Probleme
9.1
x1
x2
x3
9.2
CLC
9.3
q1
q2
q3
CLK
out
CLK
Q
([Friedman, 1986])
9.4
164
9.5
([Mange, 1987])
9.6
9.7
9.8
9.9
Schema din figur este cea a unui sistem secvenial cvasi-sincron. Admind c
schema bistabilului JK este cea cunoscut, iar poarta I-NU are o ntrziere, s se
construiasc tabelul tranziiilor i s se analizeze eventualele curse. Pentru ce valori
relative ale ntrzierilor dispare orice curs critic?
1
J
CLK
J S Q
CLK
K R Q
([Mange, 1987])
9.10 S se proiecteze un sistem cu dou intrri, EN i CLKIN, i o ieire, CLKOUT, cu
urmtorul comportament. Perioada ceasului este intervalul dintre dou fronturi
cresctoare ale lui CLKIN. Dac EN este activat pe durata unei perioade de ceas,
atunci CLKOUT este identic cu CLKIN pe durata urmtoarei perioade de ceas. Dac
EN = 0 pe toat perioada, CLKOUT = 1 pe toat perioada urmtoare. Dac EN are
ambele valori logice pe durata unei perioade, CLKOUT va avea valoarea logic
complementar celei prezente, pe toat durata perioadei urmtoare.
([Wakerly, 1990])