Automating Optimized Table-with-Polynomial Function Evaluation for FPGAs
Function evaluation is at the core of many compute-intensive applications which perform well on reconfigurable platforms. Yet, in order to implement function evaluation efficiently, the FPGA programmer has to choose between a multitude of function evaluation methods such as table lookup, polynomial approximation, or table lookup combined with polynomial approximation. In this paper, we present a methodology and a partially automated implementation to select the best function evaluation hardware for a given function, accuracy requirement, technology mapping and optimization metrics, such as area, throughput and latency. The automation of function evaluation unit design is combined with ASC, A Stream Compiler, for FPGAs. On the algorithmic side, MATLAB designs approximation algorithms with polynomial coefficients and minimizes bitwidths. On the hardware implementation side, ASC provides partially automated design space exploration. We illustrate our approach for sin(x), log(1+x) and 2x with a selection of graphs that characterize the design space with various dimensions, including accuracy, precision and function evaluation method. We also demonstrate design space exploration by implementing more than 400 distinct designs.
Unable to display preview. Download preview PDF.
- 1.Cao, J., We, B.W.Y., Cheng, J.: High-performance architectures for elementary function generation. In: Proc. 15th IEEE Symp. on Comput. Arith. (2001)Google Scholar
- 2.Flynn, M.J., Oberman, S.F.: Advanced Computer Arithmetic Design. John Wiley & Sons, NewYork (2001)Google Scholar
- 4.Lee, D., Luk, W., Villasenor, J., Cheung, P.Y.K.: Hierarchical Segmentation Schemes for Function Evaluation. In: Proc. IEEE Int. Conf. on Field-Prog. Tech., pp. 92–99 (2003)Google Scholar
- 6.Mencer, O., Pearce, D.J., Howes, L.W., Luk, W.: Design space exploration with a stream compiler. In: Proc. IEEE Int. Conf. on Field-Prog. Tech., pp. 270–277 (2003)Google Scholar
- 9.Patrice, B., Didier, R., Jean, V.: Programmable active memories: a performance assessment. In: Proc. ACM Int. Symp. on Field-Prog. Gate Arrays (1992)Google Scholar
- 11.Tang, P.T.P.: Table lookup algorithms for elementary functions and their error analysis. In: Proc. IEEE Symp. on Comput. Arith., pp. 232–236 (1991)Google Scholar