Synthesis of FPGA Implementations from Loop Algorithms

We consider the problem of automatically mapping computation-intensive loop nests onto FPGA hardware. The regular cell array structure of these chips reflects the parallelism in regular loop-like computations. Furthermore, the flexibility of FPGAs allows the cost-effective implementation of reconfigurable high performance processor arrays. So far, there exists no continuous design flow that allows automated generation of FPGA configuration data from a loop nest specified in a high level language. Here, we present a methodology for automatic generation of synthesizable VHDL code specifying a processor array and optimized for FPGA implementation.

[1]  Bart Kienhuis MatParser: An array dataflow analysis compiler , 2000 .

[2]  Jürgen Teich A compiler for application specific processor arrays , 1993 .

[3]  Jürgen Teich,et al.  Tradeoff analysis and architecture design of a hybrid hardware/software sorter , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[4]  D.I. Moldovan,et al.  On the design of algorithms for VLSI systolic arrays , 1983, Proceedings of the IEEE.

[5]  Jürgen Teich,et al.  Partitioning of processor arrays: a piecewise regular approach , 1993, Integr..

[6]  Paul Feautrier,et al.  Automatic Parallelization in the Polytope Model , 1996, The Data Parallel Programming Model.

[7]  Jürgen Teich,et al.  Partitioning Processor Arrays under Resource Constraints , 1997, J. VLSI Signal Process..

[8]  Chuan-Lin Wu,et al.  Interconnection Networks for Parallel and Distributed Processing , 1984 .

[9]  Jürgen Teich,et al.  Scheduling of partitioned regular algorithms on processor arrays with constrained resources , 1996, Proceedings of International Conference on Application Specific Systems, Architectures and Processors: ASAP '96.

[10]  Scott A. Mahlke,et al.  High-level synthesis of nonprogrammable hardware accelerators , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[11]  Ed F. Deprettere,et al.  High level modeling for parallel executions of nested loop algorithms , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[12]  Jürgen Teich,et al.  Control generation in the design of processor arrays , 1991, J. VLSI Signal Process..