Sekvensnät Som Du kommer ihåg

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

Digital Design IE1204

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Digital Design IE1204

Asynkrona sekvensmaskiner

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Repetition och sammanfattning av syntes och analys av sekvensnät

Digital Design IE1204

Flaskautomaten Ett design-exempel av Ingo Sander

Digital Design IE1204

Digital Design IE1204

IE1204 Digital Design

Sekvensnät i VHDL del 2

Programmerbar logik och VHDL. Föreläsning 4

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

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

SEKVENSKRETSAR. Innehåll

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

IE1204/IE1205 Digital Design

Tenta i Digitalteknik

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

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

Tenta i Digitalteknik

Omtentamen IE Digital Design Måndag 14/

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

Tentamen IE Digital Design Fredag 15/

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

F5 Introduktion till digitalteknik

Digital Design IE1204

Repetition delay-element

Tentamen i Digitalteknik, EITF65

Tentamen IE Digital Design Fredag 13/

Digital Design IE1204

Digital- och datorteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen IE1204 Digital Design Måndag 15/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen IE Digital Design Måndag 23/

IE1204/5 Digital Design typtenta

DESIGN AV SEKVENTIELL LOGIK

Mintermer. SP-form med tre mintermer. William Sandqvist

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

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

TSEA22 Digitalteknik 2019!

Tentamen i IE Digital Design Fredag 21/

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

Tenta i Digitalteknik

LEJON LABORATION3. Laborationens syfte

Tenta i Digitalteknik

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

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

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

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

Tentamen med lösningar IE Digital Design Fredag 13/

Digital Design IE1204

Digital Design IE1204

TSEA22 Digitalteknik 2019!

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

IE1204/5 Digital Design typtenta

Exempel på LAX-uppgifter

Digital Design IE1204

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

Styrteknik: Grundläggande logiska funktioner D2:1

Avkodning av minnen (och I/O)

Tenta i Digitalteknik

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Quine McCluskys algoritm

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

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

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

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

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

Laborationshandledning

DIGITALTEKNIK. Laboration D172

Tentamensskrivning 11 januari 2016

IE1204 Digital Design

Tenta i Digitalteknik

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Laborationshandledning

Avkodning av minnen (och I/O)

Exempel på tentamensfrågor Digitalteknik

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Tentamen i Digital Design

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

Laboration i digitalteknik Introduktion till digitalteknik

Digital elektronik CL0090

Tenta i Digitalteknik

Sekvensnät. William Sandqvist

Grundläggande Datorteknik Digital- och datorteknik

Digital- och datorteknik

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

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

+5V. start. Styrsystem. stopp. Tillståndsmaskiner

Avkodning av minnen (och I/O)

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Tentamen i Digitalteknik 5p

Exempel 9.3. Present. Output. w w Next state

Transkript:

Sekvensnät Som Du kommer ihåg

Designmetodik Grundläggande designmetodik för tillståndsmaskiner. 1. Analysera specifikationen för kretsen 2. Skapa tillståndsdiagram 3. Ställ upp tillståndstabellen 4. Minimera tillståndstabellen 5. Tilldela koder för tillstånden 6. Välj typ av vippor 7. Realisera kretsen mha Karnaugh-diagram.

Moore-automat Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Tillståndsregister (STATE REGISTER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Clk För Moore-automaten beror utsignalerna på det inre tillståndet.

Moore: input och output Tillståndet (State) ändras här (på klockflanken) Input-sekvens I 1 I 2 O 1 O 2 Output-sekvens Output syns efter att tillståndet (state) har ändrats t

Mealy-automat Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Tillståndsregister (STATE REGISTER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Clk I en Mealy-Automat beror utgångssignalerna både på nuvarande tillstånd och ingångarna

Mealy: input och output Tillståndet (State) ändras här (på klockflanken) Input-sekvens I 1 I 2 O 1 O 2 Output-sekvens Output syns direkt efter att input har ändrats t

Överblivna tillstånd? Ibland får man några states över när man väljer kod. (Totala antalet states är alltid potenser av 2) Överblivna states måste tas om hand så att inte statemaskinen låser sig vid uppstart Ett annat sätt är att man alltid (tex. automatiskt) gör RESET vid uppstart.

( RESET-generator chip ) Matningsspänning på ger RESET i 200 ms Om matningsspänningen får problem, eller sjunker under viss nivå, så blir det RESET Bättre än att behöva skaffa extra skydd, är att designa förebyggande och från början ta hand om alla tillstånd

Ex. räknare {0,1,2} 3 tillstånd 2 vippor 2 2 = 4 tillstånd. Ett tillstånd blir över... Farlig övergång ( automaten låser sig ) S3 - S0 0 S1 0 Om maskinen råkar starta i S3 så vill vi att den så snart som möjligt hittar in i sekvensen! S2 1

Räknaren som automat Q + 1 D 1 Q 1 Nästa Tillstånds avkodare Q + 0 D 0 Q 0 Utgångs avkodare f Clock

Nextstate-funktion S0 S1 S2 Nuv. värde Utsignal Nästa värde D-vippa Q 1 Q 0 f Q + + 1 Q 0 D 1 D 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 - - - (ej 11) - - Vi kan specifiera vad som helst här utom att stanna kvar ( dvs. ej 11 )!

Karnaughdiagram Q 0 Q 1 0 1 0 0 1 1 0-1 Q 0 Q 1 0 1 0 1 0 1 0-0 Q 0 Q 1 0 1 0 0 0 1 1 - Q = = + 1 D1 Q0 Q = + 0 = D0 Q1 Q0 f = Q 1 OK, 10 inte 11!

Minimerad kodad tillståndstabell Nuv. värde Utsignal Nästa värde D-vippa Q 1 Q 0 f Q + + 1 Q 0 D 1 D 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 (ej 11) 1 0 Dvs, det extra tillståndet går in till S2 i huvudsekvensen...

Räknaren Q + 1 D 1 Q 1 + Q 1 = Q 0 Q = Q + 0 1 Q0 Q + 0 D 0 Q 0 f = Q 1 f Clock

Räknaren + Q 1 = Q 0 Q + 1 D 1 Q 1 f = Q 1 f Q = Q + 0 1 Q0 Q + 0 D 0 Q 0 Clock

Slutgiltigt tillståndsdiagram S3 1 S0 0 S1 0 Om maskinen råkar starta i detta läge så kommer den nu att gå rakt till S2. S2 1

Tillståndsminimering När man konstruerar komplexa tillståndsmaskiner så kan det lätt hända att det finns ekvivalenta och därmed redundanta tillstånd som kan tas bort för att få en effektivare implementering.

Minimeringsmetod Följande exempel illustrerar en manuell minimeringsmetod syftet är att förklara begreppet tillståndsminimering Observera att CAD-syntesverktyg använder andra (effektivare) algoritmer

Ex. Tillståndsminimering A z = 1 w = 0 B z = 1 w = 0 w = 0 D z = 1 w = 1 w = 1 w = 1 w = 1 C z = 0 w = 0 F z = 0 w = 0 G z = 0 w = 1 w = 1 w = 0 w = 1 w = 0 E z = 0 (Moore-Automat) 7- tillstånd kräver 3 vippor (2 3 = 8)

Inte ekvivalenta tillstånd Det är mycket enklare att skilja ut tillstånd som absolut inte kan vara ekvivalenta än att direkt leta reda på ekvivalenta tillstånd

Minimeringens grundidé Två tillstånd är inte ekvivalenta om de har olika utgångsvärden, dvs. om: 1. de har olika utgångsvärden A z = 1 B z = 0

Minimeringens grundidé Två tillstånd är inte ekvivalenta om de har lika utgångsvärden, men 2. om någon av tillståndsövergångarna leder till olika efterföljande utgångsvärden A z = 1 B z = 1 w=1 w=1 C z = 1 D z = 0

Tillståndstabell Present Next state Output state w = 0 w = 1 z A B C 1 B D F 1 C F E 0 D B G 1 E F C 0 F E D 0 G F G 0 Ursprungligt tillståndsdiagram Ursprunglig tillståndstabell

Minimera tillstånd Partitioner. Grupper av tillstånd. Start P 1. Från början utgör alla tillstånd ett enda block, P 1 = (ABCDEFG)

Minimera tillstånd P 1 = (ABDCDEFG) Steg 2 Gruppera nu tillstånden i grupper efter samma utsignal Vilka tillstånd har samma utsignal? ABD har utsignalen z = 1 CEFG har utsignalen z = 0 P 2 = (ABD)(CEFG) Tillstånden A, B, D kan därför aldrig vara ekvivalenta med något av tillstånden C, E, F, G eller tvärtom

Minimera tillstånd Steg 3 P 2 = (ABD)(CEFG) Vilka följdtillstånd har tillstånden? Block (ABD) w = 0: 0-successor : A (ABD), B (ABD), D (ABD) alla är övergångar inom egna blocket (ABD ) w = 1: 1-successor : A (CEFG), B (CEFG), D (CEFG) alla är övergångar till samma block (CEFG ) Block (CEFG) w = 0: 0-successor : C (CEFG), E (CEFG), F (CEFG), G (CEFG) alla är övergångar inom egna blocket (CEFG ) w = 1: 1-successor : C (CEFG), E (CEFG ), F (ABD), G (CEFG) C E G går till samma block F avviker, går till ett annat block P 3 = (ABD)(CEG)(F)

Minimera tillstånd Steg 4 P 3 = (ABD)(CEG)(F) Vilka följdtillstånd har tillstånden? Block (ABD) w = 0: 0-successor : A (ABD), B (ABD), D (ABD) alla är övergångar inom egna blocket ABD w = 1: 1-successor : A (CEG), B (F), D (CEG) A C, D G övergångar till samma block B F avviker, går till ett annat block Block (CEG) w = 0: 0-successor : C (F), E (F), G (F) alla är övergångar till samma block block (F) w = 1: 1-successor : C (CEG), E (CEG), G (CEG) alla är övergångar inom egna blocket (CEG ) P 4 = (AD)(B)(CEG)(F)

Minimerat Nästa partition P 5 blir densamma som P 4. Processen är därför klar. AD respektive CEG är ekvivalenta. A blir en ny beteckning för AD, C blir ny beteckning för CEG. P 4 = (AD)(B)(CEG)(F) = (A )(B)(C )(F)

Minimerad tillståndstabell P 4 = (AD)(B)(CEG)(F) = (A )(B)(C )(F) A är ny beteckning för AD, C är ny för CEG. Present Nextstate Output state w = 0 w = 1 z A B C 1 B A F 1 C F C 0 F C A 0

Minimerat tillståndsdiagram A z = 1 C z = 0 w = 1 w = 0 w = 0 w = 1 w = 0 w = 0 B z = 1 F z = 0 w = 1 w = 1 4 tillstånd kräver 2 vippor (2 2 = 4).

Jämförelse

Värdet av tillståndsminimering? Det är inte säkert att färre tillstånd leder till ett enklare nät! Fördelen med tillståndsminimering ligger i stället i att det blir enklare att skapa det ursprungliga tillståndsdiagrammet när man inte behöver anstränga sig för att det dessutom ska bli minimalt från början! CAD-verktygen minimerar sedan det ursprungliga tillståndsdiagrammet till ett slutgiltigt.

Analys av sekvensnät y 1 Y 1 D Q y 1 y 1? z w Q y 2 y 1 y 2 Clock Resetn Y 2 D Q Q y 2 Svårt att direkt ur schemat fundera ut vad ett sekvensnät gör!

Tänk Moore-automat!

Analysera grindnäten w y 1 w y 2 wy 2 wy 1 Y + 1 = wy1 wy2 z = y 1 y 2 w y 1 wy 1 Y + 2 = wy1 wy2

Fyll i Karnaughdiagram Kan Du fylla i Karnaughdiagrammen med funktionerna? Y 2 + wy = wy1 2 Y 1 = wy1 + wy2 z = y 1 y2

Ifyllda Karnaughdiagram Ifyllda Karnaughdiagram y 1 y 2 Y 2 + wy = wy1 2 Y 1 = wy1 + wy2 z = y 1 y2

Kodad tillståndstabell Slå ihop Karnaughdiagrammen till en kodad tillståndstabell

Kodad tillståndstabell Next State Present Output state w = 0 w = 1 y 2 y 1 z Y 2 Y 1 Y 2 Y 1 0 0 0 0 01 0 0 1 0 0 10 0 1 0 0 0 11 0 1 1 0 0 11 1 Graykod Binärkod ( BV använder binärkod )

Tillståndstabell Kodad tillståndstabell Next State Present Output state w = 0 w = 1 y 2 y 1 z Y 2 Y 1 Y 2 Y 1 0 0 0 0 01 0 0 1 0 0 10 0 1 0 0 0 11 0 1 1 0 0 11 1 Tillståndstabell Present Next state Output state w = 0 w = 1 z A A B 0 B A C 0 C A D 0 D A D 1 Den okodade tillståndstabellen är utgångspunkt om man vill byta till en annan tillståndskodning.

Tillståndsdiagram Present Next state Output state w = 0 w = 1 z A A B 0 B A C 0 C A D 0 D A D 1 w = 0 A z = 0 w =1 B z = 0 Rita färdigt tillståndsdiagrammet själv. (På övning 6 löser vi ett liknande problem kretsen är en tre i rad - krets). C z = 0 D z = 1

Tillståndsdiagram Present Next state Output state w = 0 w = 1 z A A B 0 B A C 0 C A D 0 D A D 1 Ibland kan man behöva ändra ordningen på tillstånden för att få ett tydligare diagram w = 0 w = 0 A z = 0 C z = 0 w =1 w = 0 w =1 w =1 w = 0 B z = 0 D z = 1 w =1

Tillståndsdiagram Present Next state Output state w = 0 w = 1 z A A B 0 B A C 0 C A D 0 D A D 1 w = 0 A z = 0 w = 0 w =1 w = 0 B z = 0 w = 0 w = 1 C och D har bytt plats snyggare, inga korsande tillståndspilar w =1 D z = 1 w =1 C z = 0 Att kräva samma insignal tre gånger i rad är en ofta använd säkerhetsåtgärd.

ASM-charts För att beskriva större tillståndsmaskiner används ofta ett annat diagram: Algorithmic State Machine (ASM) Charts

ASM-chart, tre byggstenar Ett ASM-chart är ett flödesdiagram som byggs upp av tre olika byggstenar. State name 0 (False) Condition 1 (True) expression Output signals or actions (Moore type) Conditional outputs or actions (Mealy type) (b) Decision box (a) State box (c) Conditional output box

ASM-charts Tillståndslåda (State Box) Representerar ett tillstånd i ett FSM utgångsvärden för tillståndet anges här (Moore-outputs) Beslutslåda (Decision Box) Beroende på värden på insignaler bestäms övergången till nästa tillstånd Villkorlig utgångslåda (Conditional outputs) Här anges värden av utgångarna vid en tillståndsövergång (Mealy-outputs)

två i rad Moore Reset 0 A w 1 Reset Clk w w z C B 0 w 1 C z 0 1 w Bara i tillstånd C har z värdet 1

två i rad Mealy Reset 0 A w 1 w = 0 z = 0 Reset A Reset Clk w w z w = 1 z = 0 C B w = 1 z = 1 B 0 1 w z w = 0 z = 0 Bara vid tillståndsövergången B-till-B med w = 1 har z värdet 1

Formell modell för tillståndsautomat För att behandla tillståndsmaskiner matematiskt behöver man en formell modell Följande modell kan beskriva både Moore- och Mealy-automaten

Formell modell för tillståndsautomat w 1 z 1 Inputs w n Combinational circuit z m Outputs y k Y k Present-state variables Next-state variables y 1 Y 1

Formell modell för tillståndsautomat En tillståndsmaskin kan formellt definieras med M = ( W, Z, S, ϕ, λ) W, Z, och S beskriver ingångarna (W), utgångarna (Z) och tillstånd (S) φ beskriver tillståndsövergångsfunktionen λ beskriver utgångsfunktion

Formell modell för tillståndsautomat ),,,, ( λ ϕ S Z W M = )) ( ), ( ( ) ( )) ( ( ) ( )) ( ), ( ( ) ( t S t W t t S t t S t W t t S Mealy Moore λ λ λ λ ϕ = = = + )...,... (... )... (... )...,... (... ) ( 1 1 1 1 1 1 1 1 y y w w z z Z y y z z Z y y w w Y Y t t S k n m Mealy k m Moore k n k λ λ ϕ = = = = = = + Nu har Du sett hur man uttrycker detta i matematikämnet!