Download presentation
Presentation is loading. Please wait.
1
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Student: Vladimir Petrović 10605 OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
2
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Šta je to konačni automat? Konačni automat (Finite State Machine – FSM) je bilo koje kolo specifično projektovano da sekvencira kroz specifični niz stanja na unapred odredjen sekvenciran način.
3
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Blok šema konačnog automata
4
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Logika narednog stanja. Logika narednog stanja (Next State Logic) – kombinacioni blok koji se koristi za generisanje narednog stanja u sekvenci. Izlaz naredno stanje zavisi od primarnih ulaza u mašinu i ulaza tekuće stanje. Registar tekućeg stanja. Registar tekućeg stanja – n-to bitni registar, korisiti se za čuvanje tekućeg stanja FSM-a. Njegova vrednost odgovara tekućem stanju pojedine sekvence operacija, koje ovaj automat obavlja. U toku rada, on se taktuje taktnim signalom. Izlazna logika. Izlazna logika (Output Logic) – kombinaciona logika koja se koristi za generisanje željenih izlaznih signala. Izlazi zavise od registra tekućeg stanja i možda od primarnih ulaza mašine.
5
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
FSM-ovi su standardni modeli za izračunavanje koji se koriste od strane sistemskih projektanata već duži period. Uobičajno se FSM može predstaviti na nekoliko različitih načina, kakvi su: Grafički zasnovane prezentacije (dijagrami stanja i dijagrami toka) Tekstulano
6
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Bazični FSM čine konačni skup stanja S (pri čemu se inicijalna vrednost specificira kao S0), skupa ulaznih signala I, skupa izlaznih signala O, izlazna funkcija f, i funkcija narednog stanja h. Izlazni signali i signali narednog stanja (f i h, respektivno) preslikavaju unakrsni proizvod S i I u S i O, respektivno (f: S I → S, h: S I → O). Dva osnovna modela koja se mogu razmatrati kod modeliranja izlaza su: a) Moore-ov tip mašine b) Mealy-ev tip
7
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Moore-ov tip mašine nazvan state-based FSM, kod koga su izlazi pridruženi aktiviranom stanju (i gde izlazna funkcija f samo vrši preslikavanje stanja S u izlaze O Mealy-ev tip mašine nazvan transition-based FSM, kod koga se izlazi pridružuju tranzicijama izmedju stanja. Važno je napomenuti da oba modela imaju iste mogućnosti za modeliranje.
8
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Sa tačke gledišta implementacije uobičajno je da se FSM dekomponuje na skup funkcija koje izračunavaju naredno stanje i izlaze, i skup promenljivih stanja.
9
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Sa tačke gledišta izvršne semantike moguće je ralizovati sledeća dva referentna pristupa kod FSM-ova: sinhroni FSM-ovi asinhroni FSM-ovi
10
OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a
Kod sinhronih FSM-ova izračunavanje i komunikacija se izvršavaju trenutno u dikretnim trenucima u ritmu upravljačkih takt signala. Kod asinhronih FSM-ova ponašanje procesa je slično kao i kod sinhronih FSM-ova, ali tranzicije nisu zavisne od promene taktnog signala. Asinhroni sistem je sistem kod koga dva dogadjaja ne mogu da imaju isti vremenski marker.
11
Dijagram stanja i tipovi automata Dijagram stanja i tipovi automata
Binarni broj koji predstavlja vrednost registra stanja ili njegovo pridruženo ime stanja su upisani unutar kruga. Ulazno-signalni uslovi koji diktiraju prelaz izmedju stanja su naznačena pored odgovarajuće linije ali pre (/) slash znaka. Slash znak se koristi da razdvoji ulazne od izlaznih signala. Vrednosti nakon slash znaka, ako postoje, ukazuju na vrednost izlaznih signala koje su funkcija kako od primarnih ulaza tako i od izlaza registra tekućeg stanja. Ovaj tip automata se naziva Mealy-ev tip automata.
12
Dijagram stanja i tipovi automata
Kada je vrednost izlaznih signala funkcija samo izlaza registra tekućeg stanja, tada se oni prikazuju pored kruga koji predstavlja odgovarajuće stanje. Ovaj tip automata se naziva Moore-ov automat.
13
Tabela stanja gore navedenih automata
Ulazi Tekuće stanje Naredno stanje Izlazi A Hold Y_Me Y_Mo X 000 (st0) 1 001 (st1) 010 (st2) 011 (st3) 100 (st4)
14
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
15
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
16
1. Stil HDL kodiranja Postoje različiti načini modeliranja FSM-ova, sa druge strane, male izmene u kodu mogu uzrokovati od modela da se drugačije ponaša od očekivanog. Projektanti treba da budu svesni egzistencije različitih stilova modeliranja koji se podržavaju od strane sredstva za sintezu koje oni koriste.
17
Posledice nekorektnog i korektnog opisa
Korektno opisano kolo
18
Posledice korektnog i nekorektnog opisa
Nekorektno opisano kolo Lako je uočiti D-leč kolo na izlazu
19
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
20
2. Resetovanje i bezbedno ponašanje automata
U zavisnosti od aplikacije, reset signal ne mora da bude dostupan, može da bude sinhroni ili asinhroni, ili i jedno i drugo. Da bi obezbedili bezbedno ponašanje u zavisnosti od tipa reseta moraju se obezbediti sledeće dve stvari: Korišćenje asinhronog reseta. Bez reseta ili sinhronog reseta.
21
2. Resetovanje i bezbedno ponašanje automata
Korišćenje asinhronog reseta. Ovo obezbedjuje da se automat uvek inicijalizira u poznato važeće stanje, pre prve aktivne tranzicije takta i početka normalnog rada. Bez reseta ili sinhronog reseta. U odsustvu asinhronog reseta, nakon uključenja sistema na napajanje, ne postoji način za predikciju inicijalne vrednosti registra stanja kada se on implementira u integrisanom kolu.
22
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
23
3. Kodiranje stanja Način na koji se binarne vrednosti dodeljuju stanjima nazivamo kodiranje stanja. Postoje nekoliko različitih formata kodiranja stanja koja se uobičajno koriste, a to su: Sekvencijalni Gray-ov Johnson-ov One-hot Definisan od strane korisnika Definisan sintezom
24
3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot
Definisan od strane korisnika Definisan sintezom
25
3. Kodiranje stanja – Sekvencijalni format
Sekvencijalni format. Svakom stanju se dodeljuje jedinstveni binarni broj koji se inkrementira. No. Sekvencijalni 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111
26
3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot
Definisan od strane korisnika Definisan sintezom
27
3. Kodiranje stanja – Gray-ov i Johnson-ov kôd
Gray-ovo i Johnson-ovo kodiranje. Svakom stanju kod Gray-ovog ili Johnson-ovog kodiranja stanja se dodeljuju sukscesivni binarni brojevi pri čemu izmedju dva susedna broja postoji razlika samo na jednoj bit poziciji. Primarni razlog za korišćenje ovakvog kodiranja je smanjenje mogućnosti pogrešnih tranzicija uzrovanim promenama na asinhronim ulazima u trenutku postavljanja flip-flopova.
28
3. Kodiranje stanja – Gray-ov i Johnson-ov kôd
0000 1 0001 2 0011 3 0010 4 0110 5 0111 6 0101 7 0100 8 1100 9 1101 10 1111 11 1110 12 1010 13 1011 14 1001 15 1000 Prikaz Gray-ovog i Johnson-ovog načina kodiranja
29
3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot
Definisan od strane korisnika Definisan sintezom
30
3. Kodiranje stanja – One-hot kod
No. One-Hot 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 One – hot. Kod One-hot kodiranja stanja svakom stanju je dodeljen po jedan flip-flop, što znači da za n stanja je potrebno n flip-flopova pri čemu samo jedan flip-flop u datom trenutku se nalazi u pravom stanju. Povećani broj flip-flopova obično rezultuje većoj logici.
31
3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot
Definisan od strane korisnika Definisan sintezom
32
3. Kodiranje stanja – Definisano od strane korisnika
Definisan kôd od strane korisnika. Svakom stanju se dodeljuje binarni broj u saglasnosti sa pojedinim zahtevom projektanta. Neka se na primer koristi Hamming-ov kod kodne distance dva (može i više). Ovakva varijanta omogućuje definisanje koda koji u sebi nosi podatke o grešci. No. Hamming (2) 00000 1 00010 2 00100 3 00110 4 01000 5 01010 6 01100 7 01110 8 10000 9 10010 10 10100 11 10110 12 11000 13 11010 14 11100 15 11110
33
3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot
Definisan od strane korisnika Definisan sintezom
34
3. Kodiranje stanja – Kod definisan sintezom
Kôd definisan sintezom. Ovi formati se biraju od strane sredstava za sintezu i imaju cilj da minimizuju logiku narednog stanja. Nešto odredjednije stvarne dodele zavise od dizajnera. Da bi videli kako se to ostvaruje dodela projektanta mora da konsultuje literaturu koja se odnosi na sredstva za sintezu.
35
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
36
4. Tipovi izlaza automata
Mealy-ev tip automata ima izlaze, koji su funkcija signala sa primarnih ulaza i signala sa registra tekućeg stanja. Moore-ov tip automata, sa druge strane, poseduje izlaze, koji su funkcija samo signala sa registra tekućeg stanja. Ako izlazi automata dolaze direktno sa registra stanja, tada ne postoji izlazna logika. Kombinovani Mealy/Moore-ov automat ima oba tipa izlaza. Izbor koji od modela automata koristiti je apsolutno zavisan od problema zadatka (projekta).
37
4. Tipovi izlaza automata
38
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
39
5. Sekvencijalna logika narednog stanja i logika izlaza
Obe, logika narednog stanja i logika izlaza automata realizuju se kao kombinaciona logika. Ipak, u zavisnosti od tipa aplikacije moguće je da se ugradi dodatna sekvencijalna logika u oba bloka i to ugradi u kodu modela automata. Opisaćemo sada ulogu svake od ovih logika posebno.
40
5. Sekvencijalna logika narednog stanja i logika izlaza
Sekvencijalna logika narednog stanja. Ova logika upravlja grananjem na naredno stanje na osnovu prethodnog skupa signala. Ovi signali treba da budu postavljeni kada je automat bio u drugom stanju, do koje se došlo preko odredjene sekvence stanja, ili zbog neke akumulirane vrednosti koja je rezultirala zbog izvršavanja u petlji odredjene sekvence sukscesivnog stanja. Upravljački ulazi narednog stanja mogu takodje da se koriste za generisanje izlaza automata.
41
5. Sekvencijalna logika narednog stanja i logika izlaza
Sekvencijalna izlazna logika. Ova logika registruje činjenicu da se javilo odredjeno stanje ili sekvenca stanja.
42
FSM dizajn i elementi projektovanja
Projektovanje FSM-a i njegovo modeliranje razmatraćemo kroz sledeće aspekte: Stil HDL kodiranja Resetovanje i bezbedno ponašanje Kodiranje stanja automata Automat sa Moore-ovim i Mealy-evim tipom izlaza Logika za sekvenciranje narednog stanja i izlazna logika Interaktivni automati
43
6. Interaktivni automati
Ako se tekuće stanje mašine ili izlazni signali koriste da bi uticali na rad drugih automata, tada se ti automati nazivaju interaktivni. Interakcija izmedju automata može da bude jednosmerna ili dvosmerna. - Jednosmerna interakcija. Automati mogu biti hijerarhijski organizovani, pa u tom slučaju oni su pogodni za razbijanje komplikovanih upravljačkih struktura na veći broj manjih upravljačkih celina. - Dvosmerna interakcija. Automati koji imaju dvosmerno upravljanje jedan u odnosu na drugi korsni su za modeliranje kola koja zahtevaju Handshaking mehanizme (mehanizme rukovanja). Sledeći slajd prikazuje načine komunikacije jednosmernih automata.
44
6. Interaktivni automati
45
Projektovanje automata
Projektovanje automata na osnovu dijagrama stanja Kako aktivirati VHDL program Sagledavanje rezultata simulacije
46
Projektovanje automata
potrebno je kreirati kôd koji opisuje rad konačnog automata, datog dijagramom stanja na slici:
47
Projektovanje automata
Korak 1 Za pokretanje programa u Windows okruženju, biramo ikonu Active-HDL 5.1. Može se koristiti i Start→All Programs→Active-HDL 5.1. Kada se program startuje, na ekranu se pojavljuje dialog box dat na slici 1. Slika 1
48
Projektovanje automata
Postavljanjem parametara kao što je prikazano na slici 1 i pritiskom na Next, pojaviće se sledeći dialog box koji je vezan za konkretne primere i koji je prikazan na slici 2. Potrebno je samo čekirati Create new design i kliknuti na OK. Time smo započeli proces kreiranja novog projekta. Nakon ovih radnji pojavljuje se novi dialog box prikazan na slici 3. Slika 2
49
Projektovanje automata
Slika 3 U dialog box-u za kontrolu resursa, kako bi se kreirao potpuno nov projekat, potrebno je čekirati Create an empty design. Potrebno je kliknuti na Next nakon čega se pojavljuje nov dialog box vezan za alat za sintezu koji će se koristiti u projektu. O alatima za sintezu i problemima na koje treba obratiti pažnju, rečeno je u uvodu za ovu laboratorijsku vežbu. Prikaz kako treba biti popunjen dialog box nalazi se na slici 4.
50
Projektovanje automata
Slika 4
51
Projektovanje automata
Nakon potvrdjivanja alata za sintezu i dodele imena projektu (prikazano je na narednoj slici kako dodeliti ime, gde grupa obeležava redni broj automata, datog u listi automata za vežbu - u daljem delu teksta).
52
Projektovanje automata
Korak 2. Dakle, potrebno je kreirati kôd koji opisuje rad konačnog automata, datog dijagramom stanja. U koraku 1 prikazano je kako kreirati podlogu projekta (ime, alat za sintezu itd.).
53
Projektovanje automata
VHDL kôd:
54
Projektovanje automata
Nastavak koda:
55
Projektovanje automata
Nakon izvršene simulacije moguće je sagledati rezultate, koji su dati na narednoj slici: Stanja kroz koja automat prolazi
56
Zaključak Potrebno je, prilikom pisanja kôda voditi računa o pravilima projektovanja Pomoću konačnih automata moguće je na osnovu opisa ponašanja, na jednostavan način pomoću VHDL-a i sredstava za sintezu, doći do hardverske realizacije kola. Ovo znatno ubrzava projektovanje složenih sistema. Projektant je okrenut načinu rada sistema koji projektuje, a ne problemu hardverske realizacije.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.