Professional Documents
Culture Documents
ECEn 224
16 FSM Page 1
2003-2008 BYU
State graphs
And their correspondence to TTs
ECEn 224
16 FSM Page 2
2003-2008 BYU
0111
0011
Q0 Q1 Q2 Q3
7 Segment Decoder
0110 0101
0100
ECEn 224
16 FSM Page 3
2003-2008 BYU
State Machines
A state machine is a sequential circuit which progresses through a series of states in reponse to inputs
The output values are usually significant The state encodings are usually not significant
Unlike with counters
ECEn 224
16 FSM Page 4
2003-2008 BYU
State Encodings
In this machine, the state encodings dont matter The output values do
Event1
Event1 Output1
Event2 Output2
Output3
Event2
Event3
ECEn 224
16 FSM Page 5
2003-2008 BYU
Timers
Inputs
Outputs
Motors
Switches
Display 1) FSM receives inputs from copier 2) FSM generates control outputs in response 3) States help it remember where it is in the copy process
ECEn 224
16 FSM Page 6 2003-2008 BYU
S0
Xin
Because the encodings dont matter, we will use symbolic state names
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 7
2003-2008 BYU
S0
Xin
S3
S1
Xin
Xin
Xin
S2
Xin
It detects the sequence 0..1..1 on the input. When detected, output Z is asserted.
ECEn 224
16 FSM Page 8 2003-2008 BYU
S0
Xin
1..1..1..1..1..
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 9
2003-2008 BYU
S0
Xin
1..1..1..1..1..0..
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 10
2003-2008 BYU
S0
Xin
1..1..1..1..1..0..0..0..0..
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 11
2003-2008 BYU
S0
Xin
1..1..1..1..1..0..0..0..0..1..
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 12
2003-2008 BYU
S0
Xin
1..1..1..1..1..0..0..0..0..1..1
S3
S1
Xin
Xin
Xin
S2
ECEn 224
16 FSM Page 13
2003-2008 BYU
S0
Xin
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 14
2003-2008 BYU
S0
Xin
1..1..1..1..1..0..0..0..0..1..0..
S3
S1
Xin
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 15
2003-2008 BYU
Xin Q1 Q0 N1 N0 Z 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1
S0 = 00 S1 = 01 S2 = 10 S3 = 11 State Assignment
ECEn 224
Symbolic TT
Conventional TT
16 FSM Page 16 2003-2008 BYU
D Q
CLK Q0
Xin Q1
N0
D Q
CLK
ECEn 224
16 FSM Page 17 2003-2008 BYU
ECEn 224
16 FSM Page 18
2003-2008 BYU
S0
Xin Xin Xin
S3
Xin
S1
Xin
Xin
S2
ECEn 224
Xin
16 FSM Page 19 2003-2008 BYU
Z=1 any time state is S3 Looking at Xin, does it look like Z is a cycle late? How could we make Z output a cycle earlier?
ECEn 224
16 FSM Page 20
2003-2008 BYU
S0
Xin Xin Xin
S3
Xin / Y
S1
Xin
Xin
S2
Xin
ECEn 224
16 FSM Page 21
2003-2008 BYU
Note how Mealy output follows input during state S2 Output is a cycle earlier than in Moore machine it appears in S2 rather than in S3
ECEn 224
16 FSM Page 22
2003-2008 BYU
Xin
S0
Xin
Xin / Y
S1
Xin
Xin
S2
ECEn 224
16 FSM Page 23
Xin
2003-2008 BYU
Example FSMs
Two Car Wash Controllers
ECEn 224
16 FSM Page 24
2003-2008 BYU
TOKEN
Clear timer
S_TOKEN
TDONE
CLRT
SPRAY
S_SPRAY
TDONE
ECEn 224
16 FSM Page 26 2003-2008 BYU
TOKEN TDONE 0 1 0 1
CS
NS
CLRT SPRAY 0 0 1 0 0 0 0 0 1 1
S_IDLE S_IDLE S_IDLE S_TOKEN S_TOKEN S_SPRAY S_SPRAY S_SPRAY S_SPRAY S_IDLE
TOKEN TDONE 0 1 0 1
Q1 Q0 00 00 01 10 10
N1 N0 00 01 10 10 00
CLRT SPRAY 0 0 1 0 0 0 0 0 1 1
ECEn 224
16 FSM Page 27
2003-2008 BYU
D Q
Q1
D Q
CLK
ECEn 224
16 FSM Page 28
2003-2008 BYU
S_IDLE
TDONE
TOKEN
TOKEN TDONE 0 1 0 1 CS NS CLRT SPRAY 1 1 0 0 0 0 1 1 S_IDLE S_IDLE S_IDLE S_SPRAY S_SPRAY S_SPRAY S_SPRAY S_IDLE
SPRAY
S_SPRAY
TDONE
ECEn 224
16 FSM Page 29 2003-2008 BYU
CS TOKEN CS TDONE
CS NS
D Q
SPRAY CLRT
CLK
ECEn 224
16 FSM Page 30
2003-2008 BYU
Customer:
Inserts 1 token and pushes START for Regular Inserts 2 tokens for Deluxe
ECEn 224
16 FSM Page 31
2003-2008 BYU
TOKEN
S0
T1DONE TOKEN
S1
START
TOKEN START
T1DONE
S4 SPRAY
SPRAY, CLRT2 T2DONE T1DONE
S2
T1DONE
S3 SOAP, CLRT1
T2DONE
ECEn 224
ECEn 224
16 FSM Page 33
2003-2008 BYU
TOKEN
S0 ACCEPTCOIN
T1DONE CLRT1, ACCEPTCOIN TOKEN
There is no way to cause coinbox to refuse tokens. Coins inserted after wash commences are presumably kept by the machine.
TOKEN START
S1
START
TOKEN START
T1DONE
S4 SPRAY
SPRAY, CLRT2 T2DONE
S2
T1DONE
T1DONE
S3 SOAP, CLRT1
Lets add an ACCEPTCOIN output to control when coinbox will accept tokens
16 FSM Page 34 2003-2008 BYU
T2DONE
ECEn 224
TOKEN
S0 ACCEPTCOIN
T1DONE ACCEPTCOIN CLRT1 TOKEN
If customer pushes START at precisely the same time as he inserts another TOKEN, the FSM will take the token, but deliver a Regular Wash.
TOKEN START
S1
START
TOKEN START
T1DONE
S4 SPRAY
SPRAY, CLRT2 T2DONE
S2
T1DONE
T1DONE
S3 SOAP, CLRT1
T2DONE
ECEn 224
TOKEN
S0 ACCEPTCOIN
T1DONE ACCEPTCOIN CLRT1 TOKEN
This changes the precedence so the machine wont steal the second token, but will give a deluxe wash in this case.
TOKEN START
S1
STARTTOKEN
TOKEN
T1DONE
S4 SPRAY
SPRAY, CLRT2 T2DONE
S2
T1DONE
T1DONE
S3 SOAP, CLRT1
T2DONE
ECEn 224
16 FSM Page 36
2003-2008 BYU
ECEn 224
16 FSM Page 37
2003-2008 BYU
ECEn 224
16 FSM Page 38
2003-2008 BYU
Another Example
An Electronic Key Lock
ECEn 224
16 FSM Page 39
2003-2008 BYU
LOCKED
D
LOCKED/ CLRCNTR PUSHED PUSHED PUSHED PUSHED9/ UNLOCK
A
Start
PUSHED7
PUSHED8
PUSHED7/ INC
F
WAITDONE
ECNT3/ CLRTIMER
ERROR
ECEn 224
16 FSM Page 41
2003-2008 BYU
LOCKED
D
PUSHED PUSHED9/ UNLOCK PUSHED PUSHED8
PUSHED
A Start
PUSHED7
WAITDONE/ CLRCNTR
WAITDONE
F
A A A B B B C C C D D E E F F
ECNT3/ CLRTIMER
E
0 0 0 0 0 0 0 0 1 0 0 0 1
ERROR
PUSHED 7 8 9 ECNT3 WAITDONE LOCKED STATE NEXTSTATE INC ERROR CLRCNTR CLRTIMER UNLOCK 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 A E B B E C C E D D A A F F A 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
ECEn 224
16 FSM Page 42
2003-2008 BYU
PUSHED 7 8 9 ECNT3 WAITDONE LOCKED STATE NEXTSTATE INC ERROR CLRCNTR CLRTIMER UNLOCK 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ECEn 224
16 FSM Page 43
2003-2008 BYU
ECEn 224
16 FSM Page 44
2003-2008 BYU