Changes between Version 6 and Version 7 of SoclibCourseTp1


Ignore:
Timestamp:
Aug 31, 2009, 7:25:06 AM (16 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp1

    v6 v7  
    55[[PageOutline]]
    66
    7 
    87= 1. Objectif =
    98
    10 L'objectif de ce premier TP est de vous amener à écrire vous-même, en utilisant le langage SystemC
    11 quelques  modèles de composants matériels très simples, en respectant le niveau d'abstraction CABA
    12 (Cycle Accurate, Bit Accurate) utilisé pour modéliser les composants de la bibliothèque SoCLib.
     9L'objectif de ce premier TP est d'illustrer -sur un exemple très simple ne comportant que deux composants matériels -
     10les principes de la modélisation SystemC au niveau d'abstraction CABA
     11(Cycle Accurate, Bit Accurate).La modélisation CABA est l'un des deux niveaux d'abstraction  utilisés pour modéliser les composants de la bibliothèque SoCLib.
    1312Ce type de modélisation s'appuie sur la théorie des automates d'états synchrones communicants (CFSM),
    1413et permet d'utiliser des technique d'ordonnancement statique permettant d'accélérer la simulation.
    1514
    16 = 2. Architecture à modéliser =
     15= 2. Architecture matérielle =
    1716
    1817L'architecture matérielle à modéliser réalise Elle ne comporte que deux composants matériels: Le premier
     
    2423[[Image( )]]
    2524
    26 Ces deux composants sont donc modélisés par deux automates cadencés par la même horloge CK, avec écriture dans les tous les registres du système sur le front montant de CK. Ils sont initialisés par le même signal  NRESET, actif à l'état bas.
     25Conformément aux principes CFSM, ces deux composants sont donc modélisés par deux automates synchrones (c'est à dire cadencés par la même horloge CK). L'écriture dans les tous les registres du système se fait sur le front montant de CK. Ils sont initialisés par le même signal  NRESET, actif à l'état bas.
    2726
    2827== 2.1 Canal de communication FIFO ==
     
    9594= 3. Travail à réaliser =
    9695
     96L'archive attachement:soclib_tp1.tgz contient différents fichiers dont vous aurez besoin pour ce premier TP.
     97Créez un répertoire de travail spécifique TP1 pour ce TP, recopier l'archive dans ce répertoire TP1, et décompressez-la:
     98{{{
     99$ tar xjvf soclib_tp1.tgz
     100}}}
     101Cette archive contient en principe les fichiers suivants :
     102 * ''fifo_signals.h'' : fichier définissant l'objet C++ '''FifoSignal''' représentant les signaux d'un canal FIFO. Ce fichier est complet et ne doit pas être modifié.
     103 * ''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é. Ce fichier est complet et ne doit pas être modifié.
     104 * ''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é.
     105 * ''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é.
     106 * ''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é.
     107 * ''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é.
     108 * ''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é.
     109
    97110== 3.1 Ecriture du modèle CABA du coprocesseur ==
    98111
    99 Le modèle de simulation d'un composant matériel (appelé ''module'' en SystemC) nécessite la définition d'une classe C++ dont le nom correspond au nom du module matériel modélisé. Il faut donc écrire deux fichiers.
    100  * Le fichier ""module.h'' contient la définition de la classe
    101  *  de
     112Pour une présentation détaillée des règles d'écriture des modèles de simulation au niveau CABA, vous pouvez consulter la documention disponible en ligne sur le site sur le site WEB du projet SoCLib : [https://www.soclib.fr/trac/dev/wiki/WritingRules/Caba].
     113
     114Le modèle de simulation d'un composant matériel (appelé ''module'' en SystemC) nécessite la définition d'une classe C++ dont le nom correspond au nom du module matériel modélisé.
     115En vous inspirant du code fourni pour le composant '''master''', complêter les deux fichiers ''fifo_lcd_coprocessor.h'' et
     116''fifo_lcd_coprocessor.cpp''.
    102117
    103118== 3.2 Ecriture du modèle CABA de la ''top-cell'' ==