FSM Analysis

Introduction to Sequential Logic Design
Finite State-Machine Analysis
Prev…
Flip Flops
D FFs
T FFs
J-K FFs
2
Clocked Synchronous State-Machine
 State machine: generic name for sequential
circuits; (Finite State Machine: FSM)
 Clocked: the storage elements (FFs) use a clock
input;
 Synchronous: all of the FFs in a circuit use the
same clock signal.
Such a FSM changes states only when a triggering
edge (rising or falling) on the clock signal.
3
State Machine Structure
State memory: n FFs to store current
states. All FFs are connected to a common
clock signal.
Next-state logic: determine the next state
when state changes occur;
Output logic: determines the output as a
function of current state and input
Mealy machine vs. Moore machine
4
Mealy Machine
Next state= F (current state, input)
Output= G (current state, input)
5
Moore Machine
Next state= F (current state, input)
Output= G (current state)
6
Characteristic Equations
 A Characteristic equation specifies the FF’s (or latch’s)
next state as a function of its current state and inputs.
7
Analysis of FSM with D FFs
Next state= F (current state, input)
Output= G (current state, input)
Step 1: Determine the next-state and output functions F, G
Step 2: Use F, G to construct a state/output tables that
completely specifies the next state and output of the circuit
for every possible combination of current state and input.
Step 3: Draw a state diagram which is a graphical form of
the state/output table.
8
Example: clocked synchronous FSM using
positive-edge triggered D FFs
9
Transition, state, state/output tables
Excitation equations
Transition Equations (next-state equations)
Output equations
10
State Diagram
11
Try Logisim
12
Timing Diagram?
CLK
EN
Q0
Q1
MAX
13
Again-Detailed: how to analyze a clocked
synchronous state machine?
1)
2)
3)
4)
5)
6)
7)
Determine the excitation equations for the FF control inputs;
Substitute the excitation equations into the FF characteristic
equations to obtain transition equations;
Use the transition equations to construct a transition table;
Determine the output equations;
Add output values to the transition table for each state (Moore)
or state/input combination (Mealy) to create a transition/output
table;
Name the states and substitute state names for state-variable
combinations in the transition/output table to obtain state/output
table;
Draw a state diagram corresponding to the state/output table.
14
Another Example
Excitation Eq
Tran. Eq
Tran.Table
Output Eq
Tran/out Table
State/out Table
State Dagram
15
16
17