• Media type: E-Article
  • Title: Partitioning sequential programs for CAD using a three-step approach
  • Contributor: Vahid, Frank
  • imprint: Association for Computing Machinery (ACM), 2002
  • Published in: ACM Transactions on Design Automation of Electronic Systems
  • Language: English
  • DOI: 10.1145/567270.567273
  • ISSN: 1084-4309; 1557-7309
  • Keywords: Electrical and Electronic Engineering ; Computer Graphics and Computer-Aided Design ; Computer Science Applications
  • Origination:
  • Footnote:
  • Description: <jats:p> Many computer-aided design problems involve solutions that require the partitioning of a large sequential program written in a language such as C or VHDL. Such partitioning can improve design metrics such as performance, power, energy, size, input/output lines, and even CAD tool run-time and memory requirements, by partitioning among hardware modules, hardware and software processors, or even among time-slices in reconfigurable computing devices. Previous partitioning approaches typically preselect the granularity at which the program is partitioned. In this article, we define three distinct partitioning steps: procedure determination, preclustering, and <jats:italic>N</jats:italic> -way partitioning, with the first two steps focusing on granularity selection. Using three steps instead of one can provide for a more thorough design space exploration and for faster partitioning. We emphasize the first two steps in this article since they represent the most novel aspects. We illustrate the approach on an example, provide results of several experiments, and point to the need for future research that more fully automates the three-step approach. </jats:p>