Changes between Version 3 and Version 4 of ToolsCourseTp7
- Timestamp:
- May 7, 2007, 4:52:46 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp7
v3 v4 21 21 Il faut maintenant enrichir les fichiers .py avec les étapes de placement-routage. 22 22 23 = 4.1 Outils utilisés =23 = 7.1 Outils utilisés = 24 24 Vous allez utiliser les outils de placement flot Coriolis et le routeur d'Alliance, ainsi 25 25 que tous les outils de vérification vus dans la première partie de ce TP. … … 36 36 > export MBK_CATA_LIB=$MBK_CATA_LIB :$ALLIANCE_TOP/cells/pxlib 37 37 > export MBK_CATA_LIB=$MBK_CATA_LIB :. 38 38 39 > export MBK_CATAL_NAME=CATAL 40 39 41 > export MBK_IN_LO=vst 42 40 43 > export MBK_OUT_LO=vst 44 41 45 > export MBK_IN_PH=ap 46 42 47 > export MBK_OUT_PH=ap 48 43 49 > export CRL_OUT_LO=vst 50 44 51 > export CRL_OUT_PH=ap 52 45 53 > export PYTHONPATH=/asim/coriolis/lib/python2.3/site-packages/stratus 54 46 55 > export PYTHONPATH=/asim/coriolis/lib/python2.3/site-packages/isobar :$PYTHONPATH 56 47 57 > export PYTHONPATH=/asim/coriolis/lib/python2.3/site-packages :$PYTHONPATH 58 48 59 NB : Ces variables d'environnement sont positionnées par défaut, mais il peut être 49 60 utile de les vérifier. 50 = 4.3 Précautions quant au nommage des fichiers =61 = 7.3 Précautions quant au nommage des fichiers = 51 62 D'une manière générale, les fichiers décrivant une netlist logique doivent porter le 52 63 même nom que le fichier correspondant décrivant la vue physique. C'est à dire que … … 54 65 (vue physique). Il en va de même pour le fichier amd2901_core. 55 66 56 = 4.4 Travail sur le chemin de données : Préplacement des opérateurs =67 = 7.4 Travail sur le chemin de données : Préplacement des opérateurs = 57 68 58 69 Le TP 3 et 4 vous a permis de décrire la netlist hiérarcique du chemin de donn … … 100 111 101 112 102 = 4.5 Travail sur le coeur : Préplacement des structures régulières =113 = 7.5 Travail sur le coeur : Préplacement des structures régulières = 103 114 Prenez le fichier amd2901_core.py et effectuez les étapes suivantes dans la méthode 104 115 Layout : … … 112 123 Vérifiez le résultat : 113 124 > ./execute_amd2901_core.py 114 = 4.6 Travail sur le cicuit complet=125 = 7.6 Travail sur le cicuit complet= 115 126 116 127 Prenez le fichier amd2901_chip.py et complétez la méthode Layout. 117 4.6.1 Placement de la couronne de plots et du coeur 128 = 7.6.1 Placement de la couronne de plots et du coeur = 118 129 Dans le fichier amd2901_chip.py fourni, les plots sont instanciés dans la méthode 119 130 Netlist : … … 149 160 FIG. 16 Zoom sur le placement des plots et les courrones d'alimentations 150 161 151 = 4.6.3 Placement de la logique irrégulière =162 = 7.6.3 Placement de la logique irrégulière = 152 163 C'est le placeur Mistral qui se charge de placer les cellules de la partie de contrôle. 153 164 Il détecte quelles sont les cellules qui n'ont pas été placées et complète le placement en … … 171 182 172 183 173 4.6.4 Routage des signaux d'horloge 184 = 7.6.4 Routage des signaux d'horloge = 174 185 Vous devez utiliser la fonction RouteCk () qui route le signal d'horloge. 175 186 Vérifiez le résultat : … … 178 189 179 190 180 4.6.5 Routage des signaux logiques 191 = 7.6.5 Routage des signaux logiques = 181 192 Routez automatiquement tous les signaux autres que le signal d'horloge et les signaux 182 193 d'alimentation en utilisant NERO de la manière suivante : … … 186 197 NOTA BENE : La variable MBK_CATA_LIB ne doit contenir qu'une seule fois les 187 198 chemins d'accès aux bibliothèques. 188 4.6.6 Validation du chip 199 = 7.6.6 Validation du chip = 189 200 On validera le travail de NERO avec les outils druc, cougar et lvx. 190 201 > druc amd2901_chip_r … … 199 210 transistor : 200 211 > cougar -v -t amd2901_chip_r amd2901_chip_r_t 201 5 Conclusion 212 = Conclusion = 202 213 Ce TP vous a permis de passer par la plupart des étapes nécessaires à la conception 203 214 "back-end" et la validation d'un circuit réalisé en cellules précaractérisées avec préplacement