Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
vezja Digitalni sistemi
7 Sekvenčna preklopna vezja Digitalni sistemi dr. Bogdan Dugonik Univerza v Mariboru Tehniška fakulteta Elektrotehnika, računalništvo in informatika (delovna verzija)
2
Sekvenčna preklopna vezja
Primer vezja s povratno povezavo Osnovni pomnilni element je izveden s kaskadno vezavo invertorjev Osnovni element: invertor (INV) Je osnova za načrtovanje statičnih vezij RAM Pomnilnik je lahko izveden tudi z navzkrižno vezavo vrat NOR ali NAND Da bi zagotovili učinek pomnenja moramo zadostiti dva pogoja: vrednost se spremeni le, ko to želimo vrednost na izhodu se ohrani, dokler ni spremembe na vhodu "1" Kaskadna vezava invertorjev: statični pomnilnik "0" Izvedba vezja z izbirnim načinom delovanja: postavitev/ prekinitev povratne povezave povratna povezava vzpostavljena - pomnjenje informacije povratna povezava prekinjena - branje informacije
3
Sekvenčna preklopna vezja
Veriga invertorjev Posledica lihega števila invertorjev v verigi je krožna oscilacija Glej demo (VERINV.CCT) Časovni diagram: tp = n * td n = št. invertorjev
4
Sekvenčna preklopna vezja
Veriga invertorjev – pregled delovanja Prikaz za prenosa signala skozi verigo invertorjev Glej demo (VERINV.CCT)
5
Sekvenčna preklopna vezja
Navzkrižna povezava vrat NOR ali NAND Enako kot kaskadna vezava invertorjev Izhod postavi na 0 (reset) ali na 1 (set) Glej demo (VERINV.CCT) Časovni diagram: Dirka signalov Briše Zadrži Postavi Briše Postavi Prepovedano stanje Prepovedano stanje
6
Sekvenčna preklopna vezja
Obnašanje zadrževalnika RS (teoretično)
7
Sekvenčna preklopna vezja
Obnašanje zadrževalnika RS pravilnostna tabela (za vrata NOR) K- diagram: Pravilnostna tabela: Naslednje stanje = F (S, R, trenutno stanje) Karakteriastična enačba: S(t) R(t) Q(t) Q(t+) (drži) (drži) (briše) (briše) (postavi) (postavi) X ni dovoljeno X ni dovoljeno Q + = S + R Q S zadrževalnik R-S R Q + Q
8
Sekvenčna preklopna vezja
Obnašanje zadrževalnika RS (dejansko) Dirka signalov je razlog, da lahko iz stanja 00 preidemo v v stanje 01 ali pa v stanje 10.
9
ne smejo spreminjati, da
Sekvenčna preklopna vezja: urin signal Urin signal (Clock, Clk): Je periodičen signal, ki v vezju zagotovi, da pomnilni elementi spremenijo stanje približno ob istem trenutku Pojmi: pozitivna fronta, negativna fronta, visok nivo, nizek nivo Nastavitveni čas (Setup Time – Tsu ) Časovno okno je čas, ko se vrednosti signalov na vhodih ne smejo spreminjati, da bi bili pravilno razpoznani. Minimalni časovni interval pred trenutkom nastopa urinega dogodka, ko mora biti vhodni signal stabilen, da bo pravilno prepoznan Čas držanja (Hold Time – Th ) Minimalni časovni interval po trenutku nastopa urinega dogodka, ko mora biti vhodni signal stabilen, da bo pravilno prepoznan
10
Sekvenčna preklopna vezja
Vrste (načini) proženja: Stanje zadrževalnika ali flip-flopa se zamenja z dogodkom na urinem priključku Proženi na – ali + fronto – flip-flopi Proženi na nivo – zadrževalniki pozitivna fronta (signal ure L-na-H) negativna fronta (signal ure H-na-L) pozitivni urin nivo negativni urin nivo
11
\enb >> Q zakasnitev signala
Sekvenčna preklopna vezja Zadrževalnik, prožen na nivo ure proženi zadrževalnik R-S Vezje: Ura \enb=1 povzroči držanje stanja Časovni diagram: \S \R \enb Q \Q \enb >> Q zakasnitev signala
12
Sekvenčna preklopna vezja
Pregled obnašanja zadrževalnikov in flip flopov Vhodno/izhodno obnašanje zadrževalnika in flip-flopa Vrsta pomn.celce trenutek branja vhoda trenutek veljavnosti izhoda zadrževalnik ob vsakem trenutku zakasnitev signala od (brez ure) trenutka spremembe na vhodu zadrževalnik visok urin nivo zakasnitev širjenja od prožen na (Tsu, Th okrog trenutka spremembe na vhodu nivo negativne urine fronte) Flip flop prožen prehod ure iz L-na-H zakasnitev širjenja od Na pozitivno fronto (Tsu, Th okoli trenutka vzpona urinega signala trenutka vzpenjanja urinega signala) Flip flop prožen prehod ure iz H-na-L zakasnitev širjenja od Na negativno fronto (Tsu, Th okoli trenutka padanja urinega signala roba trenutka padanja urinega signala) master/slave prehod ure iz visokega-na-nizek zakasnitev širjenja od Flip flop (Tsu, Th okoli trenutka padanja urinega sig. roba padanja urinega signala)
13
Sekvenčna preklopna vezja
Zadrževalniki se odzivajo na spremembe logičnih nivojev na kontrolnih vhodih Primer: G = 1, vrednost si iz vhoda z zakasnitvijo prenese na izhod (Q=D) Flip flopi podatke shanjujejo v trenutku spremembe urinega signala (pri tem šteje sprememba ali L->H ali H->L) .Vrednost na izhodu flip flopa ostane nato nespremenjena do naslednje iste spremembe urinega signala. Različni tipi flip-flopov omogočajo različne izvedbe funkcij. Obnašanje posameznega flip-flopa (ali zadrževalnika) opišemo s karakteristično enačbo.
14
Sekvenčna preklopna vezja
7474 Proženi flip flopi prožijo ob spremembi urinega nivoja (ali iz nivoja L-na-H ali H-na-L) Zadrževalniki se odzivajo na nivo. Izhodni signal sledi vhodnemu signalu v času, ko je urin signal na visokem (ali nizkem) logičnem nivoju. Časovni diagram: 7476 S krožcem na tem mestu bi označili proženje na negativno fronto Prikaz obnašanja nivojske ter prožene pomnilne celice
15
Sekvenčna preklopna vezja
Prikaz časovne specifikacije 74LS74 Flip-flop D prožen na Pozitivno urino fronto Tsu - Setup time Th - Hold time Minimalna širina ure Zakasnitev širjenja signala (nizko na visoko, visoko na nizko, max in tipično) Vse meritve so izvedene od trenutka spremenbe urinega signala – dogodka (npr. sprememba signala pri prehodu iz L-na-H)
16
Sekvenčna preklopna vezja
Prikaz časovne specifikacije 74LS76 zadrževalnik z uro Tsu - Setup time Th - Hold time Minimalna širina ure Zakasnitev širjenja signala (nizko na visoko, visoko na nizko, max in tipično)
17
Sekvenčna preklopna vezja
JK flipflop FF JK odpravlja prepovedano stanje zadrževalnika RS? Rešitev: če povežemo izhode z vhodi in tako preprečimo, da bi bila R in S sočasno na 1 Če sta J, K oba hrati na 1 se vrednost izhoda Q zamenja J(t) K(t) Q(t) Q(t+) 1 0 DRŽI (HOLD) 0 BRIŠE (RESET) 1 POSTAVI (SET) 1 ZAMENJA ( TOGGLE) Karakteriastična enačba za JK: Q+ = Q K + Q J
18
Sekvenčna preklopna vezja
Flip-flop D prožen na pozitivno urino fronto (prehod ure iz L-na-H) Shrani vrednost vhodnega signala D v trenutku spremembe urinega signala CLK (L-na-H) Spremembe vrednost vhodnega signala D v drugem času ne vplivajo na vrednost izhodnega signala Q trenutki proženja
19
Sekvenčna preklopna vezja
Flip flop JK prožen na pozitivno fronto ure CLK (prehod ure iz L-na-H) vezje flip flopa JK b) grafični simbol J K CLK Q Q’ FF JK lahko izvedemo tudi z flip-flopom D vhod J postavlja izhodno vrednost Q vhod K briše izhodno vrednost Q J = K = 1 -> invertira vrednost na izhodu Q 0 0 Q0 Q0’ 0 1 1 0 1 1 zamenja prehod ure
20
Sekvenčna preklopna vezja
Flip flop JK prožen na pozitivno urino fronto (prehod ure iz L-na-H) podatkovna vhoda J in K J (J=1) -> postavi, K (K=1) -> briše, če sta J in K na 1 se na izhodu Q vrednost zamenja Karakteristična tabela trenutki proženja
21
Sekvenčna preklopna vezja
Flip flop T prožen na na pozitivno urino fronto (prehod ure iz L-na-H) Izvedba z D flip flopom T=0 -> ohrani izhodno vrednost Q T=1 -> zamenja izhodno vrednost Q T flip –flop izveden z flip flopom JK b) T flip –flop izveden z flip flopom D c) grafični simbol T C Q Q’ Izvedba z D flip flopom T=0 -> ohrani izhodno vrednost Q T=1 -> zamenja izhodno vrednost Q Q0 Q0’ 1 zamenja prehod ure
22
Sekvenčna preklopna vezja
Asinhroni priključki pri pomnilih celicah (vhodi) Potrebujemo jih za postavljanje (Q=1) ali brisanje (Q=0) izhoda Priporočljiva je uporaba priključkov Preset and Clear !!
23
Uporaba pomnilnih elementov
Kako izbirati najprimernejši tip pomnilnega elementa? RS zadrževalnik z uro: kot ni priporočljiv pomnilni element za urin signal visoke frekvence! Osnovni gradnik za izvedbo drugih vrst flip flopov JK flip flop: najbolj sestranski, primeren za implementacijo flip-flopa D in T dobra stran: zahteva manjše števil elementov za izvedbo vezja slaba stran: dva vhoda povečata število povezav v vezju D flip flop: dobra stran: zahteva majhno število povezav v vezju, zelo je priljubljen pri načrtovanju pri tehnologijah VLSI enostavno načrtovanje sekvenčnega vezja primeren je za izvedbo pomnilnih registrov T flip flop: dejansko ne obstaja, izvedemo ga s flip-flopom JK; je najprimernejši za uporabo v števnikih
24
Izvedba vezij z različnimi vrstami flip flopov
Karakteristične enačbe flip flopov: Dobimo z Karnaug. - diagramom Za Q+ = (Inputs, Q) RS: D: JK: T: Q+ = S + R Q Q+ = D Q+ = J Q + K Q Q+ = T Q + T Q Npr., J=K=0, potem Q+ = Q J=1, K=0, potem Q+ = 1 J=0, K=1, potem Q+ = 0 J=1, K=1, potem Q+ = Q Primer izvedbe enega tipa flip-flopa z drugim npr. D izveden z JK ali, JK izveden z D
25
Izvedba vezij z različnimi vrstami flip flopov
Postopek načrtovanja Vzbujevalna tabela: kakšne vrednosti na vhodnih priključkih potrebujemo da dosežemo želene prehode stanj? Primer: izvedimo FF D z FF JK : 1) Podamo obnašanje FF D s Karnaugovim diagramom Q+ = (D, Q) (glej vzbujevalno tabelo iz katere tvorimo K-diagram) 2) Sestavimo K-diagrama za vhoda J in K z enakimi vrednostmi (D, Q) 3) Popolnimo K-diagram s primernimi vrednostmi za vhoda J in K Da bi povzročili spremembe stanja kot originalni K diagram Npr. D = Q= 0, Q+ = 0 potem J = 0, K = X
26
Izvedba vezij z različnimi vrstami flip flopov
Izvedimo flip flop JK z flip flopom D: 1) Podajmo Karnaghov diagram, ki prikazuje obnašanje flip flopa JK - Q+ = F(J, K, Q) 2,3) glejte primer 1! Rezultirajoča enačba je kombinacijska logična vrednost na vhodu D ki ima enako obnašanje kot flip flop JK. Je identična karakteristični enačbi za flip-flop JK.
27
Ime, simbol, karakteristična tabela in enačba, vzbujevalna tabela
28
Sekvenčna vezja Kombinacijsko vezje Model za sekvenčno vezje:
Dodane so povratne povezave – nekateri izhodi so hkrati tudi vhodi
29
Analiza sinhronega sekvenčnega vezja
Problem: Izvedimo analizo (teoretično) vezja. Ugotoviti želimo, kako se bo vezje obnašalo. Analizo bomo izvededli v naslednjih korakih. Vsaki pomnilni celici v (sinhronem) sekvenčnem vezju priredimo spremenljivko stanja (npr. y1, y2, ..) Za vsako pomnilno celico zapišemo vhodne vzbujevalne enačbe. Zapišemo tudi izhodne enačbe vezja. Vhodne vzbujevalne enačbe vstavimo v karaktereistične enačbe uporabljenih pomnilnih celic, da dobimo enačbe za naslednja stanja (Q+). Iz enačb za naslednja stanja in iz izhodnih enačb sestavimo tabelo prehajanja stanj in narišemo časovni diagram, s katerim podamo obnašanje vezja.
30
Analiza sinhronega sekvenčnega vezja
Primer: Analizirajte sinhrono sekvenčno vezje s slike. Narišite diagram prehajanja stanj in sestavite tabelo prehajanja stanj.
31
Analiza sinhronega sekvenčnega vezja
Izhod Q prve pomnilne celice označimo s spremenljivko stanja y1, izhod Q druge pomnilne celice pa s spremenljivko stanja y2. Zapišimo krmilne enačbe pomnilnih celic: D1 = x y1 y2 D2 = x + y1 y2 Zapišimo enačbo za naslednjo vrednost posamezne spremenljivke stanja: y1+ = x y1 y2 y2+ = x + y1 y2 Zapišimo izhodno enačbo: z = x y1 y2 (tip Mealy) Izpolnimo tabelo prehajanja stanj. Tabela prehajanja stanj: sedanje stanje naslednje stanje /izhod x = y1 y2 y1+ y2+/z 0 0 / 0 0 1 / 0 1 1 1 / 0 0 1 / 1 Diagram prehajanja stanj (dopolnite sami):
32
Sinteza sinhronega sekvenčnega vezja
Problem: Podano je zahtevano obnašanje sinhronega sekvenčnega vezja. Izpeljati želimo čimbolj ekonomično strukturo z danim obnašanjem. Koraki sinteze so: Iz besednega opisa problema sestavimo diagram ali tabelo prehajanja stanj. Iz sestavljenega diagrama ali tabele prehajanja stanj odstranimo morebitna redundantna stanja. (Postopek za odkrivanje in odpravljanje redundatnih stanj bomo obravnavavali v naslednjem poglavju. Tabele in diagrami prehajanja stanj v tem poglavju bodo sestavljeni tako, da ne bodo vsebovali redundatnih stanj.) Stanja zakodiramo (označimo). P stanj zakodiramo s p spremenljivkami stanj Y= y1,y2,y3,…, ,yp , kjer je 2p ≥ P. Dobimo zakodiran diagram ali zakodirano tabelo prehajanja stanj. Izberemo tip pomnilniške celice. Izpeljemo funkcije za primarne izhode in sekundarne izhode (vzbujevalne enačbe). Vezje narišemo.
33
Sinteza sinhronega sekvenčnega vezja
Primer: Potrebujemo sinhrono sekvenčno vezje z vhodom x in izhodom z, ki generira izhod z=1, ko se na vhodu odkrije sekvenca V vseh drugih časih je z=0. Npr., za vhodno sekvenco je izhodna sekvenca Uporabimo pomnilne celice JK.
34
Sinteza sinhronega sekvenčnega vezja
sedanje stanje naslednje stanje /izhod x = a b/0 a/0 b c /0 c d/0 d c /1 notranja stanja koda y1 y2 a b c d 0 0 0 1 1 1 1 0 sedanje stanje naslednje stanje /izhod x = y1 y2 y1+ y2+/z 01/0 00/0 1 11 /0 10/0 11/1
35
Sinteza sinhronega sekvenčnega vezja
vhod sedanje stanje naslednje izhod krmilni vhodi pomnilnih celic x y1 y2 y1+ y2+ z J1 K1 J2 K2 1 1 x y1y2 00 01 11 10 1 x y1y2 00 01 11 10 1 x y1y2 00 01 11 10 1 x y1y2 00 01 11 10 1 x y1y2 00 01 11 10 z: J1: K1: J2: K2: z= x y1y2 J1= K1= J2= K2=
36
Avtomati Avtomat je skupek množic in relacij med njimi. Avtomate obravnava teorija o avtomatih. Avtomati se uporabljajo na najrazličnejših področjih: v digitalnih sistemih, računalništvu, matematiki, robotiki, jezikoslovju, družbenih vedah, itd. Realizaciji avtomata lahko rečemo informacijski stroj. Sekvenčna vezja, ki smo jih že obdelali, ustrezajo informacijskemu stroju ali realizaciji avtomata. Glavni razvijalci teorije o avtomatih so Huffman, Moore, Mealy,Turing in von Neumann v letih od 1936 do Od vseh avtomatov so najbolj razširjeni končni avtomati. Najbolj splošen je Touringov stoj oz. avtomat. Po splošnosti se med obe skrajnosti uvrščajo vmesni avtomati (med njimi so potisni, skladovni in linearno ločljivi avtomati). Zanimali nas bodo samo deterministični avtomati. Med vsemi avtomati sta najbolj znana Mealyjev in Moorov avtomat. Moorov avtomat je samo posebna oblika Mealyevega avtomata. Izhodna vrednost se pri Moorovem avtomatu lahko spremeni samo s spremembo stanj, pri Mealyjevemu pa še tudi s spremembo vhoda. Končni avtomati – osnovne definicije Def.: Končni avtomat tipa Mealy AME(krajše Mealyjev avtomat) je peterica: AME = (I; Y; O; δ; λ), kjer je I končna in neprazna množica vhodnih črk - vhodna abeceda, Y končna in neprazna množica notranjih črk (stanj) avtomata - notranja abeceda, O končna in neprazna množica izhodnih črk - izhodna abeceda, δ: I x Y -> Y funkcija prehajanja stanj, λ: I x Y -> O izhodna funkcija. Velikokrat v deniciji dodamo tudi začetno stanje y0єY. To je stanje, v katerem se avtomat nahaja v začetku delovanja.
37
Avtomati Funkcijo prehajanja stanj in izhodno funkcijo lahko izrazimo na naslednji način: y+ = δ(i; y); i I; y Y in o = λ(i; y); i I; y Y; o O, kjer je i sedanja vhodna črka, s sedanja notranja črka (sedanje stanje), y+ naslednja notranja črka (naslednje stanje) in o sedanja izhodna črka avtomata. δ je casovna preklopna funkcija in λ navadna preklopna funkcija. Def.: Končni avtomat tipa Moore AMO (krajše Moorov avtomat) je poseben primer Mealyjevega avtomata, in sicer z enostavnejšo izhodno funkcijo: λ : Y -> O, tj. o = λ(y), y Y; o O, V Mealyjevem avtomatu je torej sedanja izhodna črka odvisna od sedanje vhodne črke in sedanjega stanja, v Moorovem pa samo od sedanjega stanja avtomata. Končni avtomat je determinističen, ker za katerakoli stanja y; y1; y2 Y in poljubno vhodno črko i I velja: če λ(i; y) = y1 in δ(i; y) = y2, potem y1 = y2. Če primerjamo definicijo končnega avtomata z modelom sinhronega sekvenčnega vezja, ugotovimo, da predstavlja sinhrono sekvenčno vezje možno realizacijo avtomata. Funkcija prehajanja stanj je realizirana z vzbujevalnimi enačbami za vhode pomnilnih celic, izhodna funkcija pa na primarnih izhodih kombinacijske logike C.
38
Mealyjev in Moorov avtomat si lahko ponazorimo z blokovno shemo:
Avtomati Mealyjev in Moorov avtomat si lahko ponazorimo z blokovno shemo: x X Î z Z Î d : X x Y Y l: X x Y Z y Y Î Mealyev avtomat x X Î z Z Î d : X x Y Y l: Y Z y Y Î Moorov avtomat
39
Avtomati Omenimo ze zdaj, da lahko vsak Mealyjev avtomat pretvorimo v ekvivalenten Moorov avtomat in obratno. Mealyjevega in Moorovega avtomata ponavadi ne opisujemo eksplicitno s funkcijskima izrazoma za y+ in o, ampak s tabelo ali grafom prehajanja stanj na enak način, kot smo opisovali obnašanje sekvenčnih vezij tipa Mealy in Moore. Končnost končnih avtomatov je v tem, da mora vsaka abeceda (I, Y in O) vsebovati končno neničelno število črk. Če bi imela na primer notranja abeceda Y neskončno mnogo črk, bi imeli avtomat z neskončnim številom stanj. Primer: Imamo Mealyjev avtomat M s podanim grafom Abecede tega avtomata so naslednje množice: I = {0; 1} - vhodna abeceda, Y = {A;B;C;D} - notranja abeceda, O = {0; 1} - izhodna abeceda.
40
Avtomati Naj bo X poljubna množica. Z X* označimo množico vseh končnih zaporedij elementov iz množice X, vključno s praznim. Sekvenca (ali beseda) je končno (lahko prazno) zaporedje črk iz ene od abeced. Vhodna sekvenca je zaporedje w I. Izhodna sekvenca je zaporedje O. Na končni avtomat lahko gledamo kot na pretvornik vhodne sekvence v izhodno. Končni avtomat lahko uporabimo za reševanje vseh tistih problemov, ki se dajo izraziti s pretvorbo sekvenc. Za zgornji avtomat M predpostavimo, da je njegovo začetno stanje stanje A. Potem pretvori vhodno sekvenco w = 110 v izhodno sekvenco = 001. Pomembna naloga končnega avtomata je, da odloči, ali je dana vhodna sekvenca element neke vnaprej specificirane množce sekvenc. Avtomat izvrši to nalogo tako, da sprejme tiste sekvence, ki so elementi množice, in zavrne tiste, ki to niso. Za avtomat, ki se priče izvajati v svojem začetnem stanju, pravimo, da sprejme vhodno sekvenco, če postavi izhod na 1, ko sprejme zadnjo črko vhodne sekvence. Avtomat M na primer sprejme sekvenci 110 in 0110 ter zavrne sekvenco Če je y+ = (i; y), pravimo, da je stanje y+ i-naslednik stanja s (pišemo y -> y+) Stanje B je na primer 1-naslednik stanja A v avtomatu M, ker iz stanja A pridemo v B, če damo na vhod 1. V splošnem, če vhodna sekvenca w popelje avtomat iz stanja yi v stanje yj, pravimo, da je stanje yj w-naslednik stanja yi . V avtomatu M je na primer stanje D 111-naslednik stanja A. Če za vsak par stanj yi; yj končnega avtomata obstaja vhodna sekvenca, ki popelje avtomat iz yi v yj , pravimo, da je avtomat krepko povezan.
41
Avtomati: Ekvivalenca stanj in minimizacija avtomata
Pri tvorbi grafa ali tabele prehajanja stanj končnega avtomata se pogosto zgodi, da vsebuje redundantna ali odvečna stanja. Število pomnilniških celic, ki je potrebno za realizacijo avtomata, je neposredno odvisno od števila stanj. Zaradi tega minimizacija števila stanj v mnogih primerih zmanjša kompleksnost in ceno realizacije. Ekvivalenca stanj in avtomatov Def.: Končna avtomata A1 in A2 (istega tipa) sta ekvivalentna, če in samo če: 1. I1 = I2; O1 = O2 in 2. Če w1 = w2, potem 1 = 2, za vsak wi Ii*, 1 = Oi*, i=1,; tj. če za vsako možno vhodno sekvenco dobimo enako izhodno sekvenco v obeh avtomatih. Def.: Stanji ya in yb končnega avtomata AME = (I; Y; O; δ; λ) sta ekvivalentni, če in samo če sta avtomata A z začetnim stanjem ya in A z začetnim stanjem yb ekvivalentna. Def.: Stanji ya in yb končnega avtomata A sta razločljivi, če in samo če obstaja vsaj ena končna vhodna sekvenca, ki povzroči različni izhodni sekvenci za začetni stanji ya in yb v avtomatu A. Sekvenca, ki razloči ti stanji, se imenuje razločevalna sekvenca para stanj (ya; yb). Def.: Če za stanji ya in yb končnega avtomata A razločljivi, potem sta razločljivi s vhodno sekvenco dolžine n -1, pri čemer je n število stanj avtomata A. Izrek: Če stanji nista k-razločljivi, pravimo, da sta k-ekvivalentni. Izrek: Stanji, ki sta k-ekvivalentni, sta tudi r-ekvivalentni za vse r < k. Če sta stanji k-ekvivalentni za vsak k, sta ekvivalentni.
42
Avtomati: Ekvivalenca stanj in minimizacija avtomata
Primer: Mealyev avtomat A1: sedanje stanje naslednje stanje/ izhod i= A E/0 D/1 B F/0 D/0 C B/1 D B/0 E C/0 F/1 F Stanji A in B sta 1-razločljivi, ker za i = 1 dobimo izhod 1, če je A1 v začetnem stanju A, in izhod 0, če je A1 v začetnem stanju B, in torej nista niti 1-ekvivalentni. Stanji A in E pa sta 3-razločljivi. Razločevalna sekvenca je w = 111, izhodni sekvenci za začetni stanji A in E pa sta 100 oz Sta pa na primer 2-ekvivalentni. Relacija ekvivalence je tranzitivna: če sta stanji yi in yj ekvivalentni ter yj in yk ekvivalentni, sta tudi stanji yi in yk ekvivalentni. Množico stanj avtomata torej lahko razdelimo v tuje si množice, imenovane ekvivalenčni razredi, tako da sta stanji v istem razredu natanko tedaj, če sta ekvivalentni, in sta v različnih razredih, če nista ekvivalentni, tj. če sta razločljivi.
43
Avtomati: Ekvivalenca stanj in minimizacija avtomata
Procedura minimizacije stanj Def.: Vzemimo množico Y = {y1, … , yr }. Iz elementov te množice je mogoče tvoriti 2r različnih podmnožic. Če iz teh podmnožic izberemo takšne neprazne podmnožice, da za njih velja B1 U B2 U … U Bq = Y , Bi Bj = 0 ; za i; j {1, …,q}, i j, imenujemo množico = {B1,B2,…,Bq } particija na množici Y. Elemente Bi imenujemo bloki. Pri q blokih imamo q-bločno particijo. Izrek: Stanji ya in yb končnega avtomata A sta ekvivalentni natanko tedaj, če: 1. (a) Mealy: i I; λ(ya; i) = λ(yb; i), tj. če za vsak vhodni simbol dobimo enak izhodni simbol za ya in za yb; (b) Moore: λ(ya) = λ(yb), tj. če v ya in yb dobimo enak izhodni simbol, in i I; δ(ya, i) δ(yb, i), tj. Če za vsak vhodni simbol pridemo pridemo iz ya in iz yb v naslednji stanji, ki sta med seboj tudi ekvivalentni.
44
Avtomati: Ekvivalenca stanj in minimizacija avtomata
Procedura minimizacije stanj Opišimo proceduro za iskanje množic ekvivalentnih stanj podanega avtomata A, ki temelji na tem izreku. Želen rezultat je taka particija stanj avtomata, da bosta dve stanji v istem bloku, če in samo če sta ekvivalentni. 1. korak: Tvorimo particijo 1, v kateri so v istem bloku 1-ekvivalentna stanja, v različnih pa 1-razločljiva, takole: Stanja, ki imajo enake izhode pri vseh možnih vhodih, postavimo v isto podmnožico (Mealy). (Moore: stanja, ki imajo enake izhode, postavimo v isto podmnožico.) V vseh naslednjih korakih, to je za vsak k > 0, izvajamo naslednji korak: k+1. korak: Tvorimo particijo k+1, v kateri so v istem bloku k + 1-ekvivalentna stanja, v različnih pa k razločljiva, iz particije k takole: v isti blok particije k+1 postavimo tista stanja, ki so v istem bloku particije k in katerih i-nasledniki za i I so tudi v skupnem bloku particije k. Če za neki k dobimo k+1 = k, je procedura končana in k vsebuje množice ekvivalentnih stanj avtomata. k imenujemo ekvivalenčna particija. Primer: minimizacije avtomata A1 (izveden na predavanju!). Izrek: Ekvivalenčna particija je edinstvena. Lahko ugotovimo tudi, da sta končna avtomata brez določenih začetnih stanj A1 in A2 ekvivalentna, če in samo če za vsako stanje v A1 obstaja ekvivalentno stanje v A2 in obratno. V praksi se pogosto dogaja, da nekatere kombinacije stanj ali vhodov niso možne. V drugih primerih so prehodi stanj popolnima definirani, toda za nekatere kombinacije stanj in vhodov vrednosti izhodov niso pomembne, zato jih ne specificiramo. Takim avtomatom pravimo nepopolno specificirani avtomati. Pri nepopolno specificiranih avtomatih namesto o ekvivalenci govorimo o kompatibilnosti stanj in avtomatov.
45
Avtomati: Pretvorba avtomatov iz tipa Mealy v tip Moore in obratno
Dva končna avtomata (istega tipa) (z definiranim začetnim stanjem) sta ekvivalentna, če dasta pri enakih vhodnih sekvencah enake izhodne sekvence. V primeru avtomatov AME in AMO pa ekvivalenca ni tako stroga. Omenjena avtomata sta ekvivalentna, če imata pri enakih vhodnih sekvencah enake izhodne sekvence, pri tem pa prva črka na izhodu avtomata AMO ne šteje (tj. ni pomembna). Pretvorba AMO v AME Preprostejša je pretvorba AMO v AME. Stanja in prehodi v AME so enaki onim v AMO. Kadar ima stanje s v AMO izhod o, je vsak prehod v AME v stanje s označen z izhodom o. Izpeljava je naslednja: če AMO = (I, Y, O, δ, λMO, y0), potem AME = (I, Y, O, δ, λME, y0); pri čemer je λME(i, y) = λMO(δ(i, y)) za vsak i I y Y. Primer (predavanja). Pretvorba AME v AMO Izpeljava avtomata AMO iz podanega avtomata AME je nekoliko težja. Zgornje izpeljave ne moremo kar preprosto obrniti, ker lahko AME vsebuje stanje y, katerega vhodni prehodi so označeni z različnimi izhodnimi črkami. Da bi obšli to težavo, označimo stanja v avtomatu AMO z vsemi pari stanje-izhod iz množice YME x O iz avtomata AME. Avtomat AMO bo vstopil v stanje (y, o), kadarkoli AME vstopi v stanje y in tvori izhodno črko o. Izpeljava je naslednja: AME = (I, YME, O, δME, λME, y0), AMO = (I, YMO, O, δMO, λMO, (y0, O0)),
46
Avtomati: Pretvorba avtomatov iz tipa Mealy v tip Moore in obratno
pri čemer je YMO = YME x O in o0 O poljubna izhodna črka: Funkciji δMO in λMO sta definirani na naslednji način: Kadar ima AME prehod ima AMO prehod za vsak o’0 O . Kadar ima AME začetno stanje y0, ima AMO v grafu prehajanja stanj začetno stanje za poljuben o0 O . Primer (predavanja)
47
Avtomat: Dekompozicija končnih avtomatov
Računanje s particijami Def.: Če sta 1 in 2 particiji na mnozici Y , je “produkt" = 1 . 2 particija na Y, ki jo dobimo s presekom blokov iz 1 s tistimi 2: B = Bi BJ , B 1 , B1 1 , B2 2 . Def.: Če sta 1 in 2 particiji na množici Y, je "vsota" = 1 in 2 particija na Y, ki jo dobimo, če združimo bloke particij 1 in 2, ki imajo vsaj en skupen element. Obstajata dve značilni particiji: particija enote E in particija niča ali ničelna particija 0. E ima en blok, v katerem so vsi elementi množice Y, 0 pa ima za vsak element y Y svoj blok. Če je poljubna particija na množici Y , velja: 0 . = 0 E . = 0 + = E . = E
48
Avtomat: Dekompozicija končnih avtomatov
Def.: Vzemimo, da je = {B1,B2,…,Bq} neka particija na množici stanj Y končnega avtomata A z vhodnimi črkami i I in prehajalno relacijo δ. Particija ima substitucijsko značilnost, če velja: δ(i;Bj) Bk za vsak i I; j {1,2, …, q}. tj. vsa stanja iz istega bloka se za poljubno vhodno črko i preslikajo v stanja, ki so spet skupaj v bloku. Izrek: Particija s substitucijsko značilnostjo, ki ima za poljubno vhodno črko za vsako stanje v bloku B enako izhodno črko, je ekvivalenčna particija. Sedaj se lotimo problema dekompozicije avtomata. Ideja je naslednja. Namesto da bi realizirali celoten avtomat, ga najprej dekomponiramo v manjše avtomate, vsakega izvedemo posebej, nato pa jih med seboj povezemo. Tako dobljeni sestavljeni avtomat se mora navzven obnašati enako kot podani avtomat. Dve osnovni vrsti dekompozicije končih avtomatov sta serijska in paralelna dekompozicija (obravnavali bomo samo dekompozicijo enega avtomata v dva).
49
Avtomat: Dekompozicija končnih avtomatov
Serijska dekompozicija koncnega avtomata Serijska dekompozicija avtomata A na podavtomata Aa in Ab je možna le v primeru, če za množico stanj Y avtomata A najdemo particiji a in b tako, da velja a in b = 0 in ima ena od particij a , b substitucijsko značilnost. Paralelna dekompozicija končnega avtomata Paralelna dekompozicija avtomata A na avtomat Aa in Ab obstaja le, če najdemo particiji a in b tako, da velja a in b = 0 in ima tako particija a kot particija b substitucijsko značilnost.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.