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).
? 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 that shows the desired next-state variable combination for each state/input combination.
? Choose a flip-flop type (e.g. D, J-K, T) for the state memory.
? Construct an excitation table that shows the excitation values required to obtain the desired next-state value for each state/input combination.
? Derive 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.