You are on page 1of 7

Week 13

Finite State Machines

Part 2
Week 13: Finite State Machines 2

Learning Outcomes
1. Determine what considerations must be made in choosing state encodings
2. Break complex state machines into simple, interacting modules
3. Derive a state transition diagram from a schematic
Week 13: Finite State Machines 2

State Encodings
• There is no simple way to find the best state encoding, though it is possible to
choose a good encoding by inspection
• Binary encoding – each step is represented as a binary number
• One-hot encoding – a separate bit of state is used for each encoding; requires more
flip-flops, however, the next-state and output logic requires fewer gates
Week 13: Finite State Machines 2

Factoring State Machines


• Designing complex FSMs is often easier if they can be broken down into multiple
interacting simpler state machines, such that the output of some machines is the
input of others.
Week 13: Finite State Machines 2

Deriving an FSM from a Schematic


• Examine circuit, stating inputs, outputs, and state bits.
• Write next state and output equations.
• Create next state and output tables.
• Reduce the next stat table to eliminate unreachable states.
• Assign each valid state bit combination a name.
• Rewrite next state and output tables with state names.
• Draw state transition diagram.
• State in words what the FSM does
Week 13: Finite State Machines 2

FSM Review
• Identify the inputs and outputs.
• Sketch a state transition diagram.
• For a Moore machine:
• Write a state transition table.
• Write an output table.
• For a Mealy machine:
• Write a combined state transition and output table.
• Select state encodings—your selection affects the hardware design.
• Write Boolean equations for the next state and output logic.
• Sketch the circuit schematic.
Thank You!

You might also like