Forelesning 7. Tilstandsmaskin

Like dokumenter
Kapittel 5 Tilstandsmaskin

INF1400. Tilstandsmaskin

INF1400. Tilstandsmaskin

INF2270. Sekvensiell Logikk

IN1020. Sekvensiell Logikk

Repetisjon digital-teknikk. teknikk,, INF2270

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

INF3340/4340. Synkrone design Tilstandsmaskiner

INF1400. Sekvensiell logikk del 1

Forelesning 6. Sekvensiell logikk

INF3340. Tilstandsmaskiner

INF1400. Sekvensiell logikk del 1

UNIVERSITETET I OSLO

INF1400. Karnaughdiagram

INF3340/4431. Tilstandsmaskiner

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

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

UNIVERSITETET I OSLO

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

LØSNINGSFORSLAG 2006

INF1400. Digital teknologi. Joakim Myrvoll 2014

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:

UNIVERSITETET I OSLO

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

Forelesning 3. Karnaughdiagram

Øving 7: Løsningsforslag (frivillig)

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

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Det matematisk-naturvitenskapelige fakultet

Oppsummering digital-teknikk, teknikk, INF2270

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

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

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

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Oppgave 1 (Flanke- og nivåstyrte vipper)

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

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

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

INF1400 Kap4rest Kombinatorisk Logikk

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

Eksamensoppgave i TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

IN1020. Logiske porter om forenkling til ALU

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

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

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

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

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

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

- - I Aile trykte og skrevne. samt kalkulator

ITPE2400/DATS2400: Datamaskinarkitektur

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

INF2270. Boolsk Algebra og kombinatorisk logikk

Tilstandsmaskiner (FSM) Kapittel 5

Digitalstyring sammendrag

EKSAMEN Emnekode: ITD13012

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

Synkron logikk. Sekvensiell logikk; to typer:

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

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.

NY EKSAMEN Emnekode: ITD13012

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Forelesning 5. Diverse komponenter/større system

Hva gikk vi gjennom forrige uke? Omid Mirmotahari 3

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

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

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

Løsningsforslag til 1. del av Del - EKSAMEN

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

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

Forelesning 2. Boolsk algebra og logiske porter

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

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

Oppsummering av digitalteknikkdelen

TFE4101 Krets- og Digitalteknikk Høst 2016

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

Forelesning 4. Binær adder m.m.

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

EKSAMEN (Del 1, høsten 2014)

INF1400. Kombinatorisk Logikk

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

INF3430. VHDL byggeblokker og testbenker forts.

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

MAX MIN RESET. 7 Data Inn Data Ut. Load

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

TELE2010A Digital Systemkonstruksjon

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

RAPPORT LAB 3 TERNING

Transkript:

Forelesning 7 Tilstandsmaskin

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

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å 3

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 4

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 5

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

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 / / / / / 7

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

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), / 9

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

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 / / / /

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

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

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 4

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. 5

Reduksjon av tilstander 6 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

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 7

Reduksjon av tilstander Eksempel: 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 Nå er tilstand F lik tilstand D D Fjerner tilstand F 8

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 9

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

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. / /,/ / / / / / 2

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) Skjekk at ubrukte tilstander leder til ønskede tilstander 8) Tegn opp kretsen 22

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 23

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

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

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 26

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 27

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

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 29

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 3 periode

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 3

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 32

Eksempel nr.5 x = 33

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

35 6) Finner kombinatoriske 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 Nåværende tilstand Innganger Q A Q B s I Neste tilstand Q A Q B R A G A Gr A R B G B Gr B Utganger

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 G B = G A Gr B = R A Q A Q B Q B Gr A R B G A G B 36

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