Integrating physical constraints in HW-SW partitioning for architectures with partial dynamic reconfiguration

  • Authors:
  • Sudarshan Banerjee;Elaheh Bozorgzadeh;Nikil D. Dutt

  • Affiliations:
  • Center for Embedded Computer Systems, University of California, Irvine, CA;Center for Embedded Computer Systems, University of California, Irvine, CA;Center for Embedded Computer Systems, University of California, Irvine, CA

  • Venue:
  • IEEE Transactions on Very Large Scale Integration (VLSI) Systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Partial dynamic reconfiguration is a key feature of modern reconfigurable architectures such as the Xilinx Virtex series of devices. However, this capability imposes strict placement constraints such that even exact system-level partitioning (and scheduling) formulations are not guaranteed to be physically realizable due to placement infeasibility. We first present an exact approach for hardware-software (HW-SW) partitioning that guarantees correctness of implementation by considering placement implications as an integral aspect of HW-SW partitioning. Our exact approach is based on integer linear programming (ILP) and considers key issues such as configuration prefetch for minimizing schedule length on the target single-context device. Next, we present a physically aware HW-SW partitioning heuristic that simultaneously partitions, schedules, and does linear placement of tasks on such devices. With the exact formulation, we confirm the necessity of physically-aware HW-SW partitioning for the target architecture. We demonstrate that our heuristic generates high-quality schedules by comparing the results with the exact formulation for small tests and with a popular, but placement-ua-naware scheduling heuristic for a large set of over a hundred tests. Our final set of experiments is a case study of JPEG encoding--we demonstrate that our focus on physical considerations along with our consideration of multiple task implementation points enables our approach to be easily extended 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 (partitioned, scheduled, and placed) in a couple of minutes.