Decimal Multiplier on FPGA using Embedded Binary Multipliers Authors: H. Neto and M. Vestias Conference: Field Programmable Logic and Applications (FPL),

Slides:



Advertisements
Similar presentations
Zhongkai Chen. Gonzalez-Navarro, S. ; Tsen, C. ; Schulte, M. ; Univ. of Malaga, Malaga This paper appears in: Signals, Systems and Computers, ACSSC.
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Conversion and Coding (12)10.
A HIGH-PERFORMANCE IPV6 LOOKUP ENGINE ON FPGA Author : Thilan Ganegedara, Viktor Prasanna Publisher : FPL 2013.
Distributed Arithmetic
ECE 331 – Digital System Design
ECE 734: Project Presentation Pankhuri May 8, 2013 Pankhuri May 8, point FFT Algorithm for OFDM Applications using 8-point DFT processor (radix-8)
NUMBERS DESCRIBE THE SYSTEM
A Survey of Logic Block Architectures For Digital Signal Processing Applications.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
Energy and Delay Improvement via Decimal Floating Point Hossam A.H.Fahmy, Electronics and Communications Department, CairoUniversity Egypt and.
Distributed Arithmetic: Implementations and Applications
ECE 301 – Digital Electronics Course Introduction, Number Systems, Conversion between Bases, and Basic Binary Arithmetic (Lecture #1)
1 ECE369 Chapter 3. 2 ECE369 Multiplication More complicated than addition –Accomplished via shifting and addition More time and more area.
1 Lecture 4: Arithmetic for Computers (Part 4) CS 447 Jason Bakos.
Field Programmable Gate Array (FPGA) Layout An FPGA consists of a large array of Configurable Logic Blocks (CLBs) - typically 1,000 to 8,000 CLBs per chip.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
GPGPU platforms GP - General Purpose computation using GPU
Multiplication CPSC 252 Computer Organization Ellen Walker, Hiram College.
1 Electronics Lab, Physics Dept., Aristotle Univ. of Thessaloniki, Greece 2 Micro2Gen Ltd., NCSR Demokritos, Greece 17th IEEE International Conference.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
Floating Point vs. Fixed Point for FPGA 1. Applications Digital Signal Processing -Encoders/Decoders -Compression -Encryption Control -Automotive/Aerospace.
Efficient FPGA Implementation of QR
(TPDS) A Scalable and Modular Architecture for High-Performance Packet Classification Authors: Thilan Ganegedara, Weirong Jiang, and Viktor K. Prasanna.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Number Systems. Today Decimal Hexadecimal Binary –Unsigned Binary –1’s Complement Binary –2’s Complement Binary.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Digital Kommunikationselektronik TNE027 Lecture 2 1 FA x n –1 c n c n1- y n1– s n1– FA x 1 c 2 y 1 s 1 c 1 x 0 y 0 s 0 c 0 MSB positionLSB position Ripple-Carry.
Abdullah Aldahami ( ) March 12, Introduction 2. Background 3. Proposed Multiplier Design a.System Overview b.Fixed Point Multiplier.
Lecture 4 Multiplier using FPGA 2007/09/28 Prof. C.M. Kyung.
Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose.
AMIN FARMAHININ-FARAHANI CHARLES TSEN KATHERINE COMPTON FPGA Implementation of a 64-bit BID-Based Decimal Floating Point Adder/Subtractor.
Fundamental Digital Electronics (Spring 2014) Martino Poggio.
HW 3 Due 3/9 (Mon) 11:00 AM Probs. 2.81, 2.87, 2.88.
Introduction to Numerical Analysis I MATH/CMPSC 455 Binary Numbers.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
ISSS 2001, Montréal1 ISSS’01 S.Derrien, S.Rajopadhye, S.Sur-Kolay* IRISA France *ISI calcutta Combined Instruction and Loop Level Parallelism for Regular.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
Lecture notes Reading: Section 3.4, 3.5, 3.6 Multiplication
Positional Number Systems Decimal, Binary, Octal and Hexadecimal Numbers Wakerly Section
High Performance FPGA-based Floating Point Adder with Three Inputs
Design of a Reversible Binary Coded Decimal Adder by Using Reversible 4-bit Parallel Adder Babu, H. M. H. Chowdhury, A.R, “Design of a reversible binary.
Han Liu Supervisor: Seok-Bum Ko Electrical & Computer Engineering Department 2010-Mar-9.
Lopamudra Kundu Reg. No. : of Roll No.:- 91/RPE/ Koushik Basak
Arithmetic in Binary. Addition A “Rule of Addition” is a statement of the form: = 8 How many such rules are there in Decimal?
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale Floating point arithmetic.
Cache Miss-Aware Dynamic Stack Allocation Authors: S. Jang. et al. Conference: International Symposium on Circuits and Systems (ISCAS), 2007 Presenter:
Arithmetic Chapter 4 Subject: Digital System Year: 2009.
An Optimized Hardware Architecture for the Montgomery Multiplication Algorithm Miaoqing Huang 1, Kris Gaj 2, Soonhak Kwon 3, Tarek El-Ghazawi 1 1 The George.
Chapter 8 Computer Arithmetic. 8.1 Unsigned Notation Non-negative notation  It treats every number as either zero or a positive value  Range: 0 to 2.
Array Multiplier Haibin Wang Qiong Wu. Outlines Background & Motivation Principles Implementation & Simulation Advantages & Disadvantages Conclusions.
Positional Number Systems Decimal, Binary, Octal and Hexadecimal Numbers Wakerly Section
Array multiplier TU/e Processor Design 5Z032.
Morgan Kaufmann Publishers
CS 232: Computer Architecture II
CALCULATION OF DECIMAL LOGORATHIM
Outline Introduction Floating Point Arithmetic Adder Multiplier.
CDA 3101 Spring 2016 Introduction to Computer Organization
CDA 3101 Summer 2007 Introduction to Computer Organization
EE 445S Real-Time Digital Signal Processing Lab Spring 2014
Computer Organization and Design
Multiprocessor & Multicomputer
Digital Systems and Binary Numbers
Designing Algorithms for Multiplication of Fractions
Chapter 2 Number Systems.
Chapter 2 Number Systems.
Chapter 2 Number Systems.
GCSE COMPUTER SCIENCE Topic 3 - Data 3.3 Logical and Arithmetic Shifts.
Chapter 2 Number Systems.
Presentation transcript:

Decimal Multiplier on FPGA using Embedded Binary Multipliers Authors: H. Neto and M. Vestias Conference: Field Programmable Logic and Applications (FPL), 2008 Presenter: Tareq Hasan Khan ID: ID: ECE, U of S Literature review-3 (EE 800) Literature review-3 (EE 800)

2 Outline Motivation Motivation Proposed Binary-BCD conversion using base-1000 algorithm Proposed Binary-BCD conversion using base-1000 algorithm BCD multiplier BCD multiplier Results Results Conclusion Conclusion

3 Motivation Decimal arithmetic Decimal arithmetic Human centric application Precisely present decimal fractions Software implementations of decimal arithmetic are slower than in hardware Proposing a BCD multiplier Proposing a BCD multiplier BCD operands will be converted to Binary Taking advantage of the efficient embedded binary multipliers (17x17) available in state-of-the-art FPGAs. A novel method to convert from Binary to BCD is proposed

4 Outline Motivation Motivation Proposed Binary-BCD conversion using base-1000 algorithm Proposed Binary-BCD conversion using base-1000 algorithm BCD multiplier BCD multiplier Results Results Conclusion Conclusion

5 Binary-BCD conversion using base-1000 algorithm 1. Convert binary number to a number represented in base Convert each base-1000 digit to BCD using the shift and add-3 algorithm

6 Conversion of Binary number to base-1000

7 Conversion of Binary number to base-1000…cont.

8 Binary to base-1000 conversion hardware up to 999x999 b0 b1 c1 c0 d0^d1^

9 Binary to base-1000 conversion for higher numbers The algorithm can be applied iteratively to convert larger binary numbers to base-1000 Each digit of the result in base-1000, is calculated iteratively according to Horner’s rule

10 Binary to base-1000 conversion hardware up to 9999 x 9999

11 Binary to base-1000 conversion hardware up to x Multipliers of 17 × 17 size are found on state-of-the-art FPGAs as embedded multipliers. Binary multiplication of 17 × 17 without sign will result 34 bits. Base-1000 digits are converted to BCD by Shift and Add-3 algorithm

12 Outline Motivation Motivation Proposed Binary-BCD conversion using base 1000 Proposed Binary-BCD conversion using base 1000 BCD multiplier BCD multiplier Results Results Conclusion Conclusion

13 BCD multiplier Convert each BCD operands to binary Multiply the binary numbers using embedded FPGA binary multiplier Convert the binary result to BCD using the proposed binary to BCD through base-1000 algorithm

14 BCD multiplier…cont

15 Outline Motivation Motivation Proposed Binary-BCD conversion using base 1000 Proposed Binary-BCD conversion using base 1000 BCD multiplier BCD multiplier Results Results Conclusion Conclusion

16 Result Implemented on Xilinx Virtex-4 SX35-12 FPGA Area increases almost linearly with number of BCD digits Frequency goes from 242 to 222 MHz Two levels of pipeline

17 Result…cont I1 - A binary to base-1000 converter and then a parallel shift and add-3 algorithm for each b-1000 “digit” I2 - A binary to decimal converter using the parallel shift and add-3 algorithm. I3 - A binary to decimal converter using the serial shift and add-3 algorithm I1 (proposed) uses less area (about 60%) than the commonly used I2 I3 has a very low area occupation, high speed, but higher latency

18 Result…cont2 Mult1 - Decimal multiplier with converter I1 (proposed) Mult2 - Decimal multiplier with converter I2 Mult3 - Decimal multiplier via carry-save addition Mult1 (proposed) uses less area (about 65%) than the commonly used Mult2 Mult1 uses (about 70%) area than Mult3, at the cost of an embedded binary multiplier All implementation work at frequency near 200MHz

19 Conclusion Proposed Binary-BCD conversion algorithm using base-1000 Proposed Binary-BCD conversion algorithm using base-1000 More area efficient than mostly used shift and add-3 algorithm More area efficient than mostly used shift and add-3 algorithm BCD multiplier implemented in this work, take advantage of embedded binary multipliers on state-of-the-art FPGAs BCD multiplier implemented in this work, take advantage of embedded binary multipliers on state-of-the-art FPGAs

20 Thanks

21 24.X + Y hardware block