Abstract
The SystemC TLM-2.0 standard is widely used in modern electronic system level design for better interoperability and higher simulation speed. However, TLM-2.0 has been identified as an obstacle for parallel SystemC simulation due to the disappearance of channels. Without a containment construct, simulation threads are permitted to directly access data of other modules and that makes it difficult to synchronize such accesses as required by the SystemC execution semantics. In this paper, we propose a compile time approach to statically analyze potential conflicts among threads in SystemC TLM-2.0 loosely- and approximately-timed models. We introduce a new Socket Call Path technique which provides the compiler with socket binding information for precise static analysis. We also propose an algorithm to analyze entangled variable pairs. Experimental results show that our approach is able to support automatically safe parallel simulation of SystemC models with TLM-2.0 Blocking Transport Interface, Direct Memory Interface and Non-blocking Transport Interface, resulting in impressive simulation speeds.
- IEEE Standard 1666-2011 for Standard SystemC® Language Reference Manual, IEEE Computer Society, January 2012.Google Scholar
- W. Chen, X. Han, C. W. Chang, G. Liu, and R. Dömer. 2014. Out-of-order parallel discrete event simulation for transaction level models. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 33, 12 (2014), 1859--1872.Google Scholar
Cross Ref
- R. Dömer. 2016. Seven obstacles in the way of standard-compliant parallel systemc simulation. IEEE Embedded Systems Letters 8, 4 (December 2016), 81--84.Google Scholar
Digital Library
- Lab for Embedded Computer Systems (LECS), Recoding Infrastructure for SystemC [Online]. Available: http://www.cecs.uci.edu/˜doemer/risc.html#RISC050.Google Scholar
- R. Fujimoto. 1990. Parallel discrete event simulation. Commun. ACM 33 (Oct. 1990), 3053.Google Scholar
- T. Schmidt, Z. Cheng, and R. Dömer. 2018. Port call path sensitive conflict analysis for instance-aware parallel systemc simulation. Proceedings of Design, Automation and Test in Europe, Dresden, Germany, March 2018.Google Scholar
- T. Schmidt, G. Liu, and R. Dömer. 2017. Exploiting thread and data level parallelism for ultimate parallel systemc simulation. Proceedings of the Design Automation Conference 2017, Austin, TX, June 2017.Google Scholar
Digital Library
- A. Kaushik. Patel HD (2013) SystemC-clang: An open-source framework for analyzing mixed-abstraction SystemC models. Proceedings of the forum on specification and design languages (FDL), Paris.Google Scholar
- J. Viitanen, P. Sjvöall, M. Viitanen, T. D. Hämäläinen, and J. Vanne. 2016. Distributed systemc simulation on manycore servers. In IEEE Nordic Circuits and Systems Conference (NORCAS), (2016), 1--6.Google Scholar
Cross Ref
- J. H. Weinstock, R. Leupers, G. Ascheid, D. Petras, and A. Hoffmann. 2016. SystemC-link: Parallel SystemC simulation using time-decoupled segments. In Proceedings of Design, Automation and Test in Europe, 2016.Google Scholar
- D. Becker, M. Moy, and J. Cornet. 2016. Parallel simulation of loosely timed SystemC/TLM programs: Challenges raised by an industrial case study. In Electronics 5, 2 (2016), 22.Google Scholar
Cross Ref
- M. Moy. 2013. Parallel programming with SystemC for loosely timed models: A non-intrusive approach. In Proceedings of Design, Automation and Test in Europe, 2013.Google Scholar
Digital Library
- P. Combes, E. Caron, F. Desprez, B. Chopard, and J. Zory. 2008. Relaxing synchronization in a parallel SystemC kernel. In IEEE International Symposium on Parallel and Distributed Processing with Applications, 2008.Google Scholar
- DOULOS tutorial: Getting Started with TLM-2.0 [Online]. Available: https://www.doulos.com/knowhow/systemc/tlm2/tutorial__1/.Google Scholar
- OSCI TLM-2.0 LANGUAGE REFERENCE MANUAL, the Open SystemC Initiative (OSCI), July 2009.Google Scholar
- R. Dömer, G. Liu, and T. Schmidt. 2017. Parallel simulation. chapter 17 in “Handbook of Hardware/Software Codesign” by S. Ha and J. Teich, Springer Netherlands, Dordrecht, June 2017. (ISBN 978-94-017-7358-4).Google Scholar
- ROSE User Manual: A Tool for Building Source-to-Source Translators Draft User Manual (version 0.9.10.231), Daniel Quinlan, Chunhua Liao, Thomas Panas, Robb Matzke, Markus Schordan, Rich Vuduc, and Qing Yi, Lawrence Livermore National Laboratory, April 19, 2019.Google Scholar
- Accellera SystemC supplemental material [Online]. Available: https://www.accellera.org/downloads/standards/systemc.Google Scholar
Index Terms
Analyzing Variable Entanglement for Parallel Simulation of SystemC TLM-2.0 Models
Recommendations
Parallel simulation of SystemC TLM 2.0 compliant MPSoC on SMP workstations
DATE '10: Proceedings of the Conference on Design, Automation and Test in EuropeThe simulation speed is a key issue in virtual prototyping of Multi-Processors System on Chip (MPSoCs). The SystemC TLM2.0 (Transaction Level Modeling) approach accelerates the simulation by using Interface Method Calls (IMC) to implement the ...
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 ...
Parallelizing SystemC Kernel for Fast Hardware Simulation on SMP Machines
PADS '09: Proceedings of the 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed SimulationSystemC is a system-level modeling language and simulation framework which facilitates design and verification of processor designs at different levels. Recently, SystemC is becoming a popular choice for designers of both System-On-Chip (SoC) and ...






Comments