Abstract
IEEE SystemC is one of the most popular standards for system level design. With the Recoding Infrastructure for SystemC (RISC), a SystemC model can be executed at segment level in parallel. Although the parallel simulation is generally faster than its sequential counterpart, any data conflict among segments reduces the simulation speed significantly. In this paper, we propose for RISC users a coding guideline that increases the granularity of segments, so that the level of parallelism in the design increases and higher simulation speed becomes possible. Our experimental results show that a maximum speedup of over 6.0x is achieved on an 8-core processor, which is 1.7 times faster than parallel simulation without the coding guideline.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Note that the timing accuracy of a robust model will not be affected by extra delta cycles.
- 2.
The instance id is shown here, which is not of interest in this paper.
References
IEEE Standard 1666–2011 for Standard SystemC® Language Reference Manual. (2012). IEEE Computer Society, January 2012.
SystemC Language Working Group. (2014). SystemC 2.3.1, Core SystemC Language and Examples, Accellera Systems Initiative. [Online]. Available: http://accellera.org/downloads/standards/systemc, 2014.
Fujimoto, R. (1990). Parallel discrete event simulation. Commun. ACM, 33, 3053.
Chen, W., Han, X., Chang, C. W., Liu, G., & Dömer, R. (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), 1859–1872.
Dömer, R., Liu, G., & Schmidt, T. (2016). Parallel simulation. In S. Ha, & J. Teich (Eds.), Handbook of Hardware/Software Codesign. Dordrecht: Springer.
Lab for Embedded Computer Systems (LECS). Recoding Infrastructure for SystemC [Online]. Available: www.cecs.uci.edu/~doemer/risc.html#RISC050.
Liu, G., Schmidt, T., & Dömer, R. (2016). A segment-aware multi-core scheduler for systemC PDES. In Proceedings of the International High Level Design Validation and Test Workshop, Santa Cruz, California, October 2016.
Schmidt, T., Cheng, Z., & Dömer, R. (2018). Port call path sensitive conflict analysis for instance-aware parallel systemc simulation. In Proceedings of Design, Automation and Test in Europe, Dresden, Germany, March 2018.
Schumacher, C., Leupers, R., Petras, D., & Hoffmann, A. (2010). parSC: synchronous parallel systemc simulation on multi-core host architectures. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (pp. 241–246).
Kaushik, A., & Patel, H. D. (2013). SystemC-clang: an open-source framework for analyzing mixed-abstraction SystemC models. In Proceedings of the Forum on Specification and Design Languages (FDL), Paris, 2013.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Cheng, Z., Schmidt, T., Dömer, R. (2020). SystemC Coding Guideline for Faster Out-of-Order Parallel Discrete Event Simulation. In: Kazmierski, T., Steinhorst, S., Große, D. (eds) Languages, Design Methods, and Tools for Electronic System Design. Lecture Notes in Electrical Engineering, vol 611. Springer, Cham. https://doi.org/10.1007/978-3-030-31585-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-31585-6_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31584-9
Online ISBN: 978-3-030-31585-6
eBook Packages: EngineeringEngineering (R0)