A state machine is hardware (or simulation of hardware) that follows a sequence of steps. There are a finite number of steps that the machine follows, even if some of the steps recur infinitely. The moment in time associated with each step is known as a * state *. Knowing which state the machine is in (current state) tells what operation the machine needs to perform at that moment in time. The current state (and possibly other variables) then determine what the next state will be.

The state machines VITO deals with are know as * synchronous *, which means the moment in time when state transitions occur is signaled by a hardware clock provided to flip flops that contain an encoding of the current state.
VITO uses one-hot encoding .

Read more about state machines.