Changes between Version 65 and Version 66 of ToolsCourseTp7
- Timestamp:
- Oct 8, 2008, 12:45:20 PM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp7
v65 v66 96 96 == 4.1 Travail sur le chemin de données == 97 97 98 Reprendre le fichier ''am2901_dpt.py'' du TP4. 99 98 100 === 4.1.1 Placement explicite des opérateurs === 99 101 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''. 102 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''. 103 Vous devez maintenant créer le ''Layout'' du chemin de données comme montré ci dessous. 104 105 [[Image(preplacement.jpg,nolink)]] 106 101 107 * 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. 102 108 * Modifier l'appel à la fonction ''Generate'' dans le coeur de façon à créer la vue physique du chemin de données. 103 109 * Faire appel à la méthode ''View'' pour visualiser le placement généré. 104 110 105 [[Image(preplacement.jpg,nolink)]]106 107 111 == 4.2 Travail sur le coeur == 108 112 113 Reprendre le fichier ''am2901_core.py'' décrivant le coeur du circuit AM2901 114 109 115 === 4.2.1 Préplacement des structures régulières === 110 116 111 Reprendre le fichier ''am2901_core.py'' décrivant le coeur du circuit AM2901 et introduire les étapes suivantes dans la méthode ''Layout'' :117 Introduire les étapes suivantes dans la méthode ''Layout'' : 112 118 * Placer le chemin de données : fonction ''Place()''. 113 119 * Agrandir la boite d'aboutement du coeur : fonction ''!ResizeAb()''. … … 144 150 Il détecte quelles sont les cellules qui n'ont pas été placées et complète le placement en utilisant les zones "vides". 145 151 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. 155 157 * Effectuer le placement automatique de cellules de bourrage : fonction ''!FillCell()''. 156 157 158 * Visualiser le résultat. 158 159