What are the differences between one hot and binary encoding?
Common classifications used to explain the state encoding of an FSM is Binary or highly encoded and one hot. A binary-encoded FSM design only needs as several flip-flops as are required to uniquely encode the number of states into the state machine. The definite number of flip-flops needed is equal to the ceiling of the log-base-two of the number of states into the FSM. A one hot FSM design needs a flip-flop for each state into the design and only one flip-flop that is the flip-flop representing the current or "hot" state, is set at a time into a one hot FSM design. For a state machine along with from 9 to 16 states, a binary FSM only needs 4 flip-flops whereas a one hot FSM needs a flip-flop for each state into the design
FPGA vendors often recommend using a one hot state encoding style since flip-flops are plentiful into an FPGA and the combinational logic needed to implement a one hot FSM design is classically smaller than most binary encoding styles. As FPGA performance is typically associated to the combinational logic size of the FPGA design, one hot FSM characteristically run faster than a binary encoded FSM along with larger combinational logic blocks.