skip to main content
research-article
Open Access

Analyzing Variable Entanglement for Parallel Simulation of SystemC TLM-2.0 Models

Published:08 October 2019Publication History
Skip Abstract Section

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.

References

  1. IEEE Standard 1666-2011 for Standard SystemC® Language Reference Manual, IEEE Computer Society, January 2012.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. Lab for Embedded Computer Systems (LECS), Recoding Infrastructure for SystemC [Online]. Available: http://www.cecs.uci.edu/˜doemer/risc.html#RISC050.Google ScholarGoogle Scholar
  5. R. Fujimoto. 1990. Parallel discrete event simulation. Commun. ACM 33 (Oct. 1990), 3053.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. DOULOS tutorial: Getting Started with TLM-2.0 [Online]. Available: https://www.doulos.com/knowhow/systemc/tlm2/tutorial__1/.Google ScholarGoogle Scholar
  15. OSCI TLM-2.0 LANGUAGE REFERENCE MANUAL, the Open SystemC Initiative (OSCI), July 2009.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. Accellera SystemC supplemental material [Online]. Available: https://www.accellera.org/downloads/standards/systemc.Google ScholarGoogle Scholar

Index Terms

  1. Analyzing Variable Entanglement for Parallel Simulation of SystemC TLM-2.0 Models

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!