Software/Hardware Partition in Multiple Processors Embedded System
Na Li, Yanjun Fang · 2005
Hardware/Software partitioning is the bottleneck of embedded system design, which is directly related to performance and cost. A lot of works have been done such as the simulated annealing algorithm, greedy algorithm and evaluation algorithm. This paper, apply ant colony search algorithm (ACSA) to hardware/software partitioning. It constructed the partitioning model using petri net and searched the optimization resolve with the constraints of hardware area and software running time. The petri net provides modeling capability for multiple processors and inter-processor communication primitives. The algorithm, which adopts a heuristic approach to system partitioning (it considers moving nodes at the basic block level), is based on selecting blocks based on their potential speedup and extra hardware requirements, using hardware and software execution time estimators. Different partitioning algorithms are given which illustrate the benefits of the approach presented in this paper.