Finite State Machine
FPGA
Introduction
• A Finite state machine, or FSM, is a computation model that can be
used to simulate sequential logic, or, in other words, to represent and
control execution flow.
• Finite State Machine can be used to model problems in many fields,
including mathematics, artificial intelligence, games or linguistics.
Definition
A Finite State Machine is a model of computation based on a hypothetical machine
made of one or more states. only one single state of this machine can be active at the
same time. It means the machine has to transition from one state to another in to
perform different actions.
Finite State Machine is any device storing a state of something at a given time. The
state will change based on inputs, providing the resulting output for the implemented
changes.
….. Important Points Here
• we have a fixed set of states that the machine can be in
• The machine can only be in one state at a time
• A sequence of inputs is sent to the machine
• Every state has a set of transition and every transition is associated
with an input and pointing to a state.
Real World Examples
1. Coin-operated turnstile
states:
• locked, unlocked.
Transition:
• pointing a coin in the slot will unlock the turnstile, pushing the arm of the
unlocked turnstile will let the costumer pass and lock the turnstile again.
… continued
2. Traffic Light
states
• Red, Yellow, Green.
Transitions:
• after a given time, red will change to green, green to yellow, and yellow to
red.
… continued
3. A Safe
state:
• multiple 'locked' states, one 'unlocked' state.
Transitions:
• correct combinations move us from initial locked state to locked states closer
to the unlocked state, until we finally get to the unlocked state. incorrect
combinations land us back in the initial locked state.