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.