This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Optimizing Hardware Function Evaluation
December 2005 (vol. 54 no. 12)
pp. 1520-1531
We present a methodology and an automated system for function evaluation unit generation. Our system selects the best function evaluation hardware for a given function, accuracy requirements, technology mapping, and optimization metrics, such as area, throughput, and latency. Function evaluation f(x) typically consists of range reduction and the actual evaluation on a small convenient interval such as [0,\pi/2) for \sin(x). We investigate the impact of hardware function evaluation with range reduction for a given range and precision of x and f(x) on area and speed. An automated bit-width optimization technique for minimizing the sizes of the operators in the data paths is also proposed. We explore a vast design space for fixed-point \sin(x), \log(x), and \sqrt{x} accurate to one unit in the last place using MATLAB and ASC, A Stream Compiler for Field-Programmable Gate Arrays (FPGAs). In this study, we implement over 2,000 placed-and-routed FPGA designs, resulting in over 100 million Application-Specific Integrated Circuit (ASIC) equivalent gates. We provide optimal function evaluation results for range and precision combinations between 8 and 48 bits.

[1] E. O'Grady and C. Wang, “Performance Limitations in Parallel Processor Simulations,” Trans. Soc. Computer Simulation, vol. 4, pp. 311-330, 1987.
[2] J. Muller, Elementary Functions: Algorithms and Implementation. Birkhauser Verlag AG, 1997.
[3] O. Mencer and W. Luk, “Parameterized High Throughput Function Evaluation for FPGAs,” J. VLSI Signal Processing, vol. 36, no. 1, pp. 17-25, 2004.
[4] J.E. Stine and M.J. Schulte, “The Symmetric Table Addition Method for Accurate Function Approximation,” J. VLSI Signal Processing, vol. 32, no. 2, pp. 167-177, 1999.
[5] R. Andraka, “A Survey of CORDIC Algorithms for FPGA Based Computers,” Proc. ACM/SIGDA Int'l Symp. Field-Programmable Gate Arrays, pp. 191-200, 1998.
[6] A. Peymandoust and G. De Micheli, “Application of Symbolic Computer Algebra in High-Level Data-Flow Synthesis,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 22, no. 9, pp. 1154-1165, 2003.
[7] C. Maxfield, The Design Warrior's Guide to FPGAs. Newnes, 2004.
[8] Virtex-4 Family Overview, Xilinx Inc., 2004, http:/www.xilinx. com.
[9] O. Mencer, D. Pearce, L. Howes, and W. Luk, “Design Space Exploration with a Stream Compiler,” Proc. IEEE Int'l Conf. Field-Programmable Technology, pp. 270-277, 2003.
[10] D. Das Sarma and D. Matula, “Faithful Bipartite ROM Reciprocal Tables,” Proc. IEEE Symp. Computer Arithmetic, pp. 17-28, 1995.
[11] M.J. Schulte and E.E. Swartzlander Jr., “Hardware Designs for Exactly Rounded Elementary Functions,” IEEE Trans. Computers, vol. 43, no. 8, pp. 964-973, Aug. 1994.
[12] J. Walther, “A Unified Algorithm for Elementary Functions,” Proc. AFIPS Spring Joint Computer Conf., pp. 379-385, 1971.
[13] D. Lee, A. Abdul Gaffar, O. Mencer, and W. Luk, “Adaptive Range Reduction for Hardware Function Evaluation,” Proc. IEEE Int'l Conf. Field-Programmable Technology, pp. 169-176, 2004.
[14] I. Koren and O. Zinaty, “Evaluating Elementary Functions in a Numerical Coprocessor Based on Rational Approximations,” IEEE Trans. Computers, vol. 39, no. 8, pp. 1030-1037, Aug. 1990.
[15] G. Constantinides, P. Cheung, and W. Luk, “Wordlength Optimization for Linear Digital Signal Processing,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 22, no. 10, pp. 1432-1442, 2003.
[16] K. Kum and W. Sung, “Combined Word-Length Optimization and High-Level Synthesis of Digital Signal Processing Systems,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 8, pp. 921-930, 2001.
[17] G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994.
[18] J. Harrison, T. Kubaska, S. Story, and P. Tang, “The Computation of Transcendental Functions on the IA-64 Architecture,” Intel Technology J., vol. Q4 1999.

Index Terms:
Index Terms- Computer arithmetic, elementary function approximation, gate arrays, minimax approximation and algorithms, optimization.
Citation:
Dong-U Lee, Altaf Abdul Gaffar, Oskar Mencer, Wayne Luk, "Optimizing Hardware Function Evaluation," IEEE Transactions on Computers, vol. 54, no. 12, pp. 1520-1531, Dec. 2005, doi:10.1109/TC.2005.201
Usage of this product signifies your acceptance of the Terms of Use.