image1 image2 image3

HELLO I'M LiNuS|WELCOME TO MY PERSONAL BLOG|I LOVE TO DO CREATIVE THINGS|I PRESENT MY WORKS ON VLSI AND EMBEDDED

Dadda Multiplier

Dadda Multiplier
Design and Implementation of highly efficient and effective 8,16,32-bit Faster DADDA Multiplier

We will be ahead with these Topics:
  1. Multiplier History.
  2. DADDA Multiplier.
  3. Faster DADDA.
  4. Simulation Results.
  5. Design Summary.
  6. Results.

1. Multiplier History:
                                                       Multiplier plays an important role for performing the arithmetic operations in both Digital Signal Processors and Microprocessors. In order to enhance the performance characteristics of either the D.S.P. or the Microprocessors, the efficient and effective Multiplication Algorithm has to be adopted. In digital systems,the multiplier are the basic blocks. The Multipliers also contribute to the Computational speed and Power consumption of the digital system. So,the need for designing High speed Multiplier with minimal power dissipation is very crucial for a digital system.Thus,it can boost the efficiency of the Digital systems. 

                                                       Column compression Multipliers have gained popularity because of their High-computational speed. Wallace and Dadda Multipliers are the well renowned Column compression Multipliers. The Wallace Multiplier was proposed by Chris Wallace, a Australian computer scientist in 1964. The Dadda Multiplier was proposed by Luigi Dadda,an Italian computer Engineer by altering the Wallace Multiplier. Both these Wallace and Dadda Multipliers are reduction based.The reduction is achieved by compressing the columns with a [3,2] counter(Full adder) and a [2,2] counter(Half adder). The three stages that are involved in both Wallace and Dadda Multipliers are similar.

FLOW CHART
(Illustrating the 3-staged Wallace and Dadda Multiplier)

                                                           
                                                  In Wallace Multiplier the reductions are done as much as possible in the layer but in Dadda,only few reductions are done. So,due to above reason the number of [2,2] counters required for Wallace Multiplier is quite High in number. But the Dadda Multiplier doesn't require many [2,2] counters like Wallace. When a comparison is carried between them, the Dadda Multiplier requires less Hardware than the Wallace. Also, the Dadda Multiplier is slightly faster in computation than Wallace. This made the Dadda Multiplier to be focused more in the Implementation.


2. DADDA Multiplier:
                                               
                                                   Dadda proposed a method of reduction which achieves the reduced two-rowed Partial products in a minimum number of reduction stages. Dadda succeeded this, by placing the [3,2] and [2,2] counters in maximum Critical path in optimal manner. For an N-bit multiplier and multiplicand, there results a N by N partial products. These partial products are arranged in the form a Matrix. Dadda reduced these Matrix height to a two-rowed matrix, through a sequence a reduction stages.

Algorithm:

  1. Let, us assume the final two-rowed matrix height  d1 = 2, based on d1 the successive matrix heights are obtained from  dj+1 = 1.5 * dj  , where j = 1,2,3,4,............, Rounding of fraction in this matrix height should be done down to least. i.e, 13.5 = 13(rounded). The matrix heights will be in this fashion 2,3,4,6,9,13,19,28............. Finally the largest dj should be obtained such that derived matrix height shouldn't exceed the Matrix overall height.
  2. In the first reduction stage, the column compression is to carried with the [3,2] and [2,2] counters such that the obtained reduced matrix height should not exceed dj.
  3. During the compression, the sum is to be passed to same column in the next reduction stage and the carry is to be passed to the next column.
  4. The above two steps are to be repeated until a final two-rowed reduced matrix is obtained. 
Illustrating the Algorithm with 8 by 8 Multiplication:
  1. The Partial products obtained are to be arranged in the Tree form. The Matrix heights possible are 2,3,4,6(where 6 < 8). The largest dj = 6.
  2. In the above,1st reduction stage. The column's 0 to 5 have height not more than '6'. The column 6 height is '7' and it is reduced to 6 by a [2,2] counter. By considering the previous carry from column 6 the column height of column 7 is '9'. To reduce column 7 height to '6', a [3,2] and a [2,2] counters are used. By considering the two carry's from column 7 the column 8 requires a [3,2] and a [2,2] counter.Similarly,the column 9 requires a [3,2] counter.
  3. The second reduction stage, maintains the reduction with height not more than '4'.
  4. In the above, 12 - [3,2] counters and 2 - [2,2] counters are to be used to restrict the height of matrix not more than '4'.
  5. The Third reduction stage,maintains the reduction of column's as follows.
  6. In the above, 9 - [3,2] counters and one [2,2] counters are to be used to restrict the height of matrix not more than '3'.
  7. The Fourth reduction stage, is as follows.
  8. In the above, 11 - [3,2] counters and one [2,2] counters are to be used to restrict the height of matrix not more that '2'.
  9. The final two-rowed matrix is as follows.
  10. Now, the result can be obtained from the 14 - bit carry propagation adder(CPA).
  11. In generalized form,for N by N case, the total number of [3,3] counters are (N*N) - 4*N+3. The number of [2,2] counters are N-1.

3. Faster Dadda:

                                        The Computational speed of the Dadda Multiplier can be enhanced by partitioning the Partial products as shown below:
                                           Here,the two parts are reduced in parallel with the same Dadda reduction procedure stated above. Due to this parallelism approach of reduction the Multiplier is very speed than the custom Dadda Multiplier.

Part 0 reductions: 
                             This Part 0 Matrix compression takes 17 - [3,2] counters and 6 - [2,2] counters to get final two-rowed Matrix. The final stage is merged with the Carry propagation adder and a 11-bit result is obtained.

Part 1 reductions:
                                             This Part 1 Matrix compression takes 14 - [3,2] counters and 5 - [2,2] counters to get final two-rowed Matrix. The final stage is merged with the Carry propagation adder and a 8-bit result is obtained.

Merging of Part 0 & 1 results:


                                Here, the first 9 bits in part 0 result is directly carried to the final result(p(0) to p(7)). The Common result part in both part 0 & 1 is added with 3-bit RCA and carried to final result(p(8) to p(10)). 

                                                               
Hybrid Adder


5-bit Binary to Excess-1 code converter

                                          Finally, final result part from p(11) to p(15) is obtained through the Hybrid Adder. Thus,a 16-bit result is obtained.


4. Simulation Results:

1. Simulation Results for 8-bit Dadda Multiplier

2.Simulation Results for 16-bit Dadda Multiplier

3.Simulation Results for 32-bit Dadda Multiplier



5. Design Summary:

1.Design Summary for 8-bit Dadda Multiplier


2.Design Summary for 16-bit Dadda Multiplier


3.Design Summary for 32-bit Dadda Multiplier


6. Results:

CONVERSATION

21 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. sir,
    can you mail me the code it is very useful for my project.

    ReplyDelete
  3. Can you mail the coding for reference?

    ReplyDelete
  4. Sir can you mail the coding..done in verilog..??

    ReplyDelete
  5. Sir, can you mail the code for DADDA multiplier?

    ReplyDelete
  6. Sir, can you please mail the code

    ReplyDelete
  7. i need verilog code of 32 bit dadda multiplier will u please share me

    ReplyDelete
  8. Sir,
    Can u please mail the verilog code of dadda multiplier

    ReplyDelete
  9. sir please mail me the code of 8 bit dadda multiplier

    ReplyDelete
  10. Sir, please mail the code for 8-bit dadda multiplier

    ReplyDelete
  11. sir please mail me the 8 bit dadda code it is useful for my project

    ReplyDelete
  12. Sir please mail me 8*8 dadda multiplier vhdl code

    ReplyDelete
  13. Sir please email the verilog code.

    ReplyDelete
  14. can u send the code to me plzzz it's urgent

    ReplyDelete
  15. Can I get the code for this multiplier?

    ReplyDelete