%------------------------------------------------------------------------------
% $Id: document-morpheo-vhdl_generation-fr-01_tree.tex 100 2009-01-08 13:06:27Z rosiere $
%------------------------------------------------------------------------------

\Section{Arborescence}\label{tree}

Dans le répertoire contenant le projet, il y a les répertoires suivants :
\begin{description}
\item[IPs/systemC/processor/Morpheo/Documentation/ :] Contiens différents documents décrivant le projet, dont ce document.
\item[IPs/systemC/processor/Morpheo/Behavioural/ :] Contiens toutes les classes décrivant le comportement interne de Morpheo.
\item[IPs/systemC/processor/Morpheo/Behavioural/include/ :] Contiens les définitions des structures internes nécessaires à la réalisation du générateur. (Il contient aussi la génération de statistiques, la génération des fichiers au format XML \dots)\\
  \begin{description}
  \item [Parameters.h :] Contiens la classe {\it Parameters}, cette classe définit les paramètres constants et globaux.
  \item [Vhdl.h :] Contiens la classe {\it Vhdl}. 
  \item [Constants.h :] Contiens toutes les constantes nécessaires au processeur (par exemple les Codes Opération des instructions).
  \item [Types.h :] Contiens les types des signaux transitant entre deux composants.
  \end{description}
\item[IPs/systemC/processor/Morpheo/Behavioural/\dots/Component :] Chaque composant est inclus dans un répertoire spécifique. De plus, pour éviter toute collision de nom, chaque répertoire équivaut à un espace de nom (namespace).
\item[IPs/systemC/processor/Morpheo/Behavioural/\dots/Component/include :]~\\
  \begin{description}
  \item [Parameters.h :] Contient la classe {\it Parameters}, elle dérive de la classe contenue dans le fichier le répertoire {\it \dots/Behavioural/include/}. Elle définit les paramètres locaux au composant. Par exemple la taille de la file interne \dots.
  \item [Component.h  :] Contiens la classe {\it Component}. Elle définit l'interface, les registres ainsi que les méthodes du modèle systemC.
  \item [Types.h      :] Contiens les types spéciaux de ce composant.
  \end{description}
\item[IPs/systemC/processor/Morpheo/Behavioural/\dots/Component/src :]~\\
  \begin{description}
  \item [Component.cpp :] Définis les méthodes de construction et destruction. La construction spécifie les méthodes internes ainsi que les listes de sensibilités.
  \item [Component\_transition.cpp :] Définis la fonction de transition du composant. Il s'agit de l'écriture dans les registres.
  \item [Component\_genMoore.cpp :] Définis la fonction de génération de Moore. C'est-à-dire les signaux de sortie qui ne dépendent que de l'état courant du composant.
  \item [Component\_genMealy\_XXX.cpp :] Définis une fonction de génération de Mealy. C'est à dire les signaux de sortie qui dépendant aussi bien de l'état courant du composant que de l'entrée de composant. Il peut avoir plusieurs fonctions de mealy par composant.
  \item [Component\_vhdl.cpp :] Génère le modèle comportemental VHDL d'une instance du composant.
  \item [Component\_vhdl\_declaration.cpp :] Définis les types et signaux nécessaires à la description comportementale en VHDL du composant.
  \item [Component\_vhdl\_body.cpp :] Décris le comportement VHDL du composant.
  \end{description}
\item[IPs/systemC/processor/Morpheo/Behavioural/\dots/Component/Selftest :] Test le composant.
\end{description}
