Title :
Overview of the FREEDOM compiler for mapping DSP software to FPGAs
Author :
Zaretsky, David ; Mittal, Gaurav ; Tang, Xiaoyong ; Banerjee, Prith
Author_Institution :
Electr. & Comput. Eng., Northwestern Univ., Evanston, IL, USA
Abstract :
Applications that require digital signal processing (DSP) functions are typically mapped onto general purpose DSP processors. With the introduction of advanced FPGA architectures with built-in DSP support, a new hardware alternative is available for DSP designers. By exploiting its inherent parallelism, it is expected that FPGAs can outperform DSP processors. However, the migration of assembly code to hardware is typically a very arduous process. This paper describes the process and considerations for automatically translating software assembly and binary codes targeted for general DSP processors into register transfer level (RTL) VHDL or Verilog code to be mapped onto commercial FPGAs. The Texas instruments C6000 DSP processor architecture has been used as the DSP processor platform, and the Xilinx Virtex II as the target FPGA. Various optimizations are discussed, including loop unrolling, induction variable analysis, memory and register optimizations, scheduling and resource binding. Experimental results on resource usage and performance are shown for ten software binary benchmarks in the signal processing and image processing domains. Results show performance gains of 3-20x in terms of reductions in execution cycles and 1.3-5x in terms of reductions in execution times for the FPGA designs over that of the DSP processors in terms of reductions in execution cycles.
Keywords :
binary codes; computer architecture; digital signal processing chips; field programmable gate arrays; hardware description languages; high level synthesis; optimising compilers; DSP designers; DSP processor architecture; DSP processors; DSP software; FPGA architectures; FREEDOM compiler; RTL; Texas Instruments C6000; VHDL; Verilog code; Xilinx Virtex II; built-in DSP support; digital signal processing software; hardware-software codesign; image processing; induction variable analysis; loop unrolling; memory optimizations; register optimizations; register transfer level; resource binding; scheduling; signal processing; software assembly code; software binary code; Application software; Assembly; Binary codes; Computer architecture; Digital signal processing; Field programmable gate arrays; Hardware design languages; Instruments; Processor scheduling; Registers;
Conference_Titel :
Field-Programmable Custom Computing Machines, 2004. FCCM 2004. 12th Annual IEEE Symposium on
Print_ISBN :
0-7695-2230-0
DOI :
10.1109/FCCM.2004.44