Logički automati Primjeri sinteze sekvencijalnih mreža Vanr.prof.dr.Lejla Banjanović- Mehmedović
Definicija sekvencijalnih mreža x 1 (t) x 2 (t) x N (t)... DIGITALNI SISTEM... z 1 (t) z 2 (t) z p (t) Opšti model digitalnog sistema se definiše funkcijom u vremenu sa n ulaznih promenljivih i p izlaznih promenljivih X 1 (t) X n (t)... KOMBINACIONA MREŽA... Z 1 Z m Y 1 Y r... MEMORIJA... Y 1 (t)...y p (t) Ukoliko vrijednosti izlaznih promenljivih zavise ne samo od trenutnih vrednosti ulaznih promenljivih nego i od prošlih vrijednosti (parova ulaza-izlaza) za digitalni sistem se kaže da je sekvencijalni sistem ili automat.
Sekvencijalna kola Sekvencijalne mreže se redovno nazivaju i logičkim automatima jer se često primenjuju u oblasti automatskog upravljanja. Kod n-bitnih sekvencijalnih mreža postoje 2 n različitih stanja. Zbog konačnog broja stanja, sekvencijalne mreže se još nazivaju i automatima sa konačnim brojem stanja (eng. Finite state machine, FSM)
Formalni matematički opis sekvencijalnih sistema Apstraktni automat je matematički model prekidačkog upravljačkog automata koji se zadaje skupom odšest elemenata: W=(X, Y, S, δ, λ, S 0 ) X = (x 1, x 2,..., x n ) - skup ulaznih signala ili ulazna abeceda (ulazna riječ automata) Y = (y 1, y 2,..., y m ) - skup izlaznih signala ili izlazna abeceda (izlazna riječ automata) S = (s 1, s 2,..., s k ) - skup stanja ili abeceda stanja S 0 - početno stanje δ - funkcija prelaza koja realizuje abecedno preslikavanje skupa S X S λ - funkcija izlaza koja realizuje preslikavanje skupa S X Y
Vremensko modelovanje sekvencijalnih sistema (automata) Zavisnost izlaza u trenutku t od ulaza i stanja u istom vremenskom trenutku izražava se tzv. FUNKCIJOM IZLAZA Z(t) = λ(x(t), S(t) ) Uticaj ulazne vremenske funkcije se izražava i u odnosu na promjenu stanja, odnosno, novo stanje zavisi od trenutnog stanja i ulaza. U tom slučaju govori se o FUNKCIJI PRELAZA S(t+ ) = δ( S(t), X(t) ) pri čemu je S(t) trenutno (sadašnje), a S(t+ ) slijedeće (naredno) stanje. Pošto sinhroni sekvencijalni sistemi mogu mjenjati stanje u diskretnim trenucima kontinualna promenljiva t se zamjenjuje diskretnom promenljivom definisanom pozitivnim cjelim brojem. Sistem je u stanju S(i) u vremenskom intervalu (t-1=i-1, t=i). Sinhrona sekvencijalna mreža se može opisati kao Z(t) = λ( S(t), X(t) ) S(t+1)= δ( S(t), X(t) )
Sinhrone i asinhrone sekvencijalne mreže Kod sinhronih mreža ulazi, izlazi i interna stanja se mjenjaju u diskretnim vremenskim trenucima, definisanim preko sinhronizacionog ulaza osnovnom frekvencijom takta sistema. Kod asinhronih sekvencijalnih mreža stanja se mogu mjenjati u bilo koje vrijeme, a ulazi mogu biti signali nivoa, koji se javljaju u proizvoljnom intervalu vremena. TAKT X S X S Z a) Z b)
Kako transformisati dijagram toka u logiku? Brojači: flip-flopovi drže stanja logika proračunava sljedeća stanja klokovi kontrolišu promjenu flip-flopova (čekaju dovoljno dugo da kombinaciona logika proračuna novu vrijednost)
Model mašine konačnog stanja Vrijednosti storirane u registrima su stanja sekvencijalnih krugova Kombinaciona logika proračunava: Sljedeća stanja Izlaze (Milijev i Moorov automat)
Milijev i Murov automat U odnosu na funkciju izlaza u praksi se sreću dva slučaja: Automati prve vrste ili Milijevi(Mealy) automati definišu funkciju izlaza u obliku Z(t)= λ( S(t), X(t) ) X(t) X(t) K M 1 REGISTAR STANJA K M 2 S(t) Z(t) Milijev automat ST Automati druge vrste ili automatimura (Moore) definišu funkciju izlaza Z(t)= λ( S(t) ) K M 1 REGISTAR STANJA K M 2 S(t) ST Z(t) Murov automat
Opšta struktura sekvencijalnog kola Murov automat definišu funkciju izlaza u obluku ovisnosti o stanjima. Milijevi automati definišu funkciju izlaza u obliku ovisnosti od predhodnih stanja i ulaza.
Zadavanje konačnog automata tabličnom metodom Milijev automat se opisuje tablicama prelaza i izlaza Primjer 1: Automat prve vrste (Milijev automat)
Zadavanje konačnog automata tabličnom metodom Primjer 2: Nepotpuno definisan automat Primjer 3: Murov automat (automat druge vrste) Uopšteni Murov automat Konačan Murov automat
Zadavanje konačnog automata grafom X 2 Y 1 Y 1 S 1 X 1 Y 1 S 0 Y 2 X 1 X 1 Y Y 1 2 X 2 X 2 Y 2 S 0 S 2 Y 3 X 1 X 2 Y 2 X 1 S 1 S 2 Y 1 X 2 Y 1 Y 1 S 0 X 1 X X 1 2 S 3 Y 3 automat A 2 automat A 1 X 2 X 2 Y 1 Y 3 S 4 S 1 X 1 X 1 X 2 X 2 X 1 S 3 S 2 X 1 Y 2 Y 3 X 2 automat A 3
Zadavanje konačnog automata matričnom metodom Matrično zadavanje automata vrši se preko kvadratne matrice C= Cij čiji redoviodgovaraju polaznim stanjima, a kolone stanjima prelaza. Element Cij=Xp/Yq koji stoji na presjeku i-te vrste i j-te kolone u slučaju Milijevog automata, odgovara ulaznom signalu Xp koji izaziva prelaz iz stanja Si u Sj i izlaznom signalu Yq, koji se izdaje pri tom prelazu. Automat A 1
Primjer Moorovog automata Sekvenca ulazno/izlaznih stanja Dijagram stanja jednostavnog sekvencijalnog kola Tabela stanja
Primjer Moorovog automata Tabela pridruženih stanja
Primjer Moorovog automata
Primjer Moorovog automata Vremenski dijagram
Primjer Moorovog automata
Primjer Moorovog automata
Primjer Mealy automata
Primjer Mealy automata
Primjer Mealy automata
Procedura sinteze sinhronih sekvencijalnih kola 1. Specificirati ponašanje sekvencijalnog kola 2. Definisati početno stanje. Dijagram stanja treba da prikaže aktivnosti svih stanja u FSM i da definiše uslove pod kojim digitalno kolo prelazi iz jednog u drugo stanje. 3. Kreirati tabelu stanja na osnovu dijagrama stanja. 4. Odlučiti o broju varijabli stanja, koje trebaju predstavljati stanja. 5. Izabrati tip flip-flopa koji će se koristiti u kolu. 6. Izvesti izraze logike u cilju definisanja sljedećeg stanja koji kontroliše ulaze svih flip-flopova i kreiraju izlaze kola. 7. Implementirati digitalna kola, koja su definisana logičkim izrazima.
Primjeri sinteze sekvencijalnih mreža
Primjer FSM kontroler semafora Proširena FSM - Moorova mašina, uzima u obzir praćenje pješaka u vremenu (vremenski trigerovana mašina)
Primjene FSM u industriji (automatizacija proizvodnje)
Primjene FSM u industriji (automatizacija proizvodnje) Model sekvence: grijač, punjač, transporter, korespondira: (A1, A2, A3, A4). Rad svakog aktuatora je određen unutar modela sekvence, svaka tranzicija ima senzorske uslove. Model sekvence
Kooperativno robotsko ponašanje IR senzori: Robot 1: izbjegavanje prepreka: 9 cm, pomjeranje objekta: 19 cm Robot 2: izbjegavanje prepreka : 15 cm, pomjeranje objekta : 23cm Robot 3: izbjegavanje prepreka : 5 cm
Primjer dizajna FSM Dizajnirati mašinu konačnog stanja (FSM) tako da kontinualno broji: 0, 4, 2, 1, 0, 4, 2, 1, 0
Mašina konačnog stanja i tabela stanja
Tabela stanja D flip-flop
Tabela stanja
Karnoova mapa
Realizacija
Simulacija dizajniranog sklopa
Brojač 0, 1, 2, 4, 9, 10, 5, 6, 8, 7, 0, Sequence counter module CntSeq(clk, reset, state); parameter n = 4; input clk, reset; output [n-1:0]state; reg[1:0]state; integer k; always @(posedge clk) if(reset) state = 0; else begin case (state) 4'b0000:state = 4'b0001; //0 -> 1 4'b0001:state = 4'b0010; //1 -> 2 4'b0010:state = 4'b0100; //2 -> 4 4'b0100:state = 4'b1001; //4 -> 9 4'b1001:state = 4'b1010; //9 -> 10 4'b1010:state = 4'b0101; //10-> 5 4'b0101:state = 4'b0110; //5 -> 6 4'b0110:state = 4'b1000; //6 -> 8 4'b1000:state = 4'b0111; //8 -> 7 default: state = 4'b0000; endcase end endmodule
Dizajn mašine konačnog stanja proces pranja automobila Dizajn HDL mašine konačnog stanja,koja kontroliše proces pranja automobila.
Primjer robotskog ponašanja slijeđenje zida Copyright: Lejla Banjanovic - Mehmedov ic
Programiranje ponašanja slijeđenje zida Više brkova dozvoljava sofisticirani način detekcije oblika objekta: Različiti oblici razmatrani kao nove ivice prema kojima se orjentiše:
Specifikacija dijagrama stanja i tabele istine
Primjer: Mrav u labirintu SENZORI: antene L i R, svaka 1 ako su u kontaktu sa zidom ili preprekom. AKTUATORI: Korak naprijed F, 10- stepeni okret TL i TR (lijevo, desno). CILJ: NAPRAVITI MRAVA DOVOLJNO PAMETNIM DA IZAĐE IZ LABIRINTA. STRATEGIJA: Desna antena prema zidu
Moguća ponašanja mrava u labirintu
Stanje Lost opis ponašanja 1 Akcija: idi naprijed sve dok ne udariš u nešto!
Stanje RCCW opis ponašanja 2 Akcija: Okret na lijevo (CCW), tako da ništa više ne dotičeš
Stanje Wall1 opis ponašanja 3 Akcija: Korak i okret malo na desno, pogled prema zidu
Stanje Wall2 opis ponašanja 4 Akcija: Korak i okret malo na lijevo dok ne dotakneš ponovo
Stanje Corner opis ponašanja 5 Akcija: Korak i okret na desno sve dok ne udari u okomit zid
Redukcije stanja Potrebna redukcija ekvivalentnih stanja!
Redukcije stanja Evolucija: spajanje Wall1 i Corner stanja u jedno stanje!
Sinteza sljedećih stanja i izlaznih funkcija Implementacija kroz tabele stanja i logičke jednačine (prikazano za sintezu sljedećih stanja. Isto treba uraditi i za sintezu izlaznih funkcija TR, TL i F).
Implementacija sekvencijalne mreže ponašanja mrava u labirintu