Changes between Version 25 and Version 26 of SoclibCourseTp4
- Timestamp:
- Oct 11, 2009, 11:42:26 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoclibCourseTp4
v25 v26 8 8 9 9 Le but de ce quatrième TP est double : D'une part on souhaite modéliser des architectures plus complexes 10 utilisant deux niveaux d'interconnexion. D'autre part on va introduire l'outil SoCLib-CC.10 utilisant deux niveaux d'interconnexion. D'autre part on va introduire l'outil '''soclib-cc'''. 11 11 12 = 2 SoCLib-CC=12 = 2 Outil soclib-cc = 13 13 14 14 L'architecture matérielle qui a été modélisée dans le TP3 était très simple … … 26 26 2. Par ailleurs, la plupart des modèles ont des paramètres templates (puisque la plupart des composants ont des interfaces VCI, et que les largeurs des champs VCI sont paramétrables). Pour chaque composant possédant un (ou plusieurs) paramètre(s) template, il faut donc modifier le fichier ''.cpp'' pour préciser la valeur des paramètres template avant de lancer la compilation de ce composant (on dit qu'on instancie les ''template''). Vous avez fait ce travail dans le TP2, et c'est un travail très fastidieux dès que les architectures modélisées deviennent complexes. 27 27 28 La chaîne de compilation SoCLib-CCa pour but de résoudre ces deux problèmes dans le cas général,28 La chaîne de compilation '''soclib-cc''' a pour but de résoudre ces deux problèmes dans le cas général, 29 29 en automatisant la recherche des dépendances, l'instanciation des templates, et l'appel du compilateur. 30 30 … … 68 68 }}} 69 69 70 Il faut par ailleurs définir les caractéristiques de la top-cell dans un fichier nommé '''platform.desc'''. 71 Ce fichier est également en langage parsable par Python, et contient le nom de fichier de la top-cell SystemC, la liste des composants matériels instanciés et les valeurs des paramètres VCI. 72 Vous trouverez ci-dessous, à titre d'exemple, le fichier '''platform.desc''' décrivant l'architecture du TP3: 70 Il faut par ailleurs définir les caractéristiques de la top-cell dans un fichier de directives pour soclib-cc. 71 Ce fichier est habituellement nommé '''platform.desc''', mais le nom n'est pas imposé. 72 Ce fichier est également en langage parsable par Python, et contient le nom de fichier de la top-cell SystemC, la liste des composants instanciés et les valeurs des paramètres VCI. 73 Vous trouverez ci-dessous, à titre d'exemple, le fichier '''tp3.desc''' décrivant l'architecture du TP3: 73 74 74 75 {{{ 75 76 76 todo = Platform('caba', 'tp3_top.cpp', 77 77 uses = [ … … 123 123 124 124 L'archive [attachment:soclib_tp4.tgz soclib_tp4.tgz] contient différents fichiers dont vous aurez besoin pour ce TP. 125 Elle contient également un sous-répertoire ''soft'' qui est utilisé pour la génération du logiciel embarqué. 125 Elle contient également un sous-répertoire '''soft''' qui est utilisé pour la génération du logiciel embarqué. 126 Attention: ce répertoire '''soft''' de l'archive contient des fichiers différents de ceux qui étaient fournis pour le TP3. 126 127 127 128 Créez un répertoire de travail spécifique TP4, recopiez l'archive dans ce répertoire TP4, et décompressez-la: … … 130 131 }}} 131 132 132 == 4.1 Utilisation de SoCLib-CC==133 == 4.1 Utilisation de socLib-cc == 133 134 134 135 On va pour commencer regénérer le simulateur utilisé dans le TP3, en utilisant directement les modèles de composants 135 136 enregistrés dans l'arbre SVN SoCLib. Comme vous pouvez le constater, le répertoire principal de l'archive ne contient 136 plus que deux fichiers : le fichier '''tp3_top.cpp''' décrivant l'architecture, et le fichier ''' platform.desc'''.137 plus que deux fichiers : le fichier '''tp3_top.cpp''' décrivant l'architecture, et le fichier '''tp3.desc'''. 137 138 Il faut vérifier que le chemin d'accès à à soclib-cc est bien dans votre PATH en exécutant: 138 139 {{{ … … 142 143 Puis lancer la compilation avec la commande : 143 144 {{{ 144 $ soclib-cc -p platform_desc -o simulation.x145 $ soclib-cc -p tp3.desc -o tp3.simulator.x 145 146 }}} 146 147 148 Vérifiez que le simulateur '''tp3_simulator.x''' qui vient d'être généré exécute toujours correctement l'application 149 logicielle du TP3. Vous pouvez pour cela donner explicitement le cheminom (pathname) du fichier contenant le code binaire comme second argument sur la ligne de commande : 150 {{{ 151 $ ./tp3_simulator.x 1000000 ../TP3/soft/bin.soft 152 }}} 153 154 147 155 == 4.2 Contrôleur d'interruption et Timer == 148 156 … … 159 167 '''tp4_top.cpp''' le fichier ainsi modifié. Modifiez également le fichier '''tp3_desc''' et renommez le '''tp4_desc''' 160 168 161 == 4.3 Architecture multi-processeurs == 169 == 4.3 Routines de traitement des interruptions == 170 171 == 4.4 Architecture multi-processeurs == 162 172 163 173 = 5 Compte-rendu =