Sunteți pe pagina 1din 10

Platformdeelearningicurriculecontent

pentrunvmntulsuperiortehnic

ProiectareaLogic

11.Sintezacircuitelorseceventialecomplexe

SINTEZA CIRCUITELOR SECVENTIALE COMPLEXE

Pasul 1. nelegerea problemei


Un automat finit este deseori descris comportamental prin anumite specificaii. Este
important s putei nelege i aceste descrieri ntr-o manier neambigu. Pentru
numrtoare, este suficient de simplu s enumerai secvene. Pentru automate finite,
ncercai s dai cteva valori pentru intrri, pentru a fi sigur c nelegei condiiile n
care sunt generate ieirile.
Pasul 2. Obinerea reprezentrii abstracte a automatului
Odat ce ai neles problema, trebuie s o transformai ntr-o form uor de manipulat
de ctre procedurile de implementare a automatelor finite. Diagrama de stri este o
posibilitate. Alte reprezentri include mainile algoritmice i specificaiile n limbaje
de descriere hardware.
Pasul 3. Minimizarea numrului de stri
Pasul 2 n care se obine reprezentarea abstract, rezult de multe ori n a avea prea
multe stri. Anumite drumuri prin strile mainii pot fi eliminate deoarece
comportamentul intrrilor/ieirilor poate fi echivalat de alte drumuri. Acest pas nu
este necesar n proiectarea numrtoarelor simple.
Pasul 4. Atribuirea strilor
La numrtoare, starea i ieirea erau identice i nu am avut nevoie de codificarea
unei anumite stri n mod particular. n general pentru automatele finite, acest lucru
nu mai este valabil. Ieirile sunt derivate din biii stocai n strile bistabilului (i din
intrri) i o bun alegere a codificrii strii duce de obicei la o implementarea mai
simpl.
Pasul 5. Alegerea tipului bistabilului necesar implementrii
Acest pas este identic cu decizia din procedura de proiectare a numrtorului. Bistabili
JK reduc numrul de pori, n defavoarea numrului de conexiuni. Bistabilii D
simplific procesul de implementare.
Pasul 6. Implementarea automatului finit
Etapa final este regsit i n procedeul de proiectare al numrtoarelor. Folosirea
ecuaiilor booleene sau a diagramelor Karnaugh, produc minimizarea i
implementarea.
n acest curs ne vom concentra pe primi 2 pai ai procesului de proiectare. Paii de la
3 la 6 vor fi explicai ntr-un curs viitor.

Un automat simplu
Pentru a ilustra procedeul de proiectare, se va parcurge implementarea unui automat
finit care controleaz funcionarea unui automat.
Automatul elibereaz un pahar de cafea dup inserarea a 1,5 lei. Aparatul are un
singur orificiu pentru monede i bancnote, accept numai monede 50 de bani i
bancnote de 1 leu, cte una la o inserare. Un senzor mecanic indic dac s-au introdus

50 de bani sau 1 leu. Ieirea mainii determin eliberarea unui singur pahar de cafea
odat.
O ultim specificaie: Se va proiecta maina astfel nct s nu dea restul. Un
client ce va introduce 2 bancnote de 1 leu, va pierde 50 bani.
nelegerea problemei. Primul pas n proiectarea automatelor finite este s nelegem
cerinele problemei. ncepem prin a desena o diagram bloc pentru a nelege intrrile
i ieirile. Figura 9 este un bun exemplu n acest sens. Semnalul 0,50 este asertat
pentru o perioad de ceas cnd se introduce o moned de 50 de bani. 1,0 este asertat
cnd este introdus o bancnota de 1 leu. Automatul aserteaz Cafea pentru o perioad
de ceas cnd s-au adunat cel puin 1,5 lei de la ultima iniializare (Ini).

0,50
Senzor
de
moned

1,0

Automatul
FSM

Cafea
Eliberarea
cafelei

Ini
Ceas

Figura 9. Diagrama bloc pentru maina de pahare cu cafea


Specificaiile pot s nu defineasc complet comportamentul mainii. De exemplu, ce
se ntmpl dac cineva introduce o moned de 1 ban? Sau, ce se ntmpl dup ce
paharul de cafea a fost eliberat clientului? Cteodat trebuie s facem anumite
presupuneri. Pentru prima ntrebare, se presupune c senzorul returneaz orice
moned pe care nu o recunoate, lsnd semnalele 0,50 i 1,0 neasertate. Pentru a
doua ntrebare, se presupune c automatul se re-iniializeaz singur dup ce paharul de
cafea este eliberat.
Reprezentarea abstract Odat neles comportamentul, este timpul s transformm
specificaiile ntr-o reprezentare abstract. Un mod corect de ncepere a acestui lucru
este acela prin care se enumera secvenele posibile de intrri sau configuraiile
sistemului. Acestea vor ajuta la definirea strilor mainii.
Pentru aceast problem, nu este prea dificil s se enumere toate secvenele posibile
de intrri ce duc la eliberarea paharului de cafea:
3 monede de 50 de bani n secvena : 0,50, 0,50, 0,50;
2 monede de 50 de bani i 1 bancnot de 1 leu n secvena:
0,50, 0,50, 1,0;
1 moned de 50 de bani i o bancnota de 1 leu n secvena:
0,50, 1,0;
2 bancnote de 1 leu n secvena: 1,0, 1,0.
Aceste posibiliti pot fi reprezentate printr-o diagram de stri ca n fig. 10. De
exemplu, automatul va trece prin strile S0, S1, S3, S7 dac secvena de intrri este 3
monede de 50 de bani.

Reset
S0
0,5

1,0

S1
0,5

S2
1,0

S3

0,5
S4
Cafea

0,5

1,0

S5

S6

Cafea

Cafea

1,0

S7

S8

Cafea

Cafea

Figura 10. Diagrama strilor pentru maina de vndut cafea.


Pentru a pstra diagrama de stri simpl i lizibil, se vor include numai
tranziiile care cauzeaz explicit schimbarea strii. De exemplu, n starea S0, dac nici
0,5 i nici 1,0 nu sunt asertate, se presupune ca automatul rmne n starea S0
(specificaia face s se presupun c 0,5 i 1,0 nu pot fi asertate n acelai timp). De
asemenea, se include ieirea Cafea numai n strile n care aceasta este asertat i se
consider implicit neasertat n celelalte.
Minimizarea numrului de stri Aceast reprezentare cu 9 stri nu este cea optim
posibil. De exemplu, strile S4, S5, S6, S8 au comportament identic i pot fi
combinate ntr-o singur stare.
Pentru a reduce numrul de stri i mai mult, putem s gndim fiecare stare ca
fiind suma acumulat pn n acel punct. De exemplu nu ar trebui s conteze c la
starea reprezentnd 1.0 lei s-a ajuns cu 2 monede de 50 de bani sau cu o bancnot
avnd valoarea 1 leu.
Diagrama de stare ce rezult este reprezentat n fig. 11. Putem reprezenta
comportamentul cu numai 4 stri, comparativ cu 9, care erau n fig. 10. De asemenea,
o alt utilitate a reprezentrii minimale poate fi observat la tranziia din starea 1,0 lei
la starea 1,5 lei. Se interpreteaz notaia ND asociat acestei tranziii ca fiind se
trece n starea 1,5 lei dac N sau D sunt asertate.

Reset
0,0

0.50
0.50
1,0
0.50
1,0

1,0

0,50, 1,0
1,5
cafea

Figura 11. Diagrama minimizat a strilor.


n urmtorul capitol, vom examina metodele formale de gsire a diagramei de
stri minimale. Procesul de minimizare a diagramei asociate automatului se numete
minimizarea numrului de stri.
Codificarea strilor n acest moment avem un automat finit, cu numr minim de stri,
dar nc la un nivel simbolic. Se remarc n figura 12 tabelul tranziiilor de stare.
Urmtoarea etap este codificarea.
Modul de codificare al strilor poate avea un efect important asupra
volumuluide circuite necesar implementrii automatului. Un mod natural de
codificare ar fi cel cu 2 bii: starea 0 lei ca fiind 00, starea 50 bani ca fiind 01, starea
corespunztoare valorii 1,0 lei ca fiind 10, i starea aferent valorii1,5 lei ca fiind 11.
O codificare mai puin evident ar putea duce la o configuraie hardware mai simpl.
Tabelul tranziiilor de stri codificate este reprezentat n figura 13.

Starea
curent
0 lei

50 bani

1,0 lei

1,5 lei

Intrri
D
0
0
1
1
0
0
1
1
0
0
1
1
X

Starea
urmtoare
N
0
1
0
1
0
1
0
1
0
1
0
1
X

0 lei
50 bani
1,0 leu
X
50 bani
1,0 leu
1,5 lei
X
1,0 leu
1,5 lei
1,5 lei
X
1,5 lei

Ieire
Cafea
0
0
0
X
0
0
0
X
0
0
0
X
1

Figura 12. Tabelul tranziiilor de stare.


Starea
curent
Q1
Q0
0
0

Intrri
D
0
0
1
1
0
0
1
1
0
0
1
1
X

Starea
urmtoare
D1
D0
0
0
0
1
1
0
X
X
0
1
1
0
1
1
X
X
1
0
1
1
1
1
X
X
1
1
1
1
1
1
X
X

N
0
1
0
1
0
1
0
1
0
1
0
1
X

Ieire
Cafea
0
0
0
X
0
0
0
X
0
0
0
X
1
1
1
X

Figura13. Tabelul tranziiilor strilor codificate.


Implementarea Urmtorul pas este implementarea tabelului tranziiilor de stare dup
alegerea prealabil a elementelor de memorie, stocare. Se va urmri implementarea cu
ajutorul bistabililor JK i D. Diagramele Karnaugh pentru implementare cu bistabili D
sunt reprezentate n figura 14. Au fost completate direct din tabelul strilor codificate.
Ecuaiile de minimizare pentru intrrile i ieirea circuitului sunt:
D1 = Q1 + D + Q0 * N
G
D0 = N * Q0 + Q0 * N + Q1 * N + Q1 * D
CAFEA = Q1 * Q0

Q1

Q1
Q1 Q0
DN

0
0
0
1

Q1 Q0

DN

1
1

Q0

Q0

Q1
Q1 Q0

1
1

D
DN

1
0
0
0
0

Q0

Figura 14. Diagramele


bistabili D.

Logica
reprezentat n figura
i 2 bistabili.

Karnaugh pentru

implementrii
este
15. Se utilizeaz 8 pori

Q1
D
Q0
N
N
/Q0

Clk

Q1
D Q
Q /Q1
R

/Reset

Q0
/N
Q1
N

Clk

Q1
D

Q0
D Q
Q /Q0
R

/Reset

Figura 15. Logica implementrii cu bistabili D.


Pentru a implementa automatul cu bistabili JK, trebuie s se refac funciile de
tranziie de stare. Tabelul refcut al tranziiilor de stare pentru implementarea cu
bistabili JK este reprezentat mai jos. Ecuaiile minimizate arat astfel:

J 1 = D + Q0 * N

K1 = 0

J 0 = Q0 * N + Q1 * D

K 0 = Q1 * N

(17)

Figura 18 reprezint logica implementrii utiliznd bistabili JK. Se observ


reducerea numrului de circuite: 7 pori i 2 bistabili
Starea
curent
Q1 Q0
0
0

Intrri
D
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

N
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Starea
urmtoare
D1 D0
0
0
0
1
1
0
X
X
0
1
1
0
1
1
X
X
1
0
1
1
1
1
X
X
1
1
1
1
1
1
X
X

J1

K1

0
0
1
X
0
1
1
X
X
X
X
X
X
X
X
X

X
X
X
X
X
X
X
X
0
0
0
X
0
0
0
X

J0
0
1
0
X
X
X
X
X
0
1
1
X
X
X
X
X

Q1

Q1 Q0

Q1 Q0
DN
DN

0
0

K0
X
X
X
X
0
1
0
X
X
X
X
X
0
0
0
X
Q1
00 01
X

01

11

10

0
N

1
1
0

Q0

Q0

Q1 Q0

10

00

11

Q1

Q1

DN

0
0
0

Q1 Q0

DN

1
1
0

D
Q0

0
0
0
1

Q0

1
1

Figura 17. Diagramele Karnaugh pentru bistabili JK.

1
0

D
J Q
K Q
R

Q0
N

/Q0
N
Q1
N

J Q
KQ
R

Clk
/Q1
D

Q1
/Q1

Q0
/Q0

/Reset

Figura 18. Logica implementrii cu bistabili J-K.


Concluzii. S-a descris pe scurt procesul de proiectare al automatului finit i a fost
ilustrat cu ajutorul unui automat simplu. ncepnd cu considerarea cerinelor, s-a
descris automatul ntr-un mod formal. n acest caz s-au folosit diagramele de stri.
Cum exist mai mult dect o diagram care s conduc la acelai
comportament intrare/ieire este important s se gseasc o descriere cu ct mai
puine stri. Acest lucru reduce de obicei complexitatea implementrii automatului
finit. De exemplu, diagrama de stare din fig. 10 conine 9 stri i necesit 4 bistabili
pentru implementare. Diagrama minimizat din fig. 11 are 4 stri i poate fi
implementat cu numai 2 bistabili.

Odat ce s-a obinut o descriere minimal, urmtorul pas este gsirea


codificrii potrivite a strilor. Alegerea potrivit poate reduce logica implementrii
pentru funciile de ieire. n exemplu nostru s-a folosit o codificare evident.
Ultimul pas este alegerea tipului de bistabili pentru registrul de stare. n
exemplul considerat, implementarea cu bistabili D a fost mai uor de realizat din
punct de vedere al calculelor necesare. Nu a fost nevoie s se refac diagramele
corespunztoare intrrilor, dar s-au folosit mai multe pori dect la implementarea cu
bistabile JK.

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