# Finite State Machine Design

#### Thursday 04/25, 2001

[Up] [Previous Lecture] [Next Lecture]

Assigned Reading in Murdocca & Heuring:  A.14-A.15

Assigned:

Due:

Topics Covered:

• Difference between the Mealy and the Moore models of the Mod 4 Counter:

In the Mealy model, when the reset button is pushed, the output is immediately "reset" to 00. Furthermore, the output does not remain 00 for a full clock cycle, since the flip-flops "latch" the 00 setting which makes the output 01 during the next clock cycle.

In the Moore model, the output is dependent only on the state bits and not the input bits. When the reset button is pushed, it sets the state bits to 00, but this does not change the output until the next cycle. During the next cycle, the output is 00 for the full duration of that cycle.

• Went over the design of a sequence detector with 1 input bit and 1 output bit. The output is a 1 if the last three inputs contain exactly two 1's. This detector is discussed in the textbook. We took the extra step of simplifying the combinational logic and implementing the detector using gates instead of MUXes.
• Steps involved in designing a finite state machine:
• Draw the state transition diagram.
• Write out the state table.
• Reduce the number of states, if possible (we'll see how to do this later).
• State assignment (assign bit patterns to each state).
• Convert the state table into a truth table. Now each output bit and each next state bit is a function of the input bits (in the Mealy model) and the current state bits.
• Simplify the Boolean functions for each output bit and each next state bit.
• Implement the finite state machine using flip-flops to remember the state and combinational logic for the Boolean functions.
• Went over the design of a vending machine in the textbook. Note that in the state transition diagram, if the customer gives the machine a nickel, a dime and a quarter, he/she does not get 20 cents back in change, but has a "store credit" of 5 cents.

Circuits in DigSim:

Following these links will launch the DigSim Java applet and load the circuit described.