Changes between Version 12 and Version 13 of ToolsCourseTp8
- Timestamp:
- Oct 7, 2007, 11:59:28 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp8
v12 v13 13 13 dessin des masques du circuit AM2901. 14 14 15 Le TP4 vous a permis d'utiliser le langage ''' STRATUS''' pour décrire la netlist hiérarchique15 Le TP4 vous a permis d'utiliser le langage '''stratus''' pour décrire la netlist hiérarchique 16 16 du circuit AM2901. 17 17 18 On va maintenant utiliser le langage ''' STRATUS''' pour introduire des directives de placement18 On va maintenant utiliser le langage '''stratus''' pour introduire des directives de placement 19 19 dans les différents fichiers ''.py'' décrivant la ''net-list''. 20 20 … … 25 25 On va également définir le placement des plots d'entrée/sortie sur la périphérie du circuit. 26 26 27 Par ailleurs, on va également utiliser STRATUSpour effectuer le routage de certains signaux27 Par ailleurs, on va également utiliser '''stratus''' pour effectuer le routage de certains signaux 28 28 particuliers comme les alimentations VSS et VDD. 29 29 … … 205 205 = 8 Placement de la logique irrégulière = 206 206 207 C'est le placeur ''' Mistral''' qui se charge de placer automatiquement les cellules non encore placées.207 C'est le placeur '''mistral''' qui se charge de placer automatiquement les cellules non encore placées. 208 208 Il détecte quelles sont les cellules qui n'ont pas été placées et complète le placement en 209 utilisant les zones "vides". Pour appeler le placeur ''' Mistral''', vous devez faire appel à la209 utilisant les zones "vides". Pour appeler le placeur '''mistral''', vous devez faire appel à la 210 210 fonction ''!PlaceGlue ()'' 211 211 … … 237 237 }}} 238 238 239 == 6.4 Routage des signaux d'horloge == 240 241 Vous devez utiliser la fonction !RouteCk () qui route le signal d'horloge. 239 = 9 Routage des signaux d'horloge = 240 241 Vous devez utiliser la fonction !RouteCk () qui construit le réseau maillé 242 correspondant au signal d'horloge interne, 243 242 244 Vérifiez le résultat : 243 245 {{{ … … 247 249 [[Image(zoomCk.jpg,nolink)]] 248 250 249 == 6.5 Routage des signaux logiques == 250 Routez automatiquement tous les signaux autres que le signal d'horloge et les signaux 251 d'alimentation en utilisant NERO de la manière suivante : 251 = 10 Routage des signaux logiques = 252 253 L'appel au routeur automatique '''nero''' n'est pas encore intégré dans le langage '''stratus'''. 254 Pour effectuer le routage de tous les signaux autres que le signal d'horloge et les signaux 255 d'alimentation, il faut lancer '''nero''' de la manière suivante : 252 256 {{{ 253 257 > nero -V -p amd2901_chip amd2901_chip amd2901_chip_r 254 258 }}} 255 259 256 L'option -p indique que vous transmettez un placement, à savoir celui du chip. Le 257 troisième argument est la netlist du chip, le quatrième est le fichier résultat. 258 259 260 NOTA BENE : La variable '''MBK_CATA_LIB''' ne doit contenir qu'une seule fois les 261 chemins d'accès aux bibliothèques. 262 263 == 6.6 Validation du chip == 260 L'option -p indique que vous fournissez un fichier de placement en argument. Le 261 deuxième argument est le fichier définissant la ''net-list'', le troisième est le 262 nom du fichier résultat. 263 264 = 11 Validation = 264 265 265 266 266 * On validera le travail de '''NERO''' avec les outils '''DRUC''', '''COUGAR''' et '''LVX'''. 267 * On validera le routage en utilisant les les outils '''druc''', '''cougar''' et '''lvx''', 268 comme cela a été fait dans le TP7. 269 267 270 {{{ 268 271 > druc amd2901_chip_r … … 272 275 }}} 273 276 274 * Simulez à nouveau la netlist extraite avec '''ASIMUT'''. Précisez le format de la netlist277 * Vous pouvez resimuler la netlist extraite avec '''asimut'''. Précisez le format de la netlist 275 278 dans la variable d'entrée '''MBK_IN_LO''' avant la simulation. 276 279 {{{ … … 279 282 280 283 '''Faites attention au fichier CATAL!''' 281 * Pour connaitre le nombre de transistors, on effectue une extraction du circuit au niveau 282 transistor:284 285 * Pour connaitre le nombre de transistors, on peut effectuer une extraction au niveau transistors : 283 286 {{{ 284 287 > cougar -v -t amd2901_chip_r amd2901_chip_r_t 285 288 }}} 286 289 287 = Conclusion = 290 = 12 Conclusion = 291 288 292 Ce TP vous a permis de passer par la plupart des étapes nécessaires à la conception 289 "back-end" et la validationd'un circuit réalisé en cellules précaractérisées avec préplacement293 physique d'un circuit réalisé en cellules précaractérisées avec préplacement 290 294 des parties régulières. 291 295 292 296 Ces mêmes outils seront utilisés pour laréalisation du processeur MIPS R3000. 297 293 298 Le compte-rendu du TP doit comporter : 294 299 295 300 Vos logins, vos noms et prénoms, et vos répertoires de travail pour ce TP (laissez 296 301 libre accès à vos répertoires en lecture !). 297 Une description exacte de la méthodologie employée, incluant les éventuels probl 298 èmes rencontrés. 299 300 301 Pour l'amd2901, décrivez le flot de conception. Quels choix avez-vous retenus 302 303 Décrivez précisément le flot de conception. Quels choix avez-vous retenus 302 304 pour le placement des colonnes du chemin de données, votre circuit est-il limité 303 305 par les plots ou par la taille du coeur (pad limited ou core limited)... Quels 304 306 sont les résultats donnés par lvx... Les schémas sont appréciés. 305 307 306 Les Makeles du flot total. ( Les Makefiles seront testés à la fin de ce TP)307 NE PAS JOINDRE DE LISTINGS DE FICHIERS (SAUF LES MAKEFILES).308 Merci et bon courage ! 309 310 308 Fournissez es Makefiles du flot total. ( Les Makefiles seront testés à la fin de ce TP) 309 NE PAS JOINDRE DE LISTINGS DE FICHIERS AUTRES QUE LES MAKEFILES. 310 311 312