Compact generic intermediate representation (CGIR) to enable late binding in coarse grained reconfigurable architectures

In the era of platforms hosting multiple applications, where inter-application communication and concurrency patterns are arbitrary, static compile time decision making is neither optimal nor desirable. As a part of solving this problem, we present a novel method for compactly representing multiple configuration bitstreams of a single application, with varying parallelisms, as a unique, compact, and customizable representation, called CGIR. The representation thus stored is unraveled at runtime to configure the device with optimal (e.g. in terms of energy) implementation. Our goal was to provide optimal decision making capability to the runtime resource manager (RTM) without compromising the runtime behavior or the memory requirements of the system. The presence of multiple binaries enhance optimality by providing the RTM with multiple implementations to choose from. The CGIR ensures minimal increase in memory requirements with the addition of each binary. The low-cost unraveling of CGIR guarantees the runtime behavior. We have chosen the dynamically reconfigurable resource array (DRRA) as a vehicle to study the feasibility of our approach. Simulation results using 16 point decimation in time fast Fourier transform (FFT) has showed massive (up to 18% for 2 versions, 33% for 3 versions) memory savings compared to state of the art. Formal evaluation shows that the savings increase with the increase in the number of implementations stored.

[1]  Zhiyuan Li,et al.  Configuration compression for the Xilinx XC6200 FPGA , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[2]  Jürgen Teich,et al.  Real-Time Configuration Code Decompression for Dynamic FPGA Self-Reconfiguration , 2004, IEEE International Parallel and Distributed Processing Symposium.

[3]  Viktor K. Prasanna,et al.  Configuration compression for FPGA-based embedded systems , 2001, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[4]  H. Corporaal,et al.  Design-Time Application Exploration for MP-SoC Customized Run-Time Management , 2005, 2005 International Symposium on System-on-Chip.

[5]  Michalis D. Galanis,et al.  Mapping DSP applications on processor/coarse-grain reconfigurable array architectures , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[6]  Chantal Ykman-Couvreur,et al.  Pareto-Based Application Specification for MP-SoC Customized Run-Time Management , 2006, 2006 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[7]  Vincent Nollet,et al.  A Quick Safari Through the MPSoC Run-Time Management Jungle , 2007, 2007 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia.

[8]  Naeem Abbas Runtime Parallelisation Switching for MPEG4 Encoder on MPSoC , 2008 .

[9]  Ahmed Hemani,et al.  Partially reconfigurable interconnection network for dynamically reprogrammable resource array , 2009, 2009 IEEE 8th International Conference on ASIC.

[10]  Bertil Svensson,et al.  Evolution in architectures and programming methodologies of coarse-grained reconfigurable computing , 2009, Microprocess. Microsystems.