vedic multiplier part1

15
ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS CHAPTER 1 INTRODCUTION 1.1 INTRODUCTION A typical processor central processing unit devotes a considerable amount of processing time in performing arithmetic operations, particularly multiplication operations. Multiplication is one of the basic arithmetic operations and it requires substantially more hardware resources and processing time than addition and subtraction. Digital signal processing (DSP) is the technology that is omnipresent in almost every engineering discipline. It is also the fastest growing technology of this century and, therefore, it poses tremendous challenges to the engineering community. Faster additions and multiplications are of extreme importance in DSP for convolution, discrete Fourier transforms, Fast Fourier Transforms and digital filters. The core computing process is always a multiplication routine; therefore, DSP engineers are constantly looking for new algorithms and hardware to implement them [1]. This chapter gives the brief introduction about the various existing Multiplier designs and finally presents Department of ECE, SITAMS Page 1

Upload: chemanthi-roja

Post on 24-Oct-2014

140 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

CHAPTER 1

INTRODCUTION

1.1 INTRODUCTION

A typical processor central processing unit devotes a considerable amount of

processing time in performing arithmetic operations, particularly multiplication

operations. Multiplication is one of the basic arithmetic operations and it requires

substantially more hardware resources and processing time than addition and

subtraction.

Digital signal processing (DSP) is the technology that is omnipresent in almost

every engineering discipline. It is also the fastest growing technology of this century

and, therefore, it poses tremendous challenges to the engineering community. Faster

additions and multiplications are of extreme importance in DSP for convolution,

discrete Fourier transforms, Fast Fourier Transforms and digital filters. The core

computing process is always a multiplication routine; therefore, DSP engineers are

constantly looking for new algorithms and hardware to implement them [1].

This chapter gives the brief introduction about the various existing Multiplier designs

and finally presents the proposed concept.

1.2 LITERATURE SURVEY

There are number of techniques that to perform binary multiplication. In general, the

choice is based upon factors such as latency, throughput, area, and design complexity.

More efficient parallel approach uses some sort of array or tree of full adders to sum

partial products. Array Multiplier, Booth Multiplier and Wallace Tree Multipliers are

some of the standard approaches to have hardware implementation of binary

Multiplier which are suitable for VLSI implementation at CMOS level [1].

Department of ECE, SITAMS Page 1

Page 2: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

1.2.1 Array Multiplier

Array Multiplier [2] is an efficient layout of combinational Multiplier. Multiplication

of two binary numbers can be obtained with one micro-operation by using a

combinational circuit that forms the product bit all at once thus making it a fast way

of multiplying two numbers since only delay is the time for the signals through the

gates that forms the multiplication array.

Array Multiplier gives more power consumption as well as the optimum

number of components required ,but delay for this Multiplier is larger .It also requires

large number of gates because of which area is increased ;due to this array Multiplier

is less economical .Thus ,it is a fast Multiplier but hardware complexity is high.

The Array Multiplier design is shown in the below Fig.1.1

: Partial product inputs. : Output

: Partial sum : Carry

Department of ECE, SITAMS Page 2

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Page 3: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

: Adder element

Figure 1.1 4 x 4 Array Multiplier

1.2.2 Wallace Tree Multiplier

A fast process for multiplication of two numbers were developed which consists of a

three step process of multiplying the two numbers [3] in which the bit products are

formed ,the bit product matrix is reduced to a two row matrix where sum of bit

products and the resulting rows are summed with a fast adder to produce a final

product.

Three bit signals are passed to a one bit full adder (“3W”) which is called a

three input Wallace tree circuit, and the output signal (sum signal) is supplied to the

next stage full adder of the same bit, and the carry output signal thereof is passed to

the next stage full adder of the same number of bit, and the carry output signal thereof

is supplied to the next stage of the full adder located at a one bit higher position [1].

Wallace tree is a tree of carry-save adders arranged as shown in Fig.1.2. A

carry save adder consists of full adders like the more familiar ripple adders, but the

carry output from each bit is brought out to form second result vector rather being

than wired to the next most significant bit. The carry vector is 'saved' to be combined

with the sum later. In the Wallace tree method, the circuit layout is not easy although

the speed of the operation is high since the circuit is quite irregular.

Department of ECE, SITAMS Page 3

Page 4: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

Figure 1.2 4 x4 Wallace Tree Multiplier

1.2.3 Modified Booth Multiplier

Another improvement in the Multiplier is by reducing the number of partial products

generated .The booth recording Multiplier is one such Multiplier. It scans three bits at

a time to reduce the number of partial products .these three bits are: the two bits from

present pair; and a third bit from the higher order bit of an adjacent lower order pair.

After examining each triplet of bits, the triplets are converted by Booth logic into a set

of five controls used by the adder cells in the array to control the operations

performed by the adder cells [4].

To speed up multiplication booth encoding performs several multiplications at

once [5]. From basis of booth multiplication it can be proved that addition/subtraction

operation can be skipped if the successive bits in the multiplicand are same. Thus in

most cases the delay associated with booth Multiplier is smaller than that with array

Multiplier .However the performance of Booth Multiplier for delay is input data

dependant .In worst case the delay of the booth Multiplier is on par with array

Multiplier. The high performance of booth Multiplier comes with the drawback of

power consumption as it uses large number of adder cells required that consumes

large power. The block diagram of Modified Booth Multiplier is shown in the below

Fig.1.3.

Department of ECE, SITAMS Page 4

Page 5: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

Figure 1.3 Modified Booth Block Diagram

1.3 PROBLEM FORMULATION

The problems that are to be handled in this present work is

1. To reduce area and delay.

2. To minimize power consumption.

3. To design a Multiplier with regular in structure .

1.4 OBJECTIVE OF THE THESIS

The main objective of this thesis is to analyze the multiplication sutras of Vedic

Mathematics namely Urdhva Tiryakbhyam and Nikhilam Sutras to design an

efficient Multiplier that is better in Design and performance when compared with

Array, Modified Booth and Wallace tree Multipliers.

1.5 ORGANIZATION OF THESIS

Chapter 2 presents basics of multiplication and types of Multipliers.

Chapter3 gives brief introduction to Vedic Mathematics and explains about

multiplication Sutras namely Urdhva Tiryakbhyam and Nikhilam Sutras.

Department of ECE, SITAMS Page 5

Page 6: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

Chapter 4 presents Algorithms and 16-bit Multiplier designs based on Urdhva

Tiryakbhyam and Nikhilam Sutras.

Chapter 5 Presents the Algorithms and Multiplier designs of 16-bit Array and

Modified Booth Multiplier.

Chapter 6 shows comparison between Vedic, Array and Modified Booth Multipliers

in terms of design and performance.

Chapter 7 design of Applications using Urdhva Tiryakbhyam based Vedic Multiplier

namely IEEE 32 bit floating point Multiplier and a 16-bit Squarer Design.

Chapter 8 Presents the Simulation & Synthesis reports of all the Multipliers

presented in this thesis.

Chapter9 conclusion and future work has been made using the simulation and

Synthesis reports.

Department of ECE, SITAMS Page 6

Page 7: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

CHAPTER- 2

BASIC CONCEPTS

This chapter divided mainly into two subsections. The first subsection is on the basics

of multiplication i.e. how to perform a multiplication. The second section gives the

attention about the types of Multipliers that are present to perform the multiplication

on the hardware and it mainly focuses on the parallel Multipliers.

2.1 BASICS OF MULTIPLICATION

Multiplication is complex when compared to addition and subtraction .It can be

performed in hardware or software depending on the requirements [6].The basic steps

that involve in multiplication is explained below.

The multiplication process involves generation of partial products one

for each digit of the Multiplier. These partial products are then

summed up to get the final product.

In binary number system the partial products are easily defined. If the

Multiplier is 0 then partial products is 0.if the Multiplier bit is 1, then

partial product is the multiplicand bit.

Department of ECE, SITAMS Page 7

Page 8: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

The final product is produced by summing the partial products. Before

summing up, each successive partial product is shifted one position left

relative to the preceding than the partial product.

An n-bit (multiplicand) by m-bit (Multiplier) multiplication results in

n bit partial products (n>m)

n x m product elements

n + m bit final product

2.1.1 Unsigned Binary Multiplication

The multiplication of an n-bit by m-bit unsigned binary integers A and B creates the

product P. This multiplication results in m partial products, each of which is n bits. A

partial product involves the formation of an individual computation of each bit or

ai·bj. The n partial products are added together to produce an n + m-bit product as

shown below. This operation on each partial product forms a nice parallelogram

typically called a partial product matrix.

For example, in Fig.2.1 a 4-bit by 4-bit multiplication matrix is shown. In lieu

of each value in the matrix, a dot is sometimes shown for each partial product,

multiplicand, Multiplier, and product. This type of diagram is typically called a dot

diagram and allows arithmetic designers a better idea of which partial products to add

to form the product.

P = A.B

= ( ) . ( )

= … eq. (2.1)

Department of ECE, SITAMS Page 8

Page 9: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

a3 a2 a1 a0

X b3 b2 b1 b0

a3b0 a2b0 a1b0 a0b0

a3b1 a2b1 a1b1 a0b0

a3b2 a2b2 a1b2 a0b2

a3b3 a2b3 a1b3 a0b3

p7 p6 p5 p4 p3 p2 p1 p0

Figure 2.1 4x4 Bit multiplication matrix

2.2 TYPES OF MULTIPLIERS

A Multiplier is a circuit that performs the process of multiplication which involves

generation of partial products and summing these partial products in some manner to

get the required result. Based on the types of structures Multipliers are classified into

three categories.

I .Serial or Sequential Multipliers.

II .Parallel Multipliers.

III. Serial – Parallel Multipliers

I. Sequential Multipliers

Serial or sequential Multipliers compute the product sequentially usually

utilizing storage elements so that hardware of the Multiplier is reused during iteration.

Sequential Multipliers are preferred when speed is not the main criteria in the circuit

Department of ECE, SITAMS Page 9

Page 10: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

design but the area. These are the slowest Multipliers as it uses less number of

hardware resources.

II. Parallel Multipliers

Parallel Multipliers computes the partial products in parallel (in general) by using

gates and adders to multiply am-bit number by an n-bit number to completely produce

an n + m product. Parallel Multipliers can also be pipelined to reduce the cycle time

and increase the throughput by introducing storage elements within the Multiplier.

These Multipliers are best choice when the speed is the main criteria but not the area.

These are the fastest Multipliers as it uses more number of hardware resources.

III. Serial-Parallel Multipliers

Serial parallel Multipliers are so called because m-bit Multiplier is fed in serially

(LSB first), while the n-bit multiplicand is held in parallel during the course of

multiplication. The performance of these serial parallel Multipliers is in between

parallel and serial Multipliers.

2.2.1 Designing of Parallel Multipliers

Parallel Multipliers are known for their operation speed, design of such Parallel

Multiplier depends on the basic steps that happen in the parallel Multiplier.

The three basic steps of Multipliers are listed below [6]. Although here are

implementations that can theoretically be reduced to the generation of the shifted

multiples of the multiplicand and multi-operand addition (i.e. the addition of more

than two operands), most Multipliers utilize these steps. Although there are various

different perspectives on the implementation of multiplication, its basic entity usually

is the adder.

1 Partial Product (PP) Generation - utilizes a collection of gates to generate the

partial product bits (i.e. ai· bi).

2 Partial Product (PP) Reduction - utilizes adders (counters) to reduce the

partial products to sum and carry vectors.

Department of ECE, SITAMS Page 10

Page 11: Vedic Multiplier Part1

ANALYSIS, COMPARISON AND APPLICATION OF VEDIC MULTIPLIERS

3 Final Carry-Propagate Addition (CPA) - adds the sum and carry vectors to

produce the product.

A well know fact to be remembered is that speed and area criteria cannot be

achieved at the same time .Increase in speed is achieved when hardware resources are

more but this consumes a large amount of area.

2.3 IMPORTANT PROPERTIES OF THE MULTIPLIER

Parallel Multipliers are used for DSP applications such as image processing, filtering,

FFT, DFT etc., as faster multiplications are needed. The choice of the Parallel

Multipliers based on different Algorithms depends on the speed of the operation of

the Multiplier which can be understood by the important Parameters Latency &

Throughput which are defined below.

Department of ECE, SITAMS Page 11