DocumentCode :
1125429
Title :
ASC: a stream compiler for computing with FPGAs
Author :
Mencer, Oskar
Author_Institution :
Dept. of Comput., Imperial Coll., London
Volume :
25
Issue :
9
fYear :
2006
Firstpage :
1603
Lastpage :
1617
Abstract :
A stream compiler (ASC) for computing with field programmable gate arrays (FPGAs) emerges from the ambition to bridge the hardware-design productivity gap where the number of available transistors grows more rapidly than the productivity of very large scale integration (VLSI) and FPGA computer-aided-design (CAD) tools. ASC addresses this problem with a softwarelike programming interface to hardware design (FPGAs) while keeping the performance of hand-designed circuits at the same time. ASC improves productivity by letting the programmer optimize the implementation on the algorithm level, the architecture level, the arithmetic level, and the gate level, all within the same C++ program. The increased productivity of ASC is applied to the hardware acceleration of a wide range of applications. Traditionally, hardware accelerators are tediously handcrafted to achieve top performance. ASC simplifies design-space exploration of hardware accelerators by transforming the hardware-design task into a software-design process, using only "GNU compiler collection (GCC)" and "make" to obtain a hardware netlist. From experience, the hardware-design productivity and ease of use are close to pure software development. This paper presents results and case studies with optimizations that are: 1) on the gate level-Kasumi and International Data Encryption Algorithm (IDEA) encryptions; 2) on the arithmetic level-redundant addition and multiplication function evaluation for two-dimensional (2-D) rotation; and 3) on the architecture level-Wavelet and Lempel-Ziv (LZ)-like compression
Keywords :
C++ language; VLSI; circuit CAD; cryptography; digital arithmetic; field programmable gate arrays; hardware-software codesign; logic CAD; program compilers; C++ program; GNU compiler collection; Kasumi encryption; computer aided design tools; field programmable gate arrays; hardware design; hardware netlist; international data encryption algorithm encryptions; redundant addition and multiplication function evaluation; software development; software-hardware design; stream compiler; very large scale integration; Arithmetic; Bridge circuits; Cryptography; Design automation; Field programmable gate arrays; Hardware; Productivity; Program processors; Programming profession; Very large scale integration; Design space exploration; FPGAs; hardware design;
fLanguage :
English
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
0278-0070
Type :
jour
DOI :
10.1109/TCAD.2005.857377
Filename :
1673737
Link To Document :
بازگشت