Skip to main content
Log in

SystemC co-simulation for core-based embedded systems

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

SystemC is becoming the reference language for hardware description in EDA community. It is suitable for describing hardware at several abstraction levels, and it can be used to develop devices for programmable, CPU-based, systems. In such a context, there are several requirements to meet. The hardware under development can be an extension module for an existing system, possibly with no knowledge on the actual system implementation. At the same time, the module to develop can be minded as a CPU-independent device that should be evaluated against different processors. Hence, the developer should leverage different techniques, depending on the development environment involved.

We present a framework that allows to co-simulate the hardware under development and the software, in a system extending context as well as in a CPU-centered design. Such a framework can use different abstraction levels for the hardware, thus allowing to meet the best accuracy/performance tradeoffs. Moreover, when required, the CPU can be replaced on the fly, keeping the software portion just marginally changed (or not modified at all), then realizing the required modularity of the design.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Buck JT, Ha S, Lee EA, Messerschmitt DG (1994) Ptolemy: a framework for simulating and prototyping heterogeneous systems. Int J Comput Simul 4(2):155–182

    Google Scholar 

  2. Balarin F, Chiodo M, Giusto P et al. (1997) Hardware–software co-design of embedded systems: the Polis approach. Kluwer Academic, Dordrecht

    Book  MATH  Google Scholar 

  3. Liem C, Nacabal F, Valderrama C, Paulin P, Jerraya AA (1997) System-on-chip co-simulation and compilation. IEEE Des Test Comput 14(2):16–25

    Article  Google Scholar 

  4. Valderrama C, Nacabal F, Paulin P, Jerraya A (1998) Automatic VHDL-C interface generation for distributed co-simulation: application to large design examples. Des Autom Embed Syst 3(2/3):199–217

    Article  Google Scholar 

  5. Coste P, Hessel F, Le Marrec P et al (1999) Multilanguage design of heterogeneous systems. In: International workshop on hardware–software codesign, pp 54–58, May 1999

  6. Mentor Graphics Inc, Seamless CVE, http://www.mentor.com/seamless

  7. Liu J, Lajolo M, Sangiovanni-Vincentelli A (1998) Software timing analysis using HW/SW co-simulation and instruction set simulator. In: Proceedings of IEEE international workshop on hardware/software co-design, pp 65–69

  8. Semeria L, Ghosh A (2000) Methodology for hardware/software co-verification in C/C++. In: Proceedings of IEEE Asian and South Pacific design automation conference (ASP–DAC), pp 405–408

  9. Lahiri K, Raghunathan A, Lakshminarayana G, Dey S (2000) Communication architecture tuners: a methodology for the design of high-performance communication architectures for system-on-chips. In: Proceedings of ACM/IEEE design automation conference (DAC), pp 513–518

  10. Fummi F, Martini S, Perbellini G, Poncino M (2004) Native ISS-SystemC integration for the co-simulation of multi-processors SoC. In: Proceedings of IEEE design automation and test in Europe, pp 564–569

  11. Moussa I, Grellier T, Nguyen G (2003) Exploring SW performance using SoC transaction-level modelling. In: Proceedings of IEEE design automation and test in Europe, pp 120–125

  12. Benini L, Bertozzi D, Bruni D et al. (2003) SystemC co-simulation and emulation of multi-processor SoC designs. IEEE Comput 36(4):53–59

    Article  Google Scholar 

  13. Yoo S, Bacivarov I, Bouchhima A et al (2003) Building fast and accurate SW simulation models based on hardware abstraction layer and simulation environment. In: Abstraction layer. Proceedings of IEEE design automation and test in Europe, pp 550–555

  14. Bacivarov I, Yoo S, Jerraya AA (2002) Timed HW-SW co-simulation using native execution of OS and application SW. In: Proceedings of IEEE international high level design validation and test workshop, pp 51–56

  15. Formaggio L, Fummi F, Pravadelli G (2004) A timing-accurate HW/SW co-simulation of an ISS with SystemC. In: Proceedings of IEEE international conference on hardware/software codesign and system synthesis, pp 152–157

  16. Bouchima A, Yoo S, Jerraya AA (2004) Fast and accurate timed execution of high-level embedded software using HW/SW interface simulation model. In: ASPDAC’04: Asia South Pacific design automation conference, January 2004, pp 469–474

  17. Ultimodule Inc, http://www.ultimodule.com

  18. RedHat eCos, http://sources.redhat.com/eCos

  19. CoWare—the ESL design leader, http://www.coware.com/

  20. GNU project Web server, http://www.gnu.org/software/

  21. De Man H, Verkest D, Desmet D (2000) Operating system based software generation for systems-on-chip. In: DAC-37: 37th design automation conference, June 2000, pp 396-401

  22. CarbonKernel project home page, http://savannah.nongnu.org/projects/carbonkernel

  23. Xenomai project home page, http://www.xenomai.org

  24. ICS Triplex ISaGRAF, www.altersys.com

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Franco Fummi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fummi, F., Loghi, M., Perbellini, G. et al. SystemC co-simulation for core-based embedded systems. Des Autom Embed Syst 11, 141–166 (2007). https://doi.org/10.1007/s10617-007-9006-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-007-9006-7

Keywords

Navigation