Title :
Implementing C designs in hardware: a full-featured ANSI C to RTL Verilog compiler in action
Author :
Soderman, Donald ; Panchul, Yuri
Author_Institution :
CompiLogic Corp., San Jose, CA, USA
Abstract :
The usage of a new full-featured ANSI C to synthesizable RTL Verilog compiler for implementing system-level algorithms in hardware is described. The compiler automatically creates multiple Verilog state machines for loops, on-chip register and arithmetic macros, and external memory interfaces. A two-pass compile interfacing with a synthesis tool allows insertion of registers and wait states to balance propagation delays for maximum performance. This design methodology is demonstrated using several compression-decompression, prime number, and sorting algorithms. Compiled RTL Verilog designs have been synthesized into FPGAs and ASICs. The compression-decompression algorithm executes in nearly one quarter the clock cycles using hardware versus software on a PentiumPro. This cycle efficiency is due to variable storage in simple registers, clock packing techniques, and functional level parallelism. Efficient clock packing is demonstrated with a prime number generator algorithm which executes in 25x fewer clock cycles compared to Pentium software execution
Keywords :
C language; application specific integrated circuits; field programmable gate arrays; hardware description languages; high level synthesis; macros; performance evaluation; program compilers; random number generation; ANSI C; ASIC; C design implementation; FPGA; PentiumPro; RTL Verilog compiler; arithmetic macros; clock cycles; clock packing; compression; decompression; external memory interfaces; functional level parallelism; loops; maximum performance; multiple Verilog state machines; on-chip register; prime number; prime number generator algorithm; propagation delays; sorting algorithms; system-level algorithms; two-pass compile interfacing; wait states; Arithmetic; Clocks; Design methodology; Field programmable gate arrays; Hardware design languages; Propagation delay; Registers; Software algorithms; Sorting; Timing;
Conference_Titel :
Verilog HDL Conference and VHDL International Users Forum, 1998. IVC/VIUF. Proceedings., 1998 International
Conference_Location :
Santa Clara, CA
Print_ISBN :
0-8186-8415-1
DOI :
10.1109/IVC.1998.660676