Automated synthesis of pipelined designs on FPGAs for signal and image processing applications described in MATLAB(R)

We present a compiler that takes high level algorithms described in MATLAB and generates an optimized hardware for an FPGA with external memory. A framework is described to detect and exploit opportunities to pipeline loops in an optimal way. Effectiveness of the framework is demonstrated by synthesizing some image and signal processing applications. Starting from the MATLAB description of the applications, hardware is synthesized that runs on a Xilinx XC4028. The synthesized designs are equivalent to manually optimized designs in performance.

[1]  Vicki H. Allan,et al.  Software pipelining , 1995, CSUR.

[2]  Giovanni De Micheli Hardware synthesis from C/C++ models , 1999, DATE '99.

[3]  Alok N. Choudhary,et al.  Scheduling algorithms for automated synthesis of pipelined designs on FPGAs for applications described in MATLAB , 2000, CASES '00.

[4]  Wayne Luk,et al.  Pipeline vectorization for reconfigurable systems , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[5]  Alok N. Choudhary,et al.  FPGA hardware synthesis from MATLAB , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[6]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[7]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[8]  Brent E. Nelson,et al.  Using general-purpose programming languages for FPGA design , 2000, Proceedings 37th Design Automation Conference.