Automatic generation of hardware dependent software for MPSoCs from abstract system specifications

Increasing software content in embedded systems and SoCs drives the demand to automatically synthesize software binaries from abstract models. This is especially critical for Hardware dependent Software (HdS) due to the tight coupling. In this paper, we present our approach to automatically synthesize HdS from an abstract system model. We synthesize driver code, interrupt handlers and startup code. We furthermore automatically adjust the application to use RTOS services. We target traditional RTOS-based multi-tasking solutions, as well as a pure interrupt-based implementation (without any RTOS). Our experimental results show the automatic generation of final binary images for six real-life target applications and demonstrate significant productivity gains due to automation. Our HdS synthesis is an enabler for efficient MPSoC development and rapid design space exploration.

[1]  Daniel Gajski,et al.  Embedded software generation from system level design languages , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[2]  Heinrich Meyr,et al.  High-Level Software Synthesis for the Design of Communication Systems , 1993, IEEE J. Sel. Areas Commun..

[3]  Ahmed Amine Jerraya,et al.  Scalable and flexible cosimulation of SoC designs with heterogeneous multi-processor target architectures , 2001, ASP-DAC '01.

[4]  F. Herrera,et al.  Systematic embedded software generation from SystemC , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[5]  Sangwoo Lee,et al.  Creation and utilization of a virtual platform for embedded software optimization:: an industrial case study , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[6]  André C. Nácul,et al.  Lightweight multitasking support for embedded systems using the Phantom serializing compiler , 2005, Design, Automation and Test in Europe.

[7]  Wolfgang Rosenstiel,et al.  Target software generation: an approach for automatic mapping of SystemC specifications onto real-time operating systems , 2005, Des. Autom. Embed. Syst..

[8]  William L. Kleb,et al.  Exploring XP for Scientific Research , 2003, IEEE Softw..

[9]  Luciano Lavagno,et al.  Hardware-Software Co-Design of Embedded Systems , 1997 .

[10]  Andreas Gerstlauer,et al.  Automatic Layer-Based Generation of System-On-Chip Bus Communication Models , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[12]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[13]  Kingshuk Karuri,et al.  A SW performance estimation framework for early system-level-design using fine-grained instrumentation , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[14]  Daniel Gajski,et al.  Automatic generation of embedded communication SW for heterogeneous MPSoC platforms , 2007, LCTES '07.

[15]  Andreas Gerstlauer,et al.  Abstract, Multifaceted Modeling of Embedded Processors for System Level Design , 2007, 2007 Asia and South Pacific Design Automation Conference.

[16]  Luca Benini,et al.  MPARM: Exploring the Multi-Processor SoC Design Space with SystemC , 2005, J. VLSI Signal Process..

[17]  Luciano Lavagno,et al.  Task generation and compile-time scheduling for mixed data-control embedded software , 2000, Proceedings 37th Design Automation Conference.

[18]  Ahmed Amine Jerraya,et al.  Automatic generation and targeting of application specific operating systems and embedded systems software , 2001, DATE '01.