RTOS-aware refinement for TLM2.0-based HW/SW designs

Refinement of untimed TLM models into a timed HW/SW platform is a step by step design process which is a trade-off between timing accuracy of the used models and correct estimation of the final timing performance. The use of an RTOS on the target platform is mandatory in the case real-time properties must be guaranteed. Thus, the question is when the RTOS must be introduced in this step by step refinement process. This paper proposes a four-level RTOS-aware refinement methodology that, starting from an untimed TLMSystemC description of the whole system, progressively introduce HW/SW partitioning, timing, device driver and RTOS functionalities, till to obtain an accurate model of the final platform, where SW tasks run upon an RTOS hosted by QEMU and HW components are modeled by cycle accurate TLM descriptions. Each refinement level allows the designer to estimate more and more accurate timing properties, thus anticipating design decisions without being constrained to leave timing analysis to the final step of the refinement. The effectiveness of the methodology has been evaluated in the design of two complex platforms.

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

[2]  Takeshi Yoshimura,et al.  A fast hardware/software co-verification method for systern-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication , 2004, Proceedings. 41st Design Automation Conference, 2004..

[3]  Lus Gomes,et al.  Behavioral Modeling for Embedded Systems and Technologies: Applications for Design and Implementation , 2009 .

[4]  Fernando Herrera,et al.  System-level performance analysis in SystemC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[5]  G. Braun,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[6]  Wolfgang Müller,et al.  Increased accuracy through noise injection in abstract RTOS simulation , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[7]  Ahmed Amine Jerraya,et al.  Hardware/software interface codesign for embedded systems , 2005, Computer.

[8]  Franco Fummi,et al.  Correct-by-construction generation of device drivers based on RTL testbenches , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[10]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[11]  Wolfgang Ecker,et al.  Hardware-dependent Software: Principles and Practice , 2009 .

[12]  Yervant Zorian,et al.  2003 technology roadmap for semiconductors , 2004, Computer.

[13]  Zhonglei Wang,et al.  An efficient approach for system-level timing simulation of compiler-optimized embedded software , 2009, 2009 46th ACM/IEEE Design Automation Conference.

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

[15]  Franco Fummi,et al.  A Smooth Refinement Flow for Co-designing HW and SW Threads , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[16]  Daniel Gajski,et al.  Cycle-approximate Retargetable Performance Estimation at the Transaction Level , 2008, 2008 Design, Automation and Test in Europe.

[17]  Shaohua Liu,et al.  Virtual embedded operating system for hardware/software co-design , 2005, 2005 6th International Conference on ASIC.

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

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

[20]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[21]  Eugenio Villar,et al.  SystemC Platform Modeling for Behavioral Simulation and Performance Estimation of Embedded Systems , 2010 .

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

[23]  Frédéric Pétrot,et al.  Automatic instrumentation of embedded software for high level hardware/software co-simulation , 2009, 2009 Asia and South Pacific Design Automation Conference.

[24]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[25]  Daniel Gajski,et al.  Hardware-dependent Software synthesis for many-core embedded systems , 2009, 2009 Asia and South Pacific Design Automation Conference.

[26]  Ahmed Amine Jerraya,et al.  Automatic VHDL-C Interface Generation for Distributed Cosimulation: Application to Large Design Examples , 1998, Des. Autom. Embed. Syst..

[27]  Wolfgang Rosenstiel,et al.  Cycle accurate binary translation for simulation acceleration in rapid prototyping of SoCs , 2005, Design, Automation and Test in Europe.

[28]  Andreas Gerstlauer,et al.  Accurate RTOS Modeling and Analysis with SystemC , 2009 .

[29]  Hugo De Man,et al.  Operating system based software generation for systems-on-chip , 2000, Proceedings 37th Design Automation Conference.

[30]  Sorin A. Huss,et al.  An integrated SystemC framework for real-time scheduling assessments in system level , 2004 .

[31]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[32]  Massimo Poncino,et al.  ISS-centric modular HW/SW co-simulation , 2006, GLSVLSI '06.

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

[34]  Guy Bois,et al.  A SystemC refinement methodology for embedded software , 2006, IEEE Design & Test of Computers.

[35]  PosadasH.,et al.  RTOS modeling in SystemC for real-time embedded SW simulation , 2005 .

[36]  Eugenio Villar,et al.  RTOS modeling in SystemC for real-time embedded SW simulation: A POSIX model , 2005, Des. Autom. Embed. Syst..

[37]  Ahmed Amine Jerraya,et al.  Timed HW-SW cosimulation using native execution of OS and application SW , 2002, Seventh IEEE International High-Level Design Validation and Test Workshop, 2002..

[38]  Ahmed Amine Jerraya,et al.  Automatic generation and targeting of application specific operating systems and embedded systems software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.