System simulation with gem5 and SystemC: The keystone for full interoperability

SystemC TLM based virtual prototypes have become the main tool in industry and research for concurrent hardware and software development, as well as hardware design space exploration. However, there exists a lack of accurate, free, changeable and realistic SystemC models of modern CPUs. Therefore, many researchers use the cycle accurate open source system simulator gem5, which has been developed in parallel to the SystemC standard. In this paper we present a coupling of gem5 with SystemC that offers full interoperability between both simulation frameworks, and therefore enables a huge set of possibilities for system level design space exploration. Furthermore, we show that the coupling itself only induces a relatively small overhead to the total execution time of the simulation.

[1]  Gerhard Fettweis,et al.  M3: A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores , 2016 .

[2]  Bruce Jacob,et al.  The structural simulation toolkit , 2006, PERV.

[3]  Thomas F. Wenisch,et al.  Simulating DRAM controllers for future system architecture exploration , 2014, 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[4]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[5]  Tom De Schutter Better Software. Faster!: Best Practices in Virtual Prototyping , 2014 .

[6]  Thomas Kuhn,et al.  FERAL — Framework for simulator coupling on requirements and architecture level , 2013, 2013 Eleventh ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2013).

[7]  Norbert Wehn,et al.  Exploring system performance using elastic traces: Fast, accurate and portable , 2016, 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS).

[8]  Siyue Sun,et al.  A Fast Timing-Accurate MPSoC HW / SW Co-Simulation Platform based on a Novel Synchronization Scheme , 2010 .

[9]  Nicholas Nethercote,et al.  Valgrind: a framework for heavyweight dynamic binary instrumentation , 2007, PLDI '07.

[10]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[11]  Josef Weidendorfer,et al.  A Tool Suite for Simulation Based Analysis of Memory Access Behavior , 2004, International Conference on Computational Science.

[12]  Norbert Wehn,et al.  TLM modelling of 3D stacked wide I/O DRAM subsystems: a virtual platform for memory controller design space exploration , 2013, RAPIDO '13.

[13]  Norbert Wehn,et al.  Efficient reliability management in SoCs - an approximate DRAM perspective , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[14]  Norbert Wehn,et al.  DRAMSys: A Flexible DRAM Subsystem Design Space Exploration Framework , 2015, IPSJ Trans. Syst. LSI Des. Methodol..