Automatic Synthesis of FPGA Processor Arrays from Loop Algorithms

We consider the problem of automatic mapping of 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]  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.

[2]  Lothar Thiele,et al.  Resource constrained scheduling of uniform algorithms , 1993, J. VLSI Signal Process..

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

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

[5]  Jürgen Teich,et al.  Generation of Distributed Loop Control , 2002, Embedded Processor Design Challenges.

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

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

[8]  Markus Weinhardt,et al.  PACT XPP—A Self-Reconfigurable Data Processing Architecture , 2004, The Journal of Supercomputing.

[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]  Bart Kienhuis MatParser: An array dataflow analysis compiler , 2000 .

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

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

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