System-on-Chip Environment: A SpecC-Based Framework for Heterogeneous MPSoC Design

The constantly growing complexity of embedded systems is a challenge that drives the development of novel design automation techniques. C-based system-level design addresses the complexity challenge by raising the level of abstraction and integrating the design processes for the heterogeneous system components. In this article, we present a comprehensive design framework, the system-on-chip environment (SCE) which is based on the influential SpecC language and methodology. SCE implements a top-down system design flow based on a specify-explore-refine paradigm with support for heterogeneous target platforms consisting of custom hardware components, embedded software processors, dedicated IP blocks, and complex communication bus architectures. Starting from an abstract specification of the desired system, models at various levels of abstraction are automatically generated through successive step-wise refinement, resulting in a pin-and cycle-accurate system implementation. The seamless integration of automatic model generation, estimation, and verification tools enables rapid design space exploration and efficient MPSoC implementation. Using a large set of industrial-strength examples with a wide range of target architectures, our experimental results demonstrate the effectiveness of our framework and show significant productivity gains in design time.

[1]  Patrick Schaumont,et al.  Hardware/software partitioning of embedded system in OCAPI-xl , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[2]  Alberto L. Sangiovanni-Vincentelli,et al.  Quo Vadis, SLD? Reasoning About the Trends and Challenges of System Level Design , 2007, Proceedings of the IEEE.

[3]  Frank Ghenassia Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems , 2010 .

[4]  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).

[5]  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.

[6]  Gabriela Nicolescu,et al.  Multiprocessor SoC platforms: a component-based design approach , 2002, IEEE Design & Test of Computers.

[7]  Patrick Schaumont,et al.  A programming environment for the design of complex high speed ASICs , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

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

[9]  Rainer Leupers,et al.  A modular simulation framework for spatial and temporal task mapping onto multi-processor SoC platforms , 2005, Design, Automation and Test in Europe.

[10]  Amer Baghdadi,et al.  Automatic generation of application-specific architectures for heterogeneous multiprocessor system-on-chip , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  Andreas Gerstlauer,et al.  RTOS modeling for system level design , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[12]  Luciano Lavagno,et al.  Metropolis: an integrated environment for electronic system design , 2003 .

[13]  Andreas Gerstlauer,et al.  Retargetable profiling for rapid, early system-level design space exploration , 2004, Proceedings. 41st Design Automation Conference, 2004..

[14]  Nacer-Eddine Zergainoh,et al.  Multilanguage design of heterogeneous systems , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[15]  Ahmed Amine Jerraya,et al.  Cosmos: A Transformational Co-Design Tool for Multiprocessor Architectures , 1997 .

[16]  Jianwen Zhu,et al.  Specification and Design of Embedded Systems , 1998, Informationstechnik Tech. Inform..

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

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

[19]  Hugo De Man,et al.  CoWare—A design environment for heterogeneous hardware/software systems , 1996, EURO-DAC '96/EURO-VHDL '96.

[20]  Daniel Gajski,et al.  Optimal message-passing for data coherency in distributed architecture , 2002, 15th International Symposium on System Synthesis, 2002..

[21]  Andreas Gerstlauer,et al.  An Interactive Design Environment for C-Based High-Level Synthesis of RTL Processors , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[22]  Wolfgang Nebel,et al.  SystemC-based Modelling, Seamless Refinement, and Synthesis of a JPEG 2000 Decoder , 2008, 2008 Design, Automation and Test in Europe.

[23]  Daniel D. Gajski,et al.  Modeling flow for automated system design and exploration , 2004 .

[24]  Daniel Gajski,et al.  Verification of System Level Model Transformations , 2006, International Journal of Parallel Programming.

[25]  Andreas Gerstlauer,et al.  System Design - A Practical Guide with SpecC , 2001 .

[26]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[27]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

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

[29]  Robert Günzel,et al.  TRAIN: A Virtual Transaction Layer Architecture for TLM-based HW/SW Codesign of Synthesizable MPSoC , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[30]  Ines Viskic,et al.  A Flexible, Syntax Independent Representation (SIR) for System Level Design Models , 2006, 9th EUROMICRO Conference on Digital System Design (DSD'06).

[31]  Andreas Gerstlauer,et al.  System-on-Chip Environment (SCE Version 2.2.0 Beta): Manual , 2003 .

[32]  Dirk Herrmann,et al.  The Cosyma System , 1997 .