finite state machines - web02web02.gonzaga.edu/faculty/talarico/cp430/lec/fsm.pdf ·  ·...

26
Finite State Machines [email protected] 1

Upload: dinhliem

Post on 20-May-2018

235 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

FiniteStateMachines

[email protected] 1

Page 2: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

FSM

[email protected] 2

nextstatestate

GenericStateMachineModel

GuidelinesforcodingFSMsinVHDL:

*Useseparateprocessesforsequentiallogicandcombinationallogic

*Useenumerateddatatypetolistallpossiblestates

(optional)(state registers)

Page 3: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

StateMachine:keyidea

• StatemachinesareaneffectivemathematicalMoC thatallowtocharacterizeinanun-ambiguousandformalwaythebehaviorofasystem

• Goal:givenasetofexternalstimuliwewanttodesignasystemthatexhibitadesiredbehavior,i.e.thesystemmustbeabletoprocessthestimuli providedatitsinputstoproducecertainactions atitsoutputs

[email protected] 3

SYSTEMinputs outputs

Page 4: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

StateMachine:keyidea

[email protected] 4

STATE,ACTIONS

checkstimuli

IfnecessarychangeSTATEandACTIONS

SystemBehavior:

stimuli inputs

actions outputs

actionsdependsonstimuli&state

Insummary:1. atanygiventimeyouare

inacertainstate,andperformcertainactions

2. monitorexternalstimuliand“decide”whatnextstateandactionsshouldbe

Page 5: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

MoorestyleFSM

[email protected] 5

NextstateC.L.

OutputC.L.

StateRegistersS.L.

clock reset(optional)

nextstate state outputsinputs

Theremaybeglitchesontheoutputs

Page 6: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

MealystyleFSM

[email protected] 6

NextstateC.L.

OutputC.L.StateRegisters

S.L.

clock reset(optional)

nextstatestate outputs

inputs

Theremaybeglitchesontheoutputsandtheoutputsmaylastlessthanonecycle

Page 7: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

RegisteredOutputsFSMs

[email protected] 7

PipelinedMealy

Noglitchesandtheoutputslastone cycle

NextstateC.L.

OutputC.L.StateRegisters

S.L.

clock reset(optional)

nextstatestateinputs

OutputRegistersS.L.

storedoutputs

Page 8: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

RegisteredOutputsFSMs

[email protected] 8

NextstateC.L.

OutputC.L.

StateRegistersS.L.

clock reset(optional)

nextstate statestoredoutputsinputs

OutputRegistersS.L.

Noglitchesandtheoutputslastoneclockcycle

Ifwewant,wecandefinitelypipeline“Moore”…

Page 9: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Registered(a.k.a stored)outputsFSMs

[email protected] 9

NextstateC.L.

OutputCodedStateRegisters

clock reset(optional)

nextstatestate/outputs

inputs

Noglitches+outputsarefaster

Solution1:outputcodedMoore

Solution2:output“forecasting”

Usuallysolution2requireslessthinking

NOTE:withMooreFSMsispossibletogetregisteredoutputswithouthavingtoaddapipelinestageà outputsgetspeedupbyoneclockcycle!!!

Page 10: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

DesignExample:EdgeDetector

[email protected] 10

Page 11: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

EdgeDetector• Designastatemachinetoimplementanedgedetector

Intuitivesolution:

[email protected] 11

SYSTEMDIN

CLKPULSE

Page 12: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

MoorestyleASM

[email protected] 12

SYSTEMDIN

CLKPULSE

Page 13: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

K.MapsforMoore’sFSM

[email protected] 13

Page 14: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

MealystyleASM

[email protected] 14

SYSTEMDIN

CLKPULSE

Page 15: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

K.MapsforMealy’s FSM

[email protected] 15

Page 16: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

MealyImplementation

[email protected] 16

pulse~0

Page 17: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Mooreimplementation

[email protected] 17

Mux0~0

Page 18: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Moorewithregisteredoutput

[email protected] 18

Mux0~0

InthissimpleexampletheMoore’soutputregisteredFSMandthe“pipelined”MealyFSMhappentocoincides!

Page 19: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

DesignExample:EdgeDetectorVHDLcoding

[email protected] 19

Page 20: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Mealy’s FSM

[email protected] 20

Page 21: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Moore’sFSM

[email protected] 21

Page 22: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Moore’sstoredoutputFSM

[email protected] 22

Page 23: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

EdgeDetector:FunctionalSimulation

[email protected] 23

Page 24: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

FunctionalSimulation

[email protected] 24

Mealy:

Moore:

Moorewithstoredoutput:

Page 25: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

EdgeDetector:Testbench VHDLcode

[email protected] 25

Page 26: Finite State Machines - Web02web02.gonzaga.edu/faculty/talarico/CP430/LEC/FSM.pdf ·  · 2017-07-16Finite State Machines talarico@gonzaga.edu 1. FSM talarico@gonzaga.edu 2 ... Mealy:

Testbench

26