Due: Wednesday 26 October before class.
In this problem set you'll get some practice working with gates and transistors. Please ask questions in class about any parts you don't understand.
Problem 1. Mux Madness (40 points)
Suppose you wanted to implement a Boolean function Y of two inputs A and B using multiplexers, as shown in the figure.
Give binary values for I0, I1, I2, and I3 which implement the following functions on the two inputs A and B:
- Y = XOR(A,B)
- Y = (A == B)
- Y = (A <= B)
- Y = NOR(A,B)
Problem 2. Go Forth and Multiply (30 points)
- Create a truth table showing multiplication of two 2-bit unsigned integers A1A0 and B1B0, producing a 4-bit result P3P2P1P0.
- Give the sum-of-products Boolean equation for each of the 4 outputs in the multiplier above.
- Assume that the 2-bit multiplier that you designed above is represented as the following function block:
Use this function block and single-bit full-adder blocks to build a 4-bit multiplier (a multiplier that takes two 4-bit inputs, and generates an 8-bit result). Note: Do not build the 4-bit multiplier from scratch using basic Boolean gates; you must build it using 2-bit multiplier blocks and full-adder blocks.
Problem 3. Fishing for Complements (45 points)
Show the complementary set of p-channel or n-channel transistors that complete the following CMOS circuits, and give a truth table for the resulting circuit.