Multiplication is an arithmetic operation where we will perform some arithmetic operations on the input operands and obtains the final result. Natural multiplication involves partial products generation and adding the obtained partial products to get the final result. But it consumes more power and time if the bit-width increases. Hence, we will use a Dadda Multiplier which results in increasing the execution speed and power efficiency and we will observe the same on FPGA. Hence this arithmetic technique can be used in various error tolerant applications such as image processing, digital processing and FFT.
Introduction
I. INTRODUCTION
Even though arithmetic operations are the basic operations it plays a major role in variety of applications. Multiplication is one among those operations. Multiplication is one of the main factors which helps in getting high data rates based on its speed of functionality [1].
Now-a-days the technology has been upgrading rapidly, equally the electronic components should also be upgraded in terms of their power, area, speed etc. Hence in terms of multipliers also there needs to be a better way comparing with the normal multiplication. There are several types of multipliers such as Array Multiplier, Wallace Multiplier, Dadda Multiplier, Vedic Multiplier etc. which are more efficient than normal multiplication.
Basically, the normal multiplication can be performed in two stages which are partial product generation and addition of partial products where as in Dadda Multiplier it is of three stages i) Partial product generation ii) Reducing the height of the tree (partial products) and iii) Adding the obtained partial products. In this paper, we are going to look at how the Dadda Multiplier works and the same can be verified on FPGA.
II. DADDA MULTIPLIER
Dadda Multiplier is a type of binary multiplier which multiplies two binary input operands and gives the result. It is like a tree structure in which we will reduce the height of the tree with the help of Half and Full Adders. The reduction is based on the height of the tree. The minimum height should be 2 and the maximum is based on the bit-width. And each stage should not exceed 1.5 times to its previous stage. For example if it is 8*8 bit multiplication the maximum height that we will consider is 6 and in the next stages the height will be reduced until it reaches to 2.
In this paper we are going to analyse the results for 8*8-bit, 16*16-bit, and 32*32-bit Dadda tree. Let’s consider an example for 8*8-bit Dadda Multiplier. Consider the two input operands A and B as (10101011)2 and (01111001)2. Since it is an 8*8 bit the maximum height for the reduction is 6.
Conclusion
This paper presents the performance analysis of Dadda Multiplier for different bits. We have compared the results with Array Multiplier [3] and some other multipliers and observed that Dadda Multiplier is more efficient than other multipliers. Hence, dadda multiplier can be used in several applications such as image processing, digital processing etc.
References
[1] Muteen Munawar and Talha Khan “Low power and High Speed Dadda Multiplier using Carry Select Adder with Binary to Excess-1 Converter” ISBN: 978-1-7281-7113-5, March 2020.
[2] B. Jeevan and S. Narender “A High-Speed Binary Floating-Point Multiplier Using Dadda Algorithm” ISBN- 978-1-4673-5090-7, March 2013.
[3] G. Ramachandran and Dr Chandra Kumar Dixit “Performance Analysis of Mantissa Multiplier and Dadda Tree Multiplier and Implementing with DSP Architecture” ISBN: 978-1-7281-9537-7, November 2022.
[4] Hassan Afzali-Kusha and Marzieh Vaeztourshizi “Design Exploration of Energy- Efficient Accuracy-Configurable Dadda Multipliers with Improved Lifetime Based on Voltage Overscaling” ISSN: 1557-9999, March 2020.
[5] Ayush Kumar and Ankit Kumar “Design and Study of dadda Multiplier by using 4:2 Compressors and Parallel Prefix Adders for VLSI Circuit Designs” ISBN: 978-1-7281-7029-9, May 2021