Bob



Bob is an 8-bit two's complement addition, subtraction, multiplication, and division ALU. The chip will have one 8-bit input that switches to accept both values and place them in the appropriate registers. Bob will also have a 2 bit control inputs that determine either multiplication between the two 8-bit inputs and a 16-bit output, division of the two 8-bit values and a 16-bit combination consisting of the quotient and the remainder, or addition/subtraction of the values with an 8-bit return plus a carry.

The multiplication and division will be done using a shift and add/subtract technique in order to best share resources. The subtraction will first carryout a two's complement transformation of the second input and then add the two; the addition is self-explanatory.

Bob will need one adder, an 8-bit inverter, an 8-bit shifter, and a 16-bit shifter. We will also place a PLA for the control signal interpretation, three registers (two 8-bit and one 16-bit). Finally we will have an 8-bit output that is multiplexed to output in two cycles for the divide and multiply 16-bit results.