Steps to FSM Design
? Construct a state/output table from the word description (or a state graph).
? State Minimization: Minimize the number of states (usually helps a bit).
? State Assignment: Coose a set of state variables and assign codes to named states.
? Substitute the state-variable combinations into the state/output table to create a transition/output table (next-state table) that shows the desired next-state variable combination for each state/input combination. Construct next-state K-maps as needed.
? Choose a flip-flop type (e.g. D, J-K, T) for the state memory.
? Construct an excitation table that shows the flip-flop input excitation values required to obtain the desired next-state value for each state/input combination.
? Derive flip-flop excitation equations from excitation table.
? Derive output equations from transition/output table.
? Draw logic diagram that shows combinational next-state and output functions as well as flip-flops.