legaSCi: Legacy SystemC Model Integration into Parallel Simulators

Architects and developers use virtual prototypes of computer systems to receive early feedback on hardware design decisions as well as to develop and debug system software. This is facilitated by the comprehensive inspection capabilities virtual prototypes offer. For virtual prototypes, execution speed is crucial to support the users' productivity. Parallel simulation techniques are employed to offset the speed impact of the increasing number of cores that need to be simulated in virtual prototypes of parallel and embedded systems. SystemC is the de facto industry standard library for virtual platform modeling. Since currently no parallel SystemC library is commonly available, typical SystemC models are coded for execution in sequential simulation environments. Simply putting such models into parallel simulators may lead to thread-safety issues and may additionally cause nondeterministic simulator behavior. This article proposes a methodology to support simulation creators to face the challenge of integrating such legacy models into parallel SystemC environments. The feasibility of the proposed method is evaluated by parallelizing the latest instance of the EU FP7 project EURETILE embedded platform simulator. Using legaSCi, on four host processor cores a speedup of 2.13× is demonstrated, without having to change the individual models of the simulator.

[1]  Rainer Leupers,et al.  parSC: Synchronous parallel SystemC simulation on multi-core host architectures , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[2]  Rainer Leupers,et al.  Scandal: Systemc analysis for nondeterminism anomalies , 2012, Proceeding of the 2012 Forum on Specification and Design Languages.

[3]  K. Mani Chandy,et al.  Distributed Simulation: A Case Study in Design and Verification of Distributed Programs , 1979, IEEE Transactions on Software Engineering.

[4]  Rainer Leupers,et al.  Cause and effect of nondeterministic behavior in sequential and parallel SystemC simulators , 2012, 2012 IEEE International High Level Design Validation and Test Workshop (HLDVT).

[5]  Rainer Leupers,et al.  EURETILE 2010-2012 summary: first three years of activity of the European Reference Tiled Experiment , 2013, ArXiv.

[6]  Davide Rossetti,et al.  APEnet+: a 3D Torus network optimized for GPU-based HPC Systems , 2012 .

[7]  Frédéric Pétrot,et al.  A System Framework for the Design of Embedded Software Targeting Heterogeneous Multi-core SoCs , 2009, 2009 20th IEEE International Conference on Application-specific Systems, Architectures and Processors.

[8]  Hiren D. Patel,et al.  Parallel simulation of mixed-abstraction SystemC models on GPUs and multicore CPUs , 2012, 17th Asia and South Pacific Design Automation Conference.

[9]  Gerard J. M. Smit,et al.  Using an FPGA for Fast Bit Accurate SoC Simulation , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[10]  Christoph Roth,et al.  HLA-based simulation environment for distributed SystemC simulation , 2011, SimuTools.

[11]  Barton P. Miller,et al.  What are race conditions?: Some issues and formalizations , 1992, LOPL.

[12]  Xu Han,et al.  Out-of-order parallel simulation for ESL design , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  David M. Nicol,et al.  Parallel execution for serial simulators , 1996, TOMC.

[14]  Rainer Leupers,et al.  legaSCi: Legacy SystemC Model Integration into Parallel Systemc Simulators , 2013, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[15]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.