Title :
PACE: a dynamic programming algorithm for hardware/software partitioning
Author :
Knudsen, Peter Voigt ; Madsen, Jan
Author_Institution :
Dept. of Comput. Sci., Tech. Univ. Denmark, Lyngby, Denmark
Abstract :
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(n2·𝒜) and the space-complexity is O(n·𝒜) where 𝒜 is the total area of the hardware chip and n the number of code fragments which may be placed in either hardware or software
Keywords :
dynamic programming; logic CAD; logic design; software engineering; LYCOS co-synthesis system; PACE; dataflow graphs; dynamic programming; dynamic programming algorithm; hardware area constraint; hardware/software partitioning; space-complexity; system execution time; target architecture; time-complexity; Application specific integrated circuits; Computer architecture; Control systems; Dynamic programming; Hardware; Heuristic algorithms; Microprocessors; Partitioning algorithms; Software algorithms; Time factors;
Conference_Titel :
Hardware/Software Co-Design, 1996. (Codes/CASHE '96), Proceedings., Fourth International Workshop on
Conference_Location :
Pittsburgh, PA
Print_ISBN :
0-8186-7243-9
DOI :
10.1109/HCS.1996.492230