A virtual prototyping platform for real-time systems with a case study for a two-wheeled robot

  • Authors:
  • Daniel Mueller-Gritschneder;Kun Lu;Erik Wallander;Marc Greim;Ulf Schlichtmann

  • Affiliations:
  • Institute for Electronic Design Automation, TU Muenchen, Germany;Institute for Electronic Design Automation, TU Muenchen, Germany;Institute for Electronic Design Automation, TU Muenchen, Germany;Institute for Electronic Design Automation, TU Muenchen, Germany;Institute for Electronic Design Automation, TU Muenchen, Germany

  • Venue:
  • Proceedings of the Conference on Design, Automation and Test in Europe
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

In today's real-time system design, a virtual prototype can help to increase both the design speed and quality. Developing a virtual prototyping platform requires realistic modeling of the HW system, accurate simulation of the real-time SW, and integration with a reactive real-time environment. Such a VP simulation platform is often difficult to develop. In this paper, we propose a case-study of autonomous two-wheeled robot to show how to develop a virtual prototyping platform rapidly in SystemC/TLM to adequately aid in the design of this instable system with hard real-time constraints. Our approach is an integration of four major model components. Firstly, an accurate physical model of the robot is provided. Secondly, a virtual world is modeled in Java that offers a 3D environment for the robot to move in. Thirdly, the embedded control SW is developed. Finally, the overall HW system is modeled in SystemC at transaction level. This HW model wraps the physical model, interacts with the virtual world, and simulates the real-time SW by integrating an Instruction Set Simulator of the embedded CPU. By integrating these components into a platform, designers can efficiently optimize the embedded SW architecture, explore the design space and check real-time conditions for different system parameters such as buffer sizes, CPU frequency or cache configurations.