Asynkrona sekvensmaskiner

Relevanta dokument
Digital Design IE1204

Digital Design IE1204

IE1204 Digital Design

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Sekvensnät Som Du kommer ihåg

Digital Design IE1204

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

IE1205 Digital Design: F13: Asynkrona Sekvensnät (Del 2)

Digital Design IE1204

Repetition delay-element

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Digital Design IE1204

Digital Design IE1204

Repetition och sammanfattning av syntes och analys av sekvensnät

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Tentamen i IE1204/5 Digital Design Torsdag 29/

Omtentamen IE Digital Design Måndag 14/

SEKVENSKRETSAR. Innehåll

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

TSEA22 Digitalteknik 2019!

Tentamen i IE Digital Design Fredag 21/

Digital- och datorteknik

Tentamen med lösningar i IE Digital Design Fredag 15/

Tentamen IE Digital Design Fredag 15/

Omtentamen med lösningar IE Digital Design Måndag 14/

Tentamen med lösningar i IE Digital Design Fredag 21/

Tentamen IE Digital Design Måndag 23/

Digital- och datorteknik

IE1204/IE1205 Digital Design

Tentamen IE1204 Digital Design Måndag 15/

Digital Design IE1204

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Exempel 9.3. Present. Output. w w Next state

F5 Introduktion till digitalteknik

IE1204/5 Digital Design typtenta

Tentamen med lösningar IE Digital Design Måndag 23/

Tenta i Digitalteknik

Tentamen IE Digital Design Fredag 13/

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i Digitalteknik, EITF65

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

TSEA22 Digitalteknik 2019!

Tenta i Digitalteknik

Sekvensnät i VHDL del 2

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

IE1204/5 Digital Design typtenta

Sekvensnät vippor, register och bussar

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Flaskautomaten Ett design-exempel av Ingo Sander

Tentamen i IE1204/5 Digital Design måndagen den 15/

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

Sekvensnät. William Sandqvist

Digitala system EDI610 Elektro- och informationsteknik

Programmerbar logik och VHDL. Föreläsning 4

IE1204 Digital Design

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen i Digitalteknik TSEA22

Tentamen i Digital Design

Tentamen med lösningar IE Digital Design Fredag 13/

Digital elektronik CL0090

Quine McCluskys algoritm

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

Försättsblad till skriftlig tentamen vid Linköpings universitet

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Exempel på LAX-uppgifter

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Tenta i Digitalteknik

Mintermer. SP-form med tre mintermer. William Sandqvist

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Tenta i Digitalteknik

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Digital Design IE1204

Tenta i Digitalteknik

Låskretsar och Vippor

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Grundläggande Datorteknik Digital- och datorteknik

Tentamen i Digitalteknik, TSEA22

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

DESIGN AV SEKVENTIELL LOGIK

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Laborationshandledning

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Tenta i Digitalteknik

Lösningsförslag till tentamen i Digitalteknik, TSEA22

DIGITALTEKNIK. Laboration D172

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Laboration i digitalteknik Introduktion till digitalteknik

D0013E Introduktion till Digitalteknik

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Tentamen i Digitalteknik, EIT020

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Kodlås. Kopplingsschema över kodlåset PAL-18

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Introduktion till digitalteknik

Transkript:

Asynkrona sekvensmaskiner En asynkron sekvensmaskin är en sekvensmaskin utan vippor Asynkrona sekvensmaskiner bygger på återkopplade kombinatoriska grindnätverk Vid analys antar man: Endast EN signal i taget i grindnätet kan förändra sitt värde vid någon tidpunkt

Gyllene regeln Endast EN signal åt gången ändras

Asynkron tillståndsmaskin Asynkrona tillståndsmaskiner används då det är nödvändigt att bibehålla ett tillstånd, men då det inte finns någon klocka tillgänglig. Alla vippor och latchar är själva asynkrona tillståndsmaskiner De är användbara för att synkronisera händelser i situationer där metastabilitet är/kan vara ett problem

SR-latchen med NOR-grindar För att analyserar beteendet av en asynkron krets så antar man ideala grindar och sammanfattar all fördröjning till ett enda block med fördröjningen Δ. R S Ideala grindar (Fördröjning = 0) Fördröjning Y y Q

Analys av det asynkrona sekvensnätet Genom att vi har ett fördröjningsblock kan vi betrakta y som nuvarande tillstånd Y som nästa tillstånd R S Y y Q

Tillståndsfunktion Därmed kan vi ta fram ett funktionssamband hur nästa tillstånd Y beror på insignalerna S och R samt nuvarande tillstånd y R S Y y Q Y = R + ( S + y)

Tillståndstabell BV använder binärkodsordning Från tillståndsfunktion till sanningstabell y 0 0 0 0 S 0 0 0 0 R 0 0 0 0 Y = R + ( S + y) 0 = 0 + (0 + 0) 0 = + (0 + 0) = + ( + 0) 0 = + ( + 0) = 0 + (0 + ) 0 = + (0 + ) = 0 + ( + ) 0 = + ( + ) Present Y = R + ( S + y) Next state state SR = 00 0 0 y Y Y Y Y 0 0 0 0 0 0 Eller som på övningen med hjälp av Karnaughdiagram

( Övningen SR analys ) + Q = R + S + Q = R ( S + Q) = R ( S + Q) = S R + RQ Nuvarande tillstånd Q Nästa tillstånd Q + Insignaler SR 00 0 0 0 0 0 0 0 0 För binär ordning

Stabila tillstånd Present 0 0 0 0 0 0 Eftersom vi inte har vippor utan bara kombinatoriska kretsar kan en tillståndsändring medföra ytterligare tillståndsändringar Ett tillstånd är stabilt om Y(t) = y(t + Δ) instabil om Y(t) y(t + Δ) Next state state SR = 00 0 0 y Y Y Y Y Y = y stabilt

Exitationstabell Den asynkrona kodade tillståndstabellen kallas för Excitationstabell De stabila tillstånden (de med next state = present state) ringas in Present Next state state SR = 00 0 0 y Y Y Y Y 0 0 0 0 0 0 Y = y

Terminologi När man arbetar med asynkrona sekvensnät så används det en annan terminologi Den asynkrona okodade tillståndstabellen kallas flödestabell

Flödestabell och Tillståndsdiagram (Moore) Present Next state Output state SR = 00 0 0 Q A A A B A 0 B B A B A 00 0 SR 0 A 0 B 0 00 0

Flödestabell och Tillståndsdiagram (Mealy) Present Next state Output, Q state SR = 00 0 0 00 0 0 A A A B A 0 0 0 B B A B A 00/0 0/0 /0 A SR/Q 0/?? 0? 0? 0 B 00/ 0/ Don t care ( - ) har valts för utgångsavkodaren. Det spelar ingen roll om utgången ändras före eller efter tillståndsövergången ( = enklare grindnät).

Asynkron Moore kompatibel Asynkrona sekvensnät har liknande uppbyggnad som synkrona sekvensnät I stället för vippor har man fördröjningsblock

Asynkron Mealy kompatibel Asynkrona sekvensnät har liknande uppbyggnad som synkrona sekvensnät I stället för vippor har man fördröjningsblock

Analys av asynkrona kretsar Analysen görs i följande steg: ) Ersätt återkopplingar i kretsen med ett delay-element i. Insignalen till delay-elementet bildar nästa tillstånd (next state) signalen Y i, medan utsignalen y i representerar nuvarande tillstånd (present state). 2) Ta reda på next-state och output uttrycken 3) Ställ upp motsvarande excitationstabell 4) Skapa en flödestabell genom att byta ut kodade tillstånd mot symboliska 5) Rita ett tillståndsdiagram om så behövs

Först: D-latchens tillståndsfunktion D C D C Q C = follow / Q latch D-latchens tillståndsfunktion. Funktionssambandet mellan nuvarande tillstånd y och nästa tillstånd Y Y = D C + D C y C Y y Q follow latch

Exempel: Master-Slave-vippan Master-slave D-vippan är konstruerad av två asynkrona D-latchar. D Master D Q y m Slave D Q y s Q Tillståndsuttryck: C Clk Q Clk Q Q Y m = D C + y m C Y s = y m C + y s C

Exitationstabell Ur uttrycken kan man direkt härleda excitationstabellen (om man nu kan hålla allt i huvudet?) Y Y m s = D C + = y m C + y m y s C C Present Next state state CD = 00 0 0 Output y m y s Y m Y s Q 00 0 0 0 0 0 0 0 0 0 00 00 0 0 00 0 0 0

eller med K-map till hjälp Y m Y s Y m Y s y m y s 00 0 0 C D 00 0 0 y m y s 00 0 0 C D 00 0 0 C D y m y s 00 00 00 0 00 0 0 00 00 0 0 0 00 0 0 00 C y m DC y m C C Y m = D C + y m C Y s = y m C + s yy C s Byt rader och kolumner för att få binärkodsordning som BV

Flödestabell Vi definierar fyra tillstånd S, S2, S3, S4 och erhåller då flödestabellen Present Next state Output state CD = 00 0 0 Q S S S S S3 0 S2 S S S 2 S4 S3 S4 S4 S S 3 0 S4 S 4 S 4 S2 S 4

Flödestabell Kom ihåg: Bara en insignal kan ändras åt gången Därmed kommer vissa övergångar aldrig att kunna inträffa! Present Next state Output state CD = 00 0 0 Q S S S S S3 0 S2 S S S 2 S4 S3 S4 S4 S S 3 0 S4 S 4 S 4 S2 S 4

Flödestabell omöjliga övergångar Present Next state Output state CD = 00 0 0 Q S S S S S3 0 S2 S S S 2 S4 S3 S4 S4 S S 3 0 S4 S 4 S 4 S2 S 4 Tillstånd S3 Enda stabila tillståndet för S3 är när ingångskombinationen är Bara en ingång kan ändras möjliga ändringar är 0, 0 Dessa kombinationer lämnar S3! Ingångskombinationen 00 i S3 är inte möjligt! Ingångskombinationen 00 sätts därför till don t care!

Flödestabell omöjliga övergångar Present Next state Output state CD = 00 0 0 Q S S S S S3 0 S2 S S 2 S4 S3 S4 S S 3 0 S4 S 4 S 4 S2 S 4 Tillstånd S2 Enda stabila tillståndet för S2 är när ingångskombinationen är 0 Bara en ingång kan ändras möjliga ändringar är 0, 0 00 Dessa kombinationer lämnar S2! Ingångskombinationen 0 i S2 är inte möjligt! Ingångskombinationen 0 sätts därför till don t care!

D-vippans tillståndsdiagram Don t care betecknas här med x 00 0 0x 0 x0 CD S 0 S3 0 0 0x 0x 0 S2 S4 0 00 0x 0 x Don t care kan användas för att förenkla kretsens nästa tillståndsavkodning.

Syntes av asynkrona kretsar Syntesen genomförs i följande steg: ) Skapa ett tillståndsdiagram enligt funktionsbeskrivningen 2) Skapa en flödestabell och reducera antalet tillstånd om möjligt 3) Tilldela koder till tillstånden och skapa excitationstabellen 4) Ta fram uttryck (överföringsfunktioner) för nästa tillstånd samt utgångar 5) Konstruera en krets som implementerar ovanstående uttryck

Exempel: seriell paritetskrets Ingång x Utgång y y = om antalet pulser på ingången x har varit udda. x t Udda paritet y Med andra ord en varannangång krets 0 udda jämn udda

Skapa tillståndsdiagram x = 0 A x = B 0 x = x t Udda paritet y x = x = 0 D x = C 0 x = 0 x = 0 x y A/0 B/ C/ D/0 0 A/0

Skapa flödestabellen x t Udda paritet y Pres state Next State X=0 Q A A B 0 B C B C C D D A D 0

Vad är bra tillståndskod? 00, 0, 0, - binärkod? Pres state Next State X=0 y 2 y Y 2 Y Q 00 00 0 0 0 0 0 0 0 00 0 Dålig kodning (HD=2!) Antag X = Y 2 Y = därefter X 0 Y 2 Y = 00? 0! 0 0!? 00 Vi når aldrig 00?

Vad är bra tillståndskod? 00, 0,, 0 - graykod Antag X = Y 2 Y = 0 därefter X 0 Y 2 Y = 00 0 00 Pres state Next State X=0 y 2 y Y 2 Y Q 00 00 0 0 0 0 0 0 00 0 0 Bra kodning (HD=)

Tillståndskodning I asynkrona sekvensnät är det omöjligt att garantera att två tillståndsvariabler ändrar värdet samtidigt Därmed kan en övergång 00 resultera i en övergång 00 0??? en övergång 00 0??? För att säkerställa funktionen MÅSTE alla tillståndsövergångar ha Hamming distansen Hamming distansen är antalet bitar som skiljer sig i två binära tal Hamming distansen mellan 00 och är 2 Hamming distansen mellan 00 och 0 är Richard Hamming

Bra tillståndskodning Procedur för att erhålla bra koder: ) Rita transitionsdiagram längs kanterna i hyperkuber (Graykod) som bildas av koderna 2) Ta bort eventuella korsande linjer genom att a) byta plats på två närliggande noder b) utnyttja tillgängliga icke använda koder (utnyttja instabila tillstånd) c) introducera fler dimensioner i hyperkuben

Dålig kodning av paritetskretsen Den dåliga tillståndskodningen 00 0 kub Pres state Next State Q 0 A=00 x= B=0 X=0 y 2 y Y 2 Y A 00 00 0 0 B 0 0 0 C 0 0 D 00 0 x=0 x=0 x= C=0 D= Dålig kodning Hamming Distance = 2 ( korsande linjer )

Bra kodning av paritetskretsen Den bra tillståndskodningen 00 0 kub 0 Pres state Next State X=0 Q A=00 x= B=0 y 2 y Y 2 Y A 00 00 0 0 B 0 0 C 0 D 0 00 0 0 x=0 x=0 x= D=0 C= Bra kodning Hamming Distance = (inga korsande linjer)

Problem med icke stabila tillstånd Ex. en annan krets: Present Next state Output state r 2 r = 00 0 0 g 2 g A 00 A B C 00 B 0 A B C B 0 C 0 A B C C 0 C=0 0? 00 0 00 A=00 0 B=0 Dålig kodning Vid övergången från B till C (eller C till B) är Hamming distansen 2 (0 0)! Risk att man fastnar i ett ospecificerat tillstånd (med kod )!

Lösning på icke stabila tillstånd Lösning: Införandet av ett övergångstillstånd som säkerställa att man inte hamnar i ett odefinierat läge! 00 C=0 0 0 0 00 0 A=00 0 B=0 Bra kodning Övergångstillstånd Present Next state state r 2 r = 00 0 y 2 y Y 2 Y Output g 2 g A 00 00 0 0 00 B 0 00 0 0 0-0 0 -- C 0 00 0 0 0 0 Begära eftersändning 0 0 0 0 övergångstillstånd

Extra tillstånd fler dimensioner Man kan öka antalet dimensioner för att kunna införa säkra tillståndsövergångar A B A B G D C E D G F C D C A E B F Om det inte på något sätt går att rita om diagrammet till HD= får man lägga till fler tillstånd genom att lägga till extra dimensioner. Man tar då närmsta större hyperkub och drar övergångarna genom tillgängliga icke stabila tillstånd.

Extra tillstånd fler dimensioner Det är enklare att rita en platt 3D-kub ( perspektivet då rakt framifrån ) 00 0 0 0 00 0 00 0 000 00 000 00 00 0

Karnaughdiagrammen Pres state Next State X=0 y 2 y Y 2 Y Q 00 00 0 0 0 0 0 0 00 0 0 y 2 y x 00 0 0 0 0 0 0 0 Y 2 xy = + y 2 y + y 2 0 xy y 2 0 0 0 y 2 y x 00 0 0 0 0 0 0 0 Y x y Q= y = 2 + y 2 y + xy De röda inringningarna är för att undvika Hazard (se senare avsnitt)!

Färdig krets y 2 y x 00 0 0 0 0 0 0 0 Y + 2 = xy + y2 y xy2 y 2 0 y 0 0 0 Q= y x t Udda paritet Qy y 2 y x 00 0 0 0 0 0 0 0 x y 2 y Q Y + = x y 2 + y 2 y xy

( enklare med D-vippa ) x t Udda paritet Qy x Vi har gjort en varannangångkrets tidigare i kursen. Då med en D-vippa. Men nu blev det ju mera sport!

Vad är Hazard? Hazard är ett begrepp som innebär att det finns en fara för att utgångsvärdet inte är stabilt, utan att det kan blinka till vid vissa ingångskombinationer. Hazard uppkommer om det är olika långt från olika ingångar till en utgång, signal-kapplöpning. För att motverka detta måste man lägga till primimplikanter för att täcka upp den farliga övergången.

Exempel på Hazard MUX:en extra delay! extra delay! x 00 0 0 0 0 0 y Q 0 0 y 2 y y 2 Q Y + 2 = xy + y2 y xy2 x x Vid övergång från xy 2 y =() (0) kan utgången Q blinka till, eftersom vägen från x till Q är längre via den övre AND-grinden än den lägre (kapplöpning). MER OM HAZARD I NÄSTA FÖRELÄSNING!

Tillståndsminimering Asynkrona statemaskiner har många ospecifierade positioner i flödestabellen som man kan utnyttja för att minimera antalet tillstånd. Sannolikheten för att färre tillstånd leder till en enklare realisering är hög när det gäller asynkrona nät!

Tillståndsminimering Två steg: Ekvivalens ekvivalenta tillstånd. Samma steg som vid tillståndsminimering av synkrona sekvensnät, full flexibilitet finns kvar. Kompatibilitet kompatibla tillstånd blir olika för Moore-kompatibel eller Mealy-kompatibel realisering, de val man nu gör påverkar den fortsatta flexibiliteten.

Tillståndsminimering Procedur för minimering av antalet tillstånd. Bilda ekvivalensgrupper. För att vara i samma grupp ska följande gälla: Utgångar måste ha samma värde Stabila tillstånd måste finnas på samma plats (kolumn) Don t cares för next state måste finnas på samma plats (kolumn) 2. Minimera ekvivalensgrupperna (state-reduktion) 3. Bilda sammanslagningsdiagram, olika för Mealy eller för Moore. 4. Slå ihop kompatibla tillstånd i grupper. Minimera samtidigt antalet grupper. Varje tillstånd får endast ingå i en grupp. 5. Konstruera den reducerade flödestabellen genom att slå samman raderna i de valda grupperna 6. Repetera steg 3-5 för att se om fler minimeringar kan göras

Godisautomat ( BV sid 60 ) Godismaskinen har två ingångar: N: Nickel (5 cent) D: Dime (0 cent) En godisbit kostar 0 cent Maskinen returnerar inga pengar om det finns 5 cent i automaten ( en godisbit returneras ) Utgången z är aktiv när det finns tillräckligt med pengar för en godisbit

Tillståndsdiagram, Flödestabell N N ND = 00 E N ND = 00 B 0 D 0 N D A 0 ND = 00 D ND = 00 F D D ND = 00 C Inga dubbeländringar av insignalerna! Två mynt går inte att stoppa i samtidigt! Pres state Next State X=00 0 0 A A B C - 0 B D B - - 0 C A - C - D D E F - 0 E A E - - F A - F - (X = ND, Q = z) En flödestabell som endast innehåller ett stabilt tillstånd per rad kallas för en primitiv flödestabell. Q

Tillståndsminimering N N ND = 00 E N ND = 00 B 0 D 0 N A 0 ND = 00 D D ND = 00 F D D ND = 00 C Tillståndsminimering innebär att två tillstånd kan vara ekvivalenta, och i så fall ersättas av ett tillstånd för att förenkla tillståndsdiagrammet, och nätet. Man kan lätt inse att tillstånd C och F kommer att kunna ersättas med ett tillstånd eftersom godis alltid ska matas ut efter en Dime oavsett tidigare tillstånd.

Bilda/minimera ekvivalensgrupper. Bilda ekvivalensgrupper. För att vara i samma grupp ska följande gäller: Utgångar måste ha samma värde Stabila tillstånd måste finnas på samma plats (kolumn) Don t cares för next state måste finnas på samma plats (kolumn) 2. Minimera ekvivalensgrupperna (state reduction).

Ekvivalensgrupper Pres state Next State X=00 0 0 A A B C - 0 B D B - - 0 C A - C - D D E F - 0 E A E - - F A - F - (X = ND, Q = z) Q Tillstånden delas i block efter utsignal. ABD har utsignal 0, CEF har utsignal. P = (ABD)(CEF) Stabila tillstånd måste finnas för samma insignal (kolumn), don t care måste finnas för samma kolumn. AD har stabilt tillstånd för 00. B har stabilt för 0. CF har stabilt tillstånd för 0. E har stabilt för 0. AD och CF har don t care för motsvarande insignaler. P 2 = (AD)(B)(CF)(E)

Slå ihop ekvivalensgrupper Två rader kan slås ihop om det inte innebär någon konflikt för deras efterföljartillstånd P 2 =(AD)(B)(CF)(E) P 3 =(A)(D)(B)(C)(E) P 4 =P 3. Raderna C och F kan slås ihop med ny samlingsbeteckning C, medan A och D som har efterföljare i olika grupper inte kan slås ihop. C,F 00 (AD), (AD) C,F 0 -, - C,F 0 (CF), (CF) C,F -, - A,D 00 (AD), (AD) A,D 0 (B),(E) A,D 0 (CF), (CF) A,D -, - Resulterande flödestabell Pres Next State state X=00 0 0 A A B C - 0 B D B - - 0 C A - C - D D E C - 0 E A E - - Q

Kompatibilitetsgrupper 3. Bilda sammanslagningsdiagram antingen för Mealy eller Moore 4. Slå ihop kompatibla tillstånd i grupper. Minimera samtidigt antalet grupper. Varje tillstånd får endast ingå i en grupp. 5. Konstruera den reducerade flödestabellen genom att slå samman raderna i de valda grupperna 6. Repetera steg 3-5 för att se om fler minimeringar kan göras

Sammanslagningsregler Två tillstånd är kompatibla och kan slås ihop om följande gäller. åtminstone ett av följande villkor gäller för alla ingångskombinationer både S i och S j har samma följdtillstånd, eller både S i och S j är stabila, eller följdtillståndet av S i eller S j eller båda är ospecifierade 2. Sedan gäller följande om man vill konstruera en Moore-kompatibel automat både S i och S j har samma utgångsvärde ( gäller ju inte när man konstruerar en Mealy-kompatibel automat )

Sammanslagningsdiagram Resulterande flödestabell Pres Next State state X=00 0 0 A A B C - 0 B D B - - 0 C A - C - D D E C - 0 E A E - - Varje rad blir en punkt i kompatibilitetsgrafen. Q När det finns flera möjligheter C A Kompatibilitetsgraf E Mealy-kompatibla: I tillstånd A (X = 00) är utgången 0, i tillstånd C är utgången B C(): A-C- A(0): ABC- D Moore-kompatibla C(): A-C- E(): AE--

Ett illustrativt exempel (BV 9.8) Primitiv flödestabell Ekvivalensklasser Samma utsignal, samma position för stabilt tillstånd och för don t care tillstånd (AG) (BL) (HK) P = (AG)(BL)(C)(D)(E)(F)(HK)(J) Följdtillstånd: A, G är inte ekvivalenta A,G 00 (AG), (AG) A,G 0 (F),(BL) A,G 0 (C),(J) A,G -, - B,L 00 (AG), (AG) B,L 0 (BL), (BL) B,L 0 -, - B,L (HK), (HK) H,K 00 -, - H,K 0 (BL), (BL) H,K 0 (E), (E) H,K (HK), (HK) P 2 = (A)(G)(BL)(C)(D)(E)(F)(HK)(J) P 3 =P 2

Ett illustrativt exempel (BV 9.8) Primitiv flödestabell Ekvivalens-klasser P = (AG)(BL)(C)(D)(E)(F)(HK)(J) P 2 = (A)(G)(BL)(C)(D)(E)(F)(HK)(J) P 3 =P 2 B för (BL) H för (HK) Inga ospecifierade tillstånd har ännu utnyttjats! Reducerad flödestabell Pres Next State state X=00 0 0 A A F C - 0 B A B - H C G - C D 0 D - F - D E G - E D F - F - H 0 G G B J - 0 H - B E H J G - J - 0 Q

Ett illustrativt exempel Kompatibilitet Reducerad flödestabell Pres Next State state X=00 0 0 A A F C - 0 B A B - H C G - C D 0 D - F - D E G - E D F - F - H 0 G G B J - 0 H - B E H J G - J - 0 Nya beteckningar B (BH), A (AF), G (JG), D (DE) Q Kompatibilitets-graf B A C D Moore Moore Moore Moore Moore H F J G E Pres Next State state X=00 0 0 Moore A A A C B 0 B A B D B C G - C D 0 D G A D D G G B G - 0 Olika val är tänkbara Q

Ett illustrativt exempel Mer reducerad flödestabell Pres Next State Q state X=00 0 0 A A A C B 0 B A B D B C G - C D 0 D G A D D G G B G - 0 Ny Kompatibilitets-graf B A D C G Slutlig flödestabell Moore Pres Next State Q state X=00 0 0 A A A C B 0 B A B D B C C B C D 0 D C A D D Ny beteckning C för (CG) Nu har alla ospecificerade tillstånd utnyttjats!

Sammanfattning Asynkrona tillståndsmaskiner Bygger på analys av återkopplade kombinatoriska nät Alla vippor och latchar är asynkrona tillståndsmaskiner En liknande teori som för synkrona tillståndsmaskiner kan appliceras Bara en ingång eller tillståndsvariabel kan ändras åt gången! Man får även ta hänsyn till kapplöpningsproblem