Overview
One of the most common forms of synchronous sequential circuits.
- Moore FSM
- Outputs depend on current state only
- Mealy FSM
- Outputs depend on current state & inputs
- State register
- Stores current state
- Loads next state at clock edge
- Combinational logic
- Computes next state
- Computes outputs
FSM State Transition
- Moore FSM
- Outputs labeled in each state
- Mealy FSM
- Arcs indicate input/output
*Choice of machine: when do you want the output to change?
State Transition Diagram
State Transition Table, Next State Logic, Output Table, & Output Logic
Schematic
Timing Diagram
FSM State Encoding
- Binary encoding
- One-hot encoding
- More flip-flops
- Next state & output logic simpler
Factoring State Machine
FSM Design Procedure
- Identify inputs & outputs
- State transition diagram
- State transition table
- State encodings
- Rewrite state transition table with encodings
- Output table
- Next state & output logic
- Circuit schematic