Changes between Version 19 and Version 20 of SoclibCourseTp1
- Timestamp:
- Sep 1, 2009, 6:55:30 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoclibCourseTp1
v19 v20 201 201 Regroupez toutes les commandes de compilation dans un fichier ''Makefile'', en explicitant les dépendances entre les fichiers. 202 202 203 == 2.4 Simulation avec le moteur de simulationSystemCASS ==203 == 2.4 Simulation avec SystemCASS == 204 204 205 205 Comme cela a été expliqué en cours, le style d'écriture des modèles de simulation CABA utilisé dans SoCLib permet une simulation rapide - même en utilisant le moteur de simulation SystemC2.0 fourni par le consortium OSCI - 206 206 puisque dans le cas où tous les composants matériels se comportent comme des automates de Moore, les deux fonctions ''transition'' et ''genMoore'' de chaque composant ne sont exécutées qu'une seule fois par cycle. 207 207 208 Mais il est possible de gagner un facteur 10 sur la vitesse de simulation en utilisant le moteur de simulation SystemCASS, développé par le laboratoire LIP6, qui utilise une technique d'ordonnancement statique (sans échéancier) pour exploiter 208 Le moteur de simulation SystemC2.0 utilise une technique d'ordonnancement dynamique (avec gestion d'un échéancier), 209 qui a le mérite d'être très générale, et de s'adapter à à peuprès n'importe quel style d'écriture des modèles SystemC. 210 Mais il est possible de gagner un facteur 10 sur la vitesse de simulation en utilisant le moteur de simulation SystemCASS (développé par le laboratoire LIP6), qui utilise une technique d'ordonnancement statique (sans échéancier) pour exploiter 209 211 les caractéristiques particulières des modèles SoCLib. 210 212 211 Pour utiliser SystemCASS, il n'est pas nécessaire de modifier le code SystemC des composants instanciés, ni le code systemC décrivant la top_cell, mais il faut recompiler l'ensemble des fichiers sources, en modifiant les chemins d'accès aux fichiers213 Pour utiliser SystemCASS, il n'est pas nécessaire de modifier le code SystemC des composants instanciés, ni le code SystemC décrivant la top_cell, mais il faut recompiler l'ensemble des fichiers sources, en modifiant les chemins d'accès aux fichiers 212 214 d'include et aux bibliothèques de SystemC. 213 215 … … 218 220 La génération de l'exécutable utilise la commande suivante : 219 221 {{{ 220 $ g++ -Wno-deprecated -L. -L/users/outils/dsx/systemcass/lib -o simulator.x fifo_lcd_master.o fifo_lcd_coprocessor.o tp1_top.o -lsystemc 2>&1 | c++filt222 $ g++ -Wno-deprecated -L. -L/users/outils/dsx/systemcass/lib -o fast_simulator.x fifo_lcd_master.o fifo_lcd_coprocessor.o tp1_top.o -lsystemc 2>&1 | c++filt 221 223 }}} 222 224 Modifiez le fichier Makefile de la question précédente pour générer un exécutable fast_simulator.x et comparez les vitesses des deux simulateurs.