CMSC 311- Computer Organization

Fall 1995 - Assignment #3

Due (at the beginning of class) Thursday, September 28

  1. From Mano 1-21.
  2. Design a vending machine controller using a sequential circuit. It should take three inputs (NICKEL, DIME, and QUARTER). When the total amount of money received reaches 25 cents (or more) the output signal VEND should transition from 0 to 1 for one clock pulse. Your controller should also indicate if change is due as a three bit number representing the number of nickels to return (call the outputs C0, C1, and C2). For example, if the machine has received 20 cents and a quarter is placed in the machine, VEND should transition to 1 for one clock pulse, and the number four (100) should be output. You may assume that only one coin is deposited per clock pulse, and that no change will be inserted while VEND is equal to 1. The output of the circuit should only change on clock pulses.
    1. Draw the state diagram for your circuit.
    2. Show the state table for your circuit.
  3. From Mano 2-1.
    1. Design a 4 bit adder using 4 full adders.
    2. Design an 8 bit adder using the 4 bit adder from part a.
    3. Assume it takes time X for a signal to propagate through a simple gate (and, or, not). Also assume it takes time 2X and 3X to propagate through a full adder to outputs C and S respectively. How long will it take for longest propagation delay through your circuit in parts a and b?
    4. Assuming we can't change the propagation delays of individual gates, describe how we could change the design of the 8 bit adder to reduce the total propagation delay through it.
  4. From Mano 2-7.