Sunteți pe pagina 1din 12

9

SISTEME
SECVENIALE ASINCRONE

9.1 Numrtoare asincrone


n paragraful 7.2 s-au prezentat numrtoarele sincrone, o clas important de circuite
secveniale sincrone. De obicei, alturi de aceste circuite se prezint i numrtoarele
asincrone, numite i divizoare de frecven. Am preferat totui s le prezentm separat,
pentru c ele nu sunt sisteme sincrone, n sensul c bistabilele din structur nu primesc acelai
semnal pe intrrile de ceas. De acord c avem totui de-a face cu bistabile cu ceas, care
basculeaz pe front, n timp ce sistemele asincrone nu au n general semnal de ceas.
Bistabilele din numrtoarele asincrone funcioneaz ntr-un singur fel, i anume, ca
divizoare de frecven prin 2. Prin urmare, bistabilele din structur, fie c sunt de tip D sau de
tip JK, sunt transformate n bistabile de tip T, avnd intrarea de date T conectat la 1 logic.
Schimbndu-i starea pe fiecare front activ al ceasului, ele divizeaz prin 2 frecvena
semnalului aplicat pe intrarea de ceas.
Dac analizm o succesiune de numere binare cresctoare, observm c valoarea bitului
mai puin semnificativ (coeficientul lui 2 0 ) comut la creterea cu o unitate a oricrui numr,
iar valoarea biilor imediat superiori comut ntotdeauna ca o consecin a tranziiei n 0 a
bitului de rang imediat inferior. De aici rezult ideea conectrii bistabilelor n cascad.
Figura 9.1 reprezint schema unui divizor de frecven de 4 bii realizat cu bistabile T
1
T

T
CLK

T
CLK

T
CLK

CLK

Q8

Q4

Q2

Q1

Fig. 9.1 Divizor de frecven de 4 bii

CLK

154

9 SISTEME SECVENIALE ASINCRONE

Fig. 9.2 Forme de und pentru divizorul de frecven de 4 bii

Fig. 9.3 Forme de und vzute printr-o lup de timp


Dac acceptm c bistabilele comut pe frontul descresctor al ceasului, atunci se
obin formele de und prezentate n figura 9.2. La scara de timp la care s-a fcut simularea
funcionrii nu se observ nimic deosebit i diagrama strilor pare a fi cea ideal, dat n
figura 9.4. Dac privim ns printr-o lup de timp, aplicnd un ZOOM IN repetat pe zona
marcat din figura 9.2, vom obine formele de und din figura 9.3 i vedem c lucrurile nu
sunt chiar att de simple.
Bistabilele din structur nu comut simultan. Frontul descresctor al semnalului CLK
produce comutarea primului bistabil din dreapta, dar ieirea lui, notat cu Q1 , se modific cu
o mic ntrziere, dat de timpul de propagare a informaiei prin porile din structura
bistabilului. Semnalul Q1 este ceasul pentru bistabilul 2, iar semnalul Q2 se modific i el
cu o mic ntrziere fa de Q1 , i aa mai departe. Rezult c avem de fapt mult mai multe
stri dect cele date n figura 9.4. Dac privim semnalele din figura 9.3 constatm c ntre
strile 0111 i 1000 tranziia nu se face direct, ci prin strile 0110, 0100 i 0000. Numim
aceste stri de scurt durat, stri tranzitorii, iar celelalte 16 stri vor fi stri permanente.
0100
0110

0000

Q 8Q 4Q 2Q 1
0111

1000

0000

0001

0010

0011

0100

0101

0110

0111

1111

1110

1101

1100

1011

1010

1001

1000

Fig. 9.4 Diagrama ideal a strilor i fragment din diagrama real

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

Fig. 9.5 Sinteza divizorului de frecven cu 5 stri


Starea 5 apare pentru puin timp, pentru c ea este cauza care reseteaz bistabilele din
structur, dar ea este o stare tranzitorie. Durata ei este dat de timpul de propagare prin
poarta I-NU i prin cel mult dou pori interne din structura bistabilului JK.

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

9 SISTEME SECVENIALE ASINCRONE

B
A
B

AB
BC

Fig. 9.6 Circuit care genereaz hazard static


A

C
C

1
B

1
B

1
B

1
B

1
B

1
B

Fig. 9.7 Evidenierea hazardului static pe diagrama Veitch-Karnaugh


n sistemele secveniale sincrone nu se pune de obicei problema analizei hazardului,
pentru c frontul activ al ceasului se aplic dup ce logica combinaional a livrat valorile
logice ateptate ale funciilor de excitaie. n sistemele asincrone ns, aceast analiz a
hazardului i gsirea unor modaliti de eliminare a lui, este absolut necesar.
Se spune c un circuit logic are hazard static la ieire, dac exist cel puin o situaie n
care, prin modificarea valorii logice a unei variabile de intrare se produce o modificare de
scurt durat a valorii la ieire, aa cum se poate vedea n figura 9.6. Dac variabilele A i C
sunt la nivel logic 1 i variabila B trece din 1 n 0 logic, atunci ieirea f trece pentru un timp
egal cu timpul de propagare prin poart n 0 logic. De unde tim ns dac un circuit are sau nu
hazard, fr s mai desenm de fiecare dat formele de und, mai ales c este greu s
reprezentm pe forme de und toate tranziiile posibile ale variabilelor?
Este suficient s constatm dac, pentru anumite valori particulare date unui numr de
n-1 variabile ale funciei de n variabile, funcia poate fi scris sub forma x + x , unde x este
variabila rmas a funciei. n exemplul din figura 9.6, dac A = C = 1 , funcia f devine
f = B + B , deci are hazard pentru variabila B.
O metod mai simpl de punere n eviden a hazardului static este metoda
diagramelor Veitch-Karnaugh. Funcia dat n figura 9.6 se reprezint prin diagrama din
partea stng a figurii 9.7. Compartimentele care conin 1 logic sunt acoperite de dou
grupri diferite, care nu se intersecteaz. Observm c prin schimbarea valorii logice a
variabilei B se trece de la o grupare la alta, deci comutarea variabilei respective produce
hazard. Eliminarea hazardului se poate face prin introducerea unei grupri suplimentare,
care s includ mintermenii A BC i ABC , dup cum se vede pe diagrama din partea dreapt
a figurii 9.7. Funcia care nu mai are hazard devine: f = AB + BC + AC . Evident c exist
circuite care produc hazard static la comutarea unei variabile din 0 n 1 logic.
Hazardul dinamic este definit ca o comutare multipl a ieirii datorit unei singure
tranziii a intrrii. Acest lucru se poate ntmpla dac exist mai multe ci cu ntrzieri
diferite ntre variabila care produce hazardul i ieirea circuitului. Exemplul din figura 9.8
ilustreaz un posibil hazard dinamic la comutarea variabilei B din 0 logic n 1 logic. S-a
fcut ipoteza c poarta SAU care genereaz termenul A + B este mai lent dect celelalte
.

157

9.3 Analiza sistemelor secveniale asincrone

A 0
B
C

mare
0

1
0

0
1

1 0
foarte mare
1 0
1
1

Fig. 9.8 Circuit care genereaz hazard dinamic


pori din circuit, iar poarta SAU care genereaz termenul B + C este cea mai lent dintre
toate. Gsirea hazardului dinamic dintr-un circuit este o problem dificil i ea rmne,
totui, mai mult o preocupare academic, pentru c structurile combinaionale cu dou
nivele de logic care rezult fie prin minimizarea funciilor binare, fie prin implementarea
lor ntr-o arhitectur de tip PLD sau FPGA, nu genereaz hazard dinamic.

9.3 Analiza sistemelor secveniale asincrone


Sistemele secveniale asincrone sunt structuri de pori logice care conin reacii de la
ieiri la intrri. Starea urmtoare este definit aici de ntrzierile prin pori i nu de momentul
apariiei unuia dintre fronturile semnalului de ceas. Ne amintim c am discutat despre astfel de
circuite n capitolul 6, cnd am prezentat structurile interne ale latch-urilor.
Pentru a face analiza unui astfel de circuit trebuie s ntrerupem buclele de reacie,
astfel nct valoarea urmtoare memorat n fiecare bucl s fie o funcie dependent de
intrrile circuitului i de valorile prezente memorate n toate buclele. Vom considera structura
latch-ului de tip D din figura 9.9 i vom face analiza circuitului. Acest circuit are o singur
bucl, bucl care va fi ntrerupt prin introducerea unui buffer fictiv. Ieirea buffer-ului este
notat cu q, care este singura variabil de stare pentru exemplul considerat.
S mai presupunem acum c buffer-ul introdus este elementul de ntrziere, iar toate
celelalte pori sunt ideale, deci au timp de propagare nul. Putem calcula valoarea urmtoare a
lui q, notat cu q+, cu ajutorul ecuaiei de stare:
q+ = C D C D q = C D + C q + D q

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

Fig. 9.9 Analiza unui latch de tip D

Q
Q

158

9 SISTEME SECVENIALE ASINCRONE

q0

00
q0

q+
01
11
q0
q1

10
q0

CD

CD

00

q +, Q Q
01
11

10

q0

q 0 ,01 q 0 ,01 q 1,11

q1

q 1 ,10 q 1 ,10 q 1 ,10 q 0 ,01

q 0 ,01

Fig. 9.10 Tabelul tranziiilor i cteva tranziii pe tabelul tranziiilor i al ieirilor


Strile ncercuite sunt stri total stabile, adic stri n care sistemul bucleaz de
mai multe ori, ieirea din aceste stri fcndu-se numai prin modificarea intrrilor. Ieirile
sistemului sunt Q i Q , iar ecuaiile ieirilor sunt:
Q = C D +C q + Dq
Q =CD +q

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

9.3 Analiza sistemelor secveniale asincrone

Pentru cele dou ieiri ale circuitului rezult ecuaiile:


Q = q1 CLK + q1 q 3 + q3 CLK + q 2 q3 D

Q = q3 + q1 q 2 CLK + q1 CLK D

Tabelul tranziiilor este reprezentat n figura 9.12. Cele 3 variabile de stare q1 , q 2 i


q3 genereaz 8 stri interne posibile, iar strile total stabile s-au ncercuit.
Dac prin modificarea unei singure variabile de intrare se modific cel puin dou
variabile interne, atunci spunem c avem o curs ntre cele dou stri. De exemplu, dac
suntem n starea total stabil 011 i se modific intrrile CLK i D din 00 n 10, atunci starea
intern urmtoare devine 000, o modificare de 2 bii fa de 011, deci avem o curs.
De ce este periculoas o curs? Pentru c niciodat semnalele numerice nu se
modific simultan, deci tranziia 011 000 se face fie prin 011 010 000 , fie prin
011 001 000 . Vedem ns pe tabel c, oricum s-ar ntmpla, starea final va fi tot 000,
deci circuitul funcioneaz conform ateptrilor i o astfel de curs se numete
curs necritic.
Dac presupunem acum c pe a treia linie din tabel i pe ultima coloan, n loc de
000 avem ca stare urmtoare 110, atunci lucrurile se schimb i acest lucru se poate vedea
pe tabelul din partea dreapt a figurii 9.12. De data aceasta, la modificarea intrrii CLK din
0 n 1 logic tranziia din starea stabil 011 se face fie prin 011 000 000 , fie prin
011 000 110 111 , funcie de viteza i ordinea de modificare a variabilelor interne. O
astfel de curs se numete curs critic i proiectantul trebuie s asigure eliminarea acestor
tranziii critice. Altfel se poate ntmpla ca circuitul s funcioneze imprevizibil, starea
urmtoare n astfel de situaii depinznd de factori ca temperatura, tensiunea de alimentare
sau fazele lunii ([Wakerly, 1990]).
Exemplul considerat nu are curse critice, deci putem construi tabelul strilor i al
ieirilor din figura 9.13. Numai c tabelul construit are mai puine linii, deoarece am
eliminat strile care nu sunt total stabile. Comportarea circuitului nu se modific, doar unele
tranziii de la o stare stabil la alta ar putea avea mai puine stri tranzitorii. S-au eliminat i
acele stri urmtoare care nu pot fi atinse dintr-o anumit stare total stabil prin schimbarea
unei singure variabile de intrare. i aici putem aplica o procedur formal de reducere a
strilor, deoarece constatm c strile 000 i 010 sunt compatibile. Tabelul redus al strilor
i ieirilor este reprezentat tot n figura 9.13.
q+
q +q +
1 2 3

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

9 SISTEME SECVENIALE ASINCRONE

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

010,01 010,01 000,01 000,01


010,01 110,01 - , - 000,01

000
011

011
110

011,10 111,10 - , - 000,01


010,01 110,01 111,11 - , -

110

000,01 110,01 000,01 000,01


011,10 111,10 - , - 000,01
010,01 110,01 111,11 - , -

111

011,10 111,10 111,10 111,10

111

011,10 111,10 111,10 111,10

Fig. 9.13 Tabelul tranziiilor stabile i al ieirilor i tabelul redus


Pe tabelul redus se pot verifica diverse tranziii posibile ale circuitului. Vedem, de
exemplu, c dac suntem n starea stabil 000, avnd intrrile CLK D = 10 i se modific
intrarea D n 1 logic, atunci circuitul i pstreaz starea i ieirile. Dac trece intrarea CLK
n 0 logic, atunci fie rmnem n aceeai stare, fie trecem n 110, dar ieirile, n continuare,
nu se modific. Atunci cnd CLK revine la 1 logic, dac eram n starea 000 starea i ieirile
se pstreaz, iar dac eram n 110 se trece n starea 111 cu ieirile 10.

9.4 Sinteza sistemelor secveniale asincrone


Pentru proiectarea unei structuri secveniale asincrone trebuie s reprezentm
funcionarea sistemului printr-un tabel de tranziii. Fiecare stare din tabel trebuie s fie corelat
cu un eveniment care are loc n circuit, asemntor cu cazul sistemelor sincrone. Pentru ca
ieirea sistemului s depind numai de stare, se recomand ca acest prim tabel construit, s
conin cte o stare stabil pe fiecare rnd. S-ar putea ca tabelul rezultat s conin prea multe
stri, dar vom reduce numrul lor printr-o metod asemntoare celei de la sistemele sincrone.
Vom ncerca s proiectm un circuit care are urmtoarea descriere: circuitul are dou
intrri, P (puls) i R (Reset), i o ieire Y care are valoarea logic 0. Ieirea trebuie s se
poziioneze n 1 logic la fiecare tranziie de la 0 logic la 1 logic a intrrii P i s revin la 0
logic la fiecare activare prin 1 logic a intrrii R. Admitem c nu este posibil o activare
simultan a semnalelor de intrare. Tabelul tranziiilor este reprezentat n figura 9.14.
P R
q

00

IDLE

IDLE

RES1

IDLE

PLS1
RES2

PLS2
_

PLS2

PLS2

PLSN

IDLE

q+
11
01
_
RES1

10

Semnificaie

PLS1
_
RES1 RES2
_
RES2 PLS1

Repaus, ateptare puls

Reset, nici un puls

Apariie puls

RES1

RES2 PLSN
_
PLS1

Reset, puls exist

Lips puls, ieire n 1

RES2 PLSN

Exist puls, ieirea n 0

RES1
_

Fig. 9.14 Un prim tabel al tranziiilor

161

9.4 Sinteza sistemelor secveniale asincrone

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

9 SISTEME SECVENIALE ASINCRONE

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

Fig. 9.16 Tabelul fr curse al strilor i ieirii i diagrama de adiacen


Sigur c se pot gsi i alte coduri adiacente care elimin cursele. Dac introducem
acum codurile alese n tabelul din figura 9.16, acest nou tabel se poate descompune n 3
diagrame Veitch-Karnaugh, dou de cte 4 variabile pentru funciile q1+ i q 2+ , i una de
dou variabile pentru ieirea Y, care depinde numai de q1 i q 2 . Ecuaiile care se obin prin
minimizarea celor trei funcii sunt:
q1+ = P R + P q1
q 2+ = q 2 R + q1 q 2 P + q1 P R
Y = q2

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

Fig. 9.17 Schema logic a circuitului rezultat

163

Probleme

Probleme
9.1

S se proiecteze un circuit basculant cu 3 bucle, unde reprezint ntrzierea proprie


circuitelor logice i traseelor de conexiune. n repaus, intrrile x1 , x2 i x3 sunt n 0
logic. Atunci cnd intrarea xi trece n 1 logic, ieirea y i trece n 1 logic dac era n 0
logic, sau i pstreaz starea dac era n 1 logic. La revenirea intrrii xi n 0 logic,
ieirile y i i pstreaz vechea valoare. Admitem c se modific o singur intrare, iar
comenzile se exclud reciproc, adic x1 x 2 = x1 x3 = x 2 x3 = x1 x 2 x3 = 0 .

x1
x2
x3

9.2

CLC

S se stabileasc cronograma i diagrama strilor pentru divizorul de frecven din


figur. Artai care este numrul de stri permanente i raportul de divizare.
1
CLK

9.3

q1
q2
q3

CLK

out

CLK
Q

Se consider urmtoarea expresie boolean:


f = (x1 x 2 + x1 x3 )(x1 (x 4 + x5 ) + x1 x3 x 4 x5 )

i circuitul combinaional corespunztor.


a) exist hazard static la modificarea unei singure variabile?
b) exist hazard dinamic la modificarea unei singure variabile?
c) s se implementeze fr hazard funcia din diagrama de mai jos:
x1
x1
x3 1
1 1
x3 1 1 1
x2 x2 x2

([Friedman, 1986])
9.4

S se proiecteze un circuit asincron care are dou intrri binare x1 i x2 i o ieire


binar y. Pornind din starea stabil iniial 1, cu x1 = x 2 = 0 i y = 0 , ieirea i
modific valoarea dac i numai dac x1 i modific valoarea de 3 ori la rnd sau x2
i modific valoarea de 2 ori la rnd. Admitem c nu este posibil o modificare
simultan a celor dou intrri.
([Friedman, 1986])

164
9.5

9 SISTEME SECVENIALE ASINCRONE

S se analizeze sistemul secvenial din figur, reprezentnd cronograma, tabelul


tranziiilor i diagrama strilor. Artai c circuitul este un oscilator i stabilii perioada
de oscilaie.
2

([Mange, 1987])
9.6

S se proiecteze un latch cu dou intrri de control, C1 i C 2 , i trei intrri de date D1 ,


D2 i D3 . Latch-ul este deschis numai dac ambele intrri de control sunt 1, i va
memora valoarea logic 1, dac oricare din intrrile de date este pe 1 logic.
([Wakerly, 1990])

9.7

S se reproiecteze circuitul descris n paragraful 9.4, cu urmtoarea modificare a


caietului de sarcini: circuitul trebuie s detecteze orice modificare aprut pe intrarea P,
adic att o tranziie de la 0 logic la 1 logic, ct i o tranziie de la 1 logic la 0 logic.
([Wakerly, 1990])

9.8

S se proiecteze un bistabil D cu basculare dubl pe front, respectiv care basculeaz


pe ambele fronturi ale semnalului de ceas.
([Wakerly, 1990])

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])

S-ar putea să vă placă și