INF1400. Tilstandsmaskin

Like dokumenter
INF1400. Tilstandsmaskin

Forelesning 7. Tilstandsmaskin

Kapittel 5 Tilstandsmaskin

INF2270. Sekvensiell Logikk

Løsningsforslag INF1400 H04

Repetisjon digital-teknikk. teknikk,, INF2270

IN1020. Sekvensiell Logikk

Tilstandsmaskiner kalles på engelsk for Finite State Machines.

UNIVERSITETET I OSLO

Repetisjon. Sentrale temaer i kurset som er relevante for eksamen (Eksamen kan inneholde stoff som ikke er nevnt her)

INF1400. Sekvensiell logikk del 1

UNIVERSITETET I OSLO

INF1400. Karnaughdiagram

INF3340/4340. Synkrone design Tilstandsmaskiner

INF1400. Sekvensiell logikk del 1

INF3340. Tilstandsmaskiner

Forelesning 6. Sekvensiell logikk

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Lørdag 5. juni Tid kl. 09:00 13:00. Digital sensorveiledning

UNIVERSITETET I OSLO

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

Øving 7: Løsningsforslag (frivillig)

INF3340/4431. Tilstandsmaskiner

7. Hvilket alternativ (A, B eller C) representerer hexadesimaltallet B737 (16) på oktal form?

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

UNIVERSITETET I OSLO

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

LØSNINGSFORSLAG 2006

Forelesning 3. Karnaughdiagram

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

INF1400. Digital teknologi. Joakim Myrvoll 2014

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Fredag 25. mai Tid. Kl LØSNINGSFORSLAG

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

Oppsummering digital-teknikk, teknikk, INF2270

Det matematisk-naturvitenskapelige fakultet

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Fredag 25. mai Tid. Kl LØSNINGSFORSLAG

Eksamensoppgave i TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK Fredag 21. mai 2004 Tid. Kl

Oppgave 1 (Flanke- og nivåstyrte vipper)

INF1400 Kap4rest Kombinatorisk Logikk

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Onsdag 15. august Tid. Kl LØSNINGSFORSLAG

IN1020. Logiske porter om forenkling til ALU

INF2270. Boolsk Algebra og kombinatorisk logikk

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK Fredag 6. aug 2004 Tid. Kl

5 E, B (16) , 1011 (2) Danner grupper a' fire bit , (2) Danner grupper a' tre bit 1 3 6, 5 4 (8)

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

VHDL En kjapp introduksjon VHDL. Oversikt. VHDL versus C(++)/Java

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Onsdag 15. august Tid. Kl LØSNINGSFORSLAG

Hva gikk vi gjennom forrige uke? Omid Mirmotahari 3

TFE4101 Krets- og Digitalteknikk Høst 2016

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Mandag 14. august Tid. Kl LØSNINGSFORSLAG

Låsekretser (latch er) SR latch bygget med NOR S R latch bygget med NAND D latch. Master-slave D flip-flop JK flip-flop T flip-flop

- - I Aile trykte og skrevne. samt kalkulator

EKSAMEN Emnekode: ITD13012

Ferdighetsmål: Kunne forenkle boolske uttrykk Kunne implementere flerinputs-porter med bare 2-inputs porter

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Tilstandsmaskiner (FSM) Kapittel 5

Synkron logikk. Sekvensiell logikk; to typer:

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

Forelesning 2. Boolsk algebra og logiske porter

Digitalstyring sammendrag

RAPPORT LAB 3 TERNING

NY EKSAMEN Emnekode: ITD13012

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

INF1400. Kombinatorisk Logikk

4 kombinatorisk logikk, løsning

Forelesning 5. Diverse komponenter/større system

INF3430/4430. Kombinatoriske og sekvensielle byggeblokker implementert i VHDL :57

INF1400 Kap 02 Boolsk Algebra og Logiske Porter

INF1400. Kombinatorisk Logikk

Forelesning 4. Binær adder m.m.

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter.

Institutt for elektronikk og telekommunikasjon. Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Onsdag 24. mai Tid. Kl.

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Løsningsforslag til 1. del av Del - EKSAMEN

ITPE2400/DATS2400: Datamaskinarkitektur

V.17. Sven Åge Eriksen. Referanse:

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

1 Vekt 15% 1-a. 1-b. 1-c. 1-d

Gruppa består av studenter fra AU2: Espen Seljemo, Vidar Wensel, Torry Eriksen, Magnus Bendiksen

Universitetet i Agder. Fakultet for teknologi og realfag E K S A M E N. Elektriske kretser og PLS-programmering

INF 3430/4430. Simuleringsmetodikk

Transkript:

INF4 Tilstandsmaskin

Hovedpunkter Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D-flip-flop tilstandsmaskin Reduksjon av antall tilstander Tilordning av tilstandskoder Designprosedyre for tilstandsmaskin basert på D flip-floper 2

Tilstandsmaskin Engelsk: Finite State Machine Tilstandsmaskiner er en metode til å beskrive systemer med logisk og dynamisk (tidsmessig) oppførsel. Brukes mye innen: Logiske/digitale styresystemer Sanntidssystemer Telekommunikasjon Kompilatorteknikk Digitalteknikk 3

Tilstandsmaskin Modellen av en tilstandsmaskin består av: En rekke tilstander Hendelser som endrer systemet fra en tilstand til en annen. Aksjoner som er et resultat av hendelser 4

Tilstandsmaskin En tilstandsmaskin er et sekvensielt system som gjennomløper et sett med tilstander styrt av verdiene på inngangssignalene Tilstanden systemet befinner seg i, pluss evt. inngangsverdier bestemmer utgangsverdiene Tilstandsmaskins-konseptet gir en enkel og oversiktlig måte å designe avanserte system på 5

Sentrale begreper for tilstandsmaskin Tilstand: er et begrep som benyttes til å beskrive systemets status / tilstand. er et verdisett/attributter som beskriver systemets egenskaper. Hendelser: er et begrep som benyttes om innganger/påvirkninger på systemet kan beskrives som en plutselig og kortvarig påvirkning av systemet. Aksjoner: er det som kommer ut av systemet. Det vil si resultatet er en respons på en hendelse 6

Hendelser Innganger System Beskrevet med et sett tilstander Utganger Aksjoner 7

Tilstandsmaskin Generell tilstandsmaskin basert på D flip-flops N-stk flip-flops gir 2 N forskjellige tilstander Utgangssignalene er en funksjon av nåværende tilstand pluss evt. inngangsverdier 8

Tilstandsdiagrammer For å visualisere oppførselen til systemer brukes gjerne tilstandsdiagrammer Sirkler angir tilstander Piler angir tilstandsendring Hendelse og aksjoner settes over piler som angir tilstandsendringen Initialisering Hendelse T T 2 9

Eksempel: Brusautomat Kan legge på mynter:,5, og 2 kr En bruk koster 5 kr. Skal returnere overskytende beløp Skal returnere hele beløpet hvis angre knappet er presset Kan velge mellom 2 ulike brus typer.

Eksempel: Brusautomat. Systemet befinner seg i ro i en gitt tilstand 2. Hendelse inntreffer: Penger inn, Velge brus, Angre 3. Utfører null eller flere aksjoner 4. Skifter tilstand og er i ro i denne til ny hendelse inntreffer

Eksempel: Brusautomat Hendelser: { Ingen, kr, 5kr, kr, 2kr, Angre } Aksjoner: { Ingen, lever en brus, 5kr tilbake, kr tilbake, kr tilbake } Tilstander: { Klar, kr, 5kr, kr, 2kr} 2

Implementasjon og kretsdesign Nå skal vi gjennom en rekke eksempler for implementasjon av tilstandsmaskiner. Vi skal lære om tilstandstabell. Vi skal se på noen forenklinger med med hensyn på reduksjon av tilstander Vi skal ta hensyn til ubrukte tilstander 3

Tilstandsdiagram Tilstandsdiagram = grafisk illustrasjon av egenskapene til en tilstandsmaskin Eksempel nr.: / / / Inngangsverdi x som medfører ny tilstand, samt utgangsverdi y for opprinnelig tilstand med inngangsverdi x x / y Tilstand Q A Q B / / / / / 4

Tilstandstabell Tilstandstabell = sannhetstabell for tilstandsmaskin Eksempel nr.: En inngang, en utgang og 2 stk. D flip-flops Nåværende tilstand Inngang Neste tilstand Utgang for nåværende tilstand Q A Q B x y Q A Q B 5

Eksempel nr. x D A Q A Q A Tilstandsmaskin der utgang y er en funksjon av tilstanden gitt av verdiene til Q A og Q B, samt inngangen x clk D B Q B Q B y 6

Eksempel nr.2 x y D A Q A To innganger x og y, en utgang som bare er gitt av tilstanden Q A Nåværende tilstand Innganger x y Q A clk Neste tilstand Q A Utgang for nåværende tilstand Q A 7

Eksempel nr.2 Tilstandsdiagram, /, /, / Liste av inngangskombinasjoner som gir ny tilstand / utgangsverdi for nåværende tilstand*, / *Merk at i dette tilfelle er utgangsverdien kun avhengig av tilstanden (uavhengig av inngangsverdiene) 8

Eksempel nr.3 design av sekvensdetektor Ønsker å lage en krets som finner ut om det har forekommet tre eller flere ere etter hverandre i en klokket bit-sekvens x Klokket bit-sekvens: Binært signal som kun kan skifte verdi synkront med et klokkesignal Klokkesignal x Utgang 9

Eksempel nr.3 design av sekvensdetektor Tilstandsdiagram Velger å ha 4 tilstander. Lar hver tilstand symbolisere antall ere som ligger etter hverandre i bit-sekvensen. / / / / Inngang: bit-sekvens x Utgang: gitt av tilstanden, for tilstand -2, for tilstand 3 / / / / 2

Eksempel nr.3 Bruker D flip-flops Utgang for D A og D B settes til de Nåværende tilstand Neste nåværende verdiene man ønsker at Q A Inngang tilstand tilstand og Q B skal ha i neste tilstand Q A Q B x y Q A Q B D A = Q A Q B x + Q A Q B x + Q A Q B x D B = Q A Q B x + Q A Q B x + Q A Q B x y = Q A Q B 2

Eksempel nr.3 Forenkler uttrykkene med Karnaugh-diagram x D A Q A D A = Q A x + Q B x D B Q B D B = Q A x + Q B x y = Q A Q B clk Q B y 22

Reduksjon av tilstander En tilstandsmaskin gir oss en eller flere utgangssignal som funksjon av en eller flere inngangssignal Hvordan dette implementeres internt i maskinen er uinteressant sett utenifra I noen tilfeller kan man fjerne tilstander (forenkle designet) uten å påvirke inngangs/utgangs-funksjonene 23

Reduksjon av tilstander Hvis to tilstander har samme utgangssignal, samt leder til de samme nye tilstandene gitt like inngangsverdier, er de to opprinnelige tilstandene like. En tilstand som er lik en annen tilstand kan fjernes. 24

Reduksjon av tilstander Eksempel: Tilstand G er lik tilstand E Nåværende tilstand Inngang Neste tilstand Utgang A B A B B C B D C A C D D E D F E E A F F F G G G F A F 25

Reduksjon av tilstander Eksempel: Fjerner tilstand G. Erstatter hopp til G med hopp til E Nåværende tilstand Inngang Neste tilstand Utgang A B A B B C B D C A C D D E D F E E F F A F E F 26

Reduksjon av tilstander Eksempel: Nå er tilstand F lik tilstand D Fjerner tilstand F Nåværende tilstand Inngang Neste tilstand Utgang A B A B B C B D C A C D D E D F E E F F A F E F 27

Reduksjon av tilstander Eksempel: Har fjernet tilstand F Nåværende tilstand Inngang Neste tilstand Utgang A B A B B C B D C A C D D E D D E E A D 28

Tilordning av tilstandskoder I en tilstandsmaskin med M tilstander må hver tilstand tilordnes en kode basert på minimum N bit der 2 N M Kompleksiteten til den kombinatoriske delen avhenger av valg av tilstandskode Anbefalt strategi for valg av kode: prøv-og-feil i tilstandsdiagrammet / / Tilstand nr. Kode: / Tilstand nr.2 Kode: 29

Ubrukte tilstander I en tilstandsmaskin med N flip-flopper vil det alltid finnes 2 N tilstander. Designer man for M tilstander der M < 2 N vil det finnes ubrukte tilstander. / Problem: Under oppstart (power up) har man ikke full kontroll på hvilken tilstand man havner i først. Havner man i en ubrukt tilstand som ikke leder videre til de ønskede tilstandene vil systemet bli låst. Løsning: Design systemet slik at alle ubrukte tilstander leder videre til en ønsket tilstand. / /,/ / / / / 3

Generell designprosedyre basert på D flip-flops ) Definer tilstandene, inngangene og utgangene 2) Velg tilstandskoder, og tegn tilstandsdiagram 3) Tegn tilstandstabell 4) Reduser antall tilstander hvis nødvendig 5) Bytt tilstandskoder hvis nødvendig for å forenkle 6) Finn de kombinatoriske funksjonene 7) Sjekk at ubrukte tilstander leder til ønskede tilstander 8) Tegn opp kretsen 3

Design eksempel nr.4 Designer en teller som teller sekvensen 5,4,3,2,,. Etter skal telleren gjenta sekvensen (telle rundt). Telleren skal kunne resettes til 5 med ett reset signal. ) Velger en tilstand for hvert tall ut. Systemet har reset inngang, og trenger 3 utganger for å representere tallene 5 til. 2) Velger tilstandskoder som direkte representerer tallene ut. Tallene ut blir gitt av tilstandene 32

Eksempel nr.4 2) Tegner tilstandsdiagram / / / / /,/ / / / / / Registrerer at vi har to ubrukte tilstander 33

Eksempel Nåværende tilstand / utgang Q A Q B Q C Inngang R Neste tilstand Q A Q B Q C nr.4 3) Tegner tilstandstabell 4) Ingen reduksjonsmulighet 5) Velger å ikke bytte tilstandskoder da utgangene i såfall må omformes Ubrukte tilstander X X X X X X X X X X X X 34

Eksempel nr.4 6) Setter inn i karnaughdiagram og finner forenklede funksjoner D A Q C R Q A Q B x x x x D B Q C R Q A Q B x x x x D C Q C R Q A Q B x x x x D A = R + Q A Q B Q C + Q A Q C D B = Q B Q C R + Q A Q C R D C = Q C + R 35

Eksempel nr.4 6) Sjekker at ubrukte tilstander leder til ønskede tilstander ok Nåværende tilstand / utgang Q A Q B Q C Inngang R Neste tilstand Q A Q B Q C D A = R + Q A Q B Q C + Q A Q C D B = Q B Q C R + Q A Q C R D C = Q C + R 36

Eksempel nr.4 6) Alle ubrukte tilstander leder til ønskede tilstander, viser med diagram / / / / /,/ / / / / / / / / / 37

Eksempel nr.4 Q A Q B Q B Q A Q C D A Q A R Q clk A 7) Tegner opp krets Q A, Q B og Q C blir tellerens utganger Q B Q C R Q A Q C R clk D B Q B Q B Telleren resettes ved å sette R= Q C R D C Q C clk Q C 38

Eksempel nr.5 - trafikklys Ønsker å bruker tilstandsmaskin for å styre trafikklys Krysset har to vanlige trafikklys A og B. Disse styres med de binære signalene R A, G A, Gr A samt R B, G B, Gr B. Setter man G A til lyser det grønt i lys A osv. For å generere lyssekvensene bruker vi en repeterende bit-sekvens s som vist under. Avstanden mellom er pulsene gir intervallene mellom skifte fra grønt i lys A til grønt i lys B og motsatt. Klokkesignal Bit-sekvens s periode 39

Eksempel nr.5 - trafikklys Systemet har en induktiv sensor i bakken som registrerer biler den ene veien. Bil over sensoren gir I= ellers har vi I= R A / G A / Gr A R B / G B / Gr B Vi ønsker at bil registrert av sensoren skal gi grønt lys i A så fort som mulig R B / G B / Gr B R A / G A / Gr A Induktiv sløyfe I 4

Eksempel nr.5,2) Velger følgende forenklede tilstander: - Grønt lys i A, rødt lys i B - Gult lys i A og B. Skifter mot grønt lys i B. - Rødt lys A, grønt lys i B - Gult lys i A og B. Skifter mot grønt lys i A. Innganger: s, I Utganger: R A, G A, Gr A, R B, G B, Gr B Lar utgangene kun være en funksjon av tilstanden 4

Eksempel nr.5 /,, / 2) Tilstandsdiagram XX / XX / X don t care si / R A G A Gr A R B G B Gr B / X / 42

Nåværende tilstand Innganger 6) Finner kombinatoriske Q A Q B s I funksjoner D A = Q A Q B D B = Q A Q B I + Q B si R A = Q A Q B G A = Q B Gr A = Q A Q B R B = Gr A G B = G A Gr B = R A Neste tilstand Q A Q B R A G A Gr A R B G B Gr B Utganger 43

Eksempel nr.5 Q A Q B D A Q A 7) Tegner opp krets clk Q A D A = Q A Q B D B = Q A Q B I + Q B si R A = Q A Q B Q A Q B I Q B s I clk D B Q B Q B G A = Q B Gr A = Q A Q B Q A Q B R A Gr B R B = Gr A Q A Q B Gr A R B G B = G A Gr B = R A QB G A G B 44

Oppsummering Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D flip-flop basert tilstandsmaskin Reduksjon av antall tilstander Tilordning av tilstandskoder Designprosedyre for tilstandsmaskin basert på D flip-flops 45