PACE: A Dynamic Programming Algorithm for Hardware/Software Partitioning
Author(s) -
Peter Voigt Knudsen,
Jan Madsen
Publication year - 1996
Language(s) - English
DOI - 10.1145/792767.793471
This paper presents the PACE partitioning algorithm which is used in the LYCOS co-synthesis system for partitioning control/dataflow graphs into hardware- and software parts. The algorithm is a dynamic programming algorithm which solves both the problem of minimizing system execution time with a hardware area constraint and the problem of minimizing hardware area with a system execution time constraint. The target architecture consists of a single microprocessor and a single hardware chip (ASIC, FPGA, etc.) which are connected by a communication channel. The algorithm incorporates a realistic communication model and thus attempts to minimize communication overhead. The time-complexity of the algorithm is O(n x n x A) and the space-complexity is O(n x A) where A is the total area of the hardware chip and n the number of code fragments which may be placed in either hardware or software.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom