Validation de modèles de systèmes sur puce en présence d'ordonnancements indéterministes et de temps imprécis - TEL - Thèses en ligne
Thèse Année : 2007

Validating Models of Systems-on-a-Chip in the Presence of Nondeterministic Schedulings and Loose Timings

Validation de modèles de systèmes sur puce en présence d'ordonnancements indéterministes et de temps imprécis

Claude Helmstetter

Résumé

This work deals with the validation of System-on-a-Chip models at the transaction level (TLM). These models are used for the development of embedded software. Hardware is highly parallel but the simulator runs on a single processor. The main parallel entities of hardware (processors, DMA, bus arbiter, ...) are modeled in TLM by asynchronous processes, which have to be scheduled at simulation time. The specification of this scheduling is non-deterministic in order to represent the physical parallelism faithfully.

This induces a problem for validation by simulations: we have to cover the set of valid schedulings in addition to the set of data. Indeed, a deterministic scheduler will miss some bugs. Random schedulings will show more possible behaviors but the coverage is still uncertain. The valid schedulings of a real model are too numerous to try them all.

We present a solution to effectively cover the set of schedulings. Our solution is based on dynamic partial order reduction. The idea is to look at the actions performed by the processes, in order to guess whether a change in their order (as what would be produced by distinct scheduler choices) could affect the final state. Successive iterations eventually give a complete scheduling set, which guarantees the detection of all local errors and deadlocks for a fixed data set.

In order to model the still unknown timing of hardware, developers add loose timings (bounded delays) in their models. Consequently, for validation by simulations, we have to cover the set of valid timings too. We present an extension to dynamic partial order reduction to solve this problem. The new algorithm and its prototype generate a set of valid timings, such that, again, all local errors and deadlocks for a fixed data set are detected.

At last, we study the parallelization of the SystemC simulator in order to take advantage of multiprocessor machines. We have to respect the SystemC specification and the special features of TLM.
Ces travaux portent sur la validation de modèles de systèmes sur puce (SoC) au niveau transactionnel (TLM). Ces modèles servent notamment au développement du logiciel embarqué. Le matériel est intrinsèquement parallèle mais le simulateur utilise un seul processeur. Les principales entités parallèles du matériel (processeurs, DMA, arbitres de bus, ...) sont représentées en TLM par des processus asynchrones, qui doivent être ordonnancés lors des simulations. Cet ordonnancement est indéterministe afin de mieux représenter le parallélisme physique.

Cela pose un problème pour la validation par simulations : il faut couvrir l'espace des ordonnancements en plus de celui des données. En effet, un ordonnanceur déterministe peut cacher des erreurs, car il ne montre qu'un comportement parmi d'autres. Des ordonnancements aléatoires permettent d'observer plus de comportements mais la couverture est incertaine. Un parcours exhaustif de tous les ordonnancements serait beaucoup trop long pour des tests réels.

Nous présentons une solution pour couvrir efficacement l'espace des ordonnancements. Celle-ci est basée sur de la réduction d'ordre partiel dynamique. L'idée est d'observer l'influence de l'ordonnancement sur les communications entre processus, pour générer dynamiquement de nouveaux ordonnancements, menant très probablement à des états finaux différents. En itérant sur chaque nouvel ordonnancement, nous obtenons un jeu complet d'ordonnancements, qui garantit la détection, pour un jeu fixé de données, de toutes les erreurs locales et de tous les inter-blocages.

Toujours avec l'objectif d'une meilleure représentativité du matériel, les développeurs ont ajouté du temps imprécis à leurs modèles TLM, sous forme de délais bornés. Pour la validation par simulations, cela oblige à couvrir aussi l'espace des temporisations. Nous présentons une extension à la réduction d'ordre partiel dynamique pour résoudre ce problème. Le nouvel algorithme et son prototype retournent un ensemble de jeux de durées, qui garantit de nouveau la détection complète des erreurs locales et inter-blocages pour des données fixées.

Enfin, nous étudions comment paralléliser le simulateur SystemC afin de profiter des machines multiprocesseurs, tout en respectant la spécification de SystemC et les particularités des modèles TLM.
Fichier principal
Vignette du fichier
Helmstetter_These.pdf (1.33 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00350929 , version 1 (07-01-2009)

Identifiants

  • HAL Id : tel-00350929 , version 1

Citer

Claude Helmstetter. Validation de modèles de systèmes sur puce en présence d'ordonnancements indéterministes et de temps imprécis. Autre [cs.OH]. Institut National Polytechnique de Grenoble - INPG, 2007. Français. ⟨NNT : ⟩. ⟨tel-00350929⟩
214 Consultations
1007 Téléchargements

Partager

More