A Survey of HW/SW Cosimulation Techniques and Tools

In the last decade, electronic systems have become increasingly complex. The number of func-tionalities built on one chip have risen enormously. To solve the problem of cost and flexibility for such sophisticated, systems the usage of mixed hardware software systems has increased. Due to the complexity, the system development has become more and more difficult and the simulation and evaluation has become a key position of the design process. Many tools which aid designers in the evaluation of electronic systems have been developed. However, until recently, tools for the simulation of mixed HW/SW systems have been lacking. An early approach to HW/SW co-design and cosimulation was presented by the University of California, Berkeley [8] in 1991 within their system design project Ptolemy. During the last years some vendors have begun offering tools to close this gap. In 1996, Mentor Graphics presented Seamless, a cosimulation tool that supports as a backplane the connection between the software execution and the hardware simulator. Competing products are EagleI and EagleV, which have been developed concurrently by Eagle Design Automation (now merged with Viewlogic). The Tima Lab at Institute National Polytechnique in Grenoble, France, developed in cooperation with SGS-Thomson, a VHDL/C cosimulation tool called CoSim [11] as a part of their co-design tool COSMOS. This paper surveys existing cosimulation tools and compares and contrasts their basic features and techniques. For example, commonly used communication mechanisms between HW and SW simulators and different processor models are introduced. The first chapter gives a brief overview of cosimulation and the co-design process in general. Chapter 2 surveys the fundamental tasks of cosimulation. Processor models and tool structures are considered in Chapter 3. A number of tools and descriptions of their implementation are presented in Chapter 4.

[1]  Donald E. Thomas,et al.  A simulation environment for hardware-software codesign , 1995, Proceedings of ICCD '95 International Conference on Computer Design. VLSI in Computers and Processors.

[2]  Gaetano Borriello,et al.  Optimizing communication in embedded system co-simulation , 1997, CODES.

[3]  Kiyoung Choi,et al.  Optimistic distributed timed cosimulation based on thread simulation model , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[4]  Donald E. Thomas,et al.  The design of mixed hardware/software systems , 1996, DAC '96.

[5]  Douglas Comer,et al.  Internetworking with TCP/IP vol. III: client-server programming and applications , 1993 .

[6]  Bill Lin,et al.  Hardware/Software Communication and System Integration for Embedded Architectures , 1997, Des. Autom. Embed. Syst..

[7]  Stephen A. Edwards,et al.  Design of embedded systems: formal models, validation, and synthesis , 1997, Proc. IEEE.

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

[9]  Edward A. Lee,et al.  Design and Simulation of Heterogeneous Systems using Ptolemy , 1994 .

[10]  Edward A. Lee,et al.  System-level codesign of mixed hardware-software systems , 1995 .

[11]  Luciano Lavagno,et al.  Trade-off evaluation in embedded system design via co-simulation , 1997, Proceedings of ASP-DAC '97: Asia and South Pacific Design Automation Conference.

[12]  Wolfgang Ecker,et al.  Hardware/software co-simulation in a VHDL-based test bench approach , 1997, DAC.

[13]  Benny Schnaider,et al.  Software development in a hardware simulation environment , 1996, DAC '96.

[14]  Juha-Pekka Soininen,et al.  Cosimulation of real-time control systems , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[15]  E. A. Lee,et al.  Effective Heterogenous Design and Co-Simulation , 1996 .

[16]  Stephen G. Tell,et al.  An engineering environment for hardware/software co-simulation , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[17]  Bill Lin,et al.  Hardware/Software Communication and System Integration for Embedded Architectures , 1997, Des. Autom. Embed. Syst..

[18]  W Thesis,et al.  A Survey of HW/SW Cosimulation Techniques and Tools , 1998 .

[19]  Ahmed Amine Jerraya,et al.  System-on-a-Chip Cosimulation and Compilation , 1997, IEEE Des. Test Comput..

[20]  Gaetano Borriello,et al.  Dynamic communication models in embedded system co-simulation , 1997, DAC.

[21]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[22]  Ahmed Amine Jerraya,et al.  Automatic generation of interfaces for distributed C-VHDL cosimulation of embedded systems: an industrial experience , 1996, Proceedings Seventh IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype.

[23]  Ken Hines Pia: a framework for embedded system co-simulation with dynamic communication support , 1996 .

[24]  James A. Rowson,et al.  Hardware / Software Co-Simulation , 2000 .