Automatic Tool-Flow for Mapping Applications to an Application-Specific CGRA Architecture

The research work presented in this paper is about a holistic tool-chain for generating, configuring and evaluating application-specific Coarse-Grained Reconfigurable Array (CRGA) architectures. This development was part of a large EU funded project with the name EXTRA. The reduced complexity of the architecture in comparison to fine-grained architectures like FPGAs is exploited to evaluate the Just-in-Time generation of VCGRA configurations. The manuscript presents the tool-chain that is responsible for the implementation of applications on the coarse-grained architecture. In particular, the tools for partitioning the applications, mapping the partitions and controlling the execution of the entire application on the target architecture will be examined. In addition, both the user interface and the interfaces between the components of the tool-chain are described. Subsequently, the presented tools are evaluated using a practical example and various metrics. We show, that the creation of configurations for the presented architectures can be carried out rapidly and therefore the generation of new configurations at run-time is feasible.

[1]  Kenneth L. McMillan,et al.  Interpolants from Z3 proofs , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[2]  Kenneth B. Kent,et al.  Odin II - An Open-Source Verilog HDL Synthesis Tool for CAD Research , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[3]  Elias Vansteenkiste,et al.  Efficient implementation of Virtual Coarse Grained Reconfigurable Arrays on FPGAS , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[4]  Michael Hübner,et al.  CGRA Tool Flow for Fast Run-Time Reconfiguration , 2018, ARC.

[5]  Elias Vansteenkiste,et al.  TPaR: Place and Route Tools for the Dynamic Reconfiguration of the FPGA's Interconnect Network , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Tiago P. Peixoto,et al.  The graph-tool python library , 2014 .

[7]  Nahlah M. A. M. Najm,et al.  Measuring Maintainability Index of a Software Depending on Line of Code Only , 2014 .

[8]  Dirk Stroobandt,et al.  How to Efficiently Reconfigure Tunable Lookup Tables for Dynamic Circuit Specialization , 2016, Int. J. Reconfigurable Comput..

[9]  Roger Moussalli Tradeoffs and Considerations in the Design of Accelerators for Database Applications , 2017, 2017 IEEE 33rd International Conference on Data Engineering (ICDE).