Faculté des Sciences et Ingénierie

Master Informatique

Systèmes Électroniques, Systèmes Informatiques

MASSOC

Modélisation

Adrien Bourmault (adrien.bourmault@etu.upmc.fr)

Enseignant : Daniela GENIUS RADERMACHER

Table des matières

1 Modèles pour la simulation  2
1.1  Motivations ..................................................................................... 2
1.2  Flot de développement de niveau système.................................................... 2
1.3  Simulation lors de conceptions conjointes .................................................... 2
1.4  Précision de simulation de modèles ........................................................... 2
1.5  Choisir un niveau d’abstraction ............................................................... 3
1.6  Pourquoi utiliser SystemC ? ................................................................... 3

Chapitre 1

Modèles pour la simulation

Ce cours s’intéresse aux différents modèles utilisés dans la simulation de circuits électroniques. On va s’intéresser aux trois modèles TLM, CABA et RTL.

1.1 Motivations

L’exemple des décodeurs TV HD est intéressant : créés en 200X, ce sont déjà des circuits assez grands et il faut de grandes équipes pour les concevoir. Les SoCs numériques modernes sont des architectures conjointes (on a des blocs numériques dédiés et des processeurs) et c’est la même chose avec les FPGA courants. Et on ne parle pas des téléphones.

Il faut une méthode pour les concevoir et les simuler de façon efficace.

1.2 Flot de développement de niveau système

— cahier des charges de l’application

— modélisation du système

— partitionnement logiciel/matériel

— modélisations (matériel, interfaces, logiciel)

— raffinement (matériel, interfaces, logiciel)

— co-vérification : synthèse du matériel et compilation du logiciel

— intégration système

1.3 Simulation lors de conceptions conjointes

Lorsqu’on conçoit un système, il faut développer en parallèle la partie matérielle et la partie logicielle. Auparavant on utilisait en parallèle du FPGA et des compilateurs. Avec SystemC, on va pouvoir tout simuler (matériel et logiciel). Cela va permettre d’avoir un langage unique et donc d’éviter les erreurs de traduction.

1.4 Précision de simulation de modèles

Plus on est précis sur le temps et les cycles et plus le temps de simulation est très long. Avec SystemC, on pourra choisir les niveaux de précision.

1.5 Choisir un niveau d’abstraction

Selon le niveau qu’on veut modéliser... et les langages qu’on maîtrise.

Les niveaux :

— algorithmique ;

— untimed functional (UTF) ;

— timed functional (TF) ;

— bus cycled accurate (BCA) ;

— cycled accurate (CA) ;

— transfert de registre (RTL).

En SystemC, on peut tout faire.

1.6 Pourquoi utiliser SystemC ?

On veut modéliser le matériel et le logiciel en même temps. Les fonctionnalités :

— horloges ;

— vue du signal (GTKWave) ;

— simulation basée sur le cycle (high-speed kernel) ;

— niveaux d’abstraction multiples ;

— protocoles de communication ;

— support du débogage ;

— vérifications d’erreur en run-time ;

— support jusqu’au niveau RTL.

C’est le fruit de la collaboration de plusieurs sociétés (Synopsys, Frontier Design, CoWare) puis géré par l’OSCI. Depuis 2011 c’est Accellera, à but non lucratif.