 Open Access
 Total Downloads : 244
 Authors : Shardul P. Telharkar, Shantanu P. Telharkar, Raj D. Pednekar
 Paper ID : IJERTV4IS060918
 Volume & Issue : Volume 04, Issue 06 (June 2015)
 DOI : http://dx.doi.org/10.17577/IJERTV4IS060918
 Published (First Online): 25062015
 ISSN (Online) : 22780181
 Publisher Name : IJERT
 License: This work is licensed under a Creative Commons Attribution 4.0 International License
An Efficient Approach to an 8Bit Digital Multiplier Architecture based on Ancient Indian Mathematics
Shardul P. Telharkar (B.E.)
Dept. of Electronics and Telecommunications K J Somaiya Autonomous College of Engineering
Mumbai 400077, India.
Shantanu P. Telharkar (B.E.)
Dept. of Electronics
K J Somaiya Autonomous College of Engineering Mumbai 400077, India.
Raj D. Pednekar (B.E.)
Dept. of Electronics and Telecommunications K J Somaiya Autonomous College of Engineering
Mumbai 400077, India.
AbstractThis paper encompasses the implementation of a novel approach to an 8bit digital multiplier based on Ancient Indian mathematical algorithm (also known as the Vedic sutra) and its comparison with 2 other conventional multipliers. Since multiplication has become a fundamental function in applications such as Fourier transform, Arithmetic Logic Unit (ALU) architecture and in various sequential clocked circuits, an efficient multiplication technique is a major concern for computer architects. The three multipliers were programmed in Verilog, simulated on Xilinx 14.5 ISE and implemented on 2 FPGA devices, Spartan 3E and Spartan 6. A comparison based on empirical values of delays of each multiplier throws a light on their potential in making the digital circuits substantially efficient.
Keywords Barrel shifter, Base computing module, Booths algorithm, Nikhilam Navatashscaramam Dashatah, Power computing module, Propagation delay, UrdhwaTiryakbham.

INTRODUCTION
To begin with, we are going to compare three multipliers in this paper, out of which two multipliers are based on algorithms of Vedic mathematics while the third one is based on Booths algorithm.
The system of Vedic mathematics was rediscovered from Ancient Indian Sanskrit texts known as Vedas between 1911 and 1918. According to this system complete mathematics is based on sixteen formulas known as Sutras.
The sixteen sutras and their literal meanings are as follows [4]:

Ekadhikina Purvena By one more than the previous one

Nikhilam Navatashcaramam Dashatah All from 9 and the last from 10

UrdhvaTiryakbhamVertically and crosswise

Paraavartya YojayetTranspose and adjust

Shunyam SaamyasamuccayeWhen the sum is the same, that sum is zero.

(Anurupye) ShunyamanyatIf one is in ratio, the other is zero

SankalanavyavakalanabhyamBy addition and by subtraction

PuranapuranabyhamBy the completion or non completion

ChalanaKalanabyhamDifferences and Similarities

YaavadunamWhatever the extent of its deficiency

VyashtisamanstihPart and Whole

Shesanyankena CharamenaThe remainders by the last digit .

SopaantyadvayamantyamThe ultimate and twice the penultimate

Ekanyunena PurvenaBy one less than the previous one

GunitasamuchyahThe product of the sum is equal to the sum of the product

GunakasamuchyahThe factors of the sum is equal to the sum of the factors
The second and third sutras are going to be utilized here, UrdhvaTiryakbham and Nikhilam Navatashcaramam Dashatah respectively.

Nikhilam Navatashcaramam Dashatah:
Nikhilam Sutra stipulates subtraction of a number from the nearest power of 10 i.e. 10, 100, 1000, etc. The powers of 10 from which the difference is calculated is called the Base. These numbers are considered to be references to find out whether given number is less or more than the Base. The difference between the base and the number is called NIKHILAM. The value of Nikhilam may be reference base, the Nikhilam of 87 is 13 and that of 113 is +13 respectively [1]. This algorithm has been discussed in detail in the next section.

UrdhwaTiryakbham:
Multiplication by this technique of a 2 figure integer by another 2 figures integer is done as follows [4], [6], [8]:
Fig. 1. Illustration of a 2bit multiplication using Urdhwa Tiryakbham method.
From Fig. 1, if two numbers are given as (10a + b) and (10c + d), their multiplication can be calculated as:
(10a + b) (10c + d) = 100 (c * d) + 10 (ad + bc) + (b * d)
(1)
Equation (1) forms the basis of the UrdhwaTiryakbham method, and likewise for 8bit multiplier that we have designed, the algorithm expands on similar lines. However, the main focus of this paper remains on the second Vedic sutra, since our proposed architecture has been derived from this algortihm Nikhilam Navatashcaramam Dashatah.


MATHEMATICAL BACKGROUND

NikhilamVedic algorithm:
The Vedic mathematical sutra of Nikhilam Navatashcaramam Dashatah calculates the product as follows:
Let A and B be two numbers to be multiplied (where the greater number is always taken as A).
If 10R is their common base, the numbers can be expressed as [8]:
A = 10R s1 (2)
B = 10R s2 (3)
(where s1 and s2 are termed as their distance from base) The product P can be calculated as:
P = (10R) (A s2) + (s1 x s2) (4) OR
P = (10R) (B s1) + (s1 x s2) (5)
Example 1 (base 10):
7 3
X 8 2
—————————— 5 6
Hence, 7 x 8 = (5X10) + 6.
Example 2 (base 100):
97 3
X 8 …92
—————————— (5+2) = 7 76
Hence, 97 x 8 = ((5 + 2) X 100) + 76 = 776.

Novel Approach to the Vedic algorithm:
One can apparently observe from example 2, that keeping a common base increases the multiplication complexity manifolds. This paper harnesses a novel approach of multiplication by taking into account two different bases and implementing an architecture that provides a reduced delay for arriving at an accurate answer.
Consider two numbers A and B again, A being the larger one.
Now, if 10M and 10N are their nearest bases respectively, the numbers can be expressed as:
A = 10M d1 (6)
B = 10N d2 (7)
(where d1 and d2 are termed as their distance from base) The product P is calculated as follows [3]:
P = (10N) (A d2 (10MN)) + (d1 x d2) (8) OR
P = (10N) (B (10MN) d1) + (d1 x d2) (9)
From equations (8) and (9) it is clear that d2 (10MN) or B (10MN) is merely a left shift. However, one needs to understand that this approach takes into consideration the difference in bases and hence computational complexity reduces drastically. Should M be equal to N, equation (8) takes the form of equation (4) while equation (9) takes the form of equation (5).
To arrive at the perfect output, either we scale up the value of d2 (that is distance of smaller number from its base) to make it comparable to the larger number or we scale up the value of the smaller number B itself to make it comparable to d1 (that is distance of the larger number from its base). This is the fundamental difference between equations (8) and (9). To implement this algorithm, we have followed equation 8. However, one should note that both the ways are correct and none of the ways affects the answer in anyway.

Theory of Bases:
In order to implement the sutra as a digital multiplier, we need to know the exact number of digits that the product will contain so that we can carry forward the exceeding digits. After a thorough observation and study, we have come to generalize a rule for the number of digits contained in the product of Nikhilam algorithm based multiplication.
Fig. 2. Illustration of sectional parts of the final prduct
As shown in Fig. 2, the whole product is divided into 2 parts,
namely,

Subtraction part.

Multiplication part.

The parts are so named, because that part of the product is obtained by subtraction of d2 from A and by multiplication of terms d1 and d2 respectively.
Considering A and B as input numbers and 10M and 10N as the
bases respectively, we define 2 rules,

The number of digits in the subtraction part is equal to the power index of the base of the larger number (or A).

The number of digits in the multiplication part is equal to the power index of the base of the smaller number (or B).
Thus we must right shift the subtracted answer by that number which is the power index of the base of the smaller number. This rightly justifies the first term in equations 8 and 9.


PROPOSED ARCHITECTURE (NIKHILAM VEDIC ALGORITHM BASED MULTIPLIER)

Elementary Modules:
Architecturally, a digital multiplier by our approach has 2 elementary modules:

Base computing module (BCM):
This module simply accepts an 8bit number [1] that is input to the multiplier and generates its base number. If a base is itself input to this module, the same number will appear at the output.
Fig. 3. Base Computing Module (BCM) architecture using Bit twiddling algorithm
As seen from Fig. 3, the module accepts an 8bit input number and computes a 9bit base number. It has been programmed by using the bittwiddling algorithm. Successive approximation by arithmetic right shift operation, yields either the same input number (in cases when the input number is a base itself) or its base number (in cases when the input number is not a base). The final multiplexer decides between these two inputs.

Powerindex computing module (PCM):
Fig. 4. Power index Computing Module (PCM)
As illustrated in Fig. 4, this module is primarily used for [1] acquiring the power index of the bases of the 2 numbers. Since a base can attain a highest value of (9)10 or (1001)2, output of PCM is a 4bit value.


Main Architecture:
As explained in Section 2.3, [1] the subtraction part and multiplication part are computed separately by the multiplier and later added together.
Fig. 5.Architecture for calculation of Multiplication part of the final Product P.
As seen from the Fig. 5, the multiplication of d1 and d2 from equation (8) is done in this stage. In a conventional way, this part is termed as M. (which will be added later to part S). It is a 14bit result.
Fig. 6. Architecture for calculation of Subtraction part of the final Product P.
The Fig. 6 above illustrates how calculation of (A d2 (10MN)) is implemented. M and N are first acquired from the PCM modules. The subtracted result is forwarded to a barrel shifter that scales up the value of d2, in order to make it comparable with A. Value of (A d2) is then barrel shifted that number of times which is the power index of the base of smaller number. This provides us the second input to the final adder. The result is termed as Subtraction Part or simply S. Note that, although Fig. 5 and Fig. 6 both show a Comparator and 2 BCM modules, in practice, the hardware is common and least amount of hardware has been used by our architecture.
Fig. 7.Final Adder performing S + M = P
The adder produces the ultimate 16bit product of the two input numbers S and M.

Output Simulation on Xilinx 14.5 ISE iSim:
Fig. 8. Output Waveforms of the Proposed Nikhilam algorithm based multiplier.
Fig. 8, shows the multiplication of 2 numbers (5)10 and (3)10 which are (101)2 and (11)2 respectively. The 16bit answer that the simulator yields is thus (0000000000001111)2.
It can be seen that exactly like Fig. 5 and Fig. 6, the input numbers are X and Y. But since we want the former number to be greater, we pass them through comparator and name the greater input number as A and the later as B. Further from Fig. 8, bcmx and bcmy are the bases of the numbers A and B respectively. c1 and c2 are the multiplication and the subtraction parts calculated as per Fig. 5 and Fig. 6. Output op is calculated simply by adding c1 and c2.


CONCLUSION
Three multiplier designs were programmed in Verilog for comparing them on the basis of delay or speed. To get appropriate results, 2 Xilinx FPGA Devices were used Spartan 3E and Spartan 6.
The three designs are:

Multiplier based on Vedic sutra of Urdhwa Tiryakbham.

Multiplier based on Booths Algorithm.

Proposed multiplier based on a novel approach using Vedic sutra of Nikhilam Navatashcaramam Dashatah.
The empirical results provided by Xilinx 14.5 ISE:
TABLE I COMPARISON BASED ON MAXIMUM COMBINATIONAL
FPGA Family 
Multipliers Implemented 

8bit Multiplier (Urdhwa Tiryakbham) (Delay) 
8bit Multiplier (Booths Algorithm) (Delay) 
8bit Proposed Multiplier (Nikhilam Vedic Sutra) (Delay) 

Spartan 3E 
27.978 ns 
34.142 ns 
26.562 ns 
Spartan 6 
19.914 ns 
21.669 ns 
16.647 ns 
DELAY IN NANOSECONDS.
From the results, we conclude the delay of the proposed multiplier is lesser than both the other multipliers considered for comparison. Booths algorithm was referred from [7]. On Xilinx Spartan 3E the improvement in speed from Urdhwa Tiryakbham based multiplier is 5.06 % while on Xilix Spartan 6 the improvement is 16.4 %. Since speed of a digital circuit is the principal concern to enhance performance, we conclude that the proposed architecture is an efficient approach for implementing 8bit digital multiplication than a conventional multiplier harnessing Urdhwa Tiryakbham algorithm or a multiplier harnessing commonly followed
Booths algorithm. Further, looking at the results of both the FPGA devices, it can be deduced that better is the hardware on which the architectures are implemented, better is the improvement achieved in terms of speed.
REFERENCES

Pavan Kumar, Saiprasad Goud, A.Radhika, FPGA Implementation of high speed 8bit Vedic multiplier using barrel shifter. Kumar, U.C.S.P.
;Goud, A.S. ; Radhika, A. Energy Efficient Technologies for Sustainability (ICEETS), 2013 International Conference. DOI: 10.1109/ICEETS.2013.6533349, Publication Year: 2013 , Page(s): 14 –
17

Cmos Vlsi Design: A Circuits And Systems Perspective, 3/E Authors
Neil H.E. Weste, David Harris and Ayan Banerjee. Publications – Pearson Education.

Arindam Banerjee, Debesh Kumar Das, The Design of Reversible Multiplier Using Ancient Indian Mathematics. ISED '13 Proceedings of the 2013 International Symposium on Electronic System Design, 2013 1210. IEEE Computer Society Washington, DC, USA, 2013. ISBN 9781479923014. Pages 3135

Honey Durga Tiwari, Ganzorig Gankhuyag, Chan Mo Kim, Yong Beom Cho Multiplier design based on ancient Indian Vedic Mathematics. SoC Design Conference, 2008. ISOCC '08. International Volume: 02 DOI: 10.1109/SOCDC.2008.4815685, Publication Year: 2008 , Page(s): II65 – II68 Cited by: Papers (14)

Patterson, David and John Hennessy. Computer Organization and Design: The Hardware/Software Interface, Second Edition. ISBN 1 558604286. San Francisco, California: Morgan Kaufmann Publishers. 1998.

Implementation of high speed low power combinational and sequential circuits using reversible logic. Shah, H.; Rao, A.; Deshpande, M.; Rane, A.; Nagvekar, S.. Advances in Electrical Engineering (ICAEE), 2014 International Conference on Year: 2014. Pges: 1 – 4, DOI: 10.1109/ICAEE.2014.6838457.

Andrew D. Booth. A signed binary multiplication technique. The Quarterly Journal of Mechanics and Applied Mathematics, Volume IV, Pt. 2, 1951 [1]

Prabir Saha, Arindam Banerjee, Partha Bhattacharyya, Anup Dandapat, High speed ASIC design of complex multiplier using vedic mathematics , Proceeding of the 2011 IEEE Students' Technology Symposium 1416 January, 2011, lIT Kharagpur, pp. 237241.

Jagadeshwar Rao M, Sanjay Dubey, A High Speed Wallace Tree Multiplier Using Modified Booth Algorithm for Fast Arithmetic Circuits IOSR Journal of Electronics and Communication Engineering (IOSRJECE), Volume 3, PP 0711, Issue 1 (SepOct 2012).