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