Skip to main content
Log in

Single Source Design Environment for Embedded Systems Based on SystemC

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

Abstract

There is a clear need for new methodologies supporting efficient design of embedded systems on complex platforms implementing both hardware and software modules. Software development has to be carried out under a closer relationship with the underlying platform. The current trend is towards an increasing embedded software development effort under more stringent time-to-market requirements. As a consequence, it is necessary to reduce software generation cost while maintaining reliability and design quality.

In that context, languages centered on describing whole systems, with software and hardware parts, have been proposed. Among these, SystemC is gaining increasing interest as a specification language for embedded systems. SystemC supports the specification of the complete system and the modeling of the platform. In this paper, the application of SystemC to performance analysis and embedded software generation is discussed. A single-source approach is proposed, that is, the use of the same code for system-level specification and profiling, and, after architectural mapping, for HW/SW co-simulation and embedded software generation. A design environment based on C++ libraries for performance analysis and software generation is presented. This approach avoids working on intermediate formats and translators, which facilitates the designer’s interaction with the system description throughout the development process. Additionally, it ensures the preservation of the computational models used for the system specification during architectural mapping and compilation.

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. Balarin, F., L. Lavagno, P. Murthy, and A. SanGiovanni-Vicentelli. Scheduling for Embedded Real-Time Systems. IEEE Design & Test of Computers, January-March 1998.

  2. Bergeron, J. Writing Testbenches: Functional Verification of HDL Models, 2nd edition, Kluwer, 2003.

  3. Bjuréus, P. and A. Jantsch. Performance Analysis with Confidence Intervals for Embedded Software Processes. In Proc. of the Int. Symposium on System Synthesis, ISSS, 2001.

  4. Bolado, M., J. Castillo, H. Posadas, P. Sanchez, E. Villar, C. Sanchez, F. Blasco, and H Fouren. Platform Based on Open-Source Cores for Industrial Applications. In Proc. of DATE, IEEE, 2004.

  5. Brandolese, C., W. Fornaciari, F. Salice, and D. Sciuto. Source-Level Execution Time Estimation of C Programs. In Proc. of the Int. Symposium on HW/SW CoDesign, CoDes, 2001.

  6. Buttazzo, G. Hard Real-Time Computing Systems. Springer, 2005.

  7. Cesario, W., A. Baghdadi, L. Gauthier, D. Lyonnard, G. Nicolescu, Y. Paviot, S. Yoo, A. Jerraya, and M. Diaz-Nava. Component-Based Design Approach for Multi-Core SoCs. In Proc. of DATE, IEEE, 2002.

  8. Chang, H., L. Cooke, M. Hunt, G. Martin, A. McNelly, and L. Todd. Surviving the SoC Revolution: A Guide to Platform-Based Design, Kluwer, 1999.

  9. de Micheli, G. and R.K. Gupta. HW/SW Co-Design. In G. de Micheli, R. Ernst and W. Wolf (eds.), Readings in HW/SW Co-Design, Morgan-Kaufmann, 2002.

  10. Desmet, D., D. Verkest, and H. de Man. Operating System Based Software Generation for Systems-on-Chip, In Proc. of DATE, IEEE, 2000.

  11. Edenfeld, W., A. Kahng, M. Rodgers, and Y. Zorian. 2003 Technology Roadmap for Semiconductors. IEEE Computer, January 2004.

  12. Edwards, S., L. Lavagno, E.A. Lee, and A. SanGiovanni-Vicentelli. Design of Embedded Systems: Formal Models, Validation and Synthesis. In G. de Micheli, R. Ernst and W. Wolf (eds.), Readings in HW/SW Co-Design, Morgan-Kaufmann, 2002.

  13. EN 301.245, ETSI, December, 1997.

  14. Gauthier, L., S. Yoo, and A. Jerraya. Automatic Generation and Targeting of Application Specific Operating Systems and Embedded System Software. In Proc. of DATE, IEEE, 2001.

  15. Giusto, P., G. Martin, and E. Harcourt. Reliable Estimation of Execution Time of Embedded Software. In Proc. of DATE, IEEE, 2001.

  16. Grötker, T., S. Liao, G. Martín, and S. Swan. System Design with SystemC. Kluwer, 2002.

  17. Hergenhan, A. and W. Rosenstiel. Static Timing Analysis of Embedded Software on Advanced Processor Architectures. In Proc. of DATE, IEEE, 2000.

  18. Herrera, F., H. Posadas, P. Sánchez, and E. Villar. Systematic Embedded Software Generation from SystemC. In A. Jerraya, S. Yoo, D. Verkest and N. Wehn (eds.), Embedded Software for SoC, Kluwer, 2003.

  19. Herrera, F., P. Sánchez, and E. Villar. Modeling of CSP, KPN and SR Systems with SystemC. In C. Grimm (ed.), Languages for System Specification. CHDL Series, Kluwer, 2004.

  20. Herrera, F., P. Sánchez, and E. Villar. Heterogeneous System-Level Specification in SystemC. In P. Boulet (ed.), Advances in Design and Specification Languages for SoC. CHDL Series, Springer, 2005.

  21. Jerraya, A.A. and W. Wolf. Hardware/Software Interface Codesign for Embedded Systems. IEEE Computer, February 2005.

  22. Jersak, M. and R. Ernst. Enabling Scheduling Analysis of Heterogeneous Systems with Multi-Rate Data Dependencies and Rate Intervals. In Proc. of DAC, IEEE, 2003.

  23. Jiang, Y. and R. Brayton. Software Synthesis from Synchronous Specifications Using Logic Simulation Techniques. In Proc. of DAC, IEEE, 2002.

  24. Lee, E.A. What’s Ahead for Embedded Software?. IEEE Computer, September 2000.

  25. Lee, J.Y. and I. Park. Timed Compiled-Code Simulation of Embedded Software for Performance Analysis of SoC Design. In Proc. of DAC, IEEE, 2002.

  26. Liu, H. and X.S. Hu. Processor Utilization Bounds for Real-Time Systems with Precedence Constraints. Design Automation for Embedded Systems, vol. 7, pp. 89–113, 2002.

    Article  Google Scholar 

  27. Malik, S., M. Martonosi, and Y.-T.S. Li. Static Timing Analysis of Embedded Software. In Proc. of DAC, IEEE, 1997.

  28. Marwedel, P. and G. Goossens. Code Generation for Embedded Processors. Kluwer, 1995.

  29. Marwedel, P. Embedded System Design. Kluwer, 2003.

  30. Mathur, A., A. Dasdan, and R. Gupta. Rate Analysis for Embedded Systems. In G. de Micheli, R. Ernst, and W. Wolf (eds.), Readings in HW/SW Co-Design. Morgan-Kaufmann, 2002.

  31. Mueller, F. Timing Analysis for Instructions Caches. Int. Journal of Time-Critical Computing Systems, vol. 18, pp. 217–247, 2000.

    Article  Google Scholar 

  32. Müller, W., W. Rosenstiel, and J. Ruf. SystemC. Methodologies and Applications. Kluwer, 2003.

  33. Posadas, H., F. Herrera, P. Sánchez, E. Villar, and F. Blasco. System-Level Performance Analysis in SystemC. In Proc. of DATE, IEEE, 2004.

  34. Puschner, P. and C. Koza. Calculating the Maximum Execution Time of Real-Time Programs. The Journal of Real-Time Systems, no. 1, 1989.

  35. Richter, K., M. Jersak, and R. Ernst. A Formal Approach to MpSoC Performance Verification. IEEE Computer, April 2003.

  36. SanGiovanni-Vicentelli, A. and G. Martin. Platform-Based Design and Software Design Methodology for Embedded Systems. IEEE Design and Test of Computer, November-December 2001.

  37. Sgroi, M., L. Lavagno, Y. Watanabe, and A. SanGiovanni-Vicentelli. Synthesis of Embedded Software Using Free-Choice Petri Nets. In Proc. of DAC, IEEE, 1999.

  38. Sirpatil, B. Software Synthesis of SystemC Models. Master thesis, Virginia Polytechnic Institute and State University, 2002.

  39. Villar, E. and P. Sánchez. Synthesis Applications of VHDL. In J. Mermet (ed.), Fundamentals and Standards in Hardware Description Languages. Kluwer, 1993.

  40. Wehmeyer, L. and P. Marvedel. Influence of Memory Hierarchies on Predictability of Time Constrained Embedded Software. In Proc. of DATE, IEEE, 2005.

  41. Wenzel, I., B. Rieder, R. Kirner, and P. Puschner. Automatic Timing Model Generation by CFG Partitioning and Model Checking. In Proc. of DATE, IEEE, 2005.

  42. Wolf, F. Behavioral Intervals in Embedded Software. Kluwer, 2002.

  43. Wolf, F., J. Staschulat, and R. Ernst. Hybrid Cache Analysis in Running Time Verification of Embedded Software. Design Automation for Embedded Systems, vol. 7, pp. 271–95, 2002.

    Article  Google Scholar 

  44. Yoo, S., G. Nicolescu, L. Gauthier, and A. Jerraya. Automatic Generation of Fast Timed Simulation Models for Operating Systems in SoC Design. In Proc. of DATE, IEEE, 2002.

  45. Yu, H., R. Dömer, and D.D. Gajski. Embedded Software Generation from System Level Design Languages. In Proc. of ASPDAC, IEEE, 2004.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to H. Posadas.

Additional information

This work has been partially supported by the following projects: FEDER 1FD97-0791, MEDEA+ A511 ToolIP and CICYT TIC2002-00660.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Posadas, H., Herrera, F., FernÁndez, V. et al. Single Source Design Environment for Embedded Systems Based on SystemC. Des Autom Embed Syst 9, 293–312 (2004). https://doi.org/10.1007/s10617-005-1199-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-005-1199-z

Keywords

Navigation