Each FSM consists of three separate parts:
- next state logic
- determines the next state
- state register
- store the current state
- provide the next state at the clock edge
- output logic
- generate the outputs

- generate the outputs
Types of FSM

Moore FSM: ein endlicher Automat
slightly different to deterministische endliche Automaten
Example

Mealy FSM: Mealy-Automat
Example:
