Question

# Adder Start out by picking 2 positive six bit binary numbers that are less than 3210,...

Start out by picking 2 positive six bit binary numbers that are less than 3210, written in 2's complement notation. The eventual goal is to add these two numbers.

1) Look at the LSB bit of the numbers, and using logic gates (NANDs, NORs, etc.) design a circuit that correctly gives the right output for any possible combination of bits in the LSB place.

2) Now look at the next column to the left (next to LSB). In this column we must both add the bits, and deal with a potential carry bit from the LSB. Modify your circuit to add correctly when there is a carry bit, and to output both the correct answer and a carry bit. [Hint; circuit will have 3 inputs (2 number bits plus a carry bit) and 2 outputs (answer and a carry bit).

3) For each of the logical elements in problem 2, write down the corresponding CMOS transistor circuits. [You don't need to wire all of the bits together, just show the transistor circuits for each logical gate.]

4) Redraw the answer from 2 into a new functional block (3 in, 2 out), the 1 bit adder. [Show inputs and outputs, but hide internal operation.] Using your new functional block, build a 6 bit adding circuit.

Other Arithmetic Units

5) Build a circuit that converts a positive 6 bit integer into a negative number

6) Reusing the adder from 4), build a subtractor.

7) Build a circuit that can shift bits one bit to the left.

8) Sketch out a circuit that can multiply two 6 bit numbers. Explain your logic and how the circuit would function. [Drawing out the full circuit is optional.]