Automated optimization of look-up table implementation for function evaluation on FPGAs

This paper presents a systematic approach for automatic generation of look-up-table (LUT) for function evaluations and minimization in hardware resource on field programmable gate arrays (FPGAs). The class of functions supported by this approach includes sine, cosine, exponentials, Gaussians, the central B-splines, and certain cylinder functions that are frequently used in applications for signal and image processing and data processing. In order to meet customer requirements in accuracy and speed as well as constraints on the use of area and on-chip memory, the function evaluation is based on numerical approximation with Taylor polynomials. Customized data precisions are supported in both fixed point and floating point representations. The optimization procedure involves a search in three-dimensional design space of data precision, sampling density and approximation degree. It utilizes both model-based estimates and gradient-based information gathered during the search. The approach was tested with actual synthesis results on the Xilinx Virtex-2Pro FPGA platform.

[1]  Ping Tak Peter Tang,et al.  Table-lookup algorithms for elementary functions and their error analysis , 1991, [1991] Proceedings 10th IEEE Symposium on Computer Arithmetic.

[2]  Mahmut T. Kandemir,et al.  Efficient Function Evaluations with Lookup Tables for Structured Matrix Operations , 2007, 2007 IEEE Workshop on Signal Processing Systems.

[3]  B. Krauskopf,et al.  Proc of SPIE , 2003 .

[4]  Ping Tak Peter Tang Table-driven implementation of the exponential function in IEEE floating-point arithmetic , 1989, TOMS.

[5]  William J. Cody,et al.  The use of Taylor series to test accuracy of function programs , 1991, TOMS.

[6]  Chaitali Chakrabarti,et al.  Accurate models for estimating area and power of FPGA implementations , 2008, 2008 IEEE International Conference on Acoustics, Speech and Signal Processing.

[7]  Shinobu Nagayama,et al.  Numerical Function Generators Using LUT Cascades , 2007, IEEE Transactions on Computers.

[8]  Michael Unser,et al.  Splines: a perfect fit for signal and image processing , 1999, IEEE Signal Process. Mag..

[9]  Javier D. Bruguera,et al.  Faithful powering computation using table look-up and a fused accumulation tree , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[10]  S. Tahar,et al.  Design and synthesis of an IEEE-754 exponential function , 1999, Engineering Solutions for the Next Millennium. 1999 IEEE Canadian Conference on Electrical and Computer Engineering (Cat. No.99TH8411).

[11]  Jie Cheng,et al.  High-performance architectures for elementary function generation , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[12]  Naofumi Takagi Powering by a Table Look-Up and a Multiplication with Operand Modification , 1998, IEEE Trans. Computers.

[13]  Jean-Michel Muller,et al.  "Partially rounded" small-order approximations for accurate, hardware-oriented, table-based methods , 2003, Proceedings 2003 16th IEEE Symposium on Computer Arithmetic.