Concurrent evolution of hardware and software for application-specific microprogrammed systems

Embedded systems often have to calculate some mathematical functions using iterative algorithms. When hard constraints are specified in terms of the area on the chip a possible solution is to implement the iterative algorithm by means of a microprogrammed digital circuit. In this paper, the first version of a new design framework is presented to automate the design and optimization of such microprogrammed systems. The framework utilizes evolutionary design and optimization techniques to find the most suitable implementation of the hardware architecture as well as the program for the programmable logic controller. The functionality of the proposed approach is evaluated using evolutionary design of three HW/SW systems under different constraints.

[1]  Juan Carlos López,et al.  On the hardware-software partitioning problem: System modeling and partitioning techniques , 2003, TODE.

[2]  Luciano Lavagno,et al.  Hardware-software codesign of embedded systems , 1994, IEEE Micro.

[3]  Stanislaw Deniziak,et al.  Hardware/Software Co-synthesis of Distributed Embedded Systems Using Genetic Programming , 2008, ICES.

[4]  Byeong Seok Ahn,et al.  Multiattribute decision aid with extended ISMAUT , 2006, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[5]  Rob Williams Hardware/software co-design , 2006 .

[6]  Lukás Sekanina,et al.  Evolution of Iterative Formulas Using Cartesian Genetic Programming , 2011, KES.

[7]  Li Shang,et al.  SLOPES: Hardware–Software Cosynthesis of Low-Power Real-Time Distributed Embedded Systems With Dynamically Reconfigurable FPGAs , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Jack E. Volder The CORDIC Trigonometric Computing Technique , 1959, IRE Trans. Electron. Comput..

[9]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[10]  Kwong-Sak Leung,et al.  Genetic Parallel Programming: Design and Implementation , 2006, Evolutionary Computation.

[11]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

[12]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Guillaume Zufferey,et al.  Hardware/Software Coevolution of Genome Programs and Cellular Processors , 2006, First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06).

[14]  Kwong-Sak Leung,et al.  Parallel Programs Are More Evolvable than Sequential Programs , 2003, EuroGP.

[15]  R. Hinterding,et al.  Gaussian mutation and self-adaption for numeric genetic algorithms , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[16]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..