Zoltan Hascsi
00 11 10
n interiorul fiecrui simbol de stare s-a specificat ieirea automatului, numrul binar generat. n cele ce urmeaz vom scrie ieirea ntre ghilimele atunci cnd vom vorbi despre starea n care se genereaz acea ieire. Ieirea 00 este generat n starea 00, ieirea 01 n starea 01, .a.m.d. Graful trebuie completat cu tranziiile posibile ntre aceste stri. Presupunnd C = 0, numrtorul va genera urmtoarea secven periodic de numere: 00, 01, 10, 11 (0, 1, 2, 3 n zecimal). Tranziiile dintre stri sunt reprezentate mai jos, inclusiv tranziia 11 00 care face posibil reluarea secvenei:
01
00 11 10
Dac C = 1 numrtorul genereaz o secven periodic de 3 numere numai: 00, 01, 10 (0, 1, 2 n zecimal), corespunztoare numrrii modulo 3. Din cele patru stri ale automatului una este nefolosit n acest caz:
01
00 11 10
Suprapunem aceste tranziii pe acelai graf (tranziiile corespunztoare lui C = 0 sunt colorate n rou, cele corespunztoare lui C = 1 n albastru):
01
00 11 10 01
Zoltan Hascsi
Observm c indiferent de valoarea intrrii de control tranziiile din 00 duc ctre aceeai stare, 01. Tot ctre o singur stare sunt i tranziiile din 01. Prin urmare tranziia din 00 se face necondiionat ctre 01, respectiv din starea 01 numrtorul trece necondiionat n starea corespunztoare numrului 10. Tranziiile necondiionate nu le mai colorm n graful urmtor:
00 11 10
Reprezentarea n culori a tranziiilor condiionate de valoarea logic a intrrii de control las loc de ambiguiti dac nu se specific n clar pe graf condiiile n care are loc fiecare tranziie condiionat:
01
C=0 11 C=0
00 C=1 10 01
De prisos s mai precizm c tranziiile necondiionate nu au specificat nici o condiie. Pentru ca desenul s fie ct mai simplu condiiile de mai sus pot fi nlocuite cu funcii logice. Condiia C = 0 se va nlocui cu expresia logic C, aceasta fiind adevrat numai dac C = 0. Condiia C = 1 se va nlocui cu expresia C, funcia C fiind adevrat dac i numai dac C = 1.
C 11
00 01 C 10
Pentru ca automatul s fie complet definit trebuie precizate toate tranziiile posibile, chiar dac acestea nu au loc dect n afara funcionrii normale a automatului. n graful anterior tranzia din ultima stare nu este precizat dect n situaia n care C = 0. Este drept c n funcionare normal cu C = 1 numrtorul nu va ajunge niciodat n starea 11. Dar se poate ntmpla ca numrtorul s ajung n starea 11 prin numrare modulo 4 (C = 0) dup care intrarea de control s se modifice (C = 1) naintea urmtoarei tranziii. Ce se va ntmpla la urmtoarea tranziie ? Natural ar fi s lsm numrtorul s revin n starea 00, ca i cum ar fi continuat numrarea modulo 4, urmnd ca apoi s parcurg pe graf traseul normal al numrrii modulo 3. Aadar tranziia din starea 11 are loc n orice condiii numai ctre starea 00, o tranziie necondiionat altfel spus:
00 11 01
C C
10
Observaie. Dac dintr-o anumit stare avem o tranziie necondiionat atunci aceasta este singura tranziie posibil din acea stare. Observaie. Dac dintr-o anumit stare sunt posibile mai multe tranziii atunci toate aceste tranziii sunt condiionate. Suma logic a condiiilor acestora trebuie s fie 1. Spre exemplu automatul de mai sus are dou tranziii posibile din starea 10. Suma logic a condiiilor acestora este C + C = 1. n acest fel se poate verifica c nu a fost ignorat nici o tranziie posibil.
Zoltan Hascsi
Atenie: n interiorul simbolurilor de stare sunt notate ieirile automatului. Valorile variabilelor de stare pot fi altele, fiind la alegerea celui care implementeaz automatul. Numele strii, sau codul strii se trece n dreptul simbolului de stare:
ieire
stare 00 00
11 11 C C 10
01 01
10
A.2. Organigram Pentru acelai numrtor, al crui graf a fost construit mai sus, ne propunem o reprezentare pe o organigram. Strile sunt reprezentate prin dreptunghiuri n interiorul crora se trece valoarea ieirilor automatului:
00 01 10
11
Tranziiile necondiionate ntre stri sunt linii care conecteaz direct simbolurile acestora. Numrtorul trece necondiionat din starea 00 n starea 01. Necondiionat este i tranziia din starea 01 n starea 10.
00 01 10
11
Tranziiile condiionate sunt reprezentate pe organigrame cu ajutorul unor simboluri speciale numite blocuri de decizie n teoria automatelor. Un bloc de decizie indic o ramificaie n tranziia automatului din care se desprind dou ci posibile. n blocul de decizie se specific funcia logic a crei valoare de adevr determin calea pe care are loc tranziia. Fiecare ramur a deciziei este etichetat cu valoarea logic care determin automatul s aleag calea respectiv. Din starea 10 numrtorul nostru are dou ci posibile de evoluie, calea actual fiind selectat de valoarea logic a intrrii C. Dac C = 0 numrtorul trece n starea 11, prin urmare ramura blocului de decizie care conduce ctre aceast stare va fi etichetat cu 0.
Zoltan Hascsi
00 01 10 1
0 11
00 01 10 1
0 11
n aceast ultim organigram nu s-au mai desenat sgeile tranziiilor, sensul de parcurgere a organigramei fiind dictat de simbolul de decizie ce are un sens unic de parcurgere. Atenie: n interiorul simbolurilor de stare sunt notate ieirile automatului. Valorile variabilelor de stare pot fi altele, fiind la alegerea celui care implementeaz automatul. Numele strii, sau codul strii se trece n dreptul simbolului de stare:
ieire
stare
00 00 01 01 10 10
11 11
B. Reprezentarea unui automat Mealy S lum acelai numrtor pe doi bii dar s generm ieirile n funcie de intrarea C. Dac numr modulo 3 ieirea numrtorului corespunde secvenei naturale: 00, 01, 10. Dac numr modulo 4 numerele de la ieire sunt n codul Gray, secvena generat fiind 00, 01, 11, 10. Pentru amuzament adugm o nou ieire care s fluctueze n ritmul unei intrri suplimentare D atunci cnd numrtorul genereaz combinaia 10 dar numai pentru secvena de numrare modulo 4. Fie y2 aceast nou ieire, n timp ce cu y1 i y0 vom nota biii numrului generat.
Zoltan Hascsi
B.1. Graf Numrtorul are tot patru stri, s le denumim n continuare 00, 01, 10 i 11. Spre deosebire de automatul Moore precedent care avea n fiecare stare o ieire constant, automatul Mealy are n unele dintre stri ieiri diferite n funcie de valorile logice ale intrrilor C i D. S ncepem cu secvena de numrare modulo 3:
001 01
Zoltan Hascsi
C C
01C 10
La automatul Mealy este mult mai evident distincia ntre ieirile automatului i stri, cci ieirile unora dintre stri sunt funcii logice:
C C
ieire 01C 10 stare
Zoltan Hascsi
B.2. Organigram Pentru acelai numrtor, al crui graf a fost construit mai sus, ne propunem desenm organigrama. ncepem cu strile i tranziiile dintre ele (vezi organigrama automatului Moore):
00 01 10 1
11
Simbolurile de stare sunt cercuri, etichetate cu un nume distinctiv sau cu codul strii. Organigrama de mai sus reprezint semiautomatul, partea de automat responsabil doar cu tranziiile ntre stri. Ieirile sunt reprezentate n dreptunghiuri ataate simbolurilor strilor corespunztoare. S ncepem cu starea 00 care are ieirea 000, i starea 01 cu ieirea 001:
00 000 01 000 10 1
11
n starea 10 putem reprezenta ieirea cu ajutorul unui simbol de decizie, funcia de decizie fiind variabila de intrare care determin valoarea actual a ieirii:
Zoltan Hascsi
0 011
11
Pentru a aerisi puin organigrama vom profita de faptul c att ieirea ct i tranziia sunt guvernate de aceeai variabil de intrare C i vom folosi un singur simbol de decizie:
0 011 11
n fine, n ultima stare, 11, ieirea este de asemenea dependent de o intrare a automatului, cele dou valori posibile ale ei reprezentndu-e tot cu ajutorul unui simbol de decizie. Atenie: n organigramele automatelor Moore imediate simbolurile ieirii unei stri sunt desenate dup simbolul strii respective.
Zoltan Hascsi
0 011 11 0
1 110
010
C. Tabel de tranziii Graful i organigrama sunt modaliti generale de definire a automatelor, indiferent dac acestea sunt implementate cu variabile logice sau nu. n cazul n care variabilele de stare sunt variabile logice funciile de tranziie i de ieire sunt funcii logice i pot fi reprezentate ca orice alt funcie logic prin tabel, diagram VK sau expresie booleean. n continuare vom considera c starea numrtorului este reprezentat intern cu ajutorul a dou variabile de stare, q1 i q0, care au aceleai valorile scrise ntre ghilimele n exemplele anterioare. Un automat este complet caracterizat prin strile lui, tranziiile dintre acestea i valoarea ieirilor n fiecare stare. Ambele exemple de numrtor au acelai semiautomat, avnd aceleai tranziii ntre cele patru stri. Dac listm toate tranziiile posibile pentru fiecare stare a automatului obinem tabelul tranziiilor.
Zoltan Hascsi
q1 0 0 0 0 1 1 1 1
q0 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
q1 + 0 0 1 1 1 0 0 0
q0 + 1 1 0 0 1 0 0 0
Tabelul de adevr poate fi scris i ntr-o form mai compact, care evideniaz mai bine tranziiile necondiionate i n acelai timp poate fi un punct de plecare bun pentru construirea diagramei VK sau extragerea direct din tabel a expresiilor booleene:
q1 0 0 1 1 1
q0 0 1 0 0 1
C X X 0 1 X
q1 + 0 1 1 0 0
q0 + 1 0 1 0 0
Compactm i mai mult tabelul dac valorile funciilor din tabel le scriem cu ajutorul variabilelor de intrare, cum este cazul pentru starea 10. Funcia de tranziie pentru starea 10 depinde valoarea logic de la intrarea C. Astfel funcia q1+ este 1 dac C = 0, respectiv 0 dac C = 1, de unde rezult q1+ = C n cazul n care starea curent este 10:
q1 0 0 1 1
q0 0 1 0 1
q1 + 0 1 C 0
q0 + 1 0 C 0
4. Diagrama de tranziie Funcia de tranziie a automatului, ca orice alt funcie logic, se poate reprezenta pe o diagram VK. n cazul ei diagrama VK se numete diagram de tranziie. Dac avem deja tabelul tranziiilor automatului, precum tabelul desenat anterior, funciile logice care desemneaz valoarea viitoare a variabilelor de stare se pot desena pe diagrame VK:
q0 q1 0 1 C 0
q1+ q1
q0 0 0 C 1
q0+
Diagrama de tranziie este o variant foarte compact obinut prin concatenarea valorilor celor dou funcii pentru fiecare stare n parte:
Zoltan Hascsi
q0 q1 0 0 CC 10 01
q1+q0+
Avem astfel o imagine de ansamblu a comportamentului automatului. Diagrama de tranziie este mprit dup variabilele de stare. Avem astfel cte o csu pentru fiecare stare posibil a automatului. n fiecare csu se noteaz starea viitoare. Diagrama de tranziie n forma ei compact poate fi desenat plecnd de la graf sau automat fr s mai fie nevoie s desenm tabele de adevr. S desenm diagrama de tranziie a numrtorului plecnd de la organigrama semiautomatului. ncepem cu una din stri, s zicem 00. Csua acestei stri a fost colorat cu verde. n interiorul csuei se scrie starea viitoare, care este 01 conform organigramei:
00
01
10 1
q0 q1
0 11
q1+q0+
01
n acelai mod completm diagrama de tranziie pentru celelalte csue corespunztoare strilor din care tranziiile sunt necondiionate:
00
01
q0 q1
0 11
q1+q0+
10
1
00 10 01
n final s completm csua strii din care tranziia e condiionat. Cele dou stri viitoare posibile le vom nghesui ntr-o formul compact ca s ncap n csua rezervat.
Zoltan Hascsi
00
01 10 1
q0 q1
0
q1+q0+
0 0 CC 10 01
11