Learning Corner

Finite State Machines

A Finite State Machine (FSM) is a mathematical model used to design sequential logic circuits in digital systems. It consists of a finite number of states, transitions between these states based on inputs, and outputs that are produced by the FSM. FSMs are implemented in real-life circuits through the use of Flip Flops. The implementation procedure needs a specific order of steps (algorithm), in order to be carried out.

There are two ways to design FSMs.

  • Mealy Machine: Outputs depend only on the current state. State transitions are determined by inputs, but outputs are purely a function of the state.

  • Moore Machine: Outputs depend on both the current state and the input. This can make Mealy machines more responsive to inputs compared to Moore machines.