A decimal fully parallel and pipelined floating point multiplier

Decimal arithmetic is important in several commercial applications including financial analysis, banking, tax calculation, currency conversion, insurance, and accounting. This paper presents a fully parallel Decimal64 floating point (FP) multiplier compliant to IEEE Std 754-2008 for floating point arithmetic. The proposed multiplier possesses novel methods to target low latency. The proposed design is based on a previously published fixed point multiplier that uses a novel BCD-4221 recoding for decimal digits to improve the area and latency of the partial product generation and the partial product reduction tree. Several enhancements are introduced to the design; the final carry propagation adder is implemented using a fully parallel decimal adder with a Kogge-Stone prefix tree, the sticky bit is generated in parallel to the shifter to reduce the critical path delay. The design is extendable to support Decimal128 floating point multiplication. The multiplier is hardware verified for functionality on an FPGA.

[1]  Michael J. Schulte,et al.  Decimal Floating-Point Multiplication Via Carry-Save Addition , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).

[2]  Paolo Montuschi,et al.  A New Family of High.Performance Parallel Decimal Multipliers , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).

[3]  Michael J. Schulte,et al.  A parallel IEEE P754 decimal floating-point multiplier , 2007, 2007 25th International Conference on Computer Design.

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

[5]  James Demmel,et al.  IEEE Standard for Floating-Point Arithmetic , 2008 .