DocumentCode :
2491265
Title :
Designing Modular Hardware Accelerators in C with ROCCC 2.0
Author :
Villarreal, Jason ; Park, Adrian ; Najjar, Walid ; Halstead, Robert
fYear :
2010
fDate :
2-4 May 2010
Firstpage :
127
Lastpage :
134
Abstract :
While FPGA-based hardware accelerators have repeatedly been demonstrated as a viable option, their programmability remains a major barrier to their wider acceptance by application code developers. These platforms are typically programmed in a low level hardware description language, a skill not common among application developers and a process that is often tedious and error-prone. Programming FPGAs from high level languages would provide easier integration with software systems as well as open up hardware accelerators to a wider spectrum of application developers. In this paper, we present a major revision to the Riverside Optimizing Compiler for Configurable Circuits (ROCCC) designed to create hardware accelerators from C programs. Novel additions to ROCCC include (1) intuitive modular bottom-up design of circuits from C, and (2) separation of code generation from specific FPGA platforms. The additions we make do not introduce any new syntax to the C code and maintain the high level optimizations from the ROCCC system that generate efficient code. The modular code we support functions identically as software or hardware. Additionally, we enable user control of hardware optimizations such as systolic array generation and temporal common subexpression elimination. We evaluate the quality of the ROCCC 2.0 tool by comparing it to hand-written VHDL code. We show comparable clock frequencies and a 18% higher throughput. The productivity advantages of ROCCC 2.0 is evaluated using the metrics of lines of code and programming time showing an average of 15× improvement over hand-written VHDL.
Keywords :
C language; field programmable gate arrays; hardware description languages; program compilers; systolic arrays; C programs; FPGA based hardware accelerators; code generation; handwritten VHDL code; hardware optimizations; low level hardware description language; modular hardware accelerators; riverside optimizing compiler for configurable circuits; systolic array generation; Application software; Circuits; Clocks; Field programmable gate arrays; Frequency; Hardware design languages; High level languages; Optimizing compilers; Software systems; Systolic arrays; C-to-VHDL; Compilers; FPGAs; High Level Synthesis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Field-Programmable Custom Computing Machines (FCCM), 2010 18th IEEE Annual International Symposium on
Conference_Location :
Charlotte, NC
Print_ISBN :
978-0-7695-4056-6
Electronic_ISBN :
978-1-4244-7143-0
Type :
conf
DOI :
10.1109/FCCM.2010.28
Filename :
5474060
Link To Document :
بازگشت