Changeset 113 for trunk/IPs/systemC/processor/Morpheo/Documentation/doc
- Timestamp:
- Apr 14, 2009, 8:39:12 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Documentation/doc/document-morpheo-vhdl_generation/tex
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Documentation/doc/document-morpheo-vhdl_generation/tex/document-morpheo-vhdl_generation-fr-03_vhdl_body.tex
r100 r113 4 4 5 5 \Section{VHDL : comportement}\label{vhdl_body} 6 7 \subSection{Description du fichier {\it Component\_vhdl\_body.cpp}} 6 8 7 9 Le comportement du composant est défini dans le fichier {\it Component\_vhdl\_body.cpp}. … … 23 25 void set_comment (std::string text ); 24 26 \end{lstlisting} 27 28 \subSection{Description du fichier {\it Component\_vhdl.cpp}} 29 Nous allons décrire ici le fichier {\it Component\_vhdl.cpp}. 30 31 \lstparam{C++} 32 \begin{lstlisting}[caption={Component\_vhdl.cpp}, label=component_vhdl.cpp] 33 void component::vhdl (void) 34 { 35 Vhdl * vhdl = new Vhdl (_name); 36 37 _interfaces->set_port(vhdl); 38 _component->vhdl_instance(vhdl); 39 40 vhdl_declaration (vhdl); 41 vhdl_body (vhdl); 42 43 vhdl->generate_file(); 44 45 delete vhdl; 46 }; 47 \end{lstlisting} 48 49 50 La première étape est d'éditer le fichier {\it Component\_vhdl.cpp}. Le listing \ref{component_vhdl.cpp} représente le contenu de ce fichier. 51 \begin{itemize} 52 \item Ligne 3 : Déclaration et construction de la variable {\it vhdl} qui est du type {\it Vhdl}. 53 \item Ligne 5 : Ajout dans le modèle VHDL des interfaces présentes dans le modèle SystemC. (cf fichiers Component.h). 54 \item Ligne 6 : Ajout dans le modèle VHDL des composants internes dans le modèle SystemC. (cf fichiers Component.h et Component\_allocation.cpp). 55 \item Ligne 8 : Ajout dans le modèle VHDL des déclarations définit dans le fichiers Component\_vhdl\_declaration.cpp (cf section \ref{vhdl_declaration}). 56 \item Ligne 9 : Ajout dans le modèle VHDL de la description comportemental définit dans le fichiers Component\_vhdl\_body.cpp (cf section \ref{vhdl_body}). 57 \item Ligne 11 : Génération des fichiers VHDL. Le nom du fichier est construit à partir du nom fourni lors de la construction de la variable {\it vhdl}. 58 \item Ligne 13 : Destruction de l'objet. 59 \end{itemize} -
trunk/IPs/systemC/processor/Morpheo/Documentation/doc/document-morpheo-vhdl_generation/tex/document-morpheo-vhdl_generation-fr-04_vhdl_structural.tex
r100 r113 5 5 \Section{VHDL : structurelle}\label{vhdl_structural} 6 6 7 \subSection{Description du fichier {\it Component\_vhdl.cpp}}7 %\subSection{Description du fichier {\it Component\_vhdl.cpp}} 8 8 Les modèles systemC structurels sont des modèles qui instancient d'autres modèles. Il n'y a pas de description comportementale. Ces modèles sont générés automatiquement. 9 9 Par contre, les modèles systemC comportementaux peuvent être décrit par un modèle VHDL mixte (incluant une description comportementale et des instances d'autre composant). … … 11 11 Les modèles génériques sont dans le répertoire {\it IPs/systemC/processor/Morpheo/Behavioural/Generic}. 12 12 13 \lstparam{C++}14 \begin{lstlisting}[caption={Component\_vhdl.cpp}, label=component_vhdl.cpp]15 void component::vhdl (void)16 {17 Vhdl * vhdl = new Vhdl (_name);18 19 _interfaces->set_port(vhdl);20 _component->vhdl_instance(vhdl);21 22 vhdl_declaration (vhdl);23 vhdl_body (vhdl);24 25 vhdl->generate_file();26 27 delete vhdl;28 };29 \end{lstlisting}30 31 32 La première étape est d'éditer le fichier {\it Component\_vhdl.cpp}. Le listing \ref{component_vhdl.cpp} représente le contenu de ce fichier.33 \begin{itemize}34 \item Ligne 3 : Déclaration et construction de la variable {\it vhdl} qui est du type {\it Vhdl}.35 \item Ligne 5 : Ajout dans le modèle VHDL des interfaces présentes dans le modèle SystemC. (cf fichiers Component.h).36 \item Ligne 6 : Ajout dans le modèle VHDL des composants internes dans le modèle SystemC. (cf fichiers Component.h et Component\_allocation.cpp).37 \item Ligne 8 : Ajout dans le modèle VHDL des déclarations définit dans le fichiers Component\_vhdl\_declaration.cpp (cf section \ref{vhdl_declaration}).38 \item Ligne 9 : Ajout dans le modèle VHDL de la description comportemental définit dans le fichiers Component\_vhdl\_body.cpp (cf section \ref{vhdl_body}).39 \item Ligne 11 : Génération des fichiers VHDL. Le nom du fichier est construit à partir du nom fourni lors de la construction de la variable {\it vhdl}.40 \item Ligne 13 : Destruction de l'objet.41 \end{itemize}42 43 13 Pour la suite, nous allons supposer l'instanciation d'une FIFO. 44 14 45 15 \subSection{Ajout d'une instance} 46 16 47 Dans le fichier Component\_vhdl.cpp :48 17 \begin{enumerate} 49 \item Inclure la définition de la classe désirée.18 \item Dans le fichier Component.h : inclure la définition de la classe désirée. 50 19 \lstparam{C++} 51 20 \begin{lstlisting} 52 21 #include "Behavioural/Generic/Queue/include/Queue.h" 53 22 \end{lstlisting} 54 \item Creer les paramètres du modèle. 23 24 \item Dans le fichier Component.h : déclaré les paramètres et le component 55 25 \lstparam{C++} 56 26 \begin{lstlisting} 57 morpheo::behavioural::generic::queue::Parameters * param_queue; 58 param_queue = new morpheo::behavioural::generic::queue::Parameters 27 morpheo::behavioural::generic::queue::Parameters * _param_queue; 28 morpheo::behavioural::generic::queue::Queue * _component_queue; 29 \end{lstlisting} 30 31 \item Dans le fichier Component\_allocation.cpp : creer les paramètres du modèle. 32 \lstparam{C++} 33 \begin{lstlisting} 34 _param_queue = new morpheo::behavioural::generic::queue::Parameters 59 35 (16, //size_queue 60 36 32);//size_data 61 37 \end{lstlisting} 62 \item Creer le modèle38 \item Dans le fichier Component\_allocation.cpp : creer le modèle 63 39 \lstparam{C++} 64 40 \begin{lstlisting} 65 morpheo::behavioural::generic::queue::Queue * queue;66 41 std::string queue_name = _name + "_queue"; 67 42 68 queue = new morpheo::behavioural::generic::queue::Queue43 _component_queue = new morpheo::behavioural::generic::queue::Queue 69 44 (queue_name.c_str() // nom du modèle 70 45 #ifdef STATISTICS 71 46 ,NULL // Pas paramètres pour les statistiques 72 47 #endif 73 , param_queue// Paramètres de la file48 ,_param_queue // Paramètres de la file 74 49 ,USE_VHDL); // Utilisation du modèle VHDL 75 50 \end{lstlisting} 76 \item Inclure le modèle dans la liste des composants internes51 \item Dans le fichier Component\_allocation.cpp : inclure le modèle dans la liste des composants internes 77 52 \lstparam{C++} 78 53 \begin{lstlisting} 79 _component->set_component( queue->_component54 _component->set_component(_component_queue->_component 80 55 #ifdef POSITION 81 56 , 20, 20, 20, 20 … … 86 61 ); 87 62 \end{lstlisting} 88 \item indiquer dans le fichier Makefile.deps que le composant dépend de ce modèle.63 \item Dans le fichier Makefile.deps : ajouter les dépendances du modèle. 89 64 \lstparam{make} 90 65 \begin{lstlisting} … … 114 89 $(MAKE) --directory=$(Component_DIR) --makefile=Makefile clean; 115 90 \end{lstlisting} 91 \item Dans le fichier Component\_deallocation.cpp : détruire les modèles et leurs paramètres. 92 \lstparam{C++} 93 \begin{lstlisting} 94 delete _component_queue; 95 delete _param_queue; 96 \end{lstlisting} 116 97 \end{enumerate} 117 98 … … 138 119 vhdl->set_body (0,");"); 139 120 \end{lstlisting} 121
Note: See TracChangeset
for help on using the changeset viewer.