In this paper, we propose techniques for fast cycle-approximate multi-processor SoC simulation with timed transaction level models and OS models. Cycle-approximate simulation with an abstract model is widely used for fast validation of a multi-processor SoC in early design stages. However, the performance gain of abstract-level simulation is limited by the overhead of synchronizing multiple concurrent processor/module simulators, which is inevitable in timed simulation. To reduce the synchronization overhead, we adopt the synchronization time-point prediction method, which consists of two phases: static code analysis and dynamic scheduling of synchronizations. In the static analysis phase before simulation, it estimates minimum execution time from every point in the code to the nearest synchronization point. Then, during simulation, it pessimistically predicts the synchronization time-points based on the estimates. The proposed approach targets fast cycle-approximate simulation of a system with delay annotated SW code and transaction level models of HW with dynamic behavior. We present, in this paper, techniques to analyze such abstract models of SW and HW and schedule minimal number synchronizations during cycle-approximate simulation of the models. Experiments show that the approach achieves orders of magnitude higher performance in cycle-approximate multi-processor SoC simulation.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
Tax calculation will be finalised during checkout.
ConvergenSC (2006) http://www.coware.com/products/convergensc.php
MaxSim (2006) http://www.arm.com/products/DevTools/MaxSim.html
Pasricha S (2002) Transaction level modeling of SoC with systemC 2.0. In: Synopsys user group conference (SNUG)
Cai L, Gajski D (2003) Transaction level modeling: an overview. In: Proceedings of the international conference on hardware/software codesign and system synthesis, pp 19–24
Jung J, Yoo S, Choi K (2001) Performance improvement of multi-processor systems cosimulation based on SW analysis. In: Proceedings of the design automation and test in Europe, pp 749–753
Xinping Z, Malik S (2002) A hierarchical modeling framework for on-chip communication architectures. In: Proceedings of the international conference on computer aided design, pp 663–670
Caldari M, Conti M, Coppola M, Curaba S, Pieralisi L, Turchetti C (2003) Transaction-level models for AMBA bus architecture using systemC 2.0. In: Proceedings of the design, automation and test in Europe, pp 214–219
Gerstlauer A, Haobo Y, Gajski D (2003) RTOS modeling for system level design. In: Proceedings of the design, automation and test in Europe, pp 31–36
Yoo S, Nicolescu G, Gauthier L, Jerraya A (2000) Automatic generation of fast timed simulation models for operating systems in SoC design. In: Proceedings of the design, automation and test in Europe, pp 620–627
Honda S, Wakabayashi T, Tomiyama H, Takada H (2004) RTOS-centric hardware/software cosimulator for embedded system design. In: Proceedings of international conference on hardware/software codesign and system synthesis, pp 158–163
Hassar M, Sakanushi K, Takeuchi Y, Imai M (2005) RTK-Spec TRON: a simulation model of an ITRON based RTOS kernel in SystemC. In: Proceedings of the design, automation and test in Europe, pp 554–559
Yoo S, Choi K (2000) Optimizing timed cosimulation by hybrid synchronization. Des Autom Embed Syst 5(2)
Yi Y, Kim D, Ha S (2003) Virtual synchronization technique with OS modeling for fast and time-accurate cosimulation. In: Proceedings of the international conference on hardware/software codesign and system synthesis, pp 1–6
Chung M, Kyung C (2006) Enhancing performance of HW/SW cosimulation and coemulation by reducing communication overhead. IEEE Trans Comput 55(2):125–136
Seamless CVE (2006) http://www.mentor.com/seamless
Vera X, Lisper B, Jingling X (2003) Data caches in multitasking hard real-time systems. In: Proceedings of the real-time systems symposium, pp 154–165
Li YT-S, Malik S, Wolfe A (1995) Performance estimation of embedded software with instruction cache modeling. In: Proceedings of the international conference on computer-aided design, pp 380–387
Portable Video Research Group. PVRG-JPEG CODEC. ftp://havefun.stanford.edu/pub/jpeg/JPEGw1.2.1.tar.Z
TIA/EIA-95A (1995) Mobile station-base station compatibility standard for dual-mode wideband spread spectrum cellular systems
ITU-T (1996) Video coding for low bitrate communication
Moore SK (2006) Multimedia monster. IEEE Spectr 43(1):20–23
Grotker T, Liao S, Martin G, Swan S (2002) System design with SystemC. Kluwer Academic, Dordrecht
Gajski D, Zhu J, Domer R, Gerstlauer A, Zhao S (2000) SpecC: specification language and methodology. Kluwer Academic, Dordrecht
Kim Y, Kim T, Kim Y, Shin C, Chung E, Choi K, Kong J, Eo S (2005) Fast and accurate transaction level modeling of an extended AMBA2.0 bus architecture. In: Proceedings of the design, automation and test in Europe, pp 138–139
Moussa I, Grellier T, Nguyen G (2003) Exploring SW performance using SoC transaction-level modeling. In: Proceedings of the design, automation and test in Europe, pp 120–125
Lee J, Park S (2005) Transaction level modeling of IEEE 802.11 system. In: Proceedings of the IEEE international symposium on circuits and systems, pp 3978–3981
RealView (2007) http://www.arm.com/products/DevTools/
Virtio (2007) http://www.virtio.com
About this article
Cite this article
Jung, J., Yoo, S. & Choi, K. Fast cycle-approximate MPSoC simulation based on synchronization time-point prediction. Des Autom Embed Syst 11, 223–247 (2007). https://doi.org/10.1007/s10617-007-9010-y
- Multiprocessor system-on-chip
- Cycle-approximate simulation
- Transaction-level model
- OS model