Homework II/III

Due Tuesday, October 21; counts as TWO assignments

Note: You may wish to do Problem II first, as it is combinational, not sequential, but make sure to leave enough time for Problem I, which is quite a bit more time-consuming.

Problem I.

Implement the two- and three-bus versions (for Extra Credit, also do the one-bus version) of the bus-based circuit on p.16 of our PLN unit on digital design, as follows:

Some advice:

Note that things like resetting the clock counter must be automatic. Suppose for instance that you will do two consecutive add operations, with no input "by hand" to the second one (i.e. the second one just uses the output of the first). For a two-bus system, those two operations should take four clock cycles, i.e. four consecutive clock pulses; you may not do an extra cycle by hand to reset the clock.

Problem II:

Part A:

The 7400 chip available in Chipmunk is apparently not like the real one. It implements just one NAND gate, not a quad set as on p.50 of Dandamudi. Create a Chipmunk module which does implement a quad set of NANDs. Set up the same pin arrangement as in the 7400 (minus power and ground). Name your module MYNAND4. Test your module.

Part B:

Create a 4-to-1 MUX by using only MYNAND4s. (Make an attempt to use as few as possible, but you need not be sure it's minimal.) Make a Chipmunk module out of this, naming it MYMUX4. Test your module.

Problem III:

Consider the 4-variable boolean function

F = ABC'D' + AB'C'D + A'B'CD + A'BC'D + AB'CD' + A'BCD' +
ABCD' + ABC'D + AB'CD + A'BCD 

where the ' symbol here means NOT. In words, F expresses the condition that exactly two or three of the four inputs are equal to 1.

Using a Karnaugh map, simplify the above expression for F.

Write up your solution as a plain ASCII text file. Use lower-case letters next to 1s to indicate groupings. For example, Fig. 2.16(a) in Dandamudi could be drawn as

  BC   00   01   11   10
 A                   
 0     0    0    1v   0   
 1     0    1u   1uvw 1w  

Here I have set up groups named u, v and w. The entry 1uvw indicates that that cell belongs to all three groups.

Be complete in your writeup. For instance, in the example above you would write something like, "The cells in group v all have the property that B = 1 and C = 1, so this group represents BC."