Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Documents/presentation-internal_seminary_overview/fr/root.tex

    r17 r23  
    1 \section{Besoins}
     1\section{Motivations}
    22
    33\ContentsCurrent
    44
    5 \slidetitle{Besoins}
    6            {Besoins pour les processeurs embarquées :
    7              
    8              \begin{itemize}
    9              \item Maîtrise du système
    10              \item Souplesse
    11              \item Performance
    12              \end{itemize}
    13            }
     5\slidetitle{Motivations}
    146           {
    15              Où : téléphone portable, baladeur mp3/vidéo, automobile ...
    16 
     7             Sécurité du hardware :
    178             \begin{description}
    18              \item[Maitrise du système :] Les processeurs généralistes sont utilisés dans un vaste échantillon d'application. Ceci touche également la sécurité.
    19              \item[Souplesse           :] Pour un concepteur de système embarqués : bien dimensionner son système
    20              \item[Performance         :] Application cible de plus en plus gourmande en ressources : beaucoup de threads avec des impératifs de rapidité.
    21              \end{description}
    22            }
    23 
    24 \subsection{Maîtrise du système}
    25 \slidetitle{Besoin de la Maîtrise du système}
    26            {
    27              {\bf Plate-forme de confiance totale}
    28 
    29              \begin{itemize}
    30              \item Projet Open
    31              \item ISA Open
    32              \item Instructions customisables
    33              \end{itemize}
    34            }
    35            {
    36              Morpheo s'inscrit dans le cadre du projet plate-forme de confiance totale.
    37 
    38              Instructions customisables : possibilité à l'utilisateur de rajouter de nouvelles instructions. Comme par exemple pour le chiffrement ou le déchiffrement ...
    39 %            On doit supposer que la mémoire d'instruction et de donnée ce trouve en milieu accéssible par les pirates. Leur chiffrement en devient obligatoire.
    40 %
    41 %            En hard dans le proc? cache? interconnect? I/O?
    42            }
    43 
    44 
    45 \subsection{Souplesse}
    46 \slidetitle{Besoin de Souplesse}
    47            {
    48              {\bf Adapation aux besoins des concepteurs}
    49 
    50              \begin{itemize}
    51              \item Processeur hautement paramètrables
    52              \item Ressources internes hétérogènes
    53              \item FPGA
    54              \end{itemize}
    55            }
    56            {
    57              Souplesse : s'adapter aux besoins des concepteur de SoC.
    58 
    59              \begin{description}
    60              \item[Paramètrables :] Fournir un grand jeu de paramètres afin de satisfaire les contraintes du concepteur
    61              \item[Hétérogènes :] En découle des paramètres
    62              \item[FPGA :] Cible de + en + utilisé, Si mappage possible sur les ressources limités d'un FPGA, alors possible également sur un ASIC
    63              \end{description}
    64            }
    65 
    66 \subsection{Performance}
    67 \slidetitle{Besoin de Performance (1) - ILP vs TLP}
    68            {
    69              {\bf Exploitation des différentes formes de parallélisme}
    70              
    71              Paquet d'instruction pouvant s'éxecuter en parallèle :
    72              \begin{itemize}
    73              \item {\it Intra flot} : exploitation de l'ILP\newline limitation intrasèque au soft (3-5 instructions)
    74              \item {\it Inter flot} : exploitation du TLP  \newline limitation intrasèque au système cible
    75              \end{itemize}
    76            }
    77            {
    78              \begin{itemize}
    79              \item ILP : superscalaire, OutOfOrder, Spéculation
    80              \item TLP : CMP, SMT
    81              \end{itemize}
    82            }
    83 
    84 \slidetitle{Besoin de Performance (2) - CMP vs SMT}
    85            {
    86              \printgraph{GENERAL_type_of_multi_thread}{0.5}
    87              
    88 %            (schéma)
    89 %           
    90 %            Comparaison théorique de 5 types d'architectures :
    91 %            ||Mono Coeur           ||Mono Contexte           ||Largeur infini||Idéal       ||
    92 %            ||Mono Coeur           ||Mono Contexte           ||Largeur 4     ||Monolithique||
    93 %            ||Multi Coeur d'ordre 4||Mono Contexte           ||Largeur 1     ||CMP         ||
    94 %            ||Mono Coeur           ||Multi Contexte d'ordre 4||Largeur 4     ||SMT         ||
    95 %            ||Multi coeur d'ordre 2||Multi Contexte d'ordre 2||Largeur 2     ||CMP de SMT  ||
    96            }
    97            {
    98              \begin{itemize}
    99              \item A et B : 17 instructions en 7 UT idéale
    100              \item (1) : 14 UT
    101              \item (2) : 17 UT, 34 slot vide, occupation 50\%
    102              \item (3) : 12 UT, 14 slot vide, occupation 70\%
    103              \item (4) : 11 UT, 10 slot vide, occupation 77\%
    104              \end{itemize}
    105            }
    106 \slidetitle{Besoin de Performance (3) - Entre le CMP et le SMT}
    107            {
    108              \begin{description}
    109              \item[CMP :] L'intégralité des ressources d'un coeur sont dédiées   à un contexte.
    110              \item[SMT :] L'intégralité des ressources d'un coeur sont partagées entre tous les contextes.
    111              \item[Hybride :] Multitude de possibilité de partage des ressources internes.\\
    112                Une ressource est soit dédiée à un contexte soit partagée entre un certain nombre de contextes.
     9             \item[Ancienne tendance :] IPs (Intellectual Propritie) fermées labelisés sécuritaires.
     10             \item[Nouvelle tendance :] Ouverture des IPs, intégration de System On Chip (SOC)
    11311             \end{description}
    11412           }
    11513           {
    116              Définir ce qu'est une ressource : ALU, predicteur de branchement, cache ...
     14             
    11715           }
    11816
    11917
    120 \section{Solution}
    121 \ContentsCurrent
    122 \subsection{Initiatives actuelles}
    123 \slidetitle{Initiatives actuelles}
    124            {
    125              Tous les processeurs sont des RISC scalaires.
    126 
    127              \begin{description}
    128              \item[OpenRISC 1200 :] 32 bits, 5 étages. Jusqu'à 8 contextes.
    129              \item[Leon 2        :] 32 bits, 5 étages.
    130              \item[Leon 3        :] Leon 2 en 7 étages.
    131              \item[OpenSparcS1   :] 1 coeur 64bits, 6 étages et CMT 4.
    132              \item[OpenSparcT1   :] OpenSparcS1 avec 8 coeurs. Version OpenSource du Niagara.
    133              \item[Micro32       :] 32 bits, 6 étages.
    134              \item[OpenFire      :] 32 bits, 3 étages. Dérivés du MicroBlaze
    135              \item[aeMB          :] 32 bits, 3 étages. Dérivés du MicroBlaze
    136              \end{description}
    137            }
    138            {
    139              \begin{description}
    140              \item[OpenRISC 1200 :] Présence icache, dcache, immu, dmmu. Taille des caches, des opérandes, du banc de registres. Matériel spécifique : div, rotate, mul, mac.
    141              \item[Leon 2 et 3   :] Présence de div, mul, mac, floating point. Taille du banc de registres . Nombre de load delai. Configuration avancé du cache et de la MMU (fetch, decod, execute, memory, write) (fetch, decod, register access, execute, memory, exception, write)
    142              \item[OpenSparc     :] Présence de la Stream Processing Unit (cryptographie), 1 seul thread par coeur.
    143              \item[Micro32       :] Présence icache, dcache, debug. Taille des caches. Matériel spécifique : div, rotate, mul pipeline, extension de signes.
    144              \item[OpenFire      :] 3 étages (Fetch, Decod, Execute). Faiblement configurable (largeur des données, espace d'addressage, presence de mul et de cmp). Aucun support de caches
    145              \item[aeMB          :] 3 étages (Fetch, Decod, Execute). Support de caches. Pas configurable (Juste la largeur de l'espace d'addressage)
    146              \end{description}
    147            }
    148 
    149 \slide     {
    150              \printgraph{GENERAL_Art_of_State-Comparaison}{0.8}
    151            }
    152            {
    153            }
    154 \subsection{Solution proposée}
    155 \slidetitle{Solution proposée}
    156            {
    157              \begin{itemize}
    158              \item Partir d'une micro-architecture HighPerf.
    159              \item Ajout de la gestion du multi-thread.
    160              \item Rendre paramétrable les ressources internes.
    161              \item Mappage des instances de ce générateur de processeur sur les ressources limitées d'un FPGA.
    162              \end{itemize}
    163            }
    164            {
    165              Pentium 4, MipsR10000, Power5
    166            }
    167            
    168 \subsection{Métrique}
    169 \slidetitle{Métrique}
    170            {
    171              \begin{itemize}
    172              \item Obtenir le meilleur compromis Performance / Complexité.
    173                \begin{itemize}
    174                \item Performance : nombre de cycles nécessaire pour éxecuter les Benchmarks.
    175                \item Compléxité  : surface occupée du FPGA.
    176                \end{itemize}
    177              \item Obtenir le meilleur partage des ressources entre les contextes matériels. (Gain Performance / Coût surface).
    178                \begin{itemize}
    179                \item Gain en performance : rapport entre la performance MT sur la performance ST.
    180                \item Coût en surface     : rapport entre la surface     MT sur la surface     ST.
    181                \end{itemize}
    182              \end{itemize}
    183            }
    184            {
    185              benchmark : SPECINT2k, Dhrystone
    186 
    187              FPGA : virtex5LX 330
    188            }
    189 
    190 \section{Morpheo}
    191 \ContentsCurrent
    192 
    193 \subsection{Micro Architecture}
    194 \slidetitle{Micro Architecture : Overview}
    195            {
    196              \printgraph{MORPHEO_micro_architecture-overview}{0.48}
    197            }
    198            {
    199              3 grandes parties :
    200              \begin{description}
    201              \item[Front end :] Amène des paquets d'instructions en séquence, et les décodes. Calcules les addresses suivantes (spéculation) et maintiens l'état des threads (idle, wait, run ...)
    202              \item[Out Of Order Engine :] Renome les registres (annulations des dépendances RAW, WAW et WAR). Re Order Buffer : mettre à jour l'état du contexte dans l'ordre d'arrivé des threads.
    203              \item[Execution Loop :] Boucle ``Read, execute, Write''. Ainsi que les bypass. Instructions peuvent ce lancer dans le désordres.
    204              \end{description}
    205            }
    206 
    207 \slidetitle{Micro Architecture : Front end}
    208            {
    209              \printgraph{MORPHEO_micro_architecture-front_end}{0.7}
    210            }
    211            {
    212            }
    213 
    214 \slidetitle{Micro Architecture : Out Of Order Engine}
    215            {
    216              \printgraph{MORPHEO_micro_architecture-out_of_order_engine}{0.7}
    217            }
    218            {
    219            }
    220 
    221 \slidetitle{Micro Architecture : Execution Loop}
    222            {
    223              \printgraph{MORPHEO_micro_architecture-execute_loop}{0.7}
    224            }
    225            {
    226            }
    227 
    228 \subsection{Méthodologie}
    229 \slidetitle{Service proposé}
    230            {
    231              \printgraph{MORPHEO_service}{0.75}
    232            }
    233            {
    234              libMorpheo :
    235              \begin{itemize}
    236              \item Simulation systemC
    237                \begin{itemize}
    238                \item TestBench Vhdl
    239                \item Statistiques lors de la simulation
    240                \end{itemize}
    241              \item Vhdl : synthétisable sur FPGA
    242              \item Positions: Point d'entrée d'un outil de visualisation architectural (Stage M1)
    243              \end{itemize}
    244            }
    245    
    246 \slidetitle{Méthodologie - Boucle d'Iteration}
    247            {
    248              \printgraph{MORPHEO_methodologie}{0.3}
    249            }
    250            {
    251              \begin{enumerate}
    252              \item SystemC
    253                \begin{enumerate}
    254                \item Ecriture du modèle systemC
    255                \item Ecriture d'un TestBench pour le systemc - goto 1.1
    256                \end{enumerate}
    257              \item VHDL
    258                \begin{enumerate}
    259                \item Ecriture du vhdl
    260                \item Validation de la stricte compatibilité entre le systemC et le Vhdl - goto 2.1 ou 1.1
    261                \end{enumerate}
    262              \item FPGA
    263                \begin{enumerate}
    264                \item Synthèse sur FPGA - goto 2.1, 1.1
    265                \item Mappage sur FPGA
    266                \end{enumerate}
    267              \end{enumerate}
    268            }
    269 
    270 \subsection{Perspective}
    271 \slidetitle{Comment remplir nos journées?}
    272            {
    273              Il "reste" à faire ...
    274            }
    275            {
    276            }
     18
     19%\section{Besoins}
     20%
     21%\ContentsCurrent
     22%
     23%\slidetitle{Besoins}
     24%          {Besoins pour les processeurs embarquées :
     25%           
     26%            \begin{itemize}
     27%            \item Maîtrise du système
     28%            \item Souplesse
     29%            \item Performance
     30%            \end{itemize}
     31%          }
     32%          {
     33%            Où : téléphone portable, baladeur mp3/vidéo, automobile ...
     34%
     35%            \begin{description}
     36%            \item[Maitrise du système :] Les processeurs généralistes sont utilisés dans un vaste échantillon d'application. Ceci touche également la sécurité.
     37%            \item[Souplesse           :] Pour un concepteur de système embarqués : bien dimensionner son système
     38%            \item[Performance         :] Application cible de plus en plus gourmande en ressources : beaucoup de threads avec des impératifs de rapidité.
     39%            \end{description}
     40%          }
     41%
     42%\subsection{Maîtrise du système}
     43%\slidetitle{Besoin de la Maîtrise du système}
     44%          {
     45%            {\bf Plate-forme de confiance totale}
     46%
     47%            \begin{itemize}
     48%            \item Projet Open
     49%            \item ISA Open
     50%            \item Instructions customisables
     51%            \end{itemize}
     52%          }
     53%          {
     54%            Morpheo s'inscrit dans le cadre du projet plate-forme de confiance totale.
     55%
     56%            Instructions customisables : possibilité à l'utilisateur de rajouter de nouvelles instructions. Comme par exemple pour le chiffrement ou le déchiffrement ...
     57%%           On doit supposer que la mémoire d'instruction et de donnée ce trouve en milieu accéssible par les pirates. Leur chiffrement en devient obligatoire.
     58%%
     59%%           En hard dans le proc? cache? interconnect? I/O?
     60%          }
     61%
     62%
     63%\subsection{Souplesse}
     64%\slidetitle{Besoin de Souplesse}
     65%          {
     66%            {\bf Adapation aux besoins des concepteurs}
     67%
     68%            \begin{itemize}
     69%            \item Processeur hautement paramètrables
     70%            \item Ressources internes hétérogènes
     71%            \item FPGA
     72%            \end{itemize}
     73%          }
     74%          {
     75%            Souplesse : s'adapter aux besoins des concepteur de SoC.
     76%
     77%            \begin{description}
     78%            \item[Paramètrables :] Fournir un grand jeu de paramètres afin de satisfaire les contraintes du concepteur
     79%            \item[Hétérogènes :] En découle des paramètres
     80%            \item[FPGA :] Cible de + en + utilisé, Si mappage possible sur les ressources limités d'un FPGA, alors possible également sur un ASIC
     81%            \end{description}
     82%          }
     83%
     84%\subsection{Performance}
     85%\slidetitle{Besoin de Performance (1) - ILP vs TLP}
     86%          {
     87%            {\bf Exploitation des différentes formes de parallélisme}
     88%           
     89%            Paquet d'instruction pouvant s'éxecuter en parallèle :
     90%            \begin{itemize}
     91%            \item {\it Intra flot} : exploitation de l'ILP\newline limitation intrasèque au soft (3-5 instructions)
     92%            \item {\it Inter flot} : exploitation du TLP  \newline limitation intrasèque au système cible
     93%            \end{itemize}
     94%          }
     95%          {
     96%            \begin{itemize}
     97%            \item ILP : superscalaire, OutOfOrder, Spéculation
     98%            \item TLP : CMP, SMT
     99%            \end{itemize}
     100%          }
     101%
     102%\slidetitle{Besoin de Performance (2) - CMP vs SMT}
     103%          {
     104%            \printgraph{GENERAL_type_of_multi_thread}{0.5}
     105%           
     106%%           (schéma)
     107%%           
     108%%           Comparaison théorique de 5 types d'architectures :
     109%%           ||Mono Coeur           ||Mono Contexte           ||Largeur infini||Idéal       ||
     110%%           ||Mono Coeur           ||Mono Contexte           ||Largeur 4     ||Monolithique||
     111%%           ||Multi Coeur d'ordre 4||Mono Contexte           ||Largeur 1     ||CMP         ||
     112%%           ||Mono Coeur           ||Multi Contexte d'ordre 4||Largeur 4     ||SMT         ||
     113%%           ||Multi coeur d'ordre 2||Multi Contexte d'ordre 2||Largeur 2     ||CMP de SMT  ||
     114%          }
     115%          {
     116%            \begin{itemize}
     117%            \item A et B : 17 instructions en 7 UT idéale
     118%            \item (1) : 14 UT
     119%            \item (2) : 17 UT, 34 slot vide, occupation 50\%
     120%            \item (3) : 12 UT, 14 slot vide, occupation 70\%
     121%            \item (4) : 11 UT, 10 slot vide, occupation 77\%
     122%            \end{itemize}
     123%          }
     124%\slidetitle{Besoin de Performance (3) - Entre le CMP et le SMT}
     125%          {
     126%            \begin{description}
     127%            \item[CMP :] L'intégralité des ressources d'un coeur sont dédiées   à un contexte.
     128%            \item[SMT :] L'intégralité des ressources d'un coeur sont partagées entre tous les contextes.
     129%            \item[Hybride :] Multitude de possibilité de partage des ressources internes.\\
     130%              Une ressource est soit dédiée à un contexte soit partagée entre un certain nombre de contextes.
     131%            \end{description}
     132%          }
     133%          {
     134%            Définir ce qu'est une ressource : ALU, predicteur de branchement, cache ...
     135%          }
     136%
     137%
     138%\section{Solution}
     139%\ContentsCurrent
     140%\subsection{Initiatives actuelles}
     141%\slidetitle{Initiatives actuelles}
     142%          {
     143%            Tous les processeurs sont des RISC scalaires.
     144%
     145%            \begin{description}
     146%            \item[OpenRISC 1200 :] 32 bits, 5 étages. Jusqu'à 8 contextes.
     147%            \item[Leon 2        :] 32 bits, 5 étages.
     148%            \item[Leon 3        :] Leon 2 en 7 étages.
     149%            \item[OpenSparcS1   :] 1 coeur 64bits, 6 étages et CMT 4.
     150%            \item[OpenSparcT1   :] OpenSparcS1 avec 8 coeurs. Version OpenSource du Niagara.
     151%            \item[Micro32       :] 32 bits, 6 étages.
     152%            \item[OpenFire      :] 32 bits, 3 étages. Dérivés du MicroBlaze
     153%            \item[aeMB          :] 32 bits, 3 étages. Dérivés du MicroBlaze
     154%            \end{description}
     155%          }
     156%          {
     157%            \begin{description}
     158%            \item[OpenRISC 1200 :] Présence icache, dcache, immu, dmmu. Taille des caches, des opérandes, du banc de registres. Matériel spécifique : div, rotate, mul, mac.
     159%            \item[Leon 2 et 3   :] Présence de div, mul, mac, floating point. Taille du banc de registres . Nombre de load delai. Configuration avancé du cache et de la MMU (fetch, decod, execute, memory, write) (fetch, decod, register access, execute, memory, exception, write)
     160%            \item[OpenSparc     :] Présence de la Stream Processing Unit (cryptographie), 1 seul thread par coeur.
     161%            \item[Micro32       :] Présence icache, dcache, debug. Taille des caches. Matériel spécifique : div, rotate, mul pipeline, extension de signes.
     162%            \item[OpenFire      :] 3 étages (Fetch, Decod, Execute). Faiblement configurable (largeur des données, espace d'addressage, presence de mul et de cmp). Aucun support de caches
     163%            \item[aeMB          :] 3 étages (Fetch, Decod, Execute). Support de caches. Pas configurable (Juste la largeur de l'espace d'addressage)
     164%            \end{description}
     165%          }
     166%
     167%\slide     {
     168%            \printgraph{GENERAL_Art_of_State-Comparaison}{0.8}
     169%          }
     170%          {
     171%          }
     172%\subsection{Solution proposée}
     173%\slidetitle{Solution proposée}
     174%          {
     175%            \begin{itemize}
     176%            \item Partir d'une micro-architecture HighPerf.
     177%            \item Ajout de la gestion du multi-thread.
     178%            \item Rendre paramétrable les ressources internes.
     179%            \item Mappage des instances de ce générateur de processeur sur les ressources limitées d'un FPGA.
     180%            \end{itemize}
     181%          }
     182%          {
     183%            Pentium 4, MipsR10000, Power5
     184%          }
     185%         
     186%\subsection{Métrique}
     187%\slidetitle{Métrique}
     188%          {
     189%            \begin{itemize}
     190%            \item Obtenir le meilleur compromis Performance / Complexité.
     191%              \begin{itemize}
     192%              \item Performance : nombre de cycles nécessaire pour éxecuter les Benchmarks.
     193%              \item Compléxité  : surface occupée du FPGA.
     194%              \end{itemize}
     195%            \item Obtenir le meilleur partage des ressources entre les contextes matériels. (Gain Performance / Coût surface).
     196%              \begin{itemize}
     197%              \item Gain en performance : rapport entre la performance MT sur la performance ST.
     198%              \item Coût en surface     : rapport entre la surface     MT sur la surface     ST.
     199%              \end{itemize}
     200%            \end{itemize}
     201%          }
     202%          {
     203%            benchmark : SPECINT2k, Dhrystone
     204%
     205%            FPGA : virtex5LX 330
     206%          }
     207%
     208%\section{Morpheo}
     209%\ContentsCurrent
     210%
     211%\subsection{Micro Architecture}
     212%\slidetitle{Micro Architecture : Overview}
     213%          {
     214%            \printgraph{MORPHEO_micro_architecture-overview}{0.48}
     215%          }
     216%          {
     217%            3 grandes parties :
     218%            \begin{description}
     219%            \item[Front end :] Amène des paquets d'instructions en séquence, et les décodes. Calcules les addresses suivantes (spéculation) et maintiens l'état des threads (idle, wait, run ...)
     220%            \item[Out Of Order Engine :] Renome les registres (annulations des dépendances RAW, WAW et WAR). Re Order Buffer : mettre à jour l'état du contexte dans l'ordre d'arrivé des threads.
     221%            \item[Execution Loop :] Boucle ``Read, execute, Write''. Ainsi que les bypass. Instructions peuvent ce lancer dans le désordres.
     222%            \end{description}
     223%          }
     224%
     225%\slidetitle{Micro Architecture : Front end}
     226%          {
     227%            \printgraph{MORPHEO_micro_architecture-front_end}{0.7}
     228%          }
     229%          {
     230%          }
     231%
     232%\slidetitle{Micro Architecture : Out Of Order Engine}
     233%          {
     234%            \printgraph{MORPHEO_micro_architecture-out_of_order_engine}{0.7}
     235%          }
     236%          {
     237%          }
     238%
     239%\slidetitle{Micro Architecture : Execution Loop}
     240%          {
     241%            \printgraph{MORPHEO_micro_architecture-execute_loop}{0.7}
     242%          }
     243%          {
     244%          }
     245%
     246%\subsection{Méthodologie}
     247%\slidetitle{Service proposé}
     248%          {
     249%            \printgraph{MORPHEO_service}{0.75}
     250%          }
     251%          {
     252%            libMorpheo :
     253%            \begin{itemize}
     254%            \item Simulation systemC
     255%              \begin{itemize}
     256%              \item TestBench Vhdl
     257%              \item Statistiques lors de la simulation
     258%              \end{itemize}
     259%            \item Vhdl : synthétisable sur FPGA
     260%            \item Positions: Point d'entrée d'un outil de visualisation architectural (Stage M1)
     261%            \end{itemize}
     262%          }
     263%   
     264%\slidetitle{Méthodologie - Boucle d'Iteration}
     265%          {
     266%            \printgraph{MORPHEO_methodologie}{0.3}
     267%          }
     268%          {
     269%            \begin{enumerate}
     270%            \item SystemC
     271%              \begin{enumerate}
     272%              \item Ecriture du modèle systemC
     273%              \item Ecriture d'un TestBench pour le systemc - goto 1.1
     274%              \end{enumerate}
     275%            \item VHDL
     276%              \begin{enumerate}
     277%              \item Ecriture du vhdl
     278%              \item Validation de la stricte compatibilité entre le systemC et le Vhdl - goto 2.1 ou 1.1
     279%              \end{enumerate}
     280%            \item FPGA
     281%              \begin{enumerate}
     282%              \item Synthèse sur FPGA - goto 2.1, 1.1
     283%              \item Mappage sur FPGA
     284%              \end{enumerate}
     285%            \end{enumerate}
     286%          }
     287%
     288%\subsection{Perspective}
     289%\slidetitle{Comment remplir nos journées?}
     290%          {
     291%            Il "reste" à faire ...
     292%          }
     293%          {
     294%          }
    277295
    278296\slide{}{}
Note: See TracChangeset for help on using the changeset viewer.