Abstract
Virtual platforms have become essential tools for the design of embedded systems. Developers rely on them for design space exploration and software debugging. However, with rising HW/SW complexity and the need to simulate more and more processors simultaneously, the performance of virtual platforms degrades rapidly. Parallel simulation techniques can help to counter this by leveraging multicore PCs, which are widely available today. This work presents a novel parallel simulation approach that is targeted toward acceleration of virtual platforms from the ESL domain. By trading some timing accuracy, multiprocessor virtual platforms can be accelerated by up to 3.4× on regular quad-core workstations.
- Accellera Systems Initiative. 2015. OSCI SystemC 2.3. http://www.accellera.org. (2015).Google Scholar
- Igor Böhm, Björn Franke, and Nigel Topham. 2010. Cycle-accurate performance modelling in an ultra-fast just-in-time dynamic binary translation instruction set simulator. In International Conference on Embedded Computer Systems (SAMOS’10).Google Scholar
Cross Ref
- Weiwei Chen, Xu Han, and Rainer Dömer. 2014. May-happen-in-parallel analysis based on segment graphs for safe ESL models. In Design, Automation and Test in Europe Conference (DATE’14). Google Scholar
Digital Library
- CHIST-ERA. 2014. The GEMSCLAIM Project. http:/www.chistera.eu/projects/gemsclaim/. (2014).Google Scholar
- Moo-Kyoung Chung, Jun-Kyoung Kim, and Soojung Ryu. 2014. SimParallel: A high performance parallel SystemC simulator using hierarchical multi-threading. In IEEE International Symposium on Circuits and Systems (ISCAS’14).Google Scholar
Cross Ref
- Rainer Dömer, Weiwei Chen, and Xu Han. 2012. Parallel discrete event simulation of transaction level models. In Asia and South Pacific Design Automation Conference (ASP-DAC’12).Google Scholar
Cross Ref
- Richard M. Fujimoto. 1999. Parallel and Distributed Simulation Systems. John Wiley 8 Sons, New York, NY. Google Scholar
Digital Library
- IEEE Computer Society. 2011. IEEE standard SystemC language reference manual. IEEE Std 1666-2011 (Revision of IEEE Std 1666-2005) (2011).Google Scholar
- Rauf Salimi Khaligh and Martin Radetzki. 2010. Modeling constructs and kernel for parallel simulation of accuracy adaptive TLMs. In Design, Automation and Test in Europe Conference (DATE’10). Google Scholar
Digital Library
- Stefan Kristiansson. 2015. OpenRISC Linux. https://github.com/openrisc/linux. (2015).Google Scholar
- Peter S. Magnusson, Magnus Christensson, Jesper Eskilson, Daniel Forsgren, Gustav Hallberg, Johan Hogberg, Frederik Larsson, Andreas Moestedt, and Bengt Werner. 2002. Simics: A full system simulation platform. Computer 35 (2002), 50--58. Google Scholar
Digital Library
- Matthieu Moy. 2013. Parallel programming with SystemC for loosely timed models: A non-intrusive approach. In Design, Automation and Test in Europe Conference (DATE’13). Google Scholar
Digital Library
- Luis Gabriel Murillo, Simon Wawroschek, Jeronimo Castrillon, Rainer Leupers, and Gerd Ascheid. 2014. Automatic detection of concurrency bugs through event ordering constraints. In Design, Automation and Test in Europe Conference (DATE’14). Google Scholar
Digital Library
- Achim Nohl, Frank Schirrmeister, and Drew Taussig. 2010. Application specific processor design: Architectures, design methods and tools. In IEEE/ACM International Conference on Computer-Aided Design. Google Scholar
Digital Library
- Julien Peeters, Nicolas Ventroux, Tanguy Sassolas, and Lionel Lacassagne. 2011. A SystemC TLM framework for distributed simulation of complex systems with unpredictable communication. In Design and Architectures for Signal and Image Processing (DASIP’11).Google Scholar
- Shivani Raghav, Martino Ruggiero, Andrea Marongiu, Christian Pinto, David Atienza, and Luca Benini. 2015. GPU acceleration for simulating massively parallel many-core platforms. IEEE Transactions on Parallel and Distributed Systems 26, 5 (2015), 1336--1349.Google Scholar
Cross Ref
- Christoph Roth, Simon Reder, Oliver Sander, Michael Hübner, and Jürgen Becker. 2012. A framework for exploration of parallel SystemC simulation on the single-chip cloud computer. In Conference on Simulation Tools and Techniques (SIMUTOOLS’12). Google Scholar
Digital Library
- Christian Sauer, Hans-Martin Bluethgen, and Hans-Peter Loeb. 2014. Distributed, loosely-synchronized SystemC/TLM simulations of many-processor platforms. In Forum on Specification and Design Languages (FDL’14).Google Scholar
- Lars Schor, Iuliana Bacivarov, Luis Murillo, Pier Stanislao Paolucci, Frederic Rousseau, Ashraf El Antably, Robert Buecs, Nicolas Fournel, Rainer Leupers, Devendra Rai, Lothar Thiele, Larura Tosoratto, Piero Vicini, and Jan Henrik Weinstock. 2014. EURETILE design flow: Dynamic and fault tolerant mapping of multiple applications onto many-tile systems. In IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA’14). Google Scholar
Digital Library
- Christoph Schumacher, Jan Henrik Weinstock, Rainer Leupers, Gerd Ascheid, Laura Tosoratto, Alessandro Lonardo, Dietmar Petras, and Andreas Hoffmann. 2014. legaSCi: Legacy SystemC model integration into parallel simulators. ACM Transactions on Embedded Computing Systems 13, 5s (2014), 165:1--165:24. Google Scholar
Digital Library
- Rohit Sinha, Aayush Prakash, and Hiren D. Patel. 2012. Parallel simulation of mixed-abstraction SystemC models on GPUs and multicore CPUs. In Asia and South Pacific Design Automation Conference (ASP-DAC’12).Google Scholar
- James Tandon. 2011. The OpenRISC processor: Open hardware and Linux. Linux 212 (2011). Google Scholar
Digital Library
- Nicolas Ventroux, Julien Peeters, Tanguy Sassolas, and James C. Hoe. 2014. Highly-parallel special-purpose multicore architecture for SystemC/TLM simulations. In Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS’14).Google Scholar
- Denys Vlasenko. 2015. BusyBox: The Swiss Army Knife of Embedded Linux. https://www.busybox.net. (2015).Google Scholar
- Jan Henrik Weinstock, Rainer Leupers, and Gerd Ascheid. 2015. Parallel SystemC simulation for ESL design using flexible time decoupling. In International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS’15).Google Scholar
Cross Ref
- Jan Henrik Weinstock, Christoph Schumacher, Rainer Leupers, Gerd Ascheid, and Laura Tosoratto. 2014. Time-decoupled parallel SystemC simulation. In Design, Automation and Test in Europe Conference. Google Scholar
Digital Library
- Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh, and Anoop Gupta. 1995. The SPLASH-2 programs: Characterization and methodological considerations. In International Symposium on Computer Architecture (ISCA’95). Google Scholar
Digital Library
- Tingting Yu, Witawas Srisa-an, and Gregg Rothermel. 2012. SimTester: A controllable and observable testing framework for embedded systems. SIGPLAN Notices 47, 7 (2012), 51--62. Google Scholar
Digital Library
Index Terms
Parallel SystemC Simulation for ESL Design
Recommendations
Modeling Exclusive Memory Access for a Time-Decoupled Parallel SystemC Simulator
SCOPES '15: Proceedings of the 18th International Workshop on Software and Compilers for Embedded SystemsThe growing complexity of modern embedded systems poses a challenge to designers of virtual platforms, as the increasing number of processors causes simulation speed to degrade. To remain viable as design tools, virtual platforms must use highly ...
AMVP - a high performance virtual platform using parallel systemC for multicore ARM architectures: work-in-progress
CODES '18: Proceedings of the International Conference on Hardware/Software Codesign and System SynthesisThis paper presents AMVP - a SystemC based simulator for ARM multicore platforms designed as a tool for early SW development during platform bring-up. It uses a parallel SystemC simulation approach to counter the performance slowdown incurred when ...
Parallel VHDL simulation
DATE '98: Proceedings of the conference on Design, automation and test in EuropeIn this paper we evaluate parallel VHDL simulation based on conservative parallel discrete event simulation (conservative PDES) algorithms. We focus on a conservative simulation algorithm based on critical and external distances. This algorithm exploits ...






Comments