|
|
![]() Block Diagram of the Architecture Description of Architecture: The multiplier takes in two 8-bit operands: the multiplier (MR) and the multiplicand (MD), and produces the 16-bit multiplication result of the two at its output. The architecture of the the multiplier primarily consists of five major modules. They are: 2's Complement Generator, Booth Encoder, Partial Product Generator, Wallace Tree and Carry Look-ahead Adder. The multiplier has been constructed in its simplest conceptual form. We have used original Booth's Algorithm (Radix 2 encoding) for the Booth Encoder. The 2's Complement Generator uses a Ripple Carry Adder constructed from Full-adder modules. The Partial Product Generator uses two control signals x and z produced by the Booth Encoder and uses these signals to choose from and extend signs of '0', MD or -MD for creating 8 partial products. The 8 partial products are supplied to Wallace Tree and added appropriately. The Wallace tree uses both Full Adder and Half Adders. The final 16-bit intermediate results are added using a Carry Look-ahead Adder. Function and Algorithm of the Modules: 1.Booth Encoder: Function: The Booth Encoder inspects each bit of the multiplier and recodes the multiplier in terms of 0,1, and 1. Since 1 cannot be implemented in hardware as a single bit like 0 or 1, the operational equivalent of the recoded multiplier is implemented using the following algorithm: Algorithm:
If MR[i] is the i-th bit of the multiplier then recoded MR can be expressed in terms of 2 8-bit operands x and z according to the following table: The logical expressions for x and z are then: x=MR[i].MR[i-1] and z = MR[i] XOR MR[i-1].
2. 2's Complement Generator: Function: The 2's Complement Generator Takes the multiplicand MD as its input and produces -MD as its output. 2's complement is required when recoded multiplier bit is 1. Algorithm: 2's complement is generated by inverting all bits of the multiplicand and then adding 1 using a ripple carry adder.
3. Partial Product Generator: Function: The Partial Product Generator generates appropriate partial products to be added with a Wallace tree. Algorithm: The Partial Product Generator uses the table above for each multiplier bit. Depending on the value of x[i] and z[i], 0, MD or -MD left-shifted i times is assigned to i-th partial product . 7+i th bit is then extended till the 15th bit for appropriate sign extension.
4. Wallace Tree: Function: The Wallace tree module adds the 8 partial products and generates final two intermediate operands for final addition. Algorithm:
5. Carry Look-ahead Adder: Function: Carry Look-ahead Adder (CLA) add two numbers with very lower latency. Algorithm: By extend the cin with the corresponding inputs, the carry and sum are independent of the previous bits.
|
|
|