{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:25:03Z","timestamp":1750220703490,"version":"3.41.0"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"5s","license":[{"start":{"date-parts":[[2019,10,8]],"date-time":"2019-10-08T00:00:00Z","timestamp":1570492800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100002418","name":"Intel Corporation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100002418","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2019,10,31]]},"abstract":"<jats:p>\n            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\n            <jats:italic>parallel<\/jats:italic>\n            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.\n          <\/jats:p>","DOI":"10.1145\/3358194","type":"journal-article","created":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T13:13:05Z","timestamp":1570713185000},"page":"1-20","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Analyzing Variable Entanglement for Parallel Simulation of SystemC TLM-2.0 Models"],"prefix":"10.1145","volume":"18","author":[{"given":"Zhongqi","family":"Cheng","sequence":"first","affiliation":[{"name":"University of California, Irvine, CA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rainer","family":"D\u00f6mer","sequence":"additional","affiliation":[{"name":"University of California, Irvine, CA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,10,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"January","author":"Standard SystemC\u00ae Language IEEE","year":"2012","unstructured":"IEEE Standard 1666-2011 for Standard SystemC\u00ae Language Reference Manual , IEEE Computer Society , January 2012 . IEEE Standard 1666-2011 for Standard SystemC\u00ae Language Reference Manual, IEEE Computer Society, January 2012."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2014.2356469"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2016.2617284"},{"key":"e_1_2_1_4_1","unstructured":"Lab for Embedded Computer Systems (LECS) Recoding Infrastructure for SystemC [Online]. Available: http:\/\/www.cecs.uci.edu\/&tilde;doemer\/risc.html#RISC050.  Lab for Embedded Computer Systems (LECS) Recoding Infrastructure for SystemC [Online]. Available: http:\/\/www.cecs.uci.edu\/&tilde;doemer\/risc.html#RISC050."},{"key":"e_1_2_1_5_1","volume-title":"Parallel discrete event simulation. Commun. ACM 33 (Oct","author":"Fujimoto R.","year":"1990","unstructured":"R. Fujimoto . 1990. Parallel discrete event simulation. Commun. ACM 33 (Oct . 1990 ), 3053. R. Fujimoto. 1990. Parallel discrete event simulation. Commun. ACM 33 (Oct. 1990), 3053."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of Design, Automation and Test in Europe","author":"Schmidt T.","year":"2018","unstructured":"T. Schmidt , Z. Cheng , and R. D\u00f6mer . 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 . T. Schmidt, Z. Cheng, and R. D\u00f6mer. 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."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3061639.3062243"},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the forum on specification and design languages (FDL)","author":"Kaushik A.","year":"2013","unstructured":"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. 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."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/NORCHIP.2016.7792920"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of Design, Automation and Test in Europe","author":"Weinstock J. H.","year":"2016","unstructured":"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 . 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."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.3390\/electronics5020022"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/2485288.2485294"},{"key":"e_1_2_1_13_1","volume-title":"IEEE International Symposium on Parallel and Distributed Processing with Applications","author":"Combes P.","year":"2008","unstructured":"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 . 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."},{"key":"e_1_2_1_14_1","unstructured":"DOULOS tutorial: Getting Started with TLM-2.0 [Online]. Available: https:\/\/www.doulos.com\/knowhow\/systemc\/tlm2\/tutorial__1\/.  DOULOS tutorial: Getting Started with TLM-2.0 [Online]. Available: https:\/\/www.doulos.com\/knowhow\/systemc\/tlm2\/tutorial__1\/."},{"key":"e_1_2_1_15_1","volume-title":"July","author":"OSCI","year":"2009","unstructured":"OSCI TLM-2.0 LANGUAGE REFERENCE MANUAL , the Open SystemC Initiative (OSCI) , July 2009 . OSCI TLM-2.0 LANGUAGE REFERENCE MANUAL, the Open SystemC Initiative (OSCI), July 2009."},{"key":"e_1_2_1_16_1","volume-title":"Springer Netherlands","author":"D\u00f6mer R.","year":"2017","unstructured":"R. D\u00f6mer , G. Liu , and T. Schmidt . 2017. Parallel simulation. chapter 17 in \u201cHandbook of Hardware\/Software Codesign\u201d by S. Ha and J. Teich , Springer Netherlands , Dordrecht , June 2017 . (ISBN 978-94-017-7358-4). R. D\u00f6mer, G. Liu, and T. Schmidt. 2017. Parallel simulation. chapter 17 in \u201cHandbook of Hardware\/Software Codesign\u201d by S. Ha and J. Teich, Springer Netherlands, Dordrecht, June 2017. (ISBN 978-94-017-7358-4)."},{"key":"e_1_2_1_17_1","volume-title":"Lawrence Livermore National Laboratory","author":"User Manual ROSE","year":"2019","unstructured":"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 . 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."},{"key":"e_1_2_1_18_1","unstructured":"Accellera SystemC supplemental material [Online]. Available: https:\/\/www.accellera.org\/downloads\/standards\/systemc.  Accellera SystemC supplemental material [Online]. Available: https:\/\/www.accellera.org\/downloads\/standards\/systemc."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358194","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3358194","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:32:58Z","timestamp":1750199578000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358194"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,8]]},"references-count":18,"journal-issue":{"issue":"5s","published-print":{"date-parts":[[2019,10,31]]}},"alternative-id":["10.1145\/3358194"],"URL":"https:\/\/doi.org\/10.1145\/3358194","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2019,10,8]]},"assertion":[{"value":"2019-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-10-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}