One-Step Compilation of Image Processing Applications to FPGAs

This paper describes a system for one-step compilation of image processing (IP) codes, written in the machine-independent, algorithmic, high-level single assignment language SA-C, to FPGA-based hardware. The SA - C compiler performs a variety of optimizations, some conventional and some specialized, before generating dataflow graphs and host code. The dataflow graphs are then compiled, via VHDL, to FPGA configuration codes. This paper introduces SA - C and describes the optimization and code generation stages in the compiler. The performance of a target acquisition prescreener (ARAGTAP), the Intel Image Processing Library, and an iterative tri-diagonal solver running on a reconfigurable system are compared to their performance on a Ppentium PC with MMX.

[1]  John Woodfill,et al.  Real-time stereo vision on the PARTS reconfigurable computer , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[2]  Nader Bagherzadeh,et al.  The MorphoSys Parallel Recon gurable System , 1999 .

[3]  Vivek Sarkar,et al.  The Raw Compiler Project , 1999 .

[4]  Chandra Tan,et al.  Automatic Mapping of Khoros-based Applications to Adaptive Computing Systems , 1999 .

[5]  Anil K. Jain,et al.  Convolution on Splash 2 , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[6]  Duncan A. Buell,et al.  Splash 2 - FPGAs in a custom computing machine , 1996 .

[7]  Pietro Perona,et al.  Real-time 2-D feature detection on a reconfigurable computer , 1998, Proceedings. 1998 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Cat. No.98CB36231).

[8]  D. V. Pryor,et al.  Text searching on Splash 2 , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[9]  Bruce A. Draper,et al.  Cameron: high level language compilation for reconfigurable systems , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[10]  A. Lynn Abbott,et al.  Image Processing on a Custom Computing Platform , 1994, FPL.

[11]  John J. Granacki,et al.  DEFACTO: A Design Environment for Adaptive Computing Technology , 1999, IPPS/SPDP Workshops.

[12]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[13]  Dzung T. Hoang,et al.  Searching genetic databases on Splash 2 , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[14]  Seth Copen Goldstein,et al.  PipeRench: a co/processor for streaming multimedia acceleration , 1999, ISCA.

[15]  Alex K. Jones,et al.  A MATLAB compiler for distributed, heterogeneous, reconfigurable computing systems , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[16]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .

[17]  Alok N. Choudhary,et al.  MATCH: A MATLAB Compiler For Configurable Computing Systems , 1999 .

[18]  Brad Hutchings,et al.  RRANN: a hardware implementation of the backpropagation algorithm using reconfigurable FPGAs , 1994, Proceedings of 1994 IEEE International Conference on Neural Networks (ICNN'94).

[19]  Reiner W. Hartenstein,et al.  Reconfigurable machine for applications in image and video compression , 1995, Other Conferences.

[20]  Jorge Cabrera-Gámez,et al.  Reactive Computer Vision System with Reconfigurable Architecture , 1999, ICVS.

[21]  Yanbing Li,et al.  Hardware-software co-design of embedded reconfigurable architectures , 2000, DAC.

[22]  Vivek Sarkar,et al.  Baring It All to Software: Raw Machines , 1997, Computer.

[23]  Konstantinos Konstantinides,et al.  The Khoros software development environment for image and signal processing , 1994, IEEE Trans. Image Process..

[24]  Nalini K. Ratha,et al.  Fingerprint Matching on Splash 2 , 1995 .