Changes between Version 65 and Version 66 of ToolsCourseTp7


Ignore:
Timestamp:
Oct 8, 2008, 12:45:20 PM (16 years ago)
Author:
cobell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp7

    v65 v66  
    9696  == 4.1 Travail sur le chemin de données ==
    9797
     98Reprendre le fichier ''am2901_dpt.py'' du TP4.
     99
    98100    === 4.1.1 Placement explicite des opérateurs ===
    99101
    100 Reprendre le fichier ''am2901_dpt.py'' du TP4. Pour l'instant, ce fichier ne comporte qu'une description de la netlist, qui a permis de générer un fichier ''am2901_dpt.vst''.
     102Pour l'instant, ce fichier ne comporte qu'une description de la netlist, qui a permis de générer un fichier ''am2901_dpt.vst''.
     103Vous devez maintenant créer le ''Layout'' du chemin de données comme montré ci dessous.
     104
     105[[Image(preplacement.jpg,nolink)]]
     106
    101107  * Placer explicitement les colonnes représentant les différents opérateurs 4 bits du chemin de données les unes par rapport aux autres, en ajoutant une méthode ''Layout'' dans ce fichier.
    102108  * Modifier l'appel à la fonction ''Generate'' dans le coeur de façon à créer la vue physique du chemin de données.
    103109  * Faire appel à la méthode ''View'' pour visualiser le placement généré.
    104110
    105 [[Image(preplacement.jpg,nolink)]]
    106 
    107111  == 4.2 Travail sur le coeur ==
    108112
     113Reprendre le fichier ''am2901_core.py'' décrivant le coeur du circuit AM2901
     114
    109115    === 4.2.1 Préplacement des structures régulières ===
    110116
    111 Reprendre le fichier ''am2901_core.py'' décrivant le coeur du circuit AM2901 et introduire les étapes suivantes dans la méthode ''Layout'' :
     117Introduire les étapes suivantes dans la méthode ''Layout'' :
    112118  * Placer le chemin de données : fonction ''Place()''.
    113119  * Agrandir la boite d'aboutement du coeur : fonction ''!ResizeAb()''.
     
    144150Il détecte quelles sont les cellules qui n'ont pas été placées et complète le placement en utilisant les zones "vides".
    145151
    146  * Appeler le placeur '''mistral''' : fonction ''!PlaceGlue ()''..
    147 
    148 Attention : Pour pouvoir placer automatiquement la logique "irrégulière", il faut avoir préalablement défini la position des plots d'entrée/sortie sur les 4 faces du circuit.
    149 L'outil de placement automatique place les cellules non placées en se basant sur les attirances vers les plots ainsi que vers les cellules déjà placées.
    150 
    151   * Visualiser le résultat.
    152 
    153 [[Image(mistral.jpg,nolink)]]
    154 
     152[[Image(placement.jpg,nolink)]]
     153
     154  * Appeler le placeur '''mistral''' : fonction ''!PlaceGlue ()''..
     155   (Attention : Pour pouvoir placer automatiquement la logique "irrégulière", il faut avoir préalablement défini la position des plots d'entrée/sortie sur les 4 faces du circuit. L'outil de placement automatique place les cellules non placées en se basant sur les attirances vers les plots ainsi que vers les cellules déjà placées.)
     156  * Visualiser le résultat.
    155157  * Effectuer le placement automatique de cellules de bourrage : fonction ''!FillCell()''.
    156 
    157158  * Visualiser le résultat.
    158159