## CSE370 Assignment 4

### Distributed: 14 April 2000 Due: 21 April 2000

1. Katz, Chapter 3 revised - handout.
2. Katz, Chapter 2 textbook (pp. 65-85 and 89-91).

#### Exercises:

1. Exactly as one can define a real variable by an equation which needs to be solved for the given variable (for example 2x2 + x - 2 = 0), one can also define a boolean function by giving an equation which needs to be solved for the unknown boolean function. For example, if S and T are given boolean expressions, one might define the boolean function f by requiring that S * f = T. Note that, exactly as in the real number case, there might be more than one distinct boolean function f that solves the equation (two solutions are said to be distinct if one cannot be derived from the other using Boolean algebra).
Let R = (A' + C + D)(A + B + C' + D')(A' + C' + D') and S = A'C' + BC'D.
Give an expression for one possible boolean function F that satisfies the equation R and F = S.
How many distinct solutions for f are there in this case? Explain.
2. Construct a schematic diagram for the functions that appear on slide #23 of the Combinational Logic lectures.  Assign a delay of 1 to inverters, 2 to 2-inputs AND and OR gates, 4 to 3-input AND and OR gates, and 6 to XOR gates.  Use the DesignWorks simulator to create waveforms similar to those on slide #26.  Turn in a printout of the waveforms and explain why the waveforms have the shape they have and why thy differ from those on slide #26.
3. Factor the following sum of products experssions:
(a) AD + AE + BD + BE + CD + CE + AF
(b) AC + ADE + BC + BDE
4. Implement the 2-bit multiplier function (i.e., 2-bit number AB times 2-bit number CD yields 4-bit number WXYZ) using 4 16:1 multiplexers. Show you truth table and how you derived the inputs to the multiplexers. Now reimplement the circuit using 4 8:1 multiplexers controlled by the inputs A, B, and C (you can assume that D and D' are available). In addition to these hand-drawn circuits, turn in a verified DesignWorks schematic that uses the Mux-8 devices in the Primlog library  to implement the Y and Z outputs (make sure to tie the EN input of the multiplexers to 0 to enable their operation - you can use another switch for this).
5. Determine a minimal sum-of-products form for the following functions using the appropriately sized K-maps.
(a) f(A, B, C, D) = Sm(0, 1, 4, 5, 12, 13)
(b) f(A, B, C, D) = PM(1, 3, 7, 9, 11, 15)
(c) f(A, B, C, D) = Sm(1, 7, 11, 13) + Sd(0, 5, 10, 15)
(d) f(A, B, C, D) = Sm(0, 2, 8, 9) + Sd(1, 3)
(e) f(A, B, C) = A xor B xor C
6. Implement the 2-bit multiplier of  problem #4 using a 16H8 PAL (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 A, B, C, D and the outputs as W, X, Y, Z vertically from top to bottom.

#### Rationale:

• To understand the time behavior of digital circuits.
• To become facile with the minimization of Boolean functions using K-maps.
• To practice mapping of Boolean functions onto regular combinational logic structures.

Comments to: cse370-webmaster@cs.washington.edu (Last Update: 10/23/00 )