Changes between Version 15 and Version 16 of SoclibCourseTp1


Ignore:
Timestamp:
Aug 31, 2009, 5:05:46 PM (15 years ago)
Author:
nipo
Comment:

cosmetics

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp1

    v15 v16  
    119119 * ''fifo_ports.h'' : fichier définissant les objets C++ '''!FifoInput''' et '''!FifoOutput''' représentant les ports d'accès à un canal FIFO. Ce fichier est complet et ne doit pas être modifié.
    120120 * ''fifo_lcd_master.h'' : fichier définissant l'objet C++ '''!FifoLcdMaster''' représentant  le modèle du  master. Ce fichier est complet et ne doit pas être modifié.
    121  * ''fifo_lcd_master.cpp" : fichier contenant l'implémentation C++ des méthodes utilisées par le composant master. Ce fichier est complet et ne doit pas être modifié.
     121 * ''fifo_lcd_master.cpp'' : fichier contenant l'implémentation C++ des méthodes utilisées par le composant master. Ce fichier est complet et ne doit pas être modifié.
    122122 * ''fifo_lcd_coprocessor.h'' : fichier définissant l'objet C++ '''!FifoLcdCoprocessor''' représentant  le modèle du coprocesseur. Ce fichier ne contient qu'une carcasse vide et devra être complété.
    123123 * ''fifo_lcd_master.cpp'' : fichier contenant l'implémentation C++ des méthodes utilisées par le composant master. Ce fichier ne contient qu'une carcasse vide et devra être complété.
    124  * ''tp1_top.cpp'' : fichier C++  décrivant l"architecture matérielle du système, dont la compilation générera le simulateur proprement dit. Ce fichier est partiellement incomplet, et devra être complété.
     124 * ''tp1_top.cpp'' : fichier C++  décrivant l'architecture matérielle du système, dont la compilation générera le simulateur proprement dit. Ce fichier est partiellement incomplet, et devra être complété.
    125125
    126126== 3.1 Ecriture du modèle CABA du coprocesseur ==
     
    132132''fifo_lcd_coprocessor.cpp''.
    133133
    134 Comme pour tout modèle CABA SoCLib, les variables membres de la classe '''FifoLcdCoprocessor''' sont de trois types :
     134Comme pour tout modèle CABA SoCLib, les variables membres de la classe `FifoLcdCoprocessor` sont de trois types :
    135135 * '''ports''' : les variables membres représentant les ports d'entrée sortie sont de type ''sc_core::sc_in'' ou ''sc_core::sc_out'',
    136 ou des objets plus complexe (possédant éventuellement un paramètre template) représentant des regroupements de plusieurs ports élémentaires : c'est la cas des types ''soclib::caba::FifoOutput<typename>'' et ''soclib::caba::FifoInput<typename>'' utilisés pour accéder à un cana FIFO. Pour des raisons de lisibilité, il est recommandé que les noms de registre soient préfixé par '''p_'''. On définira 2 ports simples (''p_ck'', ''p_resetn''), et deux ports FIFO (''p_in'' et ''p_out''). Ce sont évidemment des variables publiques.
     136ou des objets plus complexe (possédant éventuellement un paramètre template) représentant des regroupements de plusieurs ports élémentaires : c'est la cas des types `soclib::caba::FifoOutput<typename>` et `soclib::caba::FifoInput<typename>` utilisés pour accéder à un cana FIFO. Pour des raisons de lisibilité, il est recommandé que les noms de registre soient préfixé par '''p_'''. On définira 2 ports simples (''p_ck'', ''p_resetn''), et deux ports FIFO (''p_in'' et ''p_out''). Ce sont évidemment des variables publiques.
    137137* '''registres''' : les variables membres représentant les registres sont de type ''sc_core::sc_signal''. Pour des raisons de lisibilité, il est recommandé que les noms de registre soient préfixé par '''r_'''. On définira trois registres ''r_fsm'', ''r_opa'' et ''r_opb''. Ce sont des variables privées.
    138138 * '''constantes''' : ces variables membres sont en fait des constantes permettant de stocker les valeurs des paramètres définis comme arguments du constructeur pour les composants matériels génériques. Ces variables membres sont initialisées dans le constructeur, et leur valeur reste constante au cours de la simulation.  Pour des raisons de lisibilité, il est recommandé que les noms de constantes soient préfixé par '''m_'''. Ces variables sont toujours privées.  Le coprocesseur n'étant pas paramètrable, on ne définira aucune variable de ce type.
     
    152152Pour réduire les temps de compilation la plate-forme de modélisation SoCLib exploite le principe de la compilation séparée: Chaque modèle de composant matériel est compilé séparément.
    153153
    154 A titre d'exemple, compilez le modèle du composant '''FifoLcdMaster''', en utilisant le compilateur g++.
     154A titre d'exemple, compilez le modèle du composant `FifoLcdMaster`, en utilisant le compilateur g++.
    155155Il faut lancer la commande suivante dans votre répertoire de travail TP1 :
    156156{{{
     
    160160
    161161Vous pouvez utiliser la même commande (en changeant les noms des fichiers) pour compiler... et déboguer le modèle
    162 du composant '''FifoLcdCoprocessor'''.
     162du composant `FifoLcdCoprocessor`.
    163163
    164164== 3.2 Ecriture du modèle CABA de la ''top-cell'' ==