Title: Chapter 2 Introduction To Finite State Machines
1Chapter 2Introduction To Finite State Machines
- Presented By Cecilia Parng
- Class C.S. 147
- Prof Sin-Min Lee
2Topics To Cover
- 2.1 State Diagrams And State Tables
- 2.2 Mealy And Moore Machines
- 2.3 Designing State Diagrams
3State Table
Inputs
Present state
Next State
Outputs
- A state table is similar to the truth table
- present state
- all inputs
- next state
- all outputs .
4Important Rule for State Table
- Complete state table must include each possible
combination of present states and input values,
and no such combination may match more than one
row of the table
5State Diagrams
- A state diagram
- Each state is represented by a circled vertex
- Each row of the state table is shown as directed
arc
J
Y
6Important Rule for State Diagram
- State diagram has same situation as state table.
Their conditions should be mutually exclusive, no
input values should meet the condition of more
than one arc.
7The Alarm Clock
Present state
Turn off alarm
Alarm
Weekday
Next state
On
X
Awake in bed
Yes
Asleep
Awake in bed
Off
Yes
No
Awake and up
No
Awake in bed
Asleep
No
Off
8State Diagram for The Alarm Clock (a)
Alarm
Turn off Alarm Yes
Awake in bed
Asleep
Alarm
Alarm
Alarm /\ Weekday
Alarm /\ Weekday
Awake and up
1 (Always)
( a )
9The alarm clock problem with inaction states
Present state
Alarm
Weekday
Next state
Turn off alarm
Asleep
Asleep
Off
X
No
On
Yes
X
Asleep
Awake in bed
Awake in bed
X
yes
On
Awake in bed
Off
Yes
Awake and up
No
Awake in bed
Awake in bed
Off
No
Asleep
No
X
Awake and up
X
Awake and up
No
10State Diagram for The Alarm Clock (b)
Alarm / 1
Asleep
Awake in bed
Alarm / 0
Alarm / 1
Alarm /\ Weekday / 0
Alarm /\ Weekday / 0
Awake and up
1 (Always) / 0
( b )
1 yes turn off alarm (output) 0 no turn off
alarm (output)
11State Tables for The JK Flip-Flop
Present State
J
K
Next State
Q
Y
0
0
Y
0
Y
0
1
Y
0
Y
1
0
Z
1
Y
1
1
Z
1
Z
0
0
Z
1
Z
0
1
Y
0
Z
1
0
Z
1
Z
1
1
Y
0
( a )
12Condition in Terms of J and K
J
J
K
Z
Y
Q0
Q1
K
13Mealy and Moore Machines
- A finite state machine can represent outputs in
one of two ways - Moore Machines
- Mealy Machines
14Moore Machines
- Moore Machines
- Associates its outputs with the states.
- Output values depend only on the state and not on
the transitions. - It requires less hardware to produce the output
values - It is well suited for representing the control
units of microprocessors and cpu.
15State Diagram for The Alarm Clock (a)
Alarm
Turn off Alarm Yes
Awake in bed
Asleep
Alarm
Alarm
Alarm /\ Weekday
Alarm /\ Weekday
Awake and up
1 (Always)
Moore Machine
16Mealy Machines
- Mealy Machines
- Associates outputs with the transitions.
- It depends on both its state and its input values
17State Diagram for The Alarm Clock (b)
Alarm / 1
Asleep
Awake in bed
Alarm / 0
Alarm / 1
Alarm /\ Weekday / 0
Alarm /\ Weekday / 0
Awake and up
1 (Always) / 0
Mealy Machine
18Designing State Diagrams
- Counter
- String Checker
- Toll Booth
19Modulo 6 Counter
- A modulo 6 counter is a 3-bit counter that counts
through the sequence. - 000 001 010 011 100 101 000
- 0 1 2 3 4 5 0
- Unlike a regular 3-bit counter
- 110(6) and 111(7) do not count
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
20State Table for The Modulo 6 Counter
Present State
Next State
C
V2 V1 V0
U
S0
0
S0
1
0 0 0
S0
1
S1
0
0 0 1
S1
0
S1
0
0 0 1
S1
1
S2
0
0 1 0
S2
0
S2
0
0 1 0
S2
1
S3
0
0 1 1
S3
0
S3
0
0 1 1
S3
0
1 0 0
1
S4
S4
0
S4
0
1 0 0
S4
1
S5
0
1 0 1
S5
0
S5
0
1 0 1
S5
1
S0
1
0 0 0
21State Diagram for The Modulo 6 Counter (Mealy)
0 / 1000
0 / 0001
0 / 0010
S0
S1
S2
1 / 0001
1 / 0010
1 / 1000
1 / 0011
S5
S4
S3
1 / 0101
1 / 0100
0 / 0101
0 / 0011
0 / 0100
( a ) Mealy
22State Diagram for The Modulo 6 Counter (Moore)
C0 V0010
C1 V 000
C0 V010
S0
S1
U
U
S2
U
U
U
U
U
S5
S4
S3
U
U
U
U
C0 V011
C0 V100
C0 V101
( b ) Moore
23String Checker
- A String Checker inputs a string of
- bits, one bits per clock cycle.
- It checks bits 1,2, and 2, then 2,3,and 4 and so
forever
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
24State Table For String Checker
Present State
L
Next State
M
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7
0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0
S0 S0 S1 S1 S2 S2 S3 S3 S4 S4 S5 S5 S6 S6 S7 S7
25State Diagrams for the String Checker ( Mealy)
0/0
S5
S4
S6
1/0
0/0
0/1
0/1
0/0
1/0
S7
0/1
S0
1/0
0/0
1/0
0/0
1/0
1/0
S3
S1
S2
0/0
1/0
Mealy
26State Diagrams for the String Checker (Moore)
I
M0
M1
M0
I
S6
S5
S4
I
I
I
I
S7
I
S0
I
I
I
I
I
M0
M0
I
I
S3
S2
S1
I
M0
M0
M0
I
Moore
27Toll Booth Controller
- A toll booth controller has two external sensors.
- Indicates a car is at the toll booth
- Indicates a coin has been deposited in the toll
booths collection basket and its value
28States for the toll booth controller
State
Condition
R G A
SNOCAR S0 S5 S10 S15 S20 S25 S30 Spaid Scheat
No car in toll booth
1 0 0
Car in toll booth, 0 cents paid
1 0 0
Car in toll booth, 5 cents paid
1 0 0
Car in toll booth, 10 cents paid
1 0 0
Car in toll booth, 15 cents paid
1 0 0
Car in toll booth, 20 cents paid
1 0 0
Car in toll booth, 25 cents paid
1 0 0
Car in toll booth, 30 cents paid
1 0 0
Car in toll booth, full toll paid
0 1 0
Car left toll booth without paying full toll
1 0 1
I1I0 00 no coin has been deposited I1I0
01 nickel has been deposited I1I0 10 dime has
been deposited I1I0 11 quarter has been
deposited
R Red light G Green light A Alarm C 1 Car
enters the toll booth C 0 No car arrives
29The End
30Happy Holidays