CMSC 311 Computer Organization
Fall 1995  Assignment #3
Due (at the beginning of class) Thursday, September 28
 From Mano 121.
 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
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.
 Draw the state diagram for your circuit.
 Show the state table for your circuit.
 From Mano 21.

 Design a 4 bit adder using 4 full adders.
 Design an 8 bit adder using the 4 bit adder from part a.
 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?
 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.
 From Mano 27.