Changes between Version 8 and Version 9 of ToolsCourseTp8


Ignore:
Timestamp:
Oct 7, 2007, 5:56:26 PM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp8

    v8 v9  
    44<h1> TP8 : Placement et routage du circuit AM2901</h1>
    55}}}
     6
    67[[PageOutline]]
    7 = 1 Outils utilisés =
    8 Vous allez utiliser les outils de placement / routage automatique du flot Coriolis/Alliance, ainsi
    9 que tous les outils de vérification vus dans le TP précédent.
    10 Vous utiliserez aussi '''lvx''', le comparateur de netlists.
     8
     9= 1 Objectif  =
     10
     11Vous allez utiliser les outils de placement / routage automatique du flot Coriolis/Alliance,
     12ainsi que tous les outils de vérification vus dans les TPs précédents, pour générer le
     13dessin des masques du circuit AM2901.
     14
     15Le TP4 vous a permis d'utiliser le langage '''STRATUS''' pour décrire la netlist hiérarchique
     16du circuit AM2901.
     17
     18On va maintenant utiliser le langage '''STRATUS''' pour définir des directives de placement.
     19Il est par exemple possible d'exploiter la régularité des opérateurs du chemin de données
     20pour imposer un placement en colonnes : tous les bits d'un même opérateur sont placés
     21en colonne, et il est possible d'imposer un placement relatifn des colonnes les unes par
     22rapport aux autres.
     23On va également définir le placement des plots d'entrée/sortie sur la périphérie du circuit.
     24
     25Par ailleurs, on va également utiliser STRATUS pour effectuer le routage de certains signaux
     26particuliers comme les alimentations VSS et VDD.
     27
     28Le routage final sera effectué par l'outil '''NERO'''.
     29
     30Vous utiliserez aussi '''cougar''' pour obtenir une net list extraite, et '''lvx''', pour
     31comparer la net-list extraite à la net-list initiale.
     32
    1133Vous utiliserez conjointement les cellules de la bibliothèque '''SXLIB''',
    1234et les macro-cellules génériques de la bibliothèque '''DP_SXLIB'''.
     
    4264(vue physique). Il en va de même pour le fichier am2901_core.
    4365
    44 
    45 = 3 Placement explicite des opérateurs du chemin de données =
    46 
    47 Le TP4 vous a permis d'utiliser le langage '''STRATUS''' pour décrire la netlist hiérarchique
    48 du circuit AM2901.
    49 
    50 On va maintenant utiliser le langage '''STRATUS''' pour définir des directives de placement.
    51 Il est par exemple possible d'exploiter la régularité des opérateurs du chemin de données
    52 pour imposer un placement en colonnes : tous les bits d'un même opérateur sont placés
    53 en colonne, et il est possible d'imposer un placement relatifn des colonnes les unes par
    54 rapport aux autres.
    55 
    56 Pour définir les directives de placement des opérateurs du chemin de données,
     66= 2 Fonctions de placement fournies par STRATUS =
     67
     68Pour définir les directives de placement
    5769vous disposez des fonctions de ''''STRATUS'''' suivantes :
    5870 *   Place()
     
    6173 *  !DefAb(), !ResizeAb()
    6274
    63 Toutes ces fonctions doivent être utilisées dans la méthode Layout.
     75Toutes ces fonctions doivent être utilisées dans la méthode Layout associée au bloc.
    6476Reprenons l'exemple du TP précédent, on donne le code suivant pour le fichier circuit.py :
    6577{{{
     
    8799}}}
    88100
    89 Reprenez le fichier amd2901_dpt.py. Pour l'instant, ce fichier ne comporte qu'une
     101= 3 Placement explicite des opérateurs du chemin de données du circuit AM2901 =
     102
     103Reprenez le fichier amd2901_dpt.py du TP4. Pour l'instant, ce fichier ne comporte qu'une
    90104description de la netlist. Cela vous a permis de générer une description structurelle
    91 sous la forme d'un fichier .vst. Il s'agit maintenant de placer explicitement les colonnes.
    92 '''Le placement des colonnes du chemin de données ne doit pas être
    93 fait au hasard. La faisabilité et la qualité du routage en dépendent '''
    94 
    95 Aidez-vous du manuel de STRATUS :
     105sous la forme d'un fichier .vst. Il s'agit maintenant de placer explicitement les colonnes
     106représentants les différents opérateurs 4 bits du chemin de données les unes par rapport
     107aux autres.
     108
     109Vous pouvez consulter le manuel de STRATUS en ligne :
    96110
    97111https://www-asim.lip6.fr/recherche/coriolis/doc/en/html/stratus/index.html