EE 2301
Introduction to Digital Systems Design
Fall 2017
Midterm 1
Thurs, Oct. 12, 2017, 9:45AM to 11:00AM.
1. CMOS Transistors, Switching Circuits, Logic Gates, Truth Tables [15 points]
(a) What function does the following CMOS circuit implement? (Vdd is logical 1; ground is logical 0). [2 points]
(b) Build XNOR(A, B) with an OR gate and two NAND gates. [8 points]
(c) Build a switching circuit to implement XNOR(A, B , C). [5 points]
2. Boolean Algebra, Normal Formals, and Two-Level Forms [35 points]
(a) Consider the following truth table.
a
|
b
|
c
|
d
|
f (a,b,c, d)
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
i. Produced a minimal two-level NAND-NAND circuit for this function. [10 points]
ii. Produced a minimal two-level NOR-NOR circuit for this function. [10 points]
(b) Consider the following truth table.
a
|
b
|
c
|
g(a,b, c)
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
Express this function in XNNF – the XNOR normal form, that is to say as the XNOR of AND terms (with no negations). [15 points]
3. Number Systems and Modular Arithmetic for Negative Numbers [25 points]
(a) Number Systems
i. Show how to represent each of the numbers (5 - 1), (52 - 1), and (53 - 1) as base five numbers. [2 points]
ii. Show how to represent each of the numbers (5 + 1), (52 + 1), and (53 + 1) as base five numbers. [2 points]
iii. Show to represent (bn - 1) and (bn + 1) as a base bnumbers, where b can be any integer larger than 1 and n any integer larger than 0. [6 points]
(b) In class,we learned how to compute the two’s complement of a number in base 2. Consider now a generalization of that concept to other bases. Consider base b. With n digits, represent the negative of a number v as bn - v. (Call this “b’s complement.”)
i. Convert X = 322200114 to base 10. [2 points]
ii. Convert Y = 122233334 to base 10. [2 points]
iii. Consider numbers in base 4 with 8 digits. Using a four’s complement system, what range of values can you represent? [2 points]
iv. What is -Y in four’s complement? Call this Z. [2 points]
v. Show that X + Z = X - Y. [7 points]
4. Circuits for Addition, Subtraction, and XOR [25 points]
(a) Design a circuit that computes 5X + 3Y + 4 for 4-bit operands X and Y : 5 * (X3X2X1X0) + 3 * (Y3Y2Y1Y0) + 4.
X and Y are positive numbers ranging from 0 to 1510 . Use as many bits as are necessary to display the results (so nothing ever overflows).
You can use “adder” blocks, but specify how these are built, say from full-adder and half-adder blocks. (You do not have to show how full-adder and half-adders are built.) Make your circuit as compact as possible (so use as few gates as possible). [8 points].
(b) Implementing XNOR with AND gates
Draw a circuit to compute the XNOR function with AND gates and inverters. Use as few AND gates as possible.
i. Draw a circuit for the XNOR of 2 variables. [1 points]
ii. Draw a circuit for the XNOR of 3 variables. [1 points]
iii. Draw a circuit for the XNOR of 8 variables. [2 points]
iv. Draw a circuit for the XNOR of 15 variables. [3 points]
(Note that you can define smaller circuits, put these in “boxes”, and use these boxes to build larger circuits.)