An iterative division algorithm for FPGAs

Division is one of the most complicated and expensive arithmetic operations. Both clock frequency and operation delay are limited by the memory wall, even in LUT-based FPGA devices. To conquer the memory limitation, we propose a hybrid division algorithm which employs Prescaling, Series expansion and Taylor expansion (PST) algorithms. The proposed algorithm boosts very-high radix division efficiently. The algorithm is multiplicative, and feasible for the modern FPGA devices with build-in multipliers. The algorithm is implemented in Altera StratixII FPGA devices and compared with the division IP core generated by MegaWizard. The result shows that the PST algorithm has higher clock frequency, lower execution time and also lower power consumption.

[1]  Jean-Pierre Deschamps,et al.  Comparative Study of SRT-Dividers in FPGA , 2004, FPL.

[2]  Peter W. Markstein Computation of Elementary Functions on the IBM RISC System/6000 Processors , 1990, IBM J. Res. Dev..

[3]  A. A. Ibrahem,et al.  FPGA implementation of fast radix 4 division algorithm , 2004 .

[4]  Robert E Goldschmidt,et al.  Applications of division by convergence , 1964 .

[5]  James E. Robertson,et al.  A New Class of Digital Division Methods , 1958, IRE Trans. Electron. Comput..

[6]  K. D. Tocher TECHNIQUES OF MULTIPLICATION AND DIVISION FOR AUTOMATIC BINARY COMPUTERS , 1958 .

[7]  Ping Tak Peter Tang,et al.  It takes six ones to reach a flaw [Pentium processor] , 1995, Proceedings of the 12th Symposium on Computer Arithmetic.

[8]  M. Flynn,et al.  Fast division algorithm with a small lookup table , 1999, Conference Record of the Thirty-Third Asilomar Conference on Signals, Systems, and Computers (Cat. No.CH37020).

[9]  Michael J. Flynn,et al.  Division Algorithms and Implementations , 1997, IEEE Trans. Computers.

[10]  Stuart F. Oberman,et al.  Floating point division and square root algorithms and implementation in the AMD-K7/sup TM/ microprocessor , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[11]  Chin Chin Tung A Division Algorithm for Signed-Digit Arithmetic , 1968, IEEE Transactions on Computers.