Finite state machines are abstract models capable of describing the behavior of sequential circuits. A finite state machine must have the following attributes:

  • A finite set of inputs
  • A finite set of outputs
  • A finite set o states
  • A function that determine the next state
  • A function that determine the output
  • An initial state

We can represent an finite state machine using state diagram and tables.