A Study on the Design of Floating-Point Functions in FPGAs
Floating-Point Operations represent a common task in a variety of applications, but such operations often result in a bottleneck, due to the large number of machine cycles required to compute them. Even though the FPGA community has developed advanced algorithms to improve the speed of FLOPs, floating-point transcendental functions are still underdeveloped. In this paper, we discuss some of the tradeoffs faced when implementing floating-point functions in FPGAs. These techniques, including lookup tables, and CORDIC algorithms, have been used in the past for the implementation of fixed-point analytic functions. This paper seeks to apply those methods to floating-point functions. The implementation results from different versions of a floating-point sine function are summarized in terms of speed, area, and accuracy to understand the effect of different architectural alternatives.
KeywordsConversion Module Machine Cycle CORDIC Algorithm Architectural Alternative Straight Line Approximation
Unable to display preview. Download preview PDF.
- 4.Andraka, R.: A survey of CORDIC algorithms for FPGA based computers. In: Presented at ACM International Symposium on Field-Programmable Gate Arrays, Monterey, California (1998)Google Scholar
- 5.Vladimirova, T., Tiggeler, H.: FPGA Implementation of Sine and Cosine Generators Using the CORDIC Algorithm. In: Presented at Military and Aerospace Applications of Programmable Devices and Technologies, Laurel, Maryland (1999)Google Scholar
- 6.Belanovic, P.: Library of Parameterized Hardware Modules for Floating-Point Arithmetic with An Example Application. In: Electrical and Computer Engineering, p. 83. Northeastern University, Boston (2002)Google Scholar