Upload
dinhnga
View
250
Download
3
Embed Size (px)
Citation preview
Logički automati Logički automati
Primjeri sinteze sekvencijalnih mreža
Vanr.prof.dr.Lejla Banjanović-Mehmedović
Definicija sekvencijalnih mreža� Opšti model digitalnog
sistema se definiše funkcijom u vremenu sa n ulaznih promenljivih i p izlaznih promenljivih
x1(t)
DIGITALNI SISTEM
x2(t)
xN(t)
. . .
z1(t)
z2(t)
zp(t)
. . .
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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.
X1(t) ...
Xn(t) KOMBINACIONA
MREŽA ...
MEMORIJA Y1
Yr ...
... Y1(t)...Yp(t)
Z1
Zm
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 2n različitih � Kod n-bitnih sekvencijalnih mreža postoje 2 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)
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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, δ, λ, S0)X = (x1, x2, ..., xn) - skup ulaznih signala ili ulazna abeceda
(ulazna riječ automata)
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
1 2 n(ulazna riječ automata)
Y = (y1, y2, ..., ym) - skup izlaznih signala ili izlazna abeceda(izlazna riječ automata)
S = (s1, s2, ..., sk) - skup stanja ili abeceda stanja
S0 - 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 IZLAZAZ(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
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
o FUNKCIJI PRELAZAS(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
TAKT X
SZ
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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.
Z
a) X
b)
S
Z
Kako transformisati dijagram toka u
logiku?
� Brojači:
� flip-flopovi “drže stanja”
� logika proračunava sljedeća stanjastanja
� klokovi kontrolišu promjenu flip-flopova (čekaju dovoljno dugo da kombinaciona logika proračuna novu vrijednost)
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Model mašine konačnog stanja
� Vrijednosti storirane u registrima su stanja sekvencijalnih krugova
� Kombinaciona logika proračunava:
� Sljedeća stanja� Sljedeća stanja
� Izlaze (Milijev i Moorov automat)
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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
X(t) K M1
ST REGISTAR STANJA
S(t)
K M2
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
definišu funkciju izlaza u obliku
Z(t)= λ( S(t), X(t) )
� Automati druge vrste iliautomati Mura (Moore) definišu funkciju izlaza
Z(t)= λ( S(t) )
Murov automat
X(t)
K M1
ST REGISTAR STANJA
S(t)
K M2
Z(t)
Milijev automat
Z(t)
Opšta struktura sekvencijalnog kola
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer 1: Automat prve vrste (Milijev automat)
Zadavanje konačnog automata
tabličnom metodomPrimjer 2: Nepotpuno definisan automat
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer 3: Murov automat (automat druge vrste)
Uopšteni Murov automat Konačan Murov automat
Zadavanje konačnog automata grafom
X2
Y2
X1
Y2
X2
S0
S1 S2
Y1
X1
Y1 Y2 X2
S0 S2
S1
X1
Y1
X2
Y
X1
Y2
Y1
X1
Y3 X2
Y
X1
Y1
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
S1 S2
X2 Y1
S3 Y3
S0
S4 S1
S3 S2
X2
Y3
X2
Y2 Y3
X2
X1
Y1
X1
X2
X1
X1
Y1
automat A1 automat A2
automat A3
X1
X2
Zadavanje konačnog automata
matričnom metodom
� Matrično zadavanje automata vrši se preko kvadratne matrice C=Cij čiji redovi odgovaraju 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
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
� 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 A1
Primjer Moorovog automata
� Sekvenca ulazno/izlaznih stanja
� Dijagram stanja jednostavnog sekvencijalnog kola
� Tabela stanja
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Moorovog automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Tabela pridruženih stanja
Primjer Moorovog automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Moorovog automata
Vremenski dijagram
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Moorovog automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Moorovog automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Mealy automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Mealy automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer Mealy automata
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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.
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjeri sinteze sekvencijalnih mrežaPrimjeri sinteze sekvencijalnih mreža
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer FSM – kontroler semafora� Proširena FSM -
Moorova mašina, uzima u obzir praćenje pješaka u vremenu (vremenski
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
(vremenski trigerovana mašina)
Primjene FSM u industriji
(automatizacija proizvodnje)
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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.
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Model sekvence
svaka tranzicija ima senzorske uslove.
Kooperativno robotsko ponašanje
IR senzori:Robot 1: izbjegavanje prepreka: 9 cm, pomjeranje objekta: 19 cmRobot 2: izbjegavanje prepreka : 15 cm, pomjeranje objekta : 23cm Robot 3: izbjegavanje prepreka : 5 cm
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer dizajna FSM
� Dizajnirati mašinu konačnog stanja (FSM) tako da kontinualno broji:
0, 4, 2, 1, 0, 4, 2, 1, 0 …… � 0, 4, 2, 1, 0, 4, 2, 1, 0 ……
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Mašina konačnog stanja i tabela stanja
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Tabela stanja
� D flip-flop
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Tabela stanja
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Karnoova mapa
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Realizacija
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Simulacija dizajniranog sklopa
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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;
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
integer k;
always @(posedge clk)
if(reset)
state = 0;
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
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Dizajn mašine konačnog stanja – proces
pranja automobila
� Dizajn HDL mašine konačnog stanja, koja kontroliše proces pranja automobila.
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer robotskog ponašanja – slijeđenje zida
PLS_11
Copyright: Lejla
Banjanovic-
Mehmedovic
Programiranje ponašanja – slijeđenje zida
� Više “brkova” dozvoljava sofisticirani način detekcije oblika objekta:
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
� Različiti oblici razmatrani kao nove ivice prema kojima se orjentiše:
Specifikacija dijagrama stanja i
tabele istine
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Primjer: Mrav u labirintu
SENZORI: antene L i R, svaka 1 ako su u kontaktu sa zidom ili preprekom.
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Stanje Lost – opis ponašanja 1
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Akcija: idi naprijed sve dok ne udariš u nešto!
Stanje RCCW – opis ponašanja 2
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Akcija: Okret na lijevo (CCW), tako da ništa više ne doti češ
Stanje Wall1 – opis ponašanja 3
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Akcija: Korak i okret malo na desno, pogled prema zidu
Stanje Wall2 – opis ponašanja 4
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Akcija: Korak i okret malo na lijevo dok ne dotakneš ponovo
Stanje Corner– opis ponašanja 5
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Akcija: Korak i okret na desno sve dok ne udari u okomit zid
Redukcije stanja
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Potrebna redukcija ekvivalentnih stanja!
Redukcije stanja
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
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).
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic
Implementacija sekvencijalne mreže
ponašanja mrava u labirintu
PLS_11 Copyright: Lejla Banjanovic-Mehmedovic