CSE370 Assignment 5


Distributed: 21 April 2000
Due: 28 April 2000


Reading:

  1. Katz, Chapter 4 (pp. 207-224).
  2. Katz, Chapter 5 (pp. 240-266).

Exercises:

  1. Katz exercise 3.6 (c).
  2. Katz exercise 3.8 (d).
  3. Construct a schematic for the function F of the example in Section 3.4.3 (page 144) and its hazard-free implementation (F2). Recreate the timing diagrams shown in Figure 3.36 and Figure 3.38 using the DesignWorks waveform display.
  4. Implement the 2-bit UComp block from assignment #4 using 3 16:1 multiplexers. Show you truth table and how you derived the inputs to the multiplexers. Now reimplement the circuit using 3 8:1 multiplexers controlled by the inputs A1, A0, and B1 (you can assume that B0 and B0' are available). Turn in a DesignWorks schematic that uses the Mux-8 devices in the Primlog library (make sure to tie the EN input of the multiplexers to 0).
  5. Katz problem 4.15 (b) and (c).
  6. Implement the 2-bit UComp block of assignment #4 using the 16H8 PAL of Fig. 4.72 (i.e., print out the figure and places "x"s where you want connections made in the AND plane. Ignore the first product term in each group that goes to the tri-state buffer (triangle) after the OR gate. Order the inputs as A1, A0, B1, B0 and the outputs as G, E, L from top to bottom. Do the same thing for the "third block" that combines the result of the 2 2-bit UComp blocks.
  7. Draw schematics for two versions of a full-adder in DesignWorks. One should be done using a half-adder as a sub-block and another without sub-blocks. Make sure to read Chapters 7 and 8 of the DesignWorks manual that describe how to create your own symbols. Turn in the schematics for each type of full-adder and for the half-adder symbol. Simulate your schematics. Verify that your designs are correct by trying all 8 input combinations in each case. Turn in the timing waveforms as well.
  8. Construct a 4-bit ripple-carry adder using the full-adder implementation from the previous problem (use the one built using the half-adder as a sub-block). Turn in the schematic. To verify your design, you may want to use "Hex Keyboard" symbol in the "Primio" library to make it easier to input a 4-bit number. Turn in the timing waveforms showing what happens when you have "1111" and "0000" as the numbers to be added and you change the "0000" to "0001". How long does it take the sum to get to the right value? Repeat this experiment starting with "1010" and "0000" and changing the "0000" to "0101".

Materials:


Rationale:


Comments to: cse370-webmaster@cs.washington.edu (Last Update: )