FPGA optimizations for a pipelined floating-point exponential unit

  • Authors:
  • Nikolaos Alachiotis;Alexandros Stamatakis

  • Affiliations:
  • The Exelixis Lab, Scientific Computing Group, Heidelberg Institute for Theoretical Studies;The Exelixis Lab, Scientific Computing Group, Heidelberg Institute for Theoretical Studies

  • Venue:
  • ARC'11 Proceedings of the 7th international conference on Reconfigurable computing: architectures, tools and applications
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The large number of available DSP slices on new-generation FPGAs allows for efficient mapping and acceleration of floating-point intensive codes. Numerous scientific codes heavily rely on executing the exponential function. To this end, we present the design and implementation of a pipelined CORDIC/TD-based (COrdinate Rotation DIgital Computer/Table Driven) Exponential Approximation Unit (EAU) that will be made freely available for download (including the hardware description). The EAU supports single and double precision arithmetics and we provide appropriate configurations for Virtex2, Virtex4, and Virtex5 FPGAs. The architecture has been verified via simulations and by testing on a real FPGA. The implementation achieves the highest clock frequency reported in literature to date. Moreover, the EAU only occupies 5% of hardware resources on a medium-size FPGA such as the Virtex 5 SX95T. In addition, a general framework for safely conducting application-specific optimizations of floating-point operators on FPGAs is presented. We apply this framework to a bioinformatics application and optimize the EAU architecture using width-reduced floating-point operators and application-specific performance tuning. The optimized application-specific EAU occupies approximately 70% less hardware resources than the initial single precision implementation.