OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a

Slides:



Advertisements
Similar presentations
Bistabilna kola i osnovne sekvencijalne mreže
Advertisements

Procentni račun Osnovne veličine procentnog računa su: -glavnica G -procentna stopa p -procentni prinos P Glavnica G je osnovna vrednost u odnosu na koju.
Prof: doc.dr. Samir Lemeš student: Samir Hrnjić. System restore je komponenta Microsoftovih operativnih sistema Windows Serveri ne podržavaju opciju System.
MIKROPROCESORSKI SISTEMI
Osnovi logičkog projektovanja sekvencijalnih mreža
Programi zasnovani na prozorima
UML Dijagrami Nemanja Zdravković broj Indeksa: 12824
Kodiranje GUI aplikacija u Visual C#
Petlje WHILE – WEND.
RP3/predavanje08 Ugniježdeni tipovi Iznimke 10/11/2018
Java Hello world !.
KONTROLE.
Algoritamske/programske strukture
Bluetooth.
v.as.mr. Samir Lemeš Univerzitet u Zenici
Programiranje - Blokovi naredbi i logički tipovi –
Pojam DBMS. Relacione baze podataka
CheckBox RadioButton RadioGroup
Naredbe ciklusa.
OPERACIONI POJAČAVAČI SA DIFERENCIJALNIM ULAZOM I IZLAZOM
LRC I VRC KODER/DEKODER
Petlje FOR - NEXT.
Internet mreže, FTN - KZI
PROGRAMSKE PETLJE Milenković Gabrijela.
Komponente izbora i kontejnerske komponente
Studenti: Ristić Goran br.ind Filipović Darko br.ind 9551
ISE Tutorial.
ISE Tutorijal II deo.
KREIRANJE OBJEKATA.
Video zapis.
Uvod u programiranje - matematika – X predavanje
Konkurentne naredbe dodele
Reference ćelije i opsega
LABORATORIJSKA VEŽBA VEŽBA 4
14 UNUTRAŠNJE I ANONIMNE KLASE
Elementi programskog jezika PASCAL
Podešavanje osobina stranica
Hyper Text Markup Language
Standardne kombinacione mreže
Arrays and strings -1 (nizovi i znakovni nizovi)
Klasa grafik.
Struktura MAC adrese i Ethernet okvira
Naredba Case Višestruko grananje.
Organizacija sistema zasnovana na
32-bitni mikrokontroleri i primena
Regional Center for Talented Youth Belgrade II
M-datoteke.
Element form Milena Kostadinović.
InputBox i naredba IF.
MessageBox.
Računarska grafika.
DIJAGRAMI PROMENE(PRELAZA) STANJA
Objektno orijentisano programiranje
Konkurentne naredbe dodele
Ključne reči,identifikatori, konstante i promenljive
VEKTORSKI UPRAVLJAN ASINHRONI MOTOR
Internet FTP usluga.
PROGRAMSKI JEZIK PASCAL
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
Algoritamske mašine stanja ili ASM dijagrami
Lazarus okruženje TIPOVI UNIT-a
Osnovni simboli jezika Pascal
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Skup instrukcija procesora
Programski jezik Python
Programiranje - Naredbe za kontrolu toka programa – 3. dio
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
Hour of Code Coding Jetpack Jumper Mateja Hržica, MSP.
Iracionalni brojevi
Presentation transcript:

OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a Student: Vladimir Petrović 10605 OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a

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.

OPIS KONAČNIH AUTOMATA POMOĆU VHDL-a Blok šema konačnog automata

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.

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

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

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.

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.

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

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.

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.

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.

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)

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

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

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.

Posledice nekorektnog i korektnog opisa Korektno opisano kolo

Posledice korektnog i nekorektnog opisa Nekorektno opisano kolo Lako je uočiti D-leč kolo na izlazu

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

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.

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.

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

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

3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot Definisan od strane korisnika Definisan sintezom

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

3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot Definisan od strane korisnika Definisan sintezom

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.

3. Kodiranje stanja – Gray-ov i Johnson-ov kôd 0000 00000000 1 0001 00000001 2 0011 00000011 3 0010 00000111 4 0110 00001111 5 0111 00011111 6 0101 00111111 7 0100 01111111 8 1100 11111111 9 1101 11111110 10 1111 11111100 11 1110 11111000 12 1010 11110000 13 1011 11100000 14 1001 11000000 15 1000 10000000 Prikaz Gray-ovog i Johnson-ovog načina kodiranja

3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot Definisan od strane korisnika Definisan sintezom

3. Kodiranje stanja – One-hot kod No. One-Hot 0000000000000001 1 0000000000000010 2 0000000000000100 3 0000000000001000 4 0000000000010000 5 0000000000100000 6 0000000001000000 7 0000000010000000 8 0000000100000000 9 0000001000000000 10 0000010000000000 11 0000100000000000 12 0001000000000000 13 0010000000000000 14 0100000000000000 15 1000000000000000 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.

3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot Definisan od strane korisnika Definisan sintezom

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

3. Kodiranje stanja Sekvencijalni Gray-ov Johnson-ov One-hot Definisan od strane korisnika Definisan sintezom

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.

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

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

4. Tipovi izlaza automata

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

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.

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.

5. Sekvencijalna logika narednog stanja i logika izlaza Sekvencijalna izlazna logika. Ova logika registruje činjenicu da se javilo odredjeno stanje ili sekvenca stanja.

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

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.

6. Interaktivni automati

Projektovanje automata Projektovanje automata na osnovu dijagrama stanja Kako aktivirati VHDL program Sagledavanje rezultata simulacije

Projektovanje automata potrebno je kreirati kôd koji opisuje rad konačnog automata, datog dijagramom stanja na slici:

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

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

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.

Projektovanje automata Slika 4

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

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

Projektovanje automata VHDL kôd:

Projektovanje automata Nastavak koda:

Projektovanje automata Nakon izvršene simulacije moguće je sagledati rezultate, koji su dati na narednoj slici: Stanja kroz koja automat prolazi

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.