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 S3 0,5 S7
Cafea

S2 1,0 S4
Cafea

0,5 S5
Cafea

1,0 S6
Cafea

1,0 S8
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

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

Starea urmtoare 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

50 bani

1,0 lei

1,5 lei

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 N 0 1 0 1 0 1 0 1 0 1 0 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 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 D0 = N * Q0 + Q0 * N + Q1 * N + Q1 * D CAFEA = Q1 * Q0

Q1
Q1 Q0 DN

Q1

0 0 0 1

Q1 Q0
1

DN

1 1 0

0 0

Q0 Q1
Q1 Q0

0 1 1 1 1 0 0 0 0 1

Q0

D
DN

Q0 Karnaugh pentru implementrii este 15. Se utilizeaz 8 pori

Figura 14. Diagramele bistabili D. Logica reprezentat n figura i 2 bistabili.

1 1 1 0

Q1 D Q0 N N /Q0 Q0 /N Q1 N Q1 D /Reset Clk Clk /Reset

Q1 D Q Q /Q1 R

Q0 D Q Q /Q0 R

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 J 0 = Q0 * N + Q1 * D

K1 = 0 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 0 0 1 X 0 1 1 X X X X X X X X X K1 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 Q0 DN DN

K0 X X X X 0 1 0 X X X X X 0 0 0 X Q1 00 01 X X X X X X X X 11 0 0 X 0 10 0 0 X 0 N

Q1
Q1 Q0

00 01
0 0 0 1 1

11 10

N D

1 1 0

Q0 Q1

Q0 Q1

Q1 Q0

DN

0 0 0 1 1

Q1 Q0

DN

1 1 0

D Q0

0 0 0 1 1 1

Q0

Figura 17. Diagramele Karnaugh pentru bistabili JK.

1 0

D Q0 N J Q K Q R

Q1 /Q1

/Q0 N Q1 N /Q1 D /Reset

Clk

J Q KQ R

Q0 /Q0

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