Finite state machines (FSMs) - mathematical abstractions that are used to solve a large variety of problems, among which are electronic design automation, communication protocol design, parsing and other engineering applications
block diagram for a standard Moore-type FSM:
Model for VHDL implementations of FSMs:
VHDL Behavioral Representation of FSMs
8.2 One-Hot Encoding for FSMs
#(flip flops) = ⌈log2(#states)⌉
The ceiling function y = ⌈x⌉ assigns y to the smallest integer that is greater or equal to x#(flip flops) = #(states)