Chip Architecture


Home
Project Summary
Design Team
Introduction
4*4 multiplier
Chip Architecture
Building_blocks
Chip Implementation
Chip Floorplan
Conclusions
News
Schedule
Links

                                        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  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:

MR[i]

MR[i-1]

Recoded y[i]

  x

z

Assignment to Partial Product

0

0

0

0

0

0

0

1

1

0

1

MD, sign extended

1

0

1

1

1

-MD sign extended

1

1

0

0

0

0

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.