INF3340/4340. Synkrone design Tilstandsmaskiner

Like dokumenter
INF3340. Tilstandsmaskiner

INF3340/4431. 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

INF1400. Tilstandsmaskin

Kapittel 5 Tilstandsmaskin

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

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

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:

INF2270. Sekvensiell Logikk

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

IN1020. Sekvensiell Logikk

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

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

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

Oppgave 1 (Flanke- og nivåstyrte vipper)

Synkron logikk. Sekvensiell logikk; to typer:

INF1400. Sekvensiell logikk del 1

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

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

Repetisjon digital-teknikk. teknikk,, INF2270

INF1400. Sekvensiell logikk del 1

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

Forelesning 6. Sekvensiell logikk

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

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF 3430/4430. Simuleringsmetodikk

UNIVERSITETET I OSLO

Øving 7: Løsningsforslag (frivillig)

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

INF 3430/4430. Simuleringsmetodikk

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

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

LØSNINGSFORSLAG 2006

INF 3430/4431. Simuleringsmetodikk

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

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

INF3430. VHDL byggeblokker og testbenker forts.

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

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

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

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

MAX MIN RESET. 7 Data Inn Data Ut. Load

INF1400 Kap4rest Kombinatorisk Logikk

Det matematisk-naturvitenskapelige fakultet

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

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. VHDL byggeblokker og testbenker

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

INF3430/4431. VHDL byggeblokker og testbenker

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

Generell informasjon

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

ITPE2400/DATS2400: Datamaskinarkitektur

Kombinatorisk og synkron logikk. Kapittel 4

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

UNIVERSITETET I OSLO

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

TELE2010A Digital Systemkonstruksjon

INF1400. Karnaughdiagram

Digitalstyring sammendrag

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

- - I Aile trykte og skrevne. samt kalkulator

Forelesning 5. Diverse komponenter/større system

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

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

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

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

4 kombinatorisk logikk, løsning

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

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Oppsummering digital-teknikk, teknikk, INF2270

HiST-AFT-EDT Digitalteknikk EDT001T-A 11H

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

Eksamen INF2270 våren 2018

INF3430/4430. Grunnleggende VHDL

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

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

F = a bc + abc + ab c + a b c

TFE4101 Krets- og Digitalteknikk Høst 2016

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

UNIVERSITETET I OSLO

INF Test og design for testbarhet

INF3430/4431. VHDL byggeblokker og testbenker forts.

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Transkript:

INF3340/4340 Synkrone design Tilstandsmaskiner 18.09.2007

Agenda Tilstandsmaskiner Mealy og Moore maskiner ASM tilstandsdiagrammer Syntese av ASM diagrammer Tilstandskoding Implementasjon ved bruk av VHDL Eksempler INF3430/4430 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 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 INF3430/4430 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) NB! 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/4430 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/4430 Side 5

Mealy maskin I en Mealy tilstandsmaskin er utgangene en funksjon av nåværende tilstand og inngangene. Raskere Mindre forsinkelse fra inngang til utgang INF3430/4430 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/4430 Side 7

Beskrivelse av tilstandsmaskiner Tilstandsdiagram Asynkron reset GREEN MAJOR_GREEN=1 MINOR_GREEN=0 0 CAR 1 1 START_TIMER RED MAJOR_GREEN=0 MINOR_GREEN=1 0 TIMED ASM (Algorithmic State Machine) diagram INF3430/4430 Side 8

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

ASM diagrammer Avgjørelsesboks (Decisionbox) To eller flere avgreininger basert på verdien på en eller flere innganger Avgjø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) J 1 INF3430/4430 Side 10

ASM diagrammer Betingede utgangsverdier Må følge en avgjørelsesboks Utgang kan skifte verdi i løpet av tilstanden Mealy utgang INF3430/4430 Side 11

ASM diagrammer Asynkron reset GREEN MAJOR_GREEN=1 MINOR_GREEN=0 0 1 klokkeperiode CAR 1 1 START_TIMER RED MAJOR_GREEN=0 MINOR_GREEN=1 0 1 klokkeperiode TIMED En tilstand varer fra en tilstandsboks til neste. Dette tilsvarer en klokkeperiode INF3430/4430 Side 12

ASM diagrammer (a) (b) Z=1 Z=1 C 1 C 1 Y Y 0 0 W W Klokke Z Y, C=1 (a) Y, C=0 W Z (b) Y, C=1 Y, C=0 W INF3430/4430 Side 13

Syntese av ASM diagrammer Klassisk metode for å implementere en tilstandsmaskin er å sette opp Sannhetstabeller for neste tilstand Sannhetstabell for utganger Bruke 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/4430 Side 14

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

Vanlige kodinger Bruk asynkron reset ved oppstart Starttilstandsvektoren kan da kodes med 0..00 Normal binær tellesekvens kan benyttes for etterfølgende tilstander Vanligst koding i CPLD er Koding etter Graysekvens gir minimale skifter mellom tilstander Bruk av et bit pr. tilstand gir enklest mulig neste tilstandslogikk. Populær koding i FPGA pga. mange flipflop er og smal logikk (4-input LUT i hvert nivå). Kalles one-hot koding INF3430/4430 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/4430 Side 17

Trafikkontroller Enitity, definisjon av datatype og stateregister INF3430/4430 Side 18

Trafikkontroller Stateregister INF3430/4430 Side 19

Traffikkontroller Nestetilstands og utgangslogikk INF3430/4430 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/4430 Side 21

Timer Moore maskin for timer Asynkron reset IDLE TIMECNT=TIMEVAL TIMECNT_EN=0 TIMECNT_LOAD=0 TIMED=0 0 START_TIMER CNTDOWN 1 TIMECNT_EN /=0 TIMECNT TIMEOUT 0 TIMECNT_LOAD TIMED INF3430/4430 Side 22

Timer-entity INF3430/4430 Side 23

Timer-stateregister INF3430/4430 Side 24

Timer-nextstate INF3430/4430 Side 25

Timer-counter INF3430/4430 Side 26