Fast and Accurate Cosimulation of MPSoC Using Trace-Driven Virtual Synchronization

As MPSoC has become an effective solution to ever-increasing design complexity of modern embedded systems, fast and accurate cosimulation of such systems is becoming a tough challenge. Cosimulation performance is in inverse proportion to the number of processor simulators in conventional cosimulation frameworks with lock-step synchronization schemes. To overcome this problem, we propose a novel time synchronization technique called trace-driven virtual synchronization. Having separate phases of event generation and event alignment in the cosimulation, time synchronization overhead is reduced to almost zero, boosting cosimulation speed while accuracy is almost preserved. In addition, this technique enables (1) a fast mixed level cosimulation where different abstraction level simulators are easily integrated communicating with traces and (2) a distributed parallel cosimulation where each simulator can run at its full speed without synchronizing with other simulator too frequently. We compared the performance and the accuracy with MaxSim, a well-known commercial System C simulation framework, and the proposed framework showed 11 times faster performance for H.263 decoder example, while the error was below 5%.

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

[2]  Luca Benini,et al.  MPARM: Exploring the Multi-Processor SoC Design Space with SystemC , 2005, J. VLSI Signal Process..

[3]  James R. Larus,et al.  Wisconsin Wind Tunnel II: a fast, portable parallel architecture simulator , 2000, IEEE Concurr..

[4]  Nikil D. Dutt,et al.  Extending the transaction level modeling approach for fast communication architecture exploration , 2004, Proceedings. 41st Design Automation Conference, 2004..

[5]  Ahmed Amine Jerraya,et al.  Fast and accurate timed execution of high level embedded software using HW/SW interface simulation model , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[6]  Wim Dehaene,et al.  A mixed abstraction level co-simulation case study using SystemC for system on chip verification , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[7]  Gunar Schirner,et al.  Accurate yet fast modeling of real-time communication , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[8]  Chong-Min Kyung,et al.  Enhancing performance of HW/SW cosimulation and coemulation by reducing communication overhead , 2006, IEEE Transactions on Computers.

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

[10]  Massimo Poncino,et al.  Virtual hardware prototyping through timed hardware-software co-simulation , 2005, Design, Automation and Test in Europe.

[11]  Massimo Poncino,et al.  Native ISS-SystemC integration for the co-simulation of multi-processor SoC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[12]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.

[13]  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).

[14]  James R. Larus,et al.  Fast and Portable Parallel Architecture Simulators: Wisconsin Wind Tunnel II , 1995 .

[15]  K. Mani Chandy,et al.  Asynchronous distributed simulation via a sequence of parallel computations , 1981, CACM.

[16]  Soonhoi Ha,et al.  Combined data-driven and event-driven scheduling technique for fast distributed cosimulation , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[17]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[18]  Trevor N. Mudge,et al.  Trace-driven memory simulation: a survey , 1997, CSUR.

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

[20]  Soonhoi Ha,et al.  Fast and Time-Accurate Cosimulation with OS Scheduler Modeling , 2003, Des. Autom. Embed. Syst..

[21]  Kiyoung Choi,et al.  Performance improvement of multi-processor systems cosimulation based on SW analysis , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

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

[23]  Hardware / Software Co-design of Multimedia Embedded Systems : PeaCE Approach , 2004 .

[24]  Abhijit Ghosh,et al.  Methodology for hardware/software co-verification in C/C++ , 2000, Proceedings 2000. Design Automation Conference. (IEEE Cat. No.00CH37106).

[25]  Ieee Circuits,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems information for authors , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Ahmed Amine Jerraya,et al.  Scalable and flexible cosimulation of SoC designs with heterogeneous multi-processor target architectures , 2001, ASP-DAC '01.

[27]  A. Sangiovanni-Vincentelli,et al.  Fast Hardware/software Co-simulation For Virtual Prototyping And Trade-off Analysis , 1997, Proceedings of the 34th Design Automation Conference.

[28]  Soonhoi Ha,et al.  A hardware software cosimulation backplane with automatic interface generation , 1998, Proceedings of 1998 Asia and South Pacific Design Automation Conference.

[29]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[30]  Andy D. Pimentel,et al.  Rapid evaluationof instantiations of embedded systems architectures: A case study , 2001 .

[31]  Soonhoi Ha,et al.  Trace-driven HW/SW cosimulation using virtual synchronization technique , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[32]  Tim Kindberg,et al.  Distributed Systems: Concepts and Design (4th Edition) (International Computer Science) , 2005 .

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

[34]  Luciano Lavagno,et al.  Fast hardware-software co-simulation using VHDL models , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[35]  R. M. Fujimoto,et al.  Parallel discrete event simulation , 1989, WSC '89.

[36]  Luca Benini,et al.  SystemC Cosimulation and Emulation of Multiprocessor SoC Designs , 2003, Computer.

[37]  Soonhoi Ha,et al.  Communication Architecture Simulation on the Virtual Synchronization Framework , 2007, SAMOS.

[38]  John L. Hennessy,et al.  The accuracy of trace-driven simulations of multiprocessors , 1993, SIGMETRICS '93.

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

[40]  Franco Fummi,et al.  A Timing-Accurate HW/SW Co-Simulation of an ISS with SystemC , 2004 .

[41]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[42]  Luciano Lavagno,et al.  Fast hardware/software co-simulation for virtual prototyping and trade-off analysis , 1997, DAC.