project ppt slides_student_id#104519347

20
Discrete Transforms & Number Theoretical [06-88-529-1-2016W] A Project Presentation On An efficient binary multiplier design for high speed applications using Karatsuba algorithm and Urdhva- Tiryagbhyam algorithm Instructor : Dr. Huapeng Wu Presented by : Rajan Savaliya (Student ID# 104519325) Savankumar Darji (Student ID# 104519347)

Upload: savan-darji

Post on 20-Mar-2017

94 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project PPT slides_student_id#104519347

Discrete Transforms & Number Theoretical [06-88-529-1-2016W]

AProject Presentation

On

An efficient binary multiplier design for high speedapplications using Karatsuba algorithm and Urdhva-

Tiryagbhyam algorithm

Instructor : Dr. Huapeng Wu

Presented by : Rajan Savaliya (Student ID# 104519325) Savankumar Darji (Student ID# 104519347)

Page 2: Project PPT slides_student_id#104519347

Abstract

Aim of this research paper is to reduce number of binary multiplication

that can save time as well as hardware requirement for implementation

of binary multiplier using algorithms like Karatsuba and Urdhva-

Tiryagbhyam. To implement binary multiplier, the complexity of design

depends on number of multiplication for calculating the product. So, in

this paper the main target of author is to reduce number of

multiplication with the help of ancient Vedic and classical mathematics.

Page 3: Project PPT slides_student_id#104519347

Conventional method of multiplication and its complexity

Page 4: Project PPT slides_student_id#104519347

Karatsuba Multiplication

This algorithm reduces the number of multiplication comparing to conventional method of multiplication.For example:A 2-digit decimal number can be represented in below convention,

a = 10p+q , b = 10r+sLet’s say 87 can be represented as 87 = 10(8)+7 and 56 = 10(5)+6

a = 10(p)+q b = 10(r)+s doing the math by a x b = (10p+q) x (10r+s) we will get

a x b = (p x r)100 + ((p x s) + (r x q))10 + (q x s)

Page 5: Project PPT slides_student_id#104519347

a x b = (p x r)100 + ((p x s) + (r x q))10 + (q x s)

# of multiplication: 1 2 3 4

But if we replace multiplication by several and subtraction we will get this equation:

a x b = u x 100 + v x 10 + w

Here, u = p x r w = q x s v = (p + q) x (r + s) – u - w

These multiplications are called auxiliary multiplications. Here, notice that u, w and v have only 3 multiplication !

Page 6: Project PPT slides_student_id#104519347
Page 7: Project PPT slides_student_id#104519347
Page 8: Project PPT slides_student_id#104519347

3 Multiplication by Karatsuba

Page 9: Project PPT slides_student_id#104519347

Block diagram of Karatsuba multiplication

Page 10: Project PPT slides_student_id#104519347

8 digit binary multiplication using Karatsuba Algorithm

Page 11: Project PPT slides_student_id#104519347
Page 12: Project PPT slides_student_id#104519347

Multiplication Comparison

Page 13: Project PPT slides_student_id#104519347

Complexity of Karatsuba multiplication

Page 14: Project PPT slides_student_id#104519347

Total delay required to compute n digit multiplication

Page 15: Project PPT slides_student_id#104519347

Urdhva-Tiryagbhyam MultiplicationIt is the one of the 16 formula which is given in Appendix of Atharvaveda, one of the six Veda from Indian Hinduism. It can compute the N digit multiplication with very fewer and quicker steps when the number of digits are lower i.e. less than 5. The reason behind that is the number of steps for computing multiplication is proportional to the number of digit.

For Example: 2 binary digit Multiplication 11 × 11: P0 = 1 × 1 = 1

P1 = (1 × 1) + (1 × 1) + carry_0 = 0 (carry_1 = 1) P2 = (1 × 1) + carry_0 = 0 (carry_1 = 1) Answer = 1001

Page 16: Project PPT slides_student_id#104519347

Line representation of the Method:11 × 11

Calculation for P2 Calculation for P1 Calculation for P1 1 1 1 1 1 1 + carry_0 1 1 1 1 1 1 (1 × 1) + 1 (carry_0) = (1 × 1) + (1 × 1) = (1 × 1) = 1 0 1 0 1

carry_1 Answer = 1 0 0 1

Page 17: Project PPT slides_student_id#104519347

Line representation of 4 digit multiplication using Urdhva-Tiryagbhyam Algorithm:

• P0 = a0b0 (1 digit)• P1 = LSB{ a1bo+a0b1 } (2 digit)• P2 = LSB{ a2bo+a1b1+a0b2+MSB(P1) }

(3 digit)

• P3=LSB{ a3bo+a2b1+a1b2+a0b3 +MSB(P2) } (3 digit)

• P4=LSB{ a3b1+a2b2+a1b3+MSB(P3) } (3 digit)

• P5=LSB{a3b2+a2b3+MSB(P4)}(3 digit)• P6=LSB{a3b3+MSB(P5)} (2 digit)• P7=MSB(P6) (1 digit)

Page 18: Project PPT slides_student_id#104519347

Combinational logic circuit of 4 digit binary Urdhva-Tiryagbhyam multiplier :

Page 19: Project PPT slides_student_id#104519347

Advantages of the multiplier :

Parameters Urdhva-Tiryagbhyam

Multiplier

Proposed Multiplier

Length 8 bits 8 bits

Delay 28.27 ns 9.396 ns

Page 20: Project PPT slides_student_id#104519347

References1) “Vedic mathematics”, Swami Sri Bharati Krsna Thirthaji Maharaja,

Motilal Banarasidass Indological publishers and Book sellers, 1965.2) Poornima M, Shivaraj Kumar Patil, Shivukumar , Shridhar K P ,

Sanjay H, “Implementation of Multiplier using Vedic Algorithm”, International Journal of Innovative Technology and Exploring Engineering (IJITEE), ISSN: 2278-3075, Volume-2, Issue-6, pp. 219-223, May 2013.

3) http://www.stoimen.com/blog/2012/05/15/computer-algorithms-karatsuba-fast-multiplication/

4) http://www.math.uwaterloo.ca/~anayak/courses/ece103-s10/notes/recursion.pdf

5) http://courses.csail.mit.edu/6.006/spring11/exams/notes3-karatsuba6) https://class.coursera.org/algo-004/lecture7) http://courses.csail.mit.edu/6.006/spring11/exams/notes3-karatsuba