Steps to Asynchronous FSM Design
? Construct a Primitive Flow Table from the word statement of the problem.
? Derive a minimum-row primitive flow table or Reduced Primitive Flow Table by eliminating redundant, stable total-states.
? Convert the resulting table to Mealy form, if necessary, so that the output value is associated with the total state rather than the internal state.
? Derive a minimum-row flow table, or Merged Flow Table, by merging compatible rows of the reduced primitive flow table using a merger diagram. (Note: solution not necessarily unique)
? Perform race-free, or critical-race-free, state assignment, adding additional states if necessary.
? Complete the Output Table to avoid momentary false outputs when switching between stable total states.
? Draw logic diagram that shows ideal combinational next-state and output functions as well as necessary delay elements.