UMBC CMSC 313, Computer Organization & Assembly Language, Spring 2002, Section 0101
Finite State Machine Design
Thursday 04/25, 2001
Assigned Reading in Murdocca & Heuring: A.14-A.15
Assigned Reading in Neveln:
- Difference between the Mealy and the Moore models of the Mod 4
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
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
- 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
Circuits in DigSim:
Following these links will launch the DigSim Java applet and
load the circuit described.
14 Nov 2003 10:17:29 EST
to Spring 2002 CMSC 313 Section Homepage