A radix-10 SRT divider based on alternative BCD codings

In this paper we present the algorithm and architecture a radix-10 floating-point divider based on an SRT non-restoring digit-by-digit algorithm. The algorithm uses conventional techniques developed to speed-up radix-2k division such as signed-digit (SD) redundant quotient and digit selection by constant comparison using a carry-save estimate of the partial remainder. To optimize area and latency for decimal, we include novel features such as the use of alternative BCD codings to represent decimal operands, estimates by truncation at any binary position inside a decimal digit, a single customized fast carry propagate decimal adder for partial remainder computation, initial odd multiple generation and final normalization with rounding, and register placement to exploit advanced high fanin mux-latch circuits. The rough area-delay estimations performed show that the proposed divider has a similar latency but less hardware complexity (1.3 area ratio) than a recently published high performance digit-by-digit implementation.

[1]  Tomás Lang,et al.  Digit-recurrence dividers with reduced logical depth , 2005, IEEE Transactions on Computers.

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

[3]  F.Y. Busaba,et al.  The IBM z900 decimal arithmetic unit , 2001, Conference Record of Thirty-Fifth Asilomar Conference on Signals, Systems and Computers (Cat.No.01CH37256).

[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]  R. Krishnamurthy,et al.  A 4 GHz 130 nm address generation unit with 32-bit sparse-tree adder core , 2002, 2002 Symposium on VLSI Circuits. Digest of Technical Papers (Cat. No.02CH37302).

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

[7]  S.H. Dhong,et al.  A fully pipelined single-precision floating-point unit in the synergistic processor element of a CELL processor , 2006, IEEE Journal of Solid-State Circuits.

[8]  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).

[9]  Tomás Lang,et al.  A Radix-10 Digit-Recurrence Division Unit: Algorithm and Architecture , 2007, IEEE Transactions on Computers.

[10]  Neil Burgess,et al.  The Flagged Prefix Adder and its Applications in Integer Arithmetic , 2002, J. VLSI Signal Process..

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

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

[13]  M. Ercegovac,et al.  Division and Square Root: Digit-Recurrence Algorithms and Implementations , 1994 .