I. Introduction
Hardware-software partitioning [1] is a key technology in hardware-software co-design of the embedded system. The partition results directly determine the merits of the system design. At present people already studied many partition algorithms among which good application effect of typical algorithm is heuristic, including mountain climbing, genetic algorithm [2], simulated annealing [3], tabu search [4], integration of genetic and tabu search algorithm [5], integration of genetic algorithm and ant algorithm [6] and so on. Although genetic algorithm has strong global search performance, but it's climbing ability is weak and prone to produce premature convergence problem in practice and lower search efficiency in the later stage of evolution; and that the simulated annealing algorithm has the ability to get rid of local optimal solution, can inhibit the premature convergence of genetic algorithm, but the slow evolution. Although the two algorithms have huge difference in principle, but algorithm structure is very similar, have a strong compatibility. This paper, in the genetic algorithm integrates the simulated annealing idea; at the same time introduce niche technology to maintain population diversity, makes the genetic algorithm in theory has strong global and local search capability, overcome the premature convergence of genetic algorithms and speed up the convergence.