IE1205 Digital Design: F9: Synkrona tillståndsautomater

Relevanta dokument
Digital Design IE1204

Digital Design IE1204

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

Sekvensnät Som Du kommer ihåg

Digital Design IE1204

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Asynkrona sekvensmaskiner

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

IE1204 Digital Design

SEKVENSKRETSAR. Innehåll

Digital Design IE1204

Sekvensnät i VHDL del 2

Flaskautomaten Ett design-exempel av Ingo Sander

Programmerbar logik och VHDL. Föreläsning 4

Digital Design IE1204

TSEA22 Digitalteknik 2019!

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tenta i Digitalteknik

Repetition delay-element

DESIGN AV SEKVENTIELL LOGIK

Repetition och sammanfattning av syntes och analys av sekvensnät

Digital Design IE1204

Tentamen IE Digital Design Måndag 23/

Sekvensnät. William Sandqvist

Digital Design IE1204

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

TSEA22 Digitalteknik 2019!

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

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

Tenta i Digitalteknik

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

Tentamen IE Digital Design Fredag 13/

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

Tentamen i IE Digital Design Fredag 21/

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Sekvensnät vippor, register och bussar

Tentamen IE Digital Design Fredag 15/

Omtentamen IE Digital Design Måndag 14/

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

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

Tenta i Digitalteknik

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

F5 Introduktion till digitalteknik

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

Tenta i Digitalteknik

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

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

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Tentamen IE1204 Digital Design Måndag 15/

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik Mattias Krysander Institutionen för systemteknik

Digital Design IE1204

IE1204/IE1205 Digital Design

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

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

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

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

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Digital- och datorteknik

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

Tenta i Digitalteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen med lösningar IE Digital Design Fredag 13/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Konstruktionsmetodik för sekvenskretsar

IE1204/5 Digital Design typtenta

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

Digital Design IE1204

Tenta i Digitalteknik

Digital- och datorteknik

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

Digital Design IE1204

Digital Design IE1204

Exempel på LAX-uppgifter

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

DIGITALTEKNIK. Laboration D172

Tentamen i Digitalteknik, EITF65

IE1204/5 Digital Design typtenta

Tenta i Digitalteknik

Låskretsar och Vippor

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

D0013E Introduktion till Digitalteknik

Digital elektronik CL0090

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

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

Digitala system EDI610 Elektro- och informationsteknik

Tentamen i Digital Design

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

Grundläggande Datorteknik Digital- och datorteknik

Tentamen i Digitalteknik, EIT020

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

Läsminne Read Only Memory ROM

std_logic & std_logic_vector

Tentamen i Digitalteknik, TSEA22

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

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

F5 Introduktion till digitalteknik

Tentamen i Digitalteknik 5p

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

Tentamen i Digitalteknik TSEA22

Transkript:

IE25 Digital Design: F9: Synkrona tillståndsautomater

Moore och Mealy automater F8 introducerade vippor och vi konstruerade räknare, skift-register etc. F9-F skall vi titta på hur generella tillståndsmaskiner kan konstrueras Moore och Mealy automater (uppkallade efter Edward Moore och George Mealy som studerade denna typ av kretsar)

Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör att utsignalen påverkas av både nuvarande och föregående insignaler!

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å insignalerna och det inre tillståndet. Det inre minnet är tillståndsregistret som består av D-vippor. Exempel på tillståndsmaskin: Kaffe automat: Servera kaffe när kund trycker på knapp, men bara när rätt belopp erlagts. State : Fel belopp, knapp deaktiverad State : Rätt belopp, knapp aktiverad

Tillståndsregistrets D-vippor Tillståndsregistrets D-vippor bromsar upp kapplöpningen mellan signalerna tills värdet är stabilt. (Jämför med tullstationen).

Tillståndsregistrets D-vippor Tillståndsregistrets D-vippor bromsar upp kapplöpningen mellan signalerna tills värdet är stabilt. (Jämför med tullstationen).??

Tillståndsregistrets D-vippor Tillståndsregistrets D-vippor bromsar upp kapplöpningen mellan signalerna tills värdet är stabilt. (Jämför med tullstationen).?!?!

Snabbfråga Vippor Vilket av följande tidsdiagram är giltigt för en flanktriggad D flip-flop? In D Q Out In2 Clock In In2 Out In In2 Out In In2 Out Alt: A Alt: B Alt: C

Snabbfråga Vippor Vilket av följande tidsdiagram är giltigt för en flanktriggad D flip-flop? In D Q Out In2 Clock In In2 Out In In2 Out In In2 Out Alt: A Alt: B Alt: C D kopieras till utgången vid flanken, dvs när Clock går från till

Snabbfråga Vippor Vilket av följande tidsdiagram är giltigt för en D latch? In D Q Out In2 Enable In In2 Out In In2 Out In In2 Out Alt: A Alt: B Alt: C

Snabbfråga Vippor Vilket av följande tidsdiagram är giltigt för en D latch? In D Q Out In2 Enable In In2 Out In In2 Out In In2 Out Alt: A Alt: B Alt: C D kopplas till utgången när Enable är, låses när Enable är

Exempel shift-register Clk Data Data Clk Data klockas in på positiv klockflank För att signalera slut på data och aktivera kretsen skickas två pulser på data ingången samtidigt som klockan är hög. Hur kan vi konstruera en krets som detekterar två efterföljande pulser?

Designexempel två i rad Sekvensdetektor. Om w har varit under två (eller fler) klockcykler i rad skall z =. w w z Clk C Specifikation Sekvenskretsen har en ingång w och en utgång z Om ingången w har varit under nuvarande och föregående klockcykel så ska utgången z sättas till Använd en Moore-automat med D-vippor för att realisera konstruktionen

Tidsdiagram två i rad Clock w t t t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t z Önskad funktion

Tillståndsdiagram två i rad Reset Tillstånd w = w = A z = B z = A ingen i följd B en i följd C två eller fler i följd w = w = w = Tillståndsövergång Tillståndsbeteckning C z = Värde av utgångssignal w =

Tillståndstabell Present Next state Output state w = w = z A A B B A C C A C Tre tillstånd två vippor behövs för att minnas tillståndets nummer!

två i rad som Moore-automat w Combinational circuit Y y Combinational circuit z Y 2 y 2 Clock

Designbeslut Designern måste bestämma vilka vippor som ska användas D-, T-, eller JK-vippa Designern måste välja koden för varje tillstånd

Designbeslut Denna gång givet: D-vippor Tillståndsavkodning A =, B =, C = Koden ska inte förekommer. Vi väljer don t care.

Kodad tillståndstabell A = B = C = Present Next state state w = w = Output z y y Y Y Y Y 2 2 2 A B C dd dd d Y Y f Y 2 ( y y w) z f ( Y ) 2 2

Nästa tillståndsavkodare ) ( ) ( ) ( ) ( 2 2 2 2 2 2 Y Y f z w y y f Y w y y f Y w y y f Y Y Nästa tillståndsavkodaren består av de två logiknäten som finns som ingångsnät till de två vipporna. För att kunna minimera logiknäten skriver man in sanningstabellerna i Karnaughdiagram.

Kodad tillståndstabell A = B = C = Present Next state state w = w = Output z y y Y Y Y Y 2 2 2 A B C dd dd d Y f ( y y w 2 )

Kodad tillståndstabell A = B = C = Present Next state state w = w = Output z y y Y Y Y Y 2 2 2 A B C dd dd d Y f ( y y w 2 2 )

Från kodad tillståndstabell till Karnaughdiagram Y Y f ( y y w) Y f ( y y w) Y f ( y y w) 2 2 2 2 2 y y 2 Y w d d Y wy y 2 w y 2 y Y 2 d Y 2 wy wy 2 d w ( y y 2 )

Utgångsavkodaren z f ( Y Y ) 2 y y 2 d z y 2

Implementeringen Y 2 wy wy 2 Y 2 D Q y 2 z w( y y ) 2 Y wy y 2 Q z y 2 w Y D Q y Q Clock Resetn

Tidsdiagram två i rad Clock t t t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t w y y 2 z Tillståndsövergångar sker bara på den positiva klockflanken!

Demo Modelsim

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

Tillståndsdiagram Mealy Två i rad Tillståndsdiagrammet för Mealy-automaten behöver bara två tillstånd Utsignalen beror på både tillstånd och insignaler Reset w = z = Värde av ingångssignal w = z = A B w = z = Tillståndsbeteckning w = z = Värde av utgångssignal

Tillståndstabell Reset w = z = w = z = A B w = z = w = z = Present Next state Output z state w = w = w = w = A A B B A B Två tillstånd bara en vippa behövs!

Kodad tillståndstabell Y f ( y w) z f ( y w) Present Next state Output state w = w = w = w = y Y Y z z A B Direkt ur tabellen: Y w z yw

Implementeringen z w D Q y Clock Q Resetn

Tidsdiagram Utsignalen kan ändrar sig under hela klockperioden eftersom den är en funktion av insignalen Jämfört med Moore-automaten så reagerar Mealy-automaten tidigare (bitsekvensen detekteras i t 4 jämfört med t 5 i Moore-automaten) Clock w y z t t t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t

Mealy med utgångsregister Nackdelen med Mealy-automaten är att utsignalen kan ändras under hela klockperioden Man kan lägga till en register (vippa) på utgången så för att synkronisera utgången med klockflanken z D Q Z w D Q y Q Q Clock Resetn

Tidsdiagram med utgångsregister Med utgångsregister försvinner skillnaden mellan tidsdiagrammen. Clock w y z Z t t t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t

Moore vs Mealy Moore-automatens utgångsvärden beror bara på det nuvarande tillståndet Mealy-automatens utgångsvärden beror på det nuvarande tillståndet och värden på ingångssignalerna Mealy-automaten behöver ofta färre tillstånd Mealy-automatens utsignaler är inte synkroniserade med klockan, varför man ofta lägger till ett utgångsregister

Snabbfråga Automater Vilket/vilka av följande tidsdiagram kan genereras från en Moore Automat? in clk Out in clk Out in clk Out Alt: A Alt: B Alt: C

Snabbfråga Automater Vilket/vilka av följande tidsdiagram kan genereras från en Moore Automat? in clk Out in clk Out in clk Out Alt: A Alt: B Alt: C

Snabbfråga Automater Vilket/vilka av följande tidsdiagram kan genereras från en Mealy Automat? in clk Out in clk Out in clk Out Alt: A Alt: B Alt: C

Snabbfråga Automater Vilket/vilka av följande tidsdiagram kan genereras från en Mealy Automat? in clk Out in clk Out in clk Out Alt: A Alt: B Alt: C

Val av tillståndskodning Valet av tillståndskodningen kan spela en stor roll för implementeringen eftersom den påverkar logiken för Next-state-decoder Utgångsavkodare Exempel koder: Binär Gray One hot

One-Hot-kodning One-hot-kodningen använder en vippa per tillstånd För varje tillstånd är en bit hot (), alla andra bitar är, dvs,,, One-hot kodningen minimerar den kombinatoriska logiken men ökar antalet vippor

två i rad tillståndsdiagram Reset w = w = A z = B z = w = w = w = C z = w =

Tillståndskod = Binärkod Present Next state state w = w = Output z y y Y Y Y Y 2 2 2 A B C dd dd d

Realisering (Binärkod) 2 D-vippor 2 AND-grindar OR-grind Y 2 D Q Q y 2 z w Y D Q y Q Clock Resetn

Tillståndskod = Graykod I Gray-koden ändras bara en bit åt gången, dvs,,, Gray-koden är bra för räknare Next state Present state w = w = Output z y 2 y Y 2 Y Y 2 Y A B C dd dd d

Realisering (Graykod) Y 2 D Q y 2 z 2 D-vippor AND-grind Q w Y D Q y Clock Q Resetn

Vilken kod ska man välja? I detta exempel gav Gray kod enklare realisering, men detta gäller inte för alla tillståndsmaskiner Det finns inte en kod som är den bästa i alla lägen, utan det beror helt på tillståndsdiagrammet Man kan även ha egna koder som passar till konstruktionen, t ex,,,

Tillståndsmaskiner Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Tillståndsregister (STATE REGISTER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Clk Moore maskin: Utgång beror bara på tillstånd Mealy maskin: Utgång beror på tillstånd och insignal Implementering beror på kodning Nästa föreläsning: Tillståndsminimering och Asynkrona tillståndsmaskiner