Скинути презентацију
Отпремање презентације траје. Молимо да сачекате
1
Logičko projektovanje računarskih sistema 2
L06. Automati sa konačnim brojem stanja
2
Šta smo napravili prošli put?
dugme svetlo [n+1] svetlo [n] svetlo [n] trigger Kombinaciona mreža D-registar 08 Mar 2019 L06. Automati sa konačnim brojem stanja
3
Kako se ponaša sistem koji smo napravili?
U D-registrima je zapisano trenutno stanje sistema. Kombinaciona mreža računa naredno stanje sistema kao logičku funkciju trenutne vrednosti ulaza i trenutnog stanja sistema. Sistem menja stanje periodično na svakoj rastućoj (ili opadajućoj) ivici takt signala. Izlaz sistema je jednak trenutnom stanju sistema. U opštem slučaju, izlaz bi mogao biti funkcija trenutnog stanja i/ili ulaza! 08 Mar 2019 L06. Automati sa konačnim brojem stanja
4
Primer sekvencijalnog sistema …
08 Mar 2019 L06. Automati sa konačnim brojem stanja
5
Automati sa konačnim brojem stanja
08 Mar 2019 L06. Automati sa konačnim brojem stanja
6
L06. Automati sa konačnim brojem stanja
Definicija automata Automat (Finite State Machine – FSM) sa konačnim brojem stanja je sistem definisan sledećim vrednostima: Skup stanja sistema Skup ulaza sistema Skup izlaza sistema Početno stanje sistema Funkcija prelaza sistema Funkcija izlaza sistema Automati svu svugde! Primeri: ćelija, biološki procesi, svakodnevne rutine, itd. 08 Mar 2019 L06. Automati sa konačnim brojem stanja
7
L06. Automati sa konačnim brojem stanja
Tipovi FSM Mealy-ev automat: izlaz je funkcija trenutnog stanja i trenutne vrednosti ulaza. Moore-ov automat: izlaz je funkcija samo trenutnog stanja. 08 Mar 2019 L06. Automati sa konačnim brojem stanja
8
Ostali tipovi automata
Prema broju stanja: Automati sa konačnim brojem stanja Automati sa beskonačnim brojem stanja Prema tipu funkcije prelaza: Deterministički automati Nedeterministički automati 08 Mar 2019 L06. Automati sa konačnim brojem stanja
9
Kako realizovati automat kao digitalni sistem?
Spojiti dve kombinacione mreže u jednu! 08 Mar 2019 L06. Automati sa konačnim brojem stanja
10
L06. Automati sa konačnim brojem stanja
Primer automata Hajde da napravimo digitalnu bravu koja otvara vrata ukoliko se unese šifra 0110. Registar – broj bita zavisi od broja stanja. Reset asinhron ili sinhron (MUX) Kombinaciona mreža – 4 funkcije od 4 promenljive Minimizacija (logičkim kolima) ili ROM 08 Mar 2019 L06. Automati sa konačnim brojem stanja
11
L06. Automati sa konačnim brojem stanja
© 123RF 08 Mar 2019 L06. Automati sa konačnim brojem stanja
12
Minimizacija automata
08 Mar 2019 L06. Automati sa konačnim brojem stanja
13
L06. Automati sa konačnim brojem stanja
Ekvivalentna stanja Stanja su ekvivalentna ako i samo ako: Oba stanja imaju iste izlaze, Oba stanja imaju ekvivalentne prelaze, odn. za istu kombinaciju ulaza prelaze u stanja iste klase ekvivalencije. 08 Mar 2019 L06. Automati sa konačnim brojem stanja
14
Primer minimizacije automata
S0 S1 S2 S3 S4 S5 S6 S7 W0 S0/Z0 S2/Z1 S0/Z1 S3/Z1 S5/Z1 W1 S1/Z1 S4/Z0 S6/Z1 S7/Z0 W2 S7/Z1 S1/Z0 S6/Z0 08 Mar 2019 L06. Automati sa konačnim brojem stanja
15
Procedura minimizacije automata
Formirati trougaonu matricu prelaza između parova stanja Ako dva stanja imaju iste izlaze, napisati različitosti u prelazima Ako dva stanja nemaju iste izlaze, precrtati polje Iterativno precrtati polja koja imaju parove prelaza koji nisu ekvivalentni, odn. koji su već precrtani Preostala polja su ekvivalentna stanja Formirati minimalni automat 08 Mar 2019 L06. Automati sa konačnim brojem stanja
16
L06. Automati sa konačnim brojem stanja
Rešenje primera Stanje A0 – kome odgovaraju stanja S0, S3 i S7 Stanje A1 – kome odgovaraju stanja S1 i S6 Stanje A2 – kome odgovaraju stanja S2 i S5 Stanje A3 – kome odgovara stanje S4 A0 A1 A2 A3 W1 A0/Z0 A2/Z1 A0/Z1 W2 A1/Z1 A3/Z0 W3 A1/Z0 08 Mar 2019 L06. Automati sa konačnim brojem stanja
17
L06. Automati sa konačnim brojem stanja
VHDL opis automata 08 Mar 2019 L06. Automati sa konačnim brojem stanja
18
L06. Automati sa konačnim brojem stanja
VHDL opis automata Skup stanja type tSTATE is (S0, S1, S2); signal sSTATE : tSTATE; Skup ulaza i skup izlaza Opisan u entitetu; obavezno koristiti tipove std_logic i std_logic_vector Početno stanje Definiše se u resetu sekvencijalnog procesa 08 Mar 2019 L06. Automati sa konačnim brojem stanja
19
VHDL opis funkcije prelaza – jedan proces
process (iCLK, inRST) begin if (inRST = ‘0’) then sSTATE <= <POČETNO_STANJE>; elsif (iCLK’event and iCLK = ‘1’) then <FUNKCIJA_PRELAZA> end if; end process; 08 Mar 2019 L06. Automati sa konačnim brojem stanja
20
L06. Automati sa konačnim brojem stanja
VHDL opis funkcije prelaza – dva procesa (Kombinaciona logika i funkcija izlaza - primer) process (iA, sSTATE) begin case (sSTATE) is when S0 => sNEXT_STATE <= S1; oY <= ‘0’; when S1 => if (iA = ‘0’) then sNEXT_STATE <= S2; oY <= ‘1’; else sNEXT_STATE <= S0; oY <= ‘0’; end if; when others => sNEXT_STATE <= S0; oY <= ‘0’; end process; 08 Mar 2019 L06. Automati sa konačnim brojem stanja
21
VHDL opis funkcije prelaza – dva procesa (Registar)
process (iCLK, inRST) begin if (inRST = ‘0’) then sSTATE <= <POČETNO_STANJE>; elsif (iCLK’event and iCLK = ‘1’) then sSTATE <= sNEXT_STATE; end if; end process; 08 Mar 2019 L06. Automati sa konačnim brojem stanja
22
Varijante u funkciji izlaza
Kombinaciona funkcija izlaza Sekvencijalna funkcija izlaza – buffer-ovan izlaz! Registar na izlazu kombinacione logike koja računa izlaz Opis funkcije izlaza u posebnom ili već postojećem procesu koji je sekvencijalan Izlaz će kasniti jedan takt u odnosu na stanje koje je u registru. 08 Mar 2019 L06. Automati sa konačnim brojem stanja
23
Verifikacija automata
Stimulus proces treba da počne sa resetom sistema inRST <= ‘0’; wait for 5 * iCLK_period; inRST <= ‘1’; Nakon toga vreme igra ulogu, promena stanja se vrši posle svake periode takta, u zavisnosti od tada postavljenog ulaza! 08 Mar 2019 L06. Automati sa konačnim brojem stanja
24
L06. Automati sa konačnim brojem stanja
08 Mar 2019 L06. Automati sa konačnim brojem stanja
Сличне презентације
© 2024 SlidePlayer.rs Inc.
All rights reserved.