Improving performance through path-based hardware/software partitioning
Elham Azari, Hakduran Koc · 2015
Hardware/software partitioning has always been a crucial step in co-design of embedded systems as it affects the overall system performance significantly. This paper proposes a new approach to partition the tasks in a given Control Data Flow Graph (CDFG) representing an application. In order to enhance the performance, our approach considers the combination of two main paths in the system: hot path and critical path during the partitioning phase of the co-design. These two paths dominate the total execution time of a system. After identifying the hot path and the critical path, the proposed approach assigns as many tasks as possible to the hardware components by giving higher priorities to the tasks in the hot paths which directly have significant effect on critical path. Consequently, the total execution time of an application is reduced. The experimental evaluation shows that the proposed path-based partitioning method improves the performance significantly. In addition, the performance/area trade-off is presented.