INF1400. Tilstandsmaskin

Like dokumenter
INF1400. Tilstandsmaskin

Forelesning 7. Tilstandsmaskin

Kapittel 5 Tilstandsmaskin

INF2270. Sekvensiell Logikk

Løsningsforslag INF1400 H04

IN1020. Sekvensiell Logikk

Repetisjon digital-teknikk. teknikk,, INF2270

UNIVERSITETET I OSLO

INF1400. Sekvensiell logikk del 1

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

INF3340/4340. Synkrone design Tilstandsmaskiner

UNIVERSITETET I OSLO

INF1400. Sekvensiell logikk del 1

INF3340. Tilstandsmaskiner

Forelesning 6. Sekvensiell logikk

Tilstandsmaskiner kalles på engelsk for Finite State Machines.

INF1400. Karnaughdiagram

UNIVERSITETET I OSLO

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

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

Øving 7: Løsningsforslag (frivillig)

INF3340/4431. Tilstandsmaskiner

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

UNIVERSITETET I OSLO

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

LØSNINGSFORSLAG 2006

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

UNIVERSITETET I OSLO

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

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:

Det matematisk-naturvitenskapelige fakultet

Forelesning 3. Karnaughdiagram

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

INF1400. Digital teknologi. Joakim Myrvoll 2014

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

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

Oppsummering digital-teknikk, teknikk, INF2270

Oppgave 1 (Flanke- og nivåstyrte vipper)

Eksamensoppgave i TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

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

INF1400 Kap4rest Kombinatorisk Logikk

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

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

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

VLSI (Very-Large-Scale-Integrated- Circuits) it Mer enn porter på samme. LSI (Large-Scale-Integrated-Circuits)

INF2270. Boolsk Algebra og kombinatorisk logikk

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

IN1020. Logiske porter om forenkling til ALU

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

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

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

- - I Aile trykte og skrevne. samt kalkulator

EKSAMEN Emnekode: ITD13012

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

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

TFE4101 Krets- og Digitalteknikk Høst 2016

NY EKSAMEN Emnekode: ITD13012

Hva gikk vi gjennom forrige uke? Omid Mirmotahari 3

INF1400. Kombinatorisk Logikk

4 kombinatorisk logikk, løsning

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

INF1400. Kombinatorisk Logikk

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

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

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

Synkron logikk. Sekvensiell logikk; to typer:

RAPPORT LAB 3 TERNING

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

Digitalstyring sammendrag

Løsningsforslag til 1. del av Del - EKSAMEN

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

ITPE2400/DATS2400: Datamaskinarkitektur

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

SIE 4005, 8/10 (3. Forelesn.)

Forelesning 5. Diverse komponenter/større system

Forelesning 2. Boolsk algebra og logiske porter

Forelesning 4. Binær adder m.m.

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

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

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

SIE 4005, 9/10 (4. Forelesn.)

INF1400 Kap 02 Boolsk Algebra og Logiske Porter

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

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

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

Oppsummering av digitalteknikkdelen

Høgskolen i Sør-Trøndelag Avdeling for teknologi

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: 4

Tilstandsmaskin En tilstandsmaskin er et 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

7

Tilstandsmaskin Generell tilstandsmaskin basert på D flip-flops 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 9

Eksempel: Brusautomat

Eksempel: Brusautomat

Eksempel: Brusautomat Hendelser: { Aksjoner: { Tilstander: { 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 7

Eksempel nr.2 Tilstandsdiagram *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 = D B = y = 2

Eksempel nr.3 Forenkler uttrykkene med Karnaugh-diagram x D A = Q A x + Q B x D B = Q A x + Q B x y = Q A Q B 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 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