Fast hardware-software co-simulation using VHDL models

We describe a technique for hardware-software co-simulation that is almost cycle-accurate, and does nor require the use of interprocess communication for a C language interface for the software components. Software is modeled by using behavioral VHDL constructs, annotated with timing information derived from basic block-level timing estimates. Hardware is also modeled in VHDL, and can be either pre-existing intellectual property or synthesized to RTL from a functional specification. Execution of the VHDL processes modeling software tasks is coordinated by a process emulating the target RTOS behavior. The effects of changing the hardware/software partition can be quickly estimated by changing a process parameter defining its target implementation and the processor on which it is running.

[1]  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.

[2]  A. O. Fernandes,et al.  Hardware-software codesign of embedded systems , 1998, Proceedings. XI Brazilian Symposium on Integrated Circuit Design (Cat. No.98EX216).

[3]  Kunle Olukotun,et al.  A software-hardware cosynthesis approach to digital system simulation , 1994, IEEE Micro.

[4]  E. Filippi,et al.  The virtual chip set: a parametric IP library for system-on-a-chip design , 1998, Proceedings of the IEEE 1998 Custom Integrated Circuits Conference (Cat. No.98CH36143).

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

[6]  A. Jerraya,et al.  Virtual Prototyping For Modular And Flexible Hardware-Software Systems , 1997, Des. Autom. Embed. Syst..

[7]  Andrew Seawright,et al.  A system for compiling and debugging structured data processing controllers , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

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

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

[10]  Alberto L. Sangiovanni-Vincentelli,et al.  Efficient software performance estimation methods for hardware/software codesign , 1996, DAC '96.

[11]  Gaetano Borriello,et al.  Selective focus as a means of improving geographically distributed embedded system co-simulation , 1997, Proceedings 8th IEEE International Workshop on Rapid System Prototyping Shortening the Path from Specification to Prototype.

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

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

[14]  P. Coppo,et al.  The A-VPN server: a solution for ATM virtual private networks , 1994, Proceedings of ICCS '94.

[15]  Heinrich Meyr,et al.  Compiled HW/SW co-simulation , 1996, DAC '96.

[16]  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.