HyCoS: hybrid compiled simulation of embedded software with target dependent code

  • Authors:
  • Zhonglei Wang;Jörg Henkel

  • Affiliations:
  • Karlsruhe Institute of Technology, Karlsruhe, Germany;Karlsruhe Institute of Technology, Karlsruhe, Germany

  • Venue:
  • Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Source-Level Simulation (SLS) has become a de-facto standard technique for fast simulation of embedded software. The basic idea of SLS is to generate software simulation models by annotating low-level timing information into application source code. The obtained source-level simulation models provide a good alternative to traditional Instruction Set Simulators (ISS) for system-level design space exploration of complex embedded systems. However, the generation of source-level simulation models requires the source code to be available, and therefore, it is not applicable to software that contains target dependent code (e.g. inline assembler and pre-compiled library functions). Since target dependent code is often used in embedded software development, this problem strongly limits the applicability of SLS. To overcome this limitation, we propose for the first time a novel hybrid compiled simulation approach called HyCoS that takes advantage of SLS and provides support for target dependent code by incorporating an instruction-level compiled simulation technique. A major challenge to be addressed in the hybrid simulation is the implementation of synchronization and communication between code simulated at different abstraction levels, in order to achieve functional correctness. In addition, it is also crucial to improve estimation accuracy. In this paper we present novel methods for these goals. Experimental results show that, compared to an ISS, HyCoS achieves an average simulation speed of 464 MIPS on a normal desktop computer, 128.0x faster than a standard ISS while achieving comparable accuracy. Even in comparison to fast instruction-level compiled simulation, it also achieves a speedup of up to 4.2x. We also use a multimedia application to demonstrate the efficiency of our approach that is especially beneficial in complex multiprocessor simulation.