State Machines in Digital Hardware