Hardware/Software partitioning algorithm for embedded systems with repeated functionalities

Hardware/software partitioning is a critical phase in the codesign approach of embedded system design. Most of the partitioning algorithms proposed assume that an embedded system has distinct sub-modules. The issue of partitioning of resource constrained embedded systems consisting of multiple occurrences of a single functionality, needs to be addressed. In this paper, we propose a genetic algorithm (GA) based partitioning algorithm which addresses the utilization of the already existing hardware instances on the chip for the repeated functionalities of the system, based on the constraints and concurrency of the functionalities.

[1]  Michalis D. Galanis,et al.  Performance Improvements from Partitioning Applications to FPGA Hardware in Embedded SoCs , 2006, The Journal of Supercomputing.

[2]  Ahmed Amine Jerraya,et al.  Hardware/software interface codesign for embedded systems , 2005, Computer.

[3]  Huanhuan Chen,et al.  HW-SW partitioning based on genetic algorithm , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[4]  Wayne H. Wolf A Decade of Hardware/Software Codesign , 2003, Computer.

[5]  P. Arato,et al.  Hardware-software partitioning in embedded system design , 2003, IEEE International Symposium on Intelligent Signal Processing, 2003.

[6]  Rajesh Gupta,et al.  Hardware/software co-design , 1996, Proc. IEEE.

[7]  Rolf Ernst,et al.  Codesign of Embedded Systems: Status and Trends , 1998, IEEE Des. Test Comput..

[8]  Mehdi Kamal,et al.  HW/SW partitioning using discrete particle swarm , 2007, GLSVLSI '07.

[9]  Puneet Gupta,et al.  Hardware-software codesign , 2002 .

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

[11]  Nikil D. Dutt,et al.  Integrating Physical Constraints in HW-SW Partitioning for Architectures With Partial Dynamic Reconfiguration , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.