1 / 30

Konačni automati

Konačni automati. eng. Finite State Machine – FSM Za modeliranje sekvencijalnih kola (pre svega, upravljačkih jedinica) Definiše: ulaze, izlaze, stanja i prelaze U svakom taktnom ciklusu, automat je u jednom od konačnog broja svojih stanja

rhonda
Download Presentation

Konačni automati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Konačni automati • eng. Finite State Machine – FSM • Za modeliranje sekvencijalnih kola (pre svega, upravljačkih jedinica) • Definiše: ulaze, izlaze, stanja i prelaze • U svakom taktnom ciklusu, automat je u jednom od konačnog broja svojih stanja • Pod dejstvom taktnog signala, a u zavisnosti od tekućeg stanja i trenutne vrednosti ulaza, automat prelazi u novo stanje i generiše odgovarajuće izlaze. Arhitektura mikrosistema

  2. Blok dijagram konačnog automata Određuje novo stanje u zavisnosti od tekućeg stanja i ulaza Čuva kod tekućeg stanja Generiše izlazne signale Milijev Konacni automat Kombinacione mreže Murov Konačni automat Arhitektura mikrosistema

  3. Dijagram stanja Stanje ST0 - ime stanja mo - Murovi izlazi vrednost - ´0´ ili ´1´ Skraćeno zapisivanje Navode se samo izlazi koji dobijaju vrednost ´1´ Prelazi logički izraz - uslov prelaza me - Milijevi izlazi vrednost - ´0´ ili ´1´ Arhitektura mikrosistema

  4. Primer - kontroler memorije Milijev izlaz Murovi izlazi Ukazuje na inicijalno (početno stanje) Arhitektura mikrosistema

  5. ASM dijagram • ASM (Algorithmic State Machines) dijagrami • Zamena za dijagrame stanja • Za opis algoritama koji se realizuju u hardveru. • Koristi tri grafička simbola: Blok grananja Blok uslovnog izlaza Blok stanja Arhitektura mikrosistema

  6. ASM blok ASM blok (odgovara jednom stanju -jednom taktnom ciklusu) Arhitektura mikrosistema

  7. Konverzija dijagram stanja u ASM dijagram Navode samo signali koji su aktivni u datom stanju y = ‘1’ y = ‘0’ Arhitektura mikrosistema

  8. Konverzija dijagram stanja u ASM dijagram Arhitektura mikrosistema

  9. Konverzija dijagram stanja u ASM dijagram Arhitektura mikrosistema

  10. Konverzija dijagram stanja u ASM dijagram Arhitektura mikrosistema

  11. Primer - detektor ivice • Na svaku rastuću ivicu signala strobe, na izlazu p se generiše kratkotrajan impuls Sporo promenljiv signal (u odnosu na takt) Arhitektura mikrosistema

  12. Primer - detektor ivice (Murov KA) Vrednost strobe je bitna samo u trenucima rastućih ivica takta p=´1´ traje jedan ceo taktni ciklus Arhitektura mikrosistema

  13. Primer - detektor ivice (Milijev KA) p trenutno reaguje na promenu signala strobe i traje sam do naredne rastuće ivice takta Arhitektura mikrosistema

  14. Opis u VHDL-u: Višesegmentni kodni šablon ARCHITECTURE multi_seg_arch of mem_ctrl IS TYPE state IS (ST0, ST1,ST2); SIGNAL pr_state, nx_state : state; BEGIN -- registar stanja ------------------- PROCESS(clk, rst) BEGIN ... END PROCESS; -- logika sledeceg stanja ------------ PROCESS(pr_state, ulazi) BEGIN ... END PROCESS; -- logika za Murove izlaze PROCESS(pr_state) BEGIN ... END PROCESS; -- logika za Milijeve izlaze PROCESS(pr_state, ulazi) BEGIN ... END PROCESS; END multi_seg_arch; Korisnički tip: definiše stanja automata pr_state - tekuće stanje (registar stanja) nx_state - sledeće stanje Arhitektura mikrosistema

  15. Višesegmentni kodni šablon - kontroler memorije - deklaracija stanja ARCHITECTURE multi_seg_arch of mem_ctrl IS TYPE state IS (IDLE, READ1, READ2, READ3, READ4, WRITE); SIGNAL pr_state, nx_state : state; BEGIN Arhitektura mikrosistema

  16. Višesegmentni kodni šablon - kontroler memorije - registar stanja -- registar stanja ------------------- PROCESS(clk, rst) BEGIN IF(rst = '1') THEN pr_state <= IDLE; ELSIF( clk'EVENT AND clk = '1') THEN pr_state <= nx_state; END IF; END PROCESS; Arhitektura mikrosistema

  17. Višesegmentni kodni šablon - kontroler memorije - logika sledećeg stanja Arhitektura mikrosistema

  18. Višesegmentni kodni šablon - kontroler memorije - Murovi izlazi PROCESS(pr_state) BEGIN we <= '0'; -- podrazumevana vrednost oe <= '0'; -- podrazumevana vrednost CASE pr_state IS WHEN IDLE => WHEN WRITE => we <= '1'; WHEN READ1 => oe <= '1'; WHEN READ2 => oe <= '1'; WHEN READ3 => oe <= '1'; WHEN READ4 => oe <= '1'; END CASE; END PROCESS; Arhitektura mikrosistema

  19. Višesegmentni kodni šablon - kontroler memorije - Milijevi izlazi PROCESS(pr_state, mem, rw) BEGIN we_me <= '0'; -- podrazumevana vrednost CASE pr_state IS WHEN IDLE => IF(mem = '1') AND (rw = '0') THEN we_me <= '1'; END IF; WHEN WRITE => WHEN READ1 => WHEN READ2 => WHEN READ3 => WHEN READ4 => END CASE; END PROCESS; Arhitektura mikrosistema

  20. Višesegmentni kodni šablon - kontroler memorije - Milijevi izlazi we_me <= ’1’ WHEN ((pr_state = IDLE) AND (mem=’1’) AND (rw=’0’)) ELSE ’0’; Može i jednostavnije Arhitektura mikrosistema

  21. Dvosegmentni kodni šablon ARCHITECTURE multi_seg_arch of mem_ctrl IS TYPE state IS (ST0, ST1,ST2); SIGNAL pr_state, nx_state : state; BEGIN -- registar stanja ------------------- PROCESS(clk, rst) BEGIN ... END PROCESS; -- logika sledeceg stanja/izlaza -- PROCESS(pr_state, ulazi) BEGIN ... END PROCESS; END multi_seg_arch; Arhitektura mikrosistema

  22. Dvosegmentni kodni šablon - Kontroler memorije Arhitektura mikrosistema

  23. Asinhrona inicijalizacija -- registar stanja ------------------- PROCESS(clk, rst) BEGIN IF(rst = '1') THEN pr_state <= IDLE; ELSIF( clk'EVENT AND clk = '1') THEN pr_state <= nx_state; END IF; END PROCESS; Arhitektura mikrosistema

  24. Sinhrona inicijalizacija -- registar stanja ------------------- PROCESS(clk) BEGIN IF(clk'EVENT AND clk = '1') THEN IF(syn_rst = '1') pr_state <= IDLE; ELSE pr_state <= nx_state; END IF; END PROCESS; Modifikuje se svako stanje u dijagramu stanja tako da syn_res = ´1´ vraća automat u inicijalno stanje Obično se ne crta, već se podrazumeva ! Arhitektura mikrosistema

  25. Konačni automat Murovog tipaPrimer • Izlaz automata zavisi jedino od tekućeg stanja(ali ne i od trenutnog ulaza) • Izlazi su pridruženi stanjima (a ne prelazima) Inicijalno stanje Arhitektura mikrosistema

  26. BCD brojač, opisan kao konačni automat Kao konačni automat Lakši način rst BCD count(3 .. 0) clk Arhitektura mikrosistema

  27. Detektor bit oblika • Kolo koje detektuje tri uzastopne 1-ce u ulaznoj sekvenci Arhitektura mikrosistema

  28. Koder za Mančester kôd • Kod za kodiranje binarnih sekvenci za prenos preko serijske komunikacione linije. • 0 => ´0´→´1´ • 1 => ´1´→´0´ Kodiranje binarne sekvence: ˝0010011˝ Arhitektura mikrosistema

  29. Koder za Mančester kôd Arhitektura mikrosistema

  30. Automat za prodaju karata Ubacuju se kovanice od 5 din. (signal D5) i 10 din. (signal D10) Cena karte 15 din. K - signal za izdavanje karte (kad ubačeni iznos postane jednak ili veći od 15 din.) V - signal za vraćanje kusura od 5 din., za slučaj je ubačeno dva puta po 10 din. Arhitektura mikrosistema

More Related