Model Based Synthesis of Embedded Software

  • Daniel D. Gajski
  • Samar Abdi
  • Ines Viskic
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5287)


This paper presents SW synthesis using Embedded System Environment (ESE), a tool set for design of multi-core embedded systems. We follow a design process that starts with an application model consisting of C processes communicating via abstract message passing channels. The application model is mapped to a platform net-list of SW and HW cores, buses and buffers. A high speed transaction level model (TLM) is generated to validate abstract communication between processes mapped to different cores. The TLM is further refined into a Pin-Cycle Accurate Model (PCAM) for board implementation. The PCAM includes C code for all the communication layers including routing, packeting, synchronization and bus transfer. The generated embedded SW provides a library of application level services to the C processes on individual SW cores. Therefore, the application developer does not need to write low level SW for board implementation. Synthesis results for an multi-core MP3 decoder design, using ESE, show that the embedded SW is generated in order of seconds, compared to hours of manual coding. The quality of synthesized code is comparable to manually written code in terms of performance and code size.


Transaction Level Model SystemC Module Hardware Dependent Software Request Buffer Application Level Service 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Altera SOPC Builder,
  2. 2.
    Automotive Open System Architecture,
  3. 3.
    Embedded System Environment,
  4. 4.
  5. 5.
    SystemC, OSCI,
  6. 6.
    Xilinx Embedded Development Kit,
  7. 7.
    Balarin, F., et al.: Hardware-Software Co-Design of Embedded Systems: The POLIS Approach. Kluwer, Dordrecht (1997)CrossRefzbMATHGoogle Scholar
  8. 8.
    Cortadella, J., et al.: Task generation and compile time scheduling for mixed data-control embedded software. In: Proceedings of the Design Automation Conference (June 2000)Google Scholar
  9. 9.
    Gajski, D., Zhu, J., Domer, R., Gerstlauer, A., Zhao, S.: SpecC: Specification Language and Methodology. Kluwer Academic Publishers, Dordrecht (January 2000)CrossRefGoogle Scholar
  10. 10.
    Gerstlauer, A., Shin, D., Peng, J., Domer, R., Gajski, D.D.: Automatic, layer-based generation of system-on-chip bus communication models. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 26(9) (September 2007)Google Scholar
  11. 11.
    Guthier, L., Yoo, S., Jerraya, A.: Automatic generation and targeting of application specific operating systems and embedded systems software. In: Proceedings of the Design Automation and Test Conference in Europe, pp. 679–685 (2001)Google Scholar
  12. 12.
    Herrera, F., Posadas, H., Snchez, P., Villar, E.: Systematic embedded software generation from systemc. In: Proceedings of the Design Automation and Test Conference in Europe (2003)Google Scholar
  13. 13.
    Kopetz, H., Obermaisser, R., Salloum, C.E., Huber, B.: Automotive software development for a multi-core system-on-a-chip. In: SEAS 2007: Proceedings of the 4th International Workshop on Software Engineering for Automotive Systems, Washington, DC, USA, p. 2. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  14. 14.
    Krause, M., Bringmann, O., Rosenstiel, W.: Target software generation: an approach for automatic mapping of systemc specifications onto real-time operating systems. Design Automation for Embedded Systems 10(4) (December 2005)Google Scholar
  15. 15.
    Makkelainen, T.: Hds from system-house perspective. In: Hardware dependent Software Workshop at DAC (2007)Google Scholar
  16. 16.
    Nacul, A.C., Givargis, T.: Lightweight multitasking support for embedded systems using the phantom serializing compiler. In: Proceedings of the Design Automation and Test Conference in Europe, pp. 742–747 (2005)Google Scholar
  17. 17.
    Pasricha, S., Park, Y.-H., Kurdahi, F.J., Dutt, N.: System-level power-performance trade-offs in bus matrix communication architecture synthesis. In: CODES+ISSS 2006: Proceedings of the 4th international conference on Hardware/software codesign and system synthesis, pp. 300–305. ACM, New York (2006)CrossRefGoogle Scholar
  18. 18.
    Pinto, A., Carloni, L.P., Sangiovanni-Vincentelli, A.L.: Constraint-driven communication synthesis. In: Proceedings of the Design Automation Conference, pp. 783–788 (2002)Google Scholar
  19. 19.
    Ritz, S., et al.: High-level software synthesis for the design of communication systems. IEEE Journal on Selected Areas in Communications (April 1993)Google Scholar
  20. 20.
    Ryu, K.K., Mooney, V.: Automated bus generation for multiprocessor soc design. In: Proceedings of the Design Automation and Test Conference in Europe, p. 10282 (2003)Google Scholar
  21. 21.
    Sangiovanni-Vincentelli, A., et al.: A next-generation design framework for platform-based design. In: Conference on Using Hardware Design and Verification Languages (DVCon) (February 2007)Google Scholar
  22. 22.
    Schirner, G., Gerstlauer, A., Dömer, R.: Automatic generation of hardware dependent software for mpsocs from abstract system specifications. In: Proceedings of the Asia-Pacific Design Automation Conference, pp. 271–276 (2008)Google Scholar
  23. 23.
    Yu, H., Dömer, R., Gajski, D.: Embedded software generation from system level design languages. In: Proceedings of the Asia-Pacific Design Automation Conference, pp. 463–468 (2004)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2008

Authors and Affiliations

  • Daniel D. Gajski
    • 1
  • Samar Abdi
    • 1
  • Ines Viskic
    • 1
  1. 1.Center for Embedded Computer SystemsUniversity of CaliforniaIrvineUSA

Personalised recommendations