Hardware/software partitioning of embedded System-on-Chip applications

HW/SW partitioning is an important development step during HW/SW co-design to ensure application performance in embedded System-on-Chip (SoC). This paper formulates the optimization of HW/SW partitioning aiming at maximizing streaming throughput with predefined area constraint, targeted for multi-processor system with hardware accelerator sharing capability. Two software-oriented and the second hardware-oriented greedy heuristic algorithms for HW/SW partitioning are proposed and tested on several random graphs and one multimedia application (MP3 decoder). Results show that the best result from both proposed greedy algorithms produce 93.6% near-optimal solution compared to brute force ground truth with faster HW/SW partitioning time.

[1]  Kiyoung Choi,et al.  Loop pipelining in hardware-software partitioning , 1998, Proceedings of 1998 Asia and South Pacific Design Automation Conference.

[2]  Yu Jiang,et al.  An Effective Heuristic-Based Approach for Partitioning , 2013, J. Appl. Math..

[3]  Pierre G. Paulin,et al.  Combining mapping and partitioning exploration for NoC-based embedded systems , 2010, J. Syst. Archit..

[4]  Mohamed B. Abdelhalim,et al.  An integrated high-level hardware/software partitioning methodology , 2011, Des. Autom. Embed. Syst..

[5]  Daniel Esteve,et al.  Hardware/software co-design of an avionics communication protocol interface system: an industrial case study , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[6]  Li Wang,et al.  Power Efficiency for Hardware/Software Partitioning with Time and Area Constraints on MPSoC , 2013, International Journal of Parallel Programming.

[7]  Ranga Vemuri,et al.  Hardware-software partitioning and pipelined scheduling of transformative applications , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[8]  D. Gajski,et al.  Hardware/software Partitioning And Pipelining , 1997, Proceedings of the 34th Design Automation Conference.

[9]  Wu Jigang,et al.  Algorithmic Aspects of Hardware/Software Partitioning: 1D Search Algorithms , 2010, IEEE Transactions on Computers.

[10]  Jörg Henkel,et al.  An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[11]  Patrick Schaumont,et al.  A Hardware-Software Partitioning and Scheduling Algorithm for Dynamically Reconfigurable Embedded Systems , 2000 .

[12]  Nguyen Ngoc Binh,et al.  A hardware/software partitioning algorithm for designing pipelined ASIPs with least gate counts , 1996, 33rd Design Automation Conference Proceedings, 1996.

[13]  M. Montaz Ali,et al.  A Tabu Search-Based Memetic Algorithm for Hardware/Software Partitioning , 2014 .

[14]  Wu Jigang,et al.  Algorithmic aspects for multiple-choice hardware/software partitioning , 2012, Comput. Oper. Res..

[15]  Amit Konar,et al.  Hardware Software Partitioning Problem in Embedded System Design Using Particle Swarm Optimization Algorithm , 2008, 2008 International Conference on Complex, Intelligent and Software Intensive Systems.

[16]  Yang-Hsin Fan,et al.  Enhancement of Hardware-Software Partition for Embedded Multiprocessor FPGA Systems , 2007, Third International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIH-MSP 2007).

[17]  Wu Jigang,et al.  Efficient heuristic and tabu search for hardware/software partitioning , 2013, The Journal of Supercomputing.

[18]  Dilip Datta,et al.  Multi-objective hardware-software partitioning of embedded systems: A case study of JPEG encoder , 2014, Appl. Soft Comput..

[19]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[20]  Daniel Gajski,et al.  Partitioning and pipelining for performance-constrained hardware/software systems , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[21]  Zoltán Ádám Mann,et al.  Algorithmic aspects of hardware/software partitioning , 2005, TODE.

[22]  Cong Wang,et al.  HARDWARE/SOFTWARE PARTITIONING ALGORITHM BASED ON THE COMBINATION OF GENETIC ALGORITHM AND TABU SEARCH , 2014 .