Implementation Of Hardware Software Partitioning In Embedded System - Mohd Nor, Masyirah (Universiti Sains Malaysia, 2018)
Hardware/Software partitioning is a crucial problem in embedded system. It resides on deciding which process of embedded system should be executed on specific hardware and which one on software. To find an optimal partition is hard due to large number and different characteristics of the system to be consider. In this paper, the heuristic method is used to evaluate the performance of PSO and GA algorithm in term of to achieve a best cost, total area and total execution time. PSO and GA algorithm are chosen in this project to perform hardware software partitioning using Python 2.7.14. The constraints of these algorithms applied to the program are targeted for total area (2500KB) and total execution time (2500µs). The parameter setting is used for both algorithms is 15 number of task/node, 500 maximum number of iteration, 100 no of particles/population size and the pre-defined hardware and software area and execution time for each task as the input of the algorithms. Both of the algorithms are achieve the same best cost which is 169.6022 and the optimum solution proposed by both algorithms are nine tasks should be run in hardware and six tasks should be run in software. The result of total area and total execution time for PSO is 2495KB and 2363µs. While for GA, the total area is 1605KB and the total execution time is 2147µs. As a conclusion, the hardware/software partitioning which is PSO and GA have been successfully develop in this project. The result shows that, the GA algorithm has better total area and total execution time but same cost compared to the PSO algorithm. However, in order to improve the performance, the hybridization of these algorithms is suggested.