Physically-aware HW-SW partitioning for reconfigurable architectures with partial dynamic reconfiguration

Many reconfigurable architectures offer partial dynamic configurability, but current system-level tools cannot guarantee feasible implementations when exploiting this feature. We present a physically aware hardware-software (HW-SW) scheme for minimizing application execution time under HW resource constraints, where the HW is a reconfigurable architecture with partial dynamic reconfiguration capability. Such architectures impose strict placement constraints that lead to implementation infeasibility of even optimal scheduling formulations that ignore the nature of these constraints. We propose an exact and a heuristic formulation that simultaneously partition, schedule, and do linear placement of tasks on such architectures. With our exact formulation, we prove the critical nature of placement constraints. We demonstrate that our heuristic generates high-quality schedules by comparing the results with the exact formulation for small tests and a popular, but placement-unaware scheduling heuristic for larger tests. With a case study, we demonstrate extension of our approach to handle heterogenous architectures with specialized resources distributed between general purpose programmable logic columns. The execution time of our heuristic is very reasonable - task graphs with hundreds of nodes are processed in a couple of minutes.

[1]  Scott Hauck,et al.  Configuration prefetch for single context reconfigurable coprocessors , 1998, FPGA '98.

[2]  H. Murata,et al.  Rectangle-packing-based module placement , 1995, ICCAD 1995.

[3]  Kiyoung Choi,et al.  Hardware-software cosynthesis for run-time incrementally reconfigurable FPGAs , 2000, Proceedings 2000. Design Automation Conference. (IEEE Cat. No.00CH37106).

[4]  S.,et al.  An Efficient Heuristic Procedure for Partitioning Graphs , 2022 .

[5]  Yao-Wen Chang,et al.  Temporal floorplanning using the T-tree formulation , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[6]  Frank Vahid,et al.  Extending the Kernighan/Lin Heuristic for Hardware and Software Functional Partitioning , 1997, Des. Autom. Embed. Syst..

[7]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[8]  S. E. Markosyan,et al.  ω-Perfect graphs , 1990 .

[9]  Fadi J. Kurdahi,et al.  Morphosys: case study of a reconfigurable computing system targeting multimedia applications , 2000, Proceedings 37th Design Automation Conference.

[10]  Nikil D. Dutt,et al.  Integrating Physical Constraints in HW-SW Partitioning for Architectures With Partial Dynamic Reconfiguration , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Patrick Schaumont,et al.  A Hardware-Software Partitioning and Scheduling Algorithm for Dynamically Reconfigurable Embedded Systems , 2000 .

[12]  Jürgen Teich,et al.  Optimal FPGA module placement with temporal precedence constraints , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[13]  Ranga Vemuri,et al.  An Iterative Algorithm for Hardware-Software Partitioning, Hardware Design Space Exploration and Scheduling , 2000, Des. Autom. Embed. Syst..

[14]  Michael J. Wirthlin,et al.  Improving functional density through run-time circuit reconfiguration , 1997 .

[15]  Majid Sarrafzadeh,et al.  Optimal reconfiguration sequence management , 2003, ASP-DAC '03.

[16]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.