inria-00001108, version 1
A Fast SystemC Engine
Daniel Gracia Perez 1Gilles Mouchard 1Olivier Temam
1
Design, Automation and Test in Europe (2004)
Résumé : SystemC is rapidly gaining wide acceptance as a simulation framework for SoC and embedded processors. While its main assets are modularity and the very fact it is becoming a de facto standard, the evolution of the SystemC framework (from version 0.9 to version 2.0.1) suggests the environment is particularly geared toward increasing the framework functionalities rather than improving simulation speed. For cycle-level simulation, speed is a critical factor as simulation can be extremely slow, affecting the extent of design space exploration. In this article, we present a fast SystemC engine that, in our experience, can speed up simulations by a factor of 1.93 to 3.56 over SystemC 2.0.1. This SystemC engine is designed for cycle-level simulators and for the moment, it only supports the subset of the SystemC syntax (signals, methods) that is most often used for such simulators. We achieved greater speed (1) by completely rewriting the SystemC engine and improving the implementation software engineering, and (2) by proposing a new scheduling technique, intermediate between SystemC dynamic scheduling technique and existing static scheduling schemes. Unlike SystemC dynamic scheduling, our technique removes many if not all useless process wake-ups, while using a simpler scheduling algorithm than in existing static scheduling techniques.
- 1 : ALCHEMY (INRIA Futurs)
- INRIA – CNRS : UMR8623 – Université Paris XI - Paris Sud
- Domaine : Informatique/Architectures Matérielles
- inria-00001108, version 1
- http://hal.inria.fr/inria-00001108
- oai:hal.inria.fr:inria-00001108
- Contributeur : Daniel Gracia Perez
- Soumis le : Jeudi 9 Février 2006, 12:51:07
- Dernière modification le : Jeudi 9 Février 2006, 17:13:36