Homework #11

Here's the description of a simple state machine for a dishwasher:
     Clock = 1/600 Hz (1 clock cycle per 10 minutes)
     Outputs:
          HOT = ON or OFF (Turns on Hot Water Spray)
          COLD = ON or OFF (Turns on Cold Water Spray)
          DRY = ON or OFF (Turns on the Drying Unit)
    Inputs:
         CYCLE = ON or OFF
            IF OFF, a COLD water rinse should be performed
            IF ON, a HOT water rinse should be performed
Description:
       Basically the machine will have 4 states:
            Start - Performs a WARM water rinse (both HOT and COLD rinses at the same time)
            Hot Rinse - Hot wate rinse is performed
            Cold Rinse - Cold Water Rinse is performed
            Drying - Dryier is turned on
       Each possible state will last 10 minutes (hence the clock rate of 1/600 Hz).
       Basically, the machine will always start in the Start State.
       Then, if CYCLE select is ON it will proceed to the Hot Rinse State, otherwise it will proceed to the Cold Rinse State.
       Both the Cold and Hot Rinse States lead to only the Drying state.

Misc:
   ON means a '1'. OFF means a '0'
    Assume that the machine always starts in the start state (don't worry about initialization stuff)
    Assume that the machine stays in the dry state forever once it is reached.

1) Draw the state transition diagram

2) Write out the state transition table
    Use binary encoding (2 bits - B0 and b1) to represents the states as follows:
           Start: B0=0, B1=0
           Hot Rinse:   B0=1, B1=0
           Cold Rinse:   B0=0, B1=1
           Drying:   B0=1, B1=1
 

3) Derive the equations for the combinational logic (both outputs and next state bits)
     Look carefully at the equations and try to express them as simply as possible.
 

4) Draw a diagram of the complete circuit of the machine.

     For 15% extra credit draw the diagram using: Digital Works  (shareware version) to draw the diagram.

    Use switches connected to + (Vcc) to simulate the CYCLE input and the Clock
     Use light bulbs to simulate the outputs. 
     Label all switches and lights to indicate their meaning/names 
     (right click on each and select text - Enter the "name" of the item)

   Include a printout of the machine in each state to demonstrate that it worked.

     Hints/Pointers:
          To "Move" objects select the pointer and click on the item while holding the control key. Drag it to the appropriate place.
          To attach wires wateh the wirt cursor carefully - if it doesn't say "attach" the two items won't attach.