Hardware Design of a Binary Integer Decimal-based IEEE P754 Rounding Unit

Because of the growing importance of decimal floating-point (DFP) arithmetic, specifications for it were recently added to the draft revision of the IEEE 754 Standard (IEEE P754). In this paper, we present a hardware design for a rounding unit for 64-bit DFP numbers (decimal 64) that use the IEEE P754 binary encoding of DFP numbers, which is widely known as the Binary Integer Decimal (BID) encoding. We summarize the technique used for rounding, present the theory and design of the BID rounding unit, and evaluate its critical path delay, latency, and area for combinational and pipelined designs. Over 86% of the rounding unit's area is due to a 55-bit by 54-bit binary multiplier, which can be shared with a double-precision binary floating-point multiplier. To our knowledge, this is the first hardware design for rounding IEEE P754 BID-encoded DFP numbers.

[1]  John Harrison,et al.  A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).

[2]  Michael J. Schulte,et al.  Decimal floating-point square root using Newton-Raphson iteration , 2005, 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors (ASAP'05).

[3]  Marius Cornea,et al.  Software implementation of the IEEE 754R decimal floating-point arithmetic , 2006, ICSOFT.

[4]  Michael J. Schulte,et al.  Decimal floating-point division using Newton-Raphson iteration , 2004, Proceedings. 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 2004..

[5]  Michael F. Cowlishaw,et al.  Decimal floating-point: algorism for computers , 2003, Proceedings 2003 16th IEEE Symposium on Computer Arithmetic.

[6]  Thomas E. Hull,et al.  CADAC: A Controlled-Precision Decimal Arithmetic Unit , 1983, IEEE Transactions on Computers.

[7]  Braden Phillips,et al.  Fast Decimal Floating-Point Division , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  Michael J. Schulte,et al.  A 64-bit decimal floating-point adder , 2004, IEEE Computer Society Annual Symposium on VLSI.

[9]  Ali Y. Duale,et al.  Decimal floating-point in z9: An implementation and testing perspective , 2007, IBM J. Res. Dev..

[10]  Peter L. Montgomery,et al.  Division by invariant integers using multiplication , 1994, PLDI '94.

[11]  M. Cowlishaw Densely packed decimal encoding , 2002 .