DocumentCode :
29946
Title :
High-Level Language Tools for Reconfigurable Computing
Author :
Windh, Skyler ; Xiaoyin Ma ; Halstead, Robert J. ; Budhkar, Prerna ; Luna, Zabdiel ; Hussaini, Omar ; Najjar, Walid A.
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of California at Riverside, Riverside, CA, USA
Volume :
103
Issue :
3
fYear :
2015
fDate :
Mar-15
Firstpage :
390
Lastpage :
408
Abstract :
In the past decade or so we have witnessed a steadily increasing interest in FPGAs as hardware accelerators: they provide an excellent mid-point between the reprogrammability of software devices (CPUs, DSPs, and GPUs) and the performance and low energy consumption of ASICs. However, the programmability of FPGA-based accelerators remains one of the biggest obstacles to their wider adoption. Developing FPGA programs requires extensive familiarity with hardware design and experience with a tedious and complex tool chain. For half a century, layers of abstractions have been developed that simplify the software development process: languages, compilers, dynamically linked libraries, operating systems, APIs, etc. Very little, if any, such abstractions exist in the development of FPGA programs. In this paper, we review the history of using FPGAs as hardware accelerators and summarize the challenges facing the raising of the programming abstraction layers. We survey five High-Level Language tools for the development of FPGA programs: Xilinx Vivado, Altera OpenCL, BluespecBSV, ROCCC, and LegUp to provide an overview of their tool flow, the optimizations they provide, and a qualitative analysis of their hardware implementations of high level code.
Keywords :
application specific integrated circuits; field programmable gate arrays; high level languages; reconfigurable architectures; API; ASIC; Altera OpenCL; BluespecBSV; CPU; DSP; FPGA based accelerators; GPU; LegUp; ROCCC; Xilinx Vivado; dynamically linked libraries; hardware accelerators; high level language tools; operating systems; programming abstraction layers; qualitative analysis; reconfigurable computing; software development process; software devices reprogrammability; Accelerators; Computational modeling; Field programmable gate arrays; High level languages; Optimization; Programming; Reconfigurable architectures; Compiler optimization; high level synthesis; max filter; reconfigurable computing;
fLanguage :
English
Journal_Title :
Proceedings of the IEEE
Publisher :
ieee
ISSN :
0018-9219
Type :
jour
DOI :
10.1109/JPROC.2015.2399275
Filename :
7086410
Link To Document :
بازگشت