Analysis of library functions for FPGA compute accelerators

As FPGAs have grown ever larger, there has been a shift in the manner in which they are programmed. Early on, it was typical for designers to design all FPGA firmware in house using VHDL and Verilog. This gradually shifted towards design reuse at the IP Core Level. However in modern times, even designs at the IP level are having trouble adapting quickly enough to customer demands. This has resulted in a change in focus towards higher level languages such as OpenCL. A key aspect of OpenCL is it's standard library and specifically the math builtins of the standard library. This paper performs an in-depth analysis of the math functions in the OpenCL standard library and develops a framework to perform further analysis of library functions being implemented on FPGAs.

[1]  M. Payne,et al.  Radian reduction for trigonometric functions , 1983, SGNM.

[2]  Ray Andraka,et al.  A survey of CORDIC algorithms for FPGA based computers , 1998, FPGA '98.

[3]  Aaftab Munshi,et al.  The OpenCL specification , 2009, 2009 IEEE Hot Chips 21 Symposium (HCS).

[4]  Luciano Lavagno,et al.  Efficient FPGA Implementation of OpenCL High-Performance Computing Applications via High-Level Synthesis , 2017, IEEE Access.

[5]  Jafar Saniie,et al.  Implementation of elementary functions for FPGA compute accelerators , 2016, 2016 IEEE International Conference on Electro Information Technology (EIT).

[6]  Jari Nurmi,et al.  Using OpenCL to rapidly prototype FPGA designs , 2016, 2016 IEEE Nordic Circuits and Systems Conference (NORCAS).

[7]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Marco D. Santambrogio,et al.  On How to Improve FPGA-Based Systems Design Productivity via SDAccel , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).