Changes between Version 11 and Version 12 of ToolsCourseTp8


Ignore:
Timestamp:
Oct 7, 2007, 11:42:23 PM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp8

    v11 v12  
    2828particuliers comme les alimentations VSS et VDD.
    2929
    30 Le routage final sera effectué par l'outil '''NERO'''.
     30Le routage final sera effectué par l'outil '''nero'''.
    3131
    3232Vous utiliserez aussi '''cougar''' pour obtenir une net list extraite, et '''lvx''', pour
    33 comparer la net-list extraite à la net-list initiale.
     33comparer la ''net-list'' extraite à la ''net-list'' initiale.
    3434
    3535Vous utiliserez conjointement les cellules de la bibliothèque '''SXLIB''',
     
    119119}}}
    120120
    121 = 4 Placement explicite des opérateurs du chemin de données du circuit AM2901 =
     121= 4 Placement explicite des opérateurs du chemin de données =
    122122
    123123Reprenez le fichier ''am2901_dpt.py'' du TP4. Pour l'instant, ce fichier ne comporte qu'une
     
    133133}}}
    134134
    135 [[Image(preplacement.jpg,nolink)]]
    136 
    137   = 5 Travail sur le coeur : Préplacement des structures régulières =
    138 
    139 à partir du fichier de description structurelle  [attachment:amd2901_core.py coeur du circuit] que vous avez enrichi
    140 de la description des "netlists" de la partie contrôle et de la partie chemin de données, effectuez les étapes suivantes dans la méthode
    141 Layout :
     135  = 5 placement des blocs réguliers dans le coeur =
     136
     137à partir du fichier de description structurelle  ''am2901_core.py'' décrivant le coeur du circuit AM2901,
     138introduisez  les étapes suivantes dans la méthode Layout :
    142139
    143140  * Placer le chemin de données : fonction Place ()
    144141 
    145142  * Agrandir la boite d'aboutement du coeur : fonction !ResizeAb ()
    146 cette étape est utile pour réserver la place pour la partie contrôle
     143  Cette étape est utile pour réserver la place nécessaire au placement des cellules de la partie contrôle.
     144  La logique "irrégulière" constituant la partie contrôle n'a pas besoin
     145  d'être placée explicitement. Cela sera fait automatiquement par la suite !
     146
    147147
    148148  * Placer les rails de rappels d'alimentation dans le coeur :
     
    151151  * Placer les connecteurs du coeur : fonction !AlimConnectors ()
    152152
    153 
    154 '''ATTENTION ''': La logique "irrégulière" constituant la partie contrôle n'a pas besoin
    155  d'être placée explicitement. Cela sera fait automatiquement par la suite !
    156 
    157 '''Vérifiez le résultat'''
    158 {{{
    159 > ./execute_amd2901_core.py
    160 }}}
    161 
    162 
    163  = 6 Travail sur le cicuit complet =
    164 
    165   Prenez le fichier [attachment:amd2901_chip.py circuit complet avec les plots] et complétez la méthode Layout
     153  * Vérifier le résultat :
     154{{{
     155> ./execute_am2901_core.py
     156}}}
     157
     158= 6 Placement de la couronne de plots autour du coeur =
     159
     160Reprenez le fichier ''am2901_chip.py'' (circuit complet avec les plots), et ajoutez une méthode Layout
    166161comme indiqué ci-dessous.
    167162
    168 == 6.1 Placement de la couronne de plots et du coeur ==
    169 
    170  Dans le fichier amd2901_chip.py fourni, les plots sont instanciés dans la méthode
    171 Netlist :
     163Dans le fichier ''amd2901_chip.py'', les plots sont instanciés dans la méthode Netlist :
    172164{{{
    173165def Netlist ( self ) :
     
    184176       )
    185177}}}
    186  Il vous faut donc, dans la méthode Layout :
    187 
     178
     179Il faut donc, dans la méthode Layout :
    188180
    189181  * Définir la taille de la boîte d'aboutement globale du circuit de façon à ce que
    190 les plots puissent être placés à la périphérie : fonction !DefAb () (Commencer par
    191 définir une boite d'aboutement de 4000 par 4000 et vous essaierez ensuite de la
    192 diminuer)
     182les plots puissent être placés à la périphérie : fonction !DefAb () (On peut commencer par
     183définir une boite d'aboutement de 4000 par 4000 et essayer ensuite de la réduire)
    193184
    194185  * Placer le coeur du circuit au centre de la boîte d'aboutement du chip : fonction
     
    198189 fait à l'aide des 4 fonctions : !PadNorth (), !PadSouth (), !PadEast () et !PadWest ().
    199190
    200   * Vérifiez le résultat :
    201 {{{
    202 > ./execute_amd2901_chip.py
    203 }}}
    204 
    205 == 6.2 Routage des alimentations ==
    206 Vous devez utiliser la fonction !PowerRing () pour créer la grille d'alimentation.
    207 Vérifiez le résultat :
    208 {{{
    209 > ./execute_amd2901_chip.py
    210 }}}
    211 
    212 
    213  == 6.3 Placement de la logique irrégulière ==
    214 C'est le placeur '''Mistral''' qui se charge de placer les cellules de la partie de contrôle.
     191  * Vérifier le résultat :
     192{{{
     193> ./execute_amd2901_chip.py
     194}}}
     195
     196= 7 Routage des alimentations =
     197
     198Vous devez utiliser la fonction !PowerRing () pour créer la grille d'alimentation, et
     199Vérifier le résultat :
     200{{{
     201> ./execute_amd2901_chip.py
     202}}}
     203
     204
     205= 8 Placement de la logique irrégulière =
     206
     207C'est le placeur '''Mistral''' qui se charge de placer automatiquement les cellules non encore placées.
    215208Il détecte quelles sont les cellules qui n'ont pas été placées et complète le placement en
    216209utilisant les zones "vides". Pour appeler le placeur '''Mistral''', vous devez faire appel à la
     
    220213
    221214Attention : Pour pouvoir placer automatiquement la logique "irrégulière", il faut
    222 que les plots soient placés. L'outil de placement du flot CORIOLIS place les cellules
    223 en se basant sur les attirances de celles-ci vers les plots ainsi que vers les cellules déjà
    224 placées.
     215avoir préalablement défini la position des plots d'entrée/sortie sur les 4 faces du circuit.
     216L'outil de placement automatique place les cellules non placées en se basant sur les attirances
     217vers les plots ainsi que vers les cellules déjà placées.
     218
    225219[[Image(placement.jpg,nolink)]]
     220
    226221Vérifiez le résultat :
    227222{{{