DocumentCode :
2873765
Title :
A C to HDL compiler for pipeline processing on FPGAs
Author :
Maruyama, Tsutomu ; Hoshino, Tsutomu
Author_Institution :
Inst. of Eng. Mech. & Syst., Tsukuba Univ., Ibaraki, Japan
fYear :
2000
fDate :
2000
Firstpage :
101
Lastpage :
110
Abstract :
In this paper, we show a compiler that generates high speed pipeline circuits for loop and recursive programs written in C programming language, which are the most time exhaustive parts in many application problems. The compiler has following features. First, all operations (except for memory accesses) are divided into cascades of 8-bit width (at maximum) operations in order to achieve high speed clock cycle. Second, in order to fulfil the pipeline, variables that have data feedback dependencies between loop cycles are specially scheduled based on several kinds of optimizing techniques. Furthermore, computations of each loop cycle are speculatively started in every clock cycle even if an array on the same memory bank may be accessed more than once in a loop cycle and there may be data feedback dependencies caused by the array accesses. When the array is accessed more than once, the pipeline is stalled while the array access operations are executed sequentially, and when the feedback dependencies are detected, the speculative computations are cancelled, and restarted after the updates of array are finished. Experiments on simple combinatorial programs showed that the pipeline circuits generated by the compiler run about 39-47 MHz on ALTERA EPF10KA serious (which is as fast as hand optimized circuits), and the speed up by the speculative execution is more than two
Keywords :
field programmable gate arrays; parallel programming; pipeline processing; program compilers; 8-bit width; C programming language; C to HDL compiler; FPGAs; array access operations; clock cycle; combinatorial programs; data feedback dependencies; high speed pipeline circuits; loop cycles; pipeline processing; recursive programs; Circuits; Clocks; Computer languages; Feedback loop; Field programmable gate arrays; Hardware design languages; Optimizing compilers; Pipeline processing; Processor scheduling; Program processors;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Field-Programmable Custom Computing Machines, 2000 IEEE Symposium on
Conference_Location :
Napa Valley, CA
Print_ISBN :
0-7695-0871-5
Type :
conf
DOI :
10.1109/FPGA.2000.903397
Filename :
903397
Link To Document :
بازگشت