A Decimal Floating Point Arithmetic Unit for Embedded System Applications using VLSI Techniques

Similar documents
Design and Implementation of IEEE-754 Decimal Floating Point Adder, Subtractor and Multiplier

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666

International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Vendor Agnostic, High Performance, Double Precision Floating Point Division for FPGAs

Implementation of IEEE754 Floating Point Multiplier

Performance Analysis of Decimal Floating-Point Libraries and Its Impact on Decimal Hardware and Software Solutions

Floating Point Representation in Computers

ISSN Vol.02, Issue.11, December-2014, Pages:

Implementation of Double Precision Floating Point Multiplier in VHDL

Hardware Design of a Binary Integer Decimal-based Floating-point Adder

VHDL IMPLEMENTATION OF IEEE 754 FLOATING POINT UNIT

An Efficient Implementation of Floating Point Multiplier

An FPGA based Implementation of Floating-point Multiplier

COMPARISION OF PARALLEL BCD MULTIPLICATION IN LUT-6 FPGA AND 64-BIT FLOTING POINT ARITHMATIC USING VHDL

COMP2611: Computer Organization. Data Representation

Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Lecture 3

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm

CO212 Lecture 10: Arithmetic & Logical Unit

CPE 323 REVIEW DATA TYPES AND NUMBER REPRESENTATIONS IN MODERN COMPUTERS

CPE 323 REVIEW DATA TYPES AND NUMBER REPRESENTATIONS IN MODERN COMPUTERS

Numeric Encodings Prof. James L. Frankel Harvard University

Architecture and Design of Generic IEEE-754 Based Floating Point Adder, Subtractor and Multiplier

International Journal of Research in Computer and Communication Technology, Vol 4, Issue 11, November- 2015

Design a floating-point fused add-subtract unit using verilog

Principles of Computer Architecture. Chapter 3: Arithmetic

Finite arithmetic and error analysis

Run-Time Reconfigurable multi-precision floating point multiplier design based on pipelining technique using Karatsuba-Urdhva algorithms

DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTOR SUPPORT

Floating Point Square Root under HUB Format

Module 2: Computer Arithmetic

Scientific Computing. Error Analysis

I. Introduction. India; 2 Assistant Professor, Department of Electronics & Communication Engineering, SRIT, Jabalpur (M.P.

Implementation of Floating Point Multiplier Using Dadda Algorithm

VHDL IMPLEMENTATION OF FLOATING POINT MULTIPLIER USING VEDIC MATHEMATICS

A Novel Carry-look ahead approach to an Unified BCD and Binary Adder/Subtractor

Chapter 3: part 3 Binary Subtraction

A High Performance Binary to BCD Converter for Decimal Multiplication Using VLSI Technique

C NUMERIC FORMATS. Overview. IEEE Single-Precision Floating-point Data Format. Figure C-0. Table C-0. Listing C-0.

Implementation of Optimized Floating Point Adder on FPGA

The Sign consists of a single bit. If this bit is '1', then the number is negative. If this bit is '0', then the number is positive.

Implementation of IEEE-754 Double Precision Floating Point Multiplier

Chapter 4 Arithmetic Functions

Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:

Number Systems CHAPTER Positional Number Systems

Floating point. Today! IEEE Floating Point Standard! Rounding! Floating Point Operations! Mathematical properties. Next time. !

Chapter 2 Data Representations

An FPGA Based Floating Point Arithmetic Unit Using Verilog

LogiCORE IP Floating-Point Operator v6.2

Review on Floating Point Adder and Converter Units Using VHDL

FLOATING POINT ADDERS AND MULTIPLIERS

FPSim: A Floating- Point Arithmetic Demonstration Applet

Chapter 5 Design and Implementation of a Unified BCD/Binary Adder/Subtractor

Chapter 2. Data Representation in Computer Systems

Computer Architecture and Organization

Floating Point. The World is Not Just Integers. Programming languages support numbers with fraction

An IEEE Decimal Parallel and Pipelined FPGA Floating Point Multiplier

Number Systems and Computer Arithmetic

Data Representations & Arithmetic Operations

By, Ajinkya Karande Adarsh Yoga

HIGH SPEED SINGLE PRECISION FLOATING POINT UNIT IMPLEMENTATION USING VERILOG

Floating Point Arithmetic

Floating Point January 24, 2008

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

Design of a Floating-Point Fused Add-Subtract Unit Using Verilog

Figurel. TEEE-754 double precision floating point format. Keywords- Double precision, Floating point, Multiplier,FPGA,IEEE-754.

CS 261 Fall Floating-Point Numbers. Mike Lam, Professor.

Divide: Paper & Pencil

Chapter 2 Float Point Arithmetic. Real Numbers in Decimal Notation. Real Numbers in Decimal Notation

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666

CS 261 Fall Floating-Point Numbers. Mike Lam, Professor.

COMPUTER ORGANIZATION AND ARCHITECTURE

Inf2C - Computer Systems Lecture 2 Data Representation

Preliminary Decimal-Floating-Point Architecture

Digital Fundamentals

FPGA IMPLEMENTATION OF FLOATING POINT ADDER AND MULTIPLIER UNDER ROUND TO NEAREST

ECE232: Hardware Organization and Design

EE878 Special Topics in VLSI. Computer Arithmetic for Digital Signal Processing

University, Patiala, Punjab, India 1 2

Design and Analysis of Inexact Floating Point Multipliers

DESIGN OF DECIMAL / BINARY MULTI-OPERAND ADDER USING A FAST BINARY TO DECIMAL CONVERTER

Signed Multiplication Multiply the positives Negate result if signs of operand are different

Improved Design of High Performance Radix-10 Multiplication Using BCD Codes

IJRASET 2015: All Rights are Reserved

A comparative study of Floating Point Multipliers Using Ripple Carry Adder and Carry Look Ahead Adder

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666

Floating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.

Measuring Improvement When Using HUB Formats to Implement Floating-Point Systems under Round-to- Nearest

Real Numbers finite subset real numbers floating point numbers Scientific Notation fixed point numbers

A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier using Modified CSA

Double Precision Floating-Point Multiplier using Coarse-Grain Units

Floating-Point Arithmetic

Implementation of Double Precision Floating Point Adder with Residue for High Accuracy Using FPGA

Development of an FPGA based high speed single precision floating point multiplier

2 Prof, Dept of ECE, VNR Vignana Jyothi Institute of Engineering & Technology, A.P-India,

Foundations of Computer Systems

2 General issues in multi-operand addition


Co-processor Math Processor. Richa Upadhyay Prabhu. NMIMS s MPSTME February 9, 2016

An Implementation of Double precision Floating point Adder & Subtractor Using Verilog

Fused Floating Point Arithmetic Unit for Radix 2 FFT Implementation

Transcription:

A Decimal Floating Point Arithmetic Unit for Embedded System Applications using VLSI Techniques Rajeshwari Mathapati #1, Shrikant. K.Shirakol *2 # Dept of E&CE, S.D.M. College of Engg. and Tech., Dharwad, Karnataka, India Abstract: With the growing popularity of decimal computer arithmetic in scientific and commercial financial and internet based applications, hardware realization of decimal arithmetic algorithm is gaining more importance. Hardware decimal arithmetic unit serve as an integral part of some recently commercialized general purpose processors, where complex decimal arithmetic operations such as multiplication, have been realized by rather slow iterative hardware algorithms. The widely used IEEE standards, IEEE 754-1985 based binary floating point format and IEEE 754-2008 standard based decimal floating point (DFP) format uses high precision formats, which are generally useful for astronomical or scientific calculations. For simple applications, such a precision is not required and is an addition overhead. Therefore the another format named Immanuel Decimal Floating Point (IDFP) Format is presented and can be used for embedded system applications, which uses commonly used precision. IDFP can be represented either in binary or binary coded decimal (BCD). An arithmetic unit based on IDFP, BCD based number system is developed and is functionally simulated. The adder/subtractor based on BCD adder/subtractor and multiplier developed is a look up table (LUT) based BCD multiplier. The language used for programming is VHDL and is synthesized using Xilinx ISE 13.4 design suite. The results are obtained using Modelsim simulator Keywords BCD, DFP, IDFP, LUT. I. INTRODUCTION Floating-point and fixed-point numbers are used to represent real numbers in digital systems. The advantage of floating-point over fixed-point representation is the wider range of values supported. There are different floating-point representations. One of the most use standards is the IEEE 754. This standard was issued in 1985 [2] and was updated in 2008 [3]. The IEEE Std 754-1985 defines the half (binary16), single (binary32) and double (binary64) formats. The Quadruple (binary128) is a new type, which was defined in IEEE Std 754-2008. People predominantly perform math using decimal numbers. However, due to the speed and efficiency advantages of binary hardware, most computer systems support binary arithmetic rather than decimal arithmetic. Converting decimal numbers to binary and performing operations on them using binary hardware can lead to inaccuracies. For example, the binary floating-point (BFP) single-precision number closest to the decimal fraction 0.1 is actually equal to 0.100000001490116119384765625. However, BFP suffers from the inability to accurately represent many fractional decimal numbers and to perform correct decimal rounding. The errors from using BFP for decimal data are unacceptable for many commercial and financial applications. DFP does not suffer from these problems, and it is specified in the IEEE 754-2008 Floating-point Standard (IEEE 754-2008). In certain applications, small errors like this can compound and lead to incorrect and unacceptable results [4]. One study by IBM estimates that binary representation and rounding errors of decimal numbers in a telephone billing application can accumulate to a yearly billing discrepancy of over $5 million dollars [5]. DFP number systems represent floating-point numbers using a radix (i.e., exponent base) of ten rather than two. DFP therefore exactly represents decimal numbers, provided those numbers fit in the format s precision. DFP research has received renewed interest in recent years, and DFP solutions are now commercially available. However, DFP hardware support could be added with less area increase by sharing logic between DFP and BFP. We therefore investigate the area and performance of a combined DFP and BFP multiplier compared to separate DFP and BFP units. Multiplication is a ISSN: 2231-5381 http://www.ijettjournal.org Page 365

common operation in financial applications [6], such as in currency exchange, interest calculation, or stock and mutual fund valuation. As DFP becomes more prevalent, there is an increasing need for accurate evaluation and understanding of both hardware and software DFP solutions. A benchmark suite that aids this evaluation would help to eliminate the gap in understanding of the tradeoffs between different DFP solutions and give insight into which operations could benefit most from hardware acceleration. Since hardware implementations are not widely available for all DFP formats, current analysis must use available software libraries [7]. Two prevailing DFP number encodings have emerged. One, originally proposed by Intel, encodes the significand of the DFP number as an unsigned binary integer, and is commonly called the binary integer decimal (BID) encoding. The other, originally proposed by IBM, encodes the significand as a compressed BCD integer, and is commonly called densely packed decimal (DPD). The IEEE 754-2008 Standard for Floating-point Arithmetic [8] specifies these DFP encodings and their operations, rounding, and exception handling. The standard allows DFP numbers to be encoded either in BID or DPD, and specifies arithmetic operations on 64-bit and 128-bit DFP numbers, known as decimal64 and decimal128, respectively. The paper [9] adds to previous research by investigating the tradeoffs of sharing hardware for BFP and BID multiplication. The combined multiplier design we present is based on a BID multiplication algorithm presented in [10] and a basic BFP multiplication algorithm presented in [11]. This paper demonstrates that a hardware design for a combined BFP and BID multiplier is feasible and compelling. II. STUDY OF IEEE FLOATING POINT The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point computation established in 1985 by the Institute of Electrical and Electronics Engineers (IEEE). Many hardware floating point units use the IEEE 754 standard. The current version, IEEE 754-2008 published in August 2008, includes nearly all of the original IEEE 754-1985 standard and the IEEE Standard for Radix-Independent Floating- Point Arithmetic (IEEE 854-1987). The international standard ISO/IEC/IEEE 60559:2011 (with identical content to IEEE 754) has been approved for adoption through JTC1/SC 25 under the ISO/IEEE PSDO Agreement and published [12]. The standard defines 1) Arithmetic formats: sets of binary and decimal floating-point data, which consist of finite numbers (including signed zeros and subnormal numbers), infinities, and special "not a number" values (NaNs). 2) Interchange formats: encodings (bit strings) that may be used to exchange floating-point data in an efficient and compact form 3) Rounding rules: properties to be satisfied when rounding numbers during arithmetic and conversions 4) Operations: arithmetic and other operations on arithmetic formats 5) Exception handling: indications of exceptional conditions (such as division by zero, overflow, etc.) A. Basic format The standard provides for many closely related formats, differing in only a few details. Five of these formats are called basic formats and others are termed extended formats; three of these are especially widely used in computer hardware and languages: 1) Single precision: used to represent the "float" type in the C language family (though this is not guaranteed). This is a binary format that occupies 32 bits (4 bytes) and its significand has a precision of 24 bits (about 7 decimal digits). 2) Double precision: used to represent the "double" type in the C language family (though this is not guaranteed). This is a binary format that occupies 64 bits (8 bytes) and its significand has a precision of 53 bits (about 16 decimal digits). 3) Double extended: also called "extended precision" format. This is a binary format that occupies at least 79 bits (80 if the hidden/implicit bit rule is not used) and its significand has a precision of at least 64 bits (about 19 decimal digits). Increasing the precision of the floating point representation generally reduces the amount of accumulated round-off error caused by intermediate calculations. [5] ISSN: 2231-5381 http://www.ijettjournal.org Page 366

Less common IEEE formats include: 1) Quadruple precision (binary128) is a binary format that occupies 128 bits (16 bytes) and its significand has a precision of 113 bits (about 34 decimal digits). 2) Double precision (decimal64) and quadruple precision (decimal128) decimal floating-point formats. These formats, along with the single precision (decimal32) format, are intended for performing decimal rounding correctly. 3) Half also called float16, a 16-bit floating-point value. B. Rounding Rules The standard defines five rounding rules. The first two rounds to a nearest value; the others are called directed roundings: 1) Roundings to nearest: Round to nearest, ties to even rounds to the nearest value. Round to nearest, ties away from zero rounds to the nearest value 2) Directed Roundings: Round toward 0 directed rounding towards zero (also known as truncation). Round toward + directed rounding towards positive infinity (also known as rounding up or ceiling). Round toward directed rounding towards negative infinity (also known as rounding down or floor). TABLE I. Rounding to integers using the IEEE 754 rules D. Exception handling The five possible exceptions are: 1) Invalid operation (e.g., square root of a negative number) (returns qnan by default). 2) Division by zero (an operation on finite operands gives an exact infinite result, e.g., 1/0 or log (0)) (returns ±infinity by default). 3) Overflow (a result is too large to be represented correctly) (returns ±infinity by default (for round-to-nearest mode)). 4) Underflow (a result is very small (outside the normal range) and is inexact) (returns a denormalized value by default). 5) Inexact (returns correctly rounded result by default). III. OVERVIEW OF IDFP FORMAT A modified decimal floating point format named as Immanuel decimal floating point, (I-DFP) [1], format is proposed here. In this modified decimal format a number can be represented either in binary format or in BCD format. The format of a floating point number represented using the I-DFP is as follows Rounding mode +11.5 +12.5 11.5 12.5 Meta Number Number In Bcd/Binary to nearest, ties to even to nearest, ties away from zero +12.0 +12.0 12.0 12.0 +12.0 +13.0 12.0 13.0 toward 0 +11.0 +12.0 11.0 12.0 toward + +12.0 +13.0 11.0 12.0 toward +11.0 +12.0 12.0 13.0 C. Operations 1) Required operations for a supported arithmetic format (including the basic formats) include: 2) Arithmetic operations (add, subtract, multiply, divide, square root, fused multiply add, remainder, etc.) 3) Conversions (between formats, to and from strings) 4) Scaling and (for decimal) quantizing 5) Copying and manipulating the sign (abs, negate, etc.) 6) Comparisons and total ordering The meta number is an 8 bit number.the meta number indicates the sign (+/-) bit of the number, whether the number is represented in binary / bcd, data format type in use and the number of decimal places in the number. The number can be indicated in the general form as ± (0 to (2N 1)) * 10-E, where the exponential E is in the range 0 to 14. Four data format types are defined after IDFP, they are. 1) FLOAT_CHAR8 (8 bit binary), N=8: META NUMBER NUMBER IN BCD/BINARY ± (0 to 2 8-1) 2) FLOAT_INT16 (16 bit binary), N=16: META NUMBER NUMBER IN BCD/BINARY ± (0 to 2 16-1) 3) FLOAT_INT32 (32 bit binary), N=32: 7) Classification and testing for NaNs, etc. 8) Testing and setting flags META NUMBER NUMBER IN BCD/BINARY ± (0 to 2 32-1) 9) Miscellaneous operations ISSN: 2231-5381 http://www.ijettjournal.org Page 367

4) FLOAT_INT64 (64 bit binary), N=64: META NUMBER NUMBER IN BCD/BINARY ± (0 to 2 64-1) An example of number representation in I DFP, BCD format is as follows. If the number, -42. 9496 7295 is represented in FLOAT_INT32 data type then, - 42. 9496 7295 can be rewritten as - 42 9496 7295 10-8, which when represented in I- DFP BCD format is, 1110 1000 0100 0010 1001 0100 1001 0110 0111 0010 1001 0101. 1) In the above example, first 8 bits will represent the Meta number. 2) In Meta number, first bit represent the sign bit (+/-), where 1 holds for negative and 0 for positive sign. Second and third bit represent the data format (binary/bcd), where 1 holds for BCD and 0 for binary format. Rest of five bits represents the number of decimal places in number. In the above example its 8 (01000). Other bits of IDFP format represent the number either in binary or BCD format. IV. IDFP ARITHMETIC UNIT The IDFP arithmetic unit is formed by making use of BCD Adder/ Subtractor and a LUT based multiplier. In this model the Adder/Subtractor is used of 40-bits. Among the 40-bits 8-bits are used for the Meta number and rest all 32-bits for the BCD/Binary representation of the IDFP number. The multiplier used here for the multiplication of two IDFP numbers is LUT multiplier of 40-bits. Fig.1 BCD Adder BCD or Binary Coded Decimal is that number system or code which has the binary numbers or digits to represent a decimal number. In case of BCD the binary number formed by four binary digits, will be the equivalent code for the given decimal digits and we can use the binary number from 0000-1001 only, which are the decimal equivalent from 0-9 respectively. It is possible to perform addition in BCD by first adding in binary, and then converting to BCD afterwards. Conversion of the simple sum of two digits can be done by adding 6 (that is, 16 10) when the five-bit result of adding a pair of digits has a value greater than 9 as shown in fig 1. This technique can be extended to adding multiple digits by adding in groups from right to left, propagating the second digit as a carry, always comparing the 5-bit result of each digit-pair sum to nine. BCD Subtraction is done by adding the ten's complement of the subtrahend. To represent the sign of a number in BCD, the number 0000 is used to represent a positive number, and 1001 is used to represent a negative number. The remaining 14 combinations are invalid signs. The LUT multiplier is used for multiplying two multi-bit binary operands to produce a binary result by means of a lookup table containing all possible products of said operands, reduction of the total amount of memory required to store the table is obtained by segmenting one operand into a plurality of non-overlapping bit groups and constructing lookup tables for the bit groups, in which each lookup table contains products of its associated bit group and the other, non-partitioned operand. Multiplication is accomplished by generating partial products from the lookup tables, shifting the partial products to account for the relative significance of their associated bit groups, and adding the partial products to provide the resultant product. Look-Up Table multipliers are simply a block of memory containing a complete multiplication table of all possible input combinations. The large table sizes needed for even modest input widths make these impractical for FPGAs. The following table is the contents for a 6 input LUT for a 3 bit by 3 bit multiplication table. ISSN: 2231-5381 http://www.ijettjournal.org Page 368

TABLE II: Truth Table of LUT Multiplier 000 001 010 011 100 101 110 111 000 000000 000000 000000 000000 000000 000000 000000 000000 001 000000 000001 000010 000011 000100 000101 000110 000111 010 000000 00010 000100 000110 001000 001010 001100 001110 011 000000 000011 000110 001001 001100 001111 010010 010101 100 000000 000100 001000 001100 010000 010100 011000 011100 101 000000 000101 001010 001111 010100 011001 011110 100011 110 000000 000110 001100 010010 011000 011110 100100 101010 111 000000 000111 001110 010101 011100 100011 101010 110001 The IDFP arithmetic unit (as shown in Fig. 2) consists of a multiplexer which is used to select one of the operations (addition/ subtraction/ multiplication). By making use of a select line of a Mux we perform the particular operation with two IDFP numbers. Whenever the select line is 0 the BCD addition is performed. The data format is of 40 bit MSB 8 bits represents the Meta number and remaining 32 bits represents the data in BCD format. While performing the BCD addition the data and exponent part is added as per BCD addition. The first 4 bits of Meta number perform the XOR operation. The same procedure is followed for the BCD subtraction when the select line is 1. Multiplication is done when the select line is 2, the Meta number is added according to BCD addition and only the data (LSB 32 bits) is multiplied with LUT multiplier as shown in Fig 3. Fig.3 Simulation result of an IDFP arithmetic unit V. CONCLUSION AND FUTURE SCOPE A. Conclusion This dissertation discusses the overall contribution of the project. 1) The IDFP floating point format is implemented. 2) The schematic and simulation result of one bit adder, four bit adder, BCD adder, inverter, 9 s complement, BCD Subtractor, multiplexer, LUT multiplier, top module of the project are designed and implemented. 3) The 1474 number of LUT s is used with 5% of utilization. Number of bounded IOB s used are 128 with 26% of utilization. 4) The IDFP arithmetic unit is designed for 32-bits. The addition and subtraction of IDFP numbers is accomplished using 32-bit BCD adder/subtractor. The multiplier is designed using 32-bit LUT multiplier. 5) The arithmetic unit is designed and implemented in Xilinx technology of version 13.4 (Higher Version) using Xilinx ISE and Xilinx XST Tools. Fig.2 RTL Schematic of an IDFP arithmetic unit B. Future Work 1) The design in this dissertation can be upgraded to give better performance. 2) Resolution can be increased up to 64 to 128 bits in order to increase the size of a unit. 3) We can design and implement IDFP divider for 32- bit format. 4) Using different multipliers we can design a better IDFP multiplier ISSN: 2231-5381 http://www.ijettjournal.org Page 369

REFERENCES [1] Vincent, R.; Anju, S.L., "Decimal floating point format based on commonly used precision for embedded system applications," Emerging Research Areas and 2013 International Conference on Microelectronics, Communications and Renewable Energy (AICERA/ICMiCR), 2013 Annual International Conference on, vol., no., pp.1,4, 4-6 June 2013 doi: 10.1109/AICERA-ICMiCR.2013.6575957 [2] IEEE, IEEE standard for binary floating-point arithmetic, ANSI/IEEE Std 754-1985, 1985. [3] IEEE, IEEE standard for floating-point arithmetic, IEEE Std 754-2008, pp. 1 58, 2008. [4] M. F. Cowlishaw, Decimal floating-point: Algorism for computers, in IEEE Symposium on Computer Arithmetic, 2003, pp. 104 111. [5] IBM. (2005 Mar.) The Telco benchmark. [Online]. Available: speleotrove.com/decimal/telco.html [6] L.K Wang C. Tsen, M.J.Schulte and D. Jhalani Benchmarks and performance analysis of decimal floating point applications, in proceeding of the 25th IEEE International Conference on Computer Design. 2007, pp.164-170 [7] Michael J. Anderson, Charles Tsen, Liang-Kai Wang, Katherine Compton, and Michael J. Schulte Performance Analysis of Decimal Floating-Point Libraries and Its Impact on Decimal Hardware and Software Solutions, IEEE, pp 465 471, 2009. [8] IEEE Standard for Floating-Point Arithmetic, IEEE Std. 754-2008, 2008. [9]Charles Tsen, Sonia González-Navarro, Michael Schulte1, Brian Hickmann, Katherine Compton A Combined Decimal and Binary Floatingpoint Multiplier, IEEE, pp 8-15, 2009. [10] S. G. Navarro, C. Tsen and M. J. Schulte, "A binary integer decimalbased multiplier for decimal floating-point arithmetic," in Proceedings of 41st Asilomar Conference on Signals, Systems, and Computers, 2007, pp. 164-170. [11] M. L. Ercegovac, T. Lang, "Floating-point multiplication," in Digital Arithmetic, 1st ed. San Francisco: Morgan Kaufmann Publishers, 2004, pp. 435 [12] ISO/IEC/IEEE 60559:2011- Information Technology Microprocessor Systems-Floating point Arithmetic. ISSN: 2231-5381 http://www.ijettjournal.org Page 370