Changes between Version 19 and Version 20 of SoclibCourseTp1


Ignore:
Timestamp:
Sep 1, 2009, 6:55:30 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp1

    v19 v20  
    201201Regroupez toutes les commandes de compilation dans un fichier ''Makefile'', en explicitant les dépendances entre les fichiers.
    202202
    203 == 2.4 Simulation avec le moteur de simulation SystemCASS ==
     203== 2.4 Simulation avec SystemCASS ==
    204204
    205205Comme 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 -
    206206puisque 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.
    207207
    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
     208Le moteur de simulation SystemC2.0 utilise une technique d'ordonnancement dynamique (avec gestion d'un échéancier),
     209qui 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.
     210Mais 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
    209211les caractéristiques particulières des modèles SoCLib.
    210212
    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 fichiers
     213Pour 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
    212214d'include et aux bibliothèques de SystemC.
    213215
     
    218220La génération de l'exécutable utilise la commande suivante :
    219221{{{
    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++filt
     222$ 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
    221223}}}
    222224Modifiez 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.