System-level performance analysis in SystemC

As both the ITRS and the Medea+ DA Roadmaps have highlighted, early performance estimation is an essential step in any SoC design methodology based on International Technology Roadmap for Semiconductors (2001) and The MEDEA+ Design Automation Roadmap (2002). This paper presents a C++ library for timing estimation at system level. The library is based on a general and systematic methodology that takes as input the original SystemC source code without any modification and provides the estimation parameters by simply including the library within a usual simulation. As a consequence, the same models of computation used during system design are preserved and all simulation conditions are maintained. The method exploits the advantages of dynamic analysis, that is, easy management of unpredictable data-dependent conditions and computational efficiency compared with other alternatives (ISS or RT simulation, without the need for SW generation and compilation and HW synthesis). Results obtained on several examples show the accuracy of the method. In addition to the fundamental parameters needed for system-level design exploration, the proposed methodology allows the designer to include capture points at any place in the code. The user can process the corresponding captured events for unrestricted timing constraint verification.

[1]  Lothar Thiele,et al.  A general framework for analysing system properties in platform-based embedded system designs , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

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

[3]  Luciano Lavagno,et al.  Scheduling for Embedded Real-Time Systems , 1998, IEEE Des. Test Comput..

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  Platform-Based Design and Software Design Methodology for Embedded Systems , 2001, IEEE Des. Test Comput..

[5]  Karem A. Sakallah,et al.  Static timing analysis , 2001 .

[6]  Rajesh K. Gupta,et al.  Rate analysis for embedded systems , 1998, TODE.

[7]  Fabian Wolf,et al.  Behavioral Intervals in Embedded Software , 2002, Springer US.

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

[9]  Fernando Herrera,et al.  Modeling of CSP, KPN and SR Systems with SystemC , 2003, FDL.

[10]  Axel Jantsch,et al.  Performance analysis with confidence intervals for embedded software processes , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[11]  Paolo Giusto,et al.  Reliable estimation of execution time of embedded software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[12]  Tughrul Arslan,et al.  Proceedings Design, Automation and Test in Europe Conference and Exhibition , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[13]  Wolfgang Rosenstiel,et al.  Static timing analysis of embedded software on advanced processor architectures , 2000, DATE '00.

[14]  Frank Müller,et al.  Timing Analysis for Instruction Caches , 2000, Real-Time Systems.

[15]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[16]  Rolf Ernst,et al.  Enabling scheduling analysis of heterogeneous systems with multi-rate data dependencies and rate intervals , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[17]  Fabian Wolf Behavioral Intervals in Embedded Software: Timing and Power Analysis of Embedded Real-Time Software Processes , 2002 .

[18]  Jong-Yeol Lee,et al.  Timed compiled-code simulation of embedded software for performance analysis of SOC design , 2002, DAC '02.

[19]  Rolf Ernst,et al.  A Formal Approach to MpSoC Performance Verification , 2003, Computer.

[20]  Ahmed Amine Jerraya,et al.  Automatic generation of fast timed simulation models for operating systems in SoC design , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[21]  Donatella Sciuto,et al.  Source-level execution time estimation of C programs , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[22]  Sharad Malik,et al.  Static timing analysis of embedded software , 1997, DAC.

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

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

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