Changes between Version 13 and Version 14 of SoclibCourseTp1


Ignore:
Timestamp:
Aug 31, 2009, 4:25:16 PM (16 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp1

    v13 v14  
    169169
    170170 * '''Signals''' : On définit dans cette section les différents signaux qui seront utilisés pour connecter entre eux les ports d'entrée sortie des différents composants. On a besoin de 4 signaux : les deux signaux ''signal_ck'' et ''signal_resetn''
    171 devront être connectés aux ports correspondants des deux composants matériels.  Les deux signaux ''signal_fifo_m2c'' et
    172 ''signal_fifo_c2m'' sont des signaux composites représentant les deux canaux de communication entre les deux composants. On utilise un type générique, en ce sens que le type de la donnée transférée à chaque cycle doit être défini par un paramètre template : dans le cas présent, on transfère un entier 32 bits ''uint32-t''. Le signal ''signal_clk'' est également un objet complexe de type ''sc_core::sc_clock'', dont on peut définir la période (sc_time(1,SC_NS) signifie 1 ns),
     171devront être connectés aux ports correspondants des deux composants matériels.  Les deux signaux ''signal_fifo_m2c'' et ''signal_fifo_c2m'' sont des signaux composites représentant les deux canaux de communication entre les deux composants. On utilise un type générique, en ce sens que le type de la donnée transférée à chaque cycle doit être défini par un paramètre template : dans le cas présent, on transfère un entier 32 bits ''uint32-t''. Le signal ''signal_clk'' est également un objet complexe de type ''sc_core::sc_clock'', dont on peut définir la période (sc_time(1,SC_NS) signifie 1 ns),
    173172ainsi que le rapport cyclique. Vous devez ajouter le signal manquant dans cette section.
    174173
     
    181180Vous pouvez compiler ce fichier ''tp1_top.cpp'' pour générer le fichier objet correspondant en utilisant la commande:
    182181{{{
    183 $ g++ -Wno-deprecated -I. -I/.../systemc/systemc-2.2/include -c -o tp1_top.o tp1_top.cpp
     182$ g++ -Wno-deprecated -I. -I/users/outils/dsx/cctools/include -c -o tp1_top.o tp1_top.cpp
    184183}}}
    185184Cette commande doit créer fichier objet ''tp1_top.o'' dans le répertoire TP1.
     
    189188Vous pouvez maintenant créer le programme exécutable ''simulator.x'' en effectuant l'édition de liens entre les trois fichiers objet précédemment créés :
    190189{{{
    191 $ g++ -Wno-deprecated -L. -L/.../systemc/systemc2.2/lib... -o simulator.x fifo_lcd_master.o fifo_lcd_coprocessor.o tp1_top.o -lsystemc 2>&1 | c++filt
     190$ g++ -Wno-deprecated -L. -L/users/outils/dsx/cctools/lib-linux -o simulator.x fifo_lcd_master.o fifo_lcd_coprocessor.o tp1_top.o -lsystemc 2>&1 | c++filt
    192191}}}
    193192Cette commande doit créer fichier objet ''simulator.x'' dans le répertoire TP1.
     
    205204
    206205Le moteur de simulation SystemCASS, développé par le laboratoire LIP6, utilise une technique d'ordonnancement statique (sans échéancier) qui permet de réduire le temps de simulation d'un ordre de grandeur. 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:
    207 la simulation par
    208 
     206
     207/users/outils/dsx/systemcass/include
     208/users/outils/dsx/systemcass/lib
     209