A hardware-software co-simulator for embedded system design and debugging

One of the interesting problems in hardware-software co-design is that of debugging embedded software in conjunction with hardware. Currently, most software designers wait until a working hardware prototype is available before debugging software. Bugs discovered in hardware during the software debugging phase require re-design and re-fabrication, thereby not only delaying the project but also increasing cost. It also puts software debugging on hold until a new hardware prototype is available. In this paper we describe a hardware-software co-simulator that can be used in the design, debugging and verification of embedded systems. This tool contains simulators for different parts of the system and a backplane which is used to integrate the simulators. This enables us to simulate hardware, software and their interaction efficiently. We also address the problem of simulation speed. Currently, the more accurate (in terms of timing) the models used, the longer it takes to simulate a system. Our main contribution is a set of techniques to speed up simulation of processors and peripherals without significant loss in timing accuracy. Finally, we describe applications used to test the co-simulator and our experience in using it.

[1]  Edward A. Lee,et al.  A hardware-software codesign methodology for DSP applications , 1993, IEEE Design & Test of Computers.

[2]  Serge Garcia Sabiro,et al.  VHD/sub e/LDO: A new mixed mode simulation , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.

[3]  Herman Schmit,et al.  A Model and Methodology for Hardware-Software Codesign , 1993, IEEE Des. Test Comput..

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

[5]  Yehuda Kra A Cross-Debugging Method for Hardware/Software Co-design Environments , 1993, 30th ACM/IEEE Design Automation Conference.

[6]  Fabio Somenzi,et al.  Periodic signal suppression in a concurrent fault simulator , 1991, Proceedings of the European Conference on Design Automation..

[7]  W. B. Culbertson The HP Tsutsuji logic synthesis system , 1993 .

[8]  Marco Platzner,et al.  Hardware-Software Codesign , 1997, IEEE Des. Test Comput..

[9]  Giovanni De Micheli,et al.  Synthesis and simulation of digital systems containing interacting hardware and software components , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

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

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

[12]  J. Ousterhout An Introduction To Tcl and Tk , 1997 .