INF3340/4431. Tilstandsmaskiner

Like dokumenter
INF3340. Tilstandsmaskiner

INF3340/4340. Synkrone design Tilstandsmaskiner

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

Forelesning 7. Tilstandsmaskin

INF1400. Tilstandsmaskin

Tilstandsmaskiner (FSM) Kapittel 5

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

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:

INF1400. Tilstandsmaskin

Kapittel 5 Tilstandsmaskin

INF2270. Sekvensiell Logikk

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

IN1020. Sekvensiell Logikk

Løsningsforslag INF1400 H04

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

UNIVERSITETET I OSLO

Synkron logikk. Sekvensiell logikk; to typer:

Oppgave 1 (Flanke- og nivåstyrte vipper)

INF 3430/4430. Viktige momenter i syntese og for valg av teknologi

INF1400. Sekvensiell logikk del 1

Repetisjon digital-teknikk. teknikk,, INF2270

INF1400. Sekvensiell logikk del 1

Forelesning 6. Sekvensiell logikk

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

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øsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Øving 7: Løsningsforslag (frivillig)

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

UNIVERSITETET I OSLO

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. Lørdag 5. juni Tid kl. 09:00 13:00. Digital sensorveiledning

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

INF3430. Fasit eksamen Høst Oppgave 1 6. Oppgave A B C D E 1 X X 2 X 3 X X 4 X X 5 X X 6 X

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

INF 3430/4430. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk

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

LØSNINGSFORSLAG 2006

INF3430. VHDL byggeblokker og testbenker

INF3430/4431. VHDL byggeblokker og testbenker

INF 3430/4431. Simuleringsmetodikk

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

INF1400 Kap4rest Kombinatorisk Logikk

INF3430. VHDL byggeblokker og testbenker forts.

UNIVERSITETET I OSLO

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

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

Det matematisk-naturvitenskapelige fakultet

Generell informasjon

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

MAX MIN RESET. 7 Data Inn Data Ut. Load

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

INF3430/4431. Viktige momenter i syntese og for valg av teknologi Chipscope

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

Kombinatorisk og synkron logikk. Kapittel 4

ITPE2400/DATS2400: Datamaskinarkitektur

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

INF3430/4431 Høsten Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter

Forelesning 5. Diverse komponenter/større system

TELE2010A Digital Systemkonstruksjon

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430/4430. Grunnleggende VHDL. 11-Sep-06

Digitalstyring sammendrag

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

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

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

4 kombinatorisk logikk, løsning

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF3430/4431. VHDL byggeblokker og testbenker forts.

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

SIE 4005, 2/10 (2. Forelesn.)

Design med ASIC og FPGA (Max kap.7 og 18)

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Oppsummering digital-teknikk, teknikk, INF2270

Store design. Kapittel 6

INF1400. Karnaughdiagram

- - I Aile trykte og skrevne. samt kalkulator

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

HiST-AFT-EDT Digitalteknikk EDT001T-A 11H

INF3430/4430. Grunnleggende VHDL

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF Test og design for testbarhet

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

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

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

Oppgave 1 En 4-input Xilinx LUT med innhold 9009 (hex) realiserer en: A xor-xor-or B xor-xor-nand C xor-xor-nor D xor-xor-and E xor-xor-xor

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

INF 3430/4430. UNISIM, SIMPRIM og Vital-bibliotekene Xilinx Corelib Test og design for testbarhet

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Design med ASIC og FPGA (Max kap.7 og 18)

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Del 10: Sekvensielle kretser YNGVAR BERG

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

Eksamen INF2270 våren 2018

INF2270. Datamaskin Arkitektur

Transkript:

INF3340/4431 Tilstandsmaskiner

Innhold Tilstandsmaskiner Mealy og Moore maskiner SM tilstandsdiagrammer Syntese av SM diagrammer Tilstandskoding Implementasjon ved bruk av VHDL Eksempler INF3430/4431 - Tilstandsmaskiner Side 2

Sekvensielle systemer Utganger avhenger av tidligere og nåværende verdier på innganger Sekvensielle systemer er synkrone. Dvs. styrt/synkronisert av en klokke. Registre benyttes som lager Tidligere verdier og innganger benyttes til å styre systemet inn i en tilstand (Presentstate) Modelleres ofte som i figuren nedenfor: Nåværende tilstand (Presentstate) er lagret i registre. Innganger kombineres med nåværende tilstand for å danne neste tilstand (Nextstate) og nye utgangsverdier Inputs Outputs ombinational Logic Presentstate Nextstate Registers INF3430/4431 - Tilstandsmaskiner Side 3

Moore og Mealy maskiner Synkrone sekvensielle systemer modelleres oftest som en Mealy eller Moore maskin. Mealy og Moore kalles for tilstandsmaskiner Nåværende tilstand er lagret i det vi kaller tilstandsregistre (Stateregisters) N! Pass på at setup og holdetider for tilstandsregistre er overholdt Dersom ikke er det fare for metastabilitet. Dersom innganger kommer fra annet klokkedomene har man ikke kontroll på om setup og holdetider er overholdt. Må synkronisere inngangene. INF3430/4431 - Tilstandsmaskiner Side 4

Moore maskin I en Moore tilstandsmaskin er utgangene en ren funksjon av nåværende tilstand (Presentstate) I en Moore maskin er det en klokkeperiode forsinkelse fra inngang til utgang INF3430/4431 - Tilstandsmaskiner Side 5

Mealy maskin I en Mealy tilstandsmaskin er utgangene en funksjon av nåværende tilstand og inngangene. Raskere Mindre forsinkelse (latency) fra inngang til utgang Mer komplisert dekoding av utganger INF3430/4431 - Tilstandsmaskiner Side 6

Tilstandsdiagrammer Eksempel: Enkel trafikklysstyring mellom en hovedvei og to mindre sideveier Virkemåte: Sensorer detekterer at det kommer en bil på en sidevei. Gir sideveien grønt lys/hovedvei rødt Sideveien har grønt lys i en viss tid gitt av en timer INF3430/4431 - Tilstandsmaskiner Side 7

eskrivelse av tilstandsmaskiner Tilstandsdiagram synkron reset G MJOR=GRN MINOR=RED R 0 1 STRT_TIMER R MJOR=RED MINOR=GRN 1 TIMED 0 INF3430/4431 - Tilstandsmaskiner Side 8

SM diagrammer Tilstandsboks Tar en klokkeperiode å gjennomføre X=1 Y Z Tilordning i hver tilstand Satt til 1 i denne tilstand og 0 ellers lir tilordnet verdien i skiftet fra en tilstand til en annen. Verdien blir lagret til den eventuelt skifter verdien i et annet tilstandsskifte (register lagring) INF3430/4431 - Tilstandsmaskiner Side 9

SM diagrammer vgjørelsesboks (Decisionbox) To eller flere avgreininger basert på verdien på en eller flere innganger vgjørelsesboksen må følge en tilstandsboks og være assosiert med en tilstand Derfor vil avgjørelser bli tatt i samme periode som tilstanden varer Innganger må være stabile ved starten av klokkeflanken (setup og holdetider) INF3430/4431 - Tilstandsmaskiner Side 10

SM diagrammer etingede utgangsverdier Må følge en avgjørelsesboks Utgang kan skifte verdi i løpet av tilstanden Mealy utgang Z=1 INF3430/4431 - Tilstandsmaskiner Side 11

SM diagrammer synkron reset G MJOR=GRN MINOR=RED R 0 1 klokkeperiode 1 STRT_TIMER R MJOR=RED MINOR=GRN 1 klokkeperiode 1 TIMED 0 En tilstand varer fra en tilstandsboks til neste. Dette tilsvarer en klokkeperiode INF3430/4431 - Tilstandsmaskiner Side 12

SM diagrammer (a) (b) Z=1 Z=1 1 1 Y Y 0 0 W W Klokke Z Y, =1 (a) Y, =0 W Z (b) Y, =1 Y, =0 W INF3430/4431 - Tilstandsmaskiner Side 13

Syntese av SM diagrammer Klassisk metode for å implementere en tilstandsmaskin er å sette opp Sannhetstabeller for neste tilstand Sannhetstabell for utganger ruke Karnaughdiagrammer for å finne (minimerte) logiske ligninger Dette krever at man tilordner tilstandsregistrene bestemte verdier for hver tilstand. Ønsker å tilordne verdier på tilstander slik at nestetilstandslogikk og utgangslogikk blir enklest mulig, men dette blir fort svært vanskelig fordi det blir tidlig svært mange forskjellige kombinasjoner Hvis vi vil tilordne s tilstander med en minimum antall D-flip-flop er (bit) m, må 2 m-1 <s 2 m Da er antall forskjellige kombinasjoner av tilstandskodinger gitt ved n := ( 2 m )! ( 2 m - s)! s=3, m=2, gir n=24 s=5, m=3, gir n=6720 s=9, m=4, gir n=4151347200 INF3430/4431 - Tilstandsmaskiner Side 14

INF3430/4431 - Tilstandsmaskiner Side 15 Syntese av SM diagrammer Eksempel på tilordning av tilstandsvektorer der s=3 (,,), m=2 Ingen kjent metode for å avgjøre hvem tilordning som er best 11 10 01 00

Vanlige kodinger ruk asynkron reset ved oppstart Starttilstandsvektoren kan da kodes med 0..00 Normal binær tellesekvens kan benyttes for etterfølgende tilstander Vanligst koding i PLD er Koding etter Graysekvens gir et minimalt skifting av bit mellom tilstander 1 bit endrer verdi mellom hvert skifte ruk av et bit pr. tilstand gir enklest mulig neste tilstandslogikk. Populær koding i FPG pga. mange flipflop er og smal logikk (4-input LUT i hvert nivå). Kalles one-hot koding Lite feiltolerant INF3430/4431 - Tilstandsmaskiner Side 16

Implementasjon ved bruk av VHDL Vanligst å kode tilstandsvektoren ved å bruke enumererte datatyper Definisjon type state_type is (GREEN,RED); signal presentstate,nextstate : state_type; Fordel: Tilstandsvektorkoding gjøres i syntesen Enumererte datatyper gir meget god observerbarhet i RTL-simuleringer Tilstandsmaskin deles opp i to/tre prosesser: Tilordning presentsstate <= nextstate i en klokket prosess Kombinatorisk prosess for å finne nextstate (og utganger) case for teste nåværende tilstand if for finne neste tilstand Eventuell egen prosess for å definere utganger INF3430/4431 - Tilstandsmaskiner Side 17

Trafikkontroller Entity, definisjon av datatype og stateregister INF3430/4431 - Tilstandsmaskiner Side 18

Trafikkontroller Stateregister INF3430/4431 - Tilstandsmaskiner Side 19

Traffikkontroller Nestetilstands og utgangslogikk INF3430/4431 - Tilstandsmaskiner Side 20

Traffikkontroller Timed telleren er en tilstandsmaskin i seg selv og kan implementeres som en teller eller en tilstandsmaskin Dette er eksempel på to tilstandsmaskiner som henger sammen (linked) INF3430/4431 - Tilstandsmaskiner Side 21

Timer Moore maskin for timer INF3430/4431 - Tilstandsmaskiner Side 22

Timer-entity INF3430/4431 - Tilstandsmaskiner Side 23

Timer-stateregister INF3430/4431 - Tilstandsmaskiner Side 24

Timer-nextstate INF3430/4431 - Tilstandsmaskiner Side 25

Timer-counter INF3430/4431 - Tilstandsmaskiner Side 26