Skip to main content

Part of the book series: Lecture Notes in Electrical Engineering ((LNEE,volume 10))

Abstract

In this paper, we compare the underlying models of computation of the system description languages SystemC and Esterel. Although these languages have a rather different origin, we show that the execution/simulation of programs written in these languages consists of many corresponding computation steps. As a consequence, we identify different classes of Esterel programs that can be easily translated to SystemC processes and vice versa. Moreover, we identify concepts like preemption in Esterel that are difficult to implement in a structured way in SystemC.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Benveniste, P. Caspi, S. Edwards, N. Halbwachs, P. Le Guernic, and R. de Simone. The synchronous languages twelve years later. Proceedings of the IEEE, 91(1):64–83, 2003.

    Article  Google Scholar 

  2. G. Berry. The foundations of Esterel. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, Cambridge, USA 1998.

    Google Scholar 

  3. G. Berry. The constructive semantics of pure Esterel. http://www-sop.inria.fr/esterel.org/, July 1999.

  4. G. Berry and L. Cosserat. The synchronous programming language Esterel and its mathematical semantics. In S.D. Brookes, A.W. Roscoe, and G. Winskel, editors, Seminar on Concurrency, volume 197 of LNCS, pages 389–448, Springer Pittsburgh, PA 1984.

    Google Scholar 

  5. G. Berry and R. de Simone. The Esterel language. Proceedings of the IEEE, 79:1293–1304, 1991.

    Article  Google Scholar 

  6. J.A. Brzozowski and C.-J.H. Seger. Asynchronous Circuits. Springer, New York 1995.

    Google Scholar 

  7. S. Edwards. Compiling concurrent languages for sequential processors. ACM Transactions on Design Automation of Electronic Systems (TODAES), 8(2):141–187, 2003.

    Article  Google Scholar 

  8. N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer Dordrecht, 1993.

    Google Scholar 

  9. IEEE Computer Society. IEEE Standard VHDL Language Reference Manual. New York, 2000. IEEE Std. 1076–2000.

    Google Scholar 

  10. IEEE Computer Society. IEEE Standard Hardware Description Language Based on the Verilog Hardware Description Language. New York, 2001. IEEE Std. 1394–2001.

    Google Scholar 

  11. IEEE Computer Society. IEEE Standard SystemC Language Reference Manual. New York, USA, December 2005. IEEE Std. 1666–2005.

    Google Scholar 

  12. IEEE Computer Society. IEEE Standard Esterel Language Reference Manual. New York, USA, to appear 2007. IEEE Std. 1778.

    Google Scholar 

  13. Open SystemC Initiative. SystemC Version 2.1 User’s Guide, 2005.

    Google Scholar 

  14. W. Müller, J. Ruf, D. Hoffmann, J. Gerlach, T. Kropf, and W. Rosenstiel. The simulation semantics of SystemC. In Design, Automation and Test in Europe (DATE), pages 64–70, IEEE Computer Society Munich, Germany, 2001.

    Google Scholar 

  15. W. Müller, J. Ruf, and W. Rosenstiel. An ASM based SystemC simulation semantics. In W. Müller, J. Ruf, and W. Rosenstiel, editors, SystemC–Methodologies and Applications, pages 97–126, Kluwer Dordrecht, 2003.

    Google Scholar 

  16. K. Schneider. Proving the equivalence of microstep and macrostep semantics. In V. Carreño, C. Muñoz, and S. Tahar, editors, Theorem Proving in Higher Order Logic (TPHOL), volume 2410 of LNCSpages 314–331, Springer Hampton, VA, 2002.

    Google Scholar 

  17. K. Schneider, J. Brandt, and T. Schuele. A verified compiler for synchronous programs with local declarations. Electronic Notes in Theoretical Computer Science (ENTCS), 153(4):71–97, 2006.

    Article  Google Scholar 

  18. K. Schneider, J. Brandt, T. Schuele, and T. Tuerk. Improving constructiveness in code generators. In Synchronous Languages, Applications, and Programming (SLAP), Edinburgh, 2005.

    Google Scholar 

  19. K. Schneider, J. Brandt, T. Schuele, and T. Tuerk. Maximal causality analysis. In Application of Concurrency to System Design (ACSD), pages 106–115, IEEE Computer Society St. Malo, France, 2005.

    Chapter  Google Scholar 

  20. K. Schneider, J. Brandt, and E. Vecchié. Efficient code generation from synchronous programs. In F. Brewer and J.C. Hoe editors, Formal Methods and Models for Codesign (MEMOCODE), pages 165–174, IEEE Computer Society Napa Valley, CA, 2006.

    Google Scholar 

  21. K. Schneider, J. Brandt, and E. Vecchié. Modular compilation of synchronous programs. In IFIP Conference on Distributed and Parallel Embedded Systems (DIPES), Springer Braga, Portugal, 2006.

    Google Scholar 

  22. R.K. Shyamasundar, F. Doucet, R. Gupta, and I.H. Krüger. Compositional reactive semantics of SystemC and verification in RuleBase. In Workshop on Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems, 2007.

    Google Scholar 

  23. B. Stroustrup. The C++ Programming Language Series in Computer Science. Addison-Wesley, Reading, MA, 1986.

    Google Scholar 

  24. J. Zeng, C. Soviani, and S.A. Edwards. Generating fast code from concurrent program dependence graphs. In Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 175–181, ACM Washington, DC, 2004.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer Science + Business Media B.V

About this chapter

Cite this chapter

Brandt, J., Schneider, K. (2008). How Different Are Esterel and SystemC. In: Villar, E. (eds) Embedded Systems Specification and Design Languages. Lecture Notes in Electrical Engineering, vol 10. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-8297-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4020-8297-9_1

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-1-4020-8296-2

  • Online ISBN: 978-1-4020-8297-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics