Professional Documents
Culture Documents
I. INTRODUCTION
Authorized licensed use limited to: Shri Ramswaroop Memorial Col of Eng and Management. Downloaded on March 20,2010 at 11:13:35 EDT from IEEE Xplore. Restrictions apply.
performance of the multiplier circuit will ultimately FPGA device, Virtex XCV 300 -6PQ240 to prove above
depend upon how effectively you utilize hardware theory is true with practical results. Tool used is Xilinx
resources on which you are implementing multiplier. ISE 8.1i, for simulations Modelsim and for synthesis
From the perspective of digital hardware, there is no Xilinx Synthesis Tool has been used. Multipliers have
difference in conventional multiplication and Vedic been demonstrated for seven different implementation
multiplication. styles and compared. All are 16X16 multipliers.
Implementations shown in a, b, c, d are based on Vedic
mathematical method while e, f, g are based on
conventional mathematical method.
[a] Fully partitioned Vedic multiplier: Here, 16*16
multiplication is done as proposed in [1, 4 and 9]; Here
each 4*4 bit sub-multiplication is also done using Vedic
multiplication. For 1 bit sub-multiplication, AND gate
has been used.
[b] Fully partitioned Recursive Vedic multiplier: It is
implemented based on [6]. In [6], author has tried to
show that using Vedic multiplication how 4*4 multiplier
can be used for building 8*8 Multiplier and 8*8
multiplier for 16*16 multiplier and so on. We have
extended author’s work and made recursive VHDL code,
Fig.1 (A) Multiplication scheme using conventional which is generalized code for this kind of multiplication.
method (B) Multiplication scheme using Urdhva – Same code can be used for multiplication of 4*4, 8*8,
Tiryagbhyam sutra with line diagram 16*16, 32*32 bits and so on. For 2*2 bit multiplication
separate VHDL code has been written.
Both are combinational multipliers requiring [c] Vedic multiplier using 4 bit macro: It is same as that
same number of addition and multiplication operations of [a]; except the fact that here 4*4 bit sub-
and hence the same amount of hardware. In both cases multiplication is done using VHDL multiplication
sub-multiplications can be performed in parallel. In fact operator “*”.
it is the same thing, which few people view differently. [d] Vedic Multiplier using 8 bit macro: Here 8*8 bit sub-
No. of Additions in fig. 1(A) := 0 9 multiplication has been done using VHDL operator “*”.
No. of Multiplications in fig. 1(A) := 16 Then it is used for building 16*16 multiplier using Vedic
No. of Additions in fig. 1(B) := 09 scheme as shown in [6].
No. of Multiplications in fig. 1(B) : = 16 [e] Array multiplier: It is an array multiplier with each
In [7] author has put good efforts to show, how Vedic cell operating as one bit multiplier and full adder.
Multiplication gains benefits against conventional [f] Simple Multiplier: It is 16*16 multiplication done
multiplication. But from implementation point of view, using VHDL operator “*”.
there is no need of added zeros in shifted rows in [g] Multiplier using 4 bit macro: This has been made to
conventional multiplication method. This way it shows demonstrate and compare the multiplier demonstrated in
conventional multiplication requires more number of [c] for Vedic and conventional multiplication method.
additions. However it is not true.In [6] author has put
III. TESTING AND RESULTS:
good efforts to show, how Vedic Multiplication can be
used for building faster multipliers. Figure 1(A) is Xilinx ISE 8.1i Tool has been used for design and testing
obtained from [6] itself. Author has generated whole various multiplier implementations. Design entered in
hardware keeping this figure in mind. There is no the form of VHDL .Various simulations are done for
difference in both from a circuit designer’s view. early testing. Input has been given through a text file.
Essentially both are same. Whatever difference one gets Synthesis reports and simulations (Post-route simulation)
on hardware is just because of the implementation have been done for device Virtex XCV 300 -6PQ240.
strategy or coding style. Both will require same number For simulation, random test vectors are applied and for
of sub-operations for performing multiplication those test vectors, each method’s waveforms are
operation. compared for speed.
II. MULTIPLIER IMPLEMENTATION ON DIGITAL A. SIMULATION RESULT
HARDWARE
The results shown here are post place & route
Few multipliers have been designed using VHDL, simulations for all the above implementations (a to g).
simulated, synthesized and implemented on Xilinx
641
Authorized licensed use limited to: Shri Ramswaroop Memorial Col of Eng and Management. Downloaded on March 20,2010 at 11:13:35 EDT from IEEE Xplore. Restrictions apply.
hardware implementation point of view. Both require
same number of addition and multiplication operations.
Among above all; [D], [E] and [F] implementations are
(a) found to be the most efficient in terms of area and speed.
Hence for FPGA, with latest EDA tools, one may prefer
macros generated by compiler for hardware multiplier.
Among these; area wise [D] is more efficient but speed
(b)
wise it is slower than the other two, since it uses more
granular macros. [B] Utilizes less granular addition
macros than [A]. Hence, [B] is more optimized for area
and speed compare to [A]. The difference in hardware is
(c) due to the implementation strategy or coding style. It is
not due to Vedic mathematical method; fundamentally it
is not a different method from conventional method.
Both require same number of sub-operations for
(d)
performing multiplication operation.
REFERENCES
642
Authorized licensed use limited to: Shri Ramswaroop Memorial Col of Eng and Management. Downloaded on March 20,2010 at 11:13:35 EDT from IEEE Xplore. Restrictions apply.