The use of a virtual instruction set for the software synthesis of Hw/Sw embedded systems

The application range of embedded computing is going to cover the majority of market products spanning from consumer electronic, automotive, telecom and process control. For such applications, typically there is strong cooperation between dedicated hardware modules and software systems. An important issue toward a fully automated system-level implementation is represented by the software development process. The basic requirements are: accurate timing characterization to be used during the early stages of the design to compare alternative architectures and reliable synthesis techniques to ensure the respect of the correct functionality by avoiding, as much as possible, the direct designer's intervention during the development process. This paper describes a novel methodology to address the needs of concurrently synthesizing the software component of a control-dominated hardware-software system, possibly under real-time constraints. An intermediate model (Virtual Instruction Set) for the software is presented, suitable for both for synthesis and analysis purposes. The overall system synthesis is presented with particular emphasis on the problem of low level performance estimation, static scheduling of the software process and retargetable code synthesis.

[1]  Rolf Ernst,et al.  Scalable performance scheduling for hardware-software cosynthesis , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[2]  W. J. Kubitz,et al.  Biting the silver bullet: toward a brighter future for system development , 1992 .

[3]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[4]  Luciano Lavagno,et al.  Synthesis of Software Programs for Embedded Control Applications , 1999, 32nd Design Automation Conference.

[5]  Giovanni De Micheli,et al.  Constrained software generation for hardware-software systems , 1994, Third International Workshop on Hardware/Software Codesign.

[6]  Jifeng He,et al.  Towards a Provably Correct Hardware Implementation of Occam , 1993, CHARME.

[7]  Donatella Sciuto,et al.  Co-synthesis and co-simulation of control-dominated embedded systems , 1996, Des. Autom. Embed. Syst..

[8]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[9]  Donatella Sciuto,et al.  Tosca: A Pragmatic Approach To Co-Design Automation Of Control-Dominated Systems , 1996 .

[10]  Pierre G. Paulin,et al.  CodeSyn: a retargetable code synthesis system (abstract) , 1994, ISSS '94.

[11]  Jochen A. G. Jess,et al.  Conflict Modelling and Instruction Scheduling in Code Generation for In-House DSP Cores , 1995, 32nd Design Automation Conference.

[12]  Frank Vahid,et al.  Specification and Design of Embedded Hardware-Software Systems , 1995, IEEE Des. Test Comput..

[13]  G. Goossens,et al.  PROGRAMMABLE CHIPS IN CONSUMER ELECTRONICS AND TELECOMMUNICATIONS , 1996 .

[14]  Gaetano Borriello,et al.  Interval Scheduling: Fine-Grained Code Scheduling for Embedded Systems , 1995, 32nd Design Automation Conference.

[15]  Wayne Wolf,et al.  Hardware-software co-design of embedded systems , 1994, Proc. IEEE.

[16]  David Harel,et al.  Biting the silver bullet: toward a brighter future for system development , 1992, Computer.

[17]  Pierre G. Paulin,et al.  CodeSyn : A Retargetable Code Synthesis System , 1997 .

[18]  R.K. Gupta,et al.  Constrained software generation for hardware-software systems , 1994, Third International Workshop on Hardware/Software Codesign.