High-Level Development, Modeling and Automatic Generation of Hardware-Dependent Software

  • Gunar Schirner
  • Rainer Dömer
  • Andreas Gerstlauer

Abstract

With the increasing software content in modern embedded systems, software development clearly dominates the design cost. The development of Hardware-dependent Software (HdS) is especially challenging due to its tight coupling with the underlying hardware. Therefore, automatic generation of all embedded software including the HdS is highly desirable to meet today’s shortened time-to-market demands.

In this chapter, we describe a system-level design approach that offers a seamless solution for generating embedded software, starting from an abstract specification and going to an implementation. In our high-level development environment, the application is developed in a platform-agnostic format that hides most implementation detail. The target platform and the mapping of the application to the platform are described separately. A system compiler then automatically generates a system model at the transaction level for performance analysis and development. The same system model later serves as an input to a software generation process, which generates the final binaries for all processors in the system. These binaries include the application, device drivers, and operating system code.

Using a design flow with automatic software generation offers significant productivity gains. At the same time, it allows the designer to focus on the algorithms without being burdened by implementation-level detail.

Keywords

System-level Design Development Environment Firmware Software Generation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AMBA]
    Advanced RISC Machines Ltd (ARM). AMBA Specification (Rev. 2.0), ARM IHI 0011A. Google Scholar
  2. [ARM7]
    Advanced RISC Machines Ltd. (ARM). ARM7TDMI (Rev. 4) Technical Reference Manual, 2001. Google Scholar
  3. [BBB+05]
    Luca Benini, Davide Bertozzi, Alessandro Bogliolo, Francesco Menichelli, and Mauro Oliver. MPARM: exploring the multi-processor SoC design space with SystemC, VLSI Signal Process., 41:169–182, 2005. CrossRefGoogle Scholar
  4. [BCG+97]
    Felice Balarin, Massimiliano Chiodo, Paolo Giusto, Harry Hsieh, Attila Jurecska, Luciano Lavagno, Claudio Passerone, Alberto Sangiovanni-Vincentelli, Ellen Sentovich, Kei Suzuki, and Bassam Tabbara. Hardware-Software Co-Design of Embedded Systems: The POLIS Approach. Kluwer Academic, Dordrecht, 1997. MATHGoogle Scholar
  5. [CG03]
    Lukai Cai and Daniel Gajski. Transaction level modeling: an overview. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, Newport Beach, CA, October 2003. Google Scholar
  6. [CKL+00]
    Jordi Cortadella, Alex Kondratyev, Luciano Lavagno, Marc Massot, Sandra Moral, Claudio Passerone, Yosinori Watanabe, and Alberto Sangiovanni-Vincentelli. Task generation and compile time scheduling for mixed data-control embedded software. In Proceedings of the Design Automation Conference (DAC), Los Angeles, CA, June 2000. Google Scholar
  7. [CoWa]
    CoWare. Virtual Platform Designer. www.coware.com.
  8. [Dal00]
    Michael Dales. SWARM 0.44 Documentation. Department of Computer Science, University of Glasgow, November 2000. www.cl.cam.ac.uk/~mwd24/phd/swarm.html.
  9. [DGP+08]
    Rainer Dömer, Andreas Gerstlauer, Junyu Peng, Dongwan Shin, Lukai Cai, Haobo Yu, Samar Abdi, and Daniel Gajski. System-on-Chip Environment: A SpecC-based framework for heterogeneous MPSoC design. EURASIP J. Embed. Syst., 2008. Google Scholar
  10. [ETSI96]
    European Telecommunication Standards Institute (ETSI). Digital cellular telecommunications system; Enhanced Full Rate (EFR) speech transcoding, 1996. GSM 06.60. Google Scholar
  11. [GLMS02]
    Thorsten Grötker, Stan Liao, Grant Martin, and Stuart Swan. System Design with SystemC. Kluwer Academic, Dordrecht, 2002. Google Scholar
  12. [GYJ01]
    Lovic Gauthier, Sungjoo Yo, and Ahmed A. Jerraya. Automatic generation and targeting of application-specific operating systems and embedded systems software. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., 20(11), November 2001. Google Scholar
  13. [GYNJ01]
    Patrice Gerin, Sungjoo Yoo, Gabriela Nicolescu, and Ahmed A. Jerraya. Scalable and flexible cosimulation of SoC designs with heterogeneous multi-processor target architectures. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan, January 2001. Google Scholar
  14. [GZD+00]
    Daniel D. Gajski, Jianwen Zhu, Rainer Dömer, Andreas Gerstlauer, and Shuqing Zhao. SpecC: Specification Language and Design Methodology. Kluwer Academic, Dordrecht, 2000. Google Scholar
  15. [HPSV03]
    F. Herrera, H. Posadas, P. Sánchez, and E. Villar. Systematic embedded software generation from SystemC. In Proceedings of the Design, Automation and Test in Europe (DATE) Conference, Munich, Germany, March 2003. Google Scholar
  16. [HYL+06]
    Sungpack Hong, Sungjoo Yoo, Sheayun Lee, Sangwoo Lee, HyeJeong Nam, Bum-Seok Yoo, Jaehyung Hwang, Donghyun Song, Janghwan Kim, Jeongeun Kim, HoonSang Jin, Kyu-Myung Choi, Jeong-Taek Kong, and SooKwan Eo. Creation and utilization of a virtual platform for embedded software optimization: an industrial case study. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, Seoul, South Korea, October 2006. Google Scholar
  17. [ISO94]
    International Organization for Standardization (ISO). Reference Model of Open System Interconnection (OSI), second edition, 1994. ISO/IEC 7498 Standard. Google Scholar
  18. [KBR05]
    Matthias Krause, Oliver Bringmann, and Wolfgang Rosenstiel. Target Software generation: An approach for automatic mapping of SystemC specifications onto real-time operating systems. Des. Autom. Embed. Syst., 10(4):229–251, 2005. CrossRefGoogle Scholar
  19. [KKW+06]
    T. Kempf, K. Karuri, S. Wallentowitz, G. Ascheid, R. Leupers, and H. Meyr. A SW Performance estimation framework for early system-level-design using fine-grained instrumentation. In Proceedings of the Design, Automation and Test in Europe (DATE) Conference, Munich, Germany, March 2006. Google Scholar
  20. [Lab02]
    Jean J. Labrosse. MicroC/OS-II: The Real-Time Kernel. CMP Books, Gilroy, 2002. Google Scholar
  21. [NG05]
    Andre Nacul and Tony Givargis. Lightweight multitasking support for embedded systems using the phantom serializing compiler. In Proceedings of the Design, Automation and Test in Europe (DATE) Conference, Munich, Germany, March 2005. Google Scholar
  22. [RPZM93]
    Sebastian Ritz, Matthias Pankert, Vojin Zivojnvic, and Heinrich Meyr. High-level software synthesis for the design of communication systems. IEEE J. Select. Areas Commun., April 1993. Google Scholar
  23. [SGD07]
    Gunar Schirner, Andreas Gerstlauer, and Rainer Dömer. Multifaceted modeling of embedded processors for system level design, Abstract. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan, January 2007. Google Scholar
  24. [SGD08]
    Gunar Schirner, Andreas Gerstlauer, and Rainer Dömer. Automatic generation of hardware dependent software for MPSoCs from abstract system specifications. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Seoul, Korea, January 2008. Google Scholar
  25. [YDG04]
    Haobo Yu, Rainer Dömer, and Daniel Gajski. Embedded software generation from system level design languages. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan, January 2004. Google Scholar

Copyright information

© Springer Science + Business Media B.V. 2009

Authors and Affiliations

  • Gunar Schirner
    • 1
  • Rainer Dömer
    • 1
  • Andreas Gerstlauer
    • 2
  1. 1.Center for Embedded Computer SystemsUniversity of CaliforniaIrvineUSA
  2. 2.University of TexasAustinUSA

Personalised recommendations