Changes between Version 18 and Version 19 of ToolsCourseTp5
- Timestamp:
- May 11, 2007, 2:53:15 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp5
v18 v19 8 8 9 9 Le but de ces quatre séances de TP est de présenter quelques outils de la chaîne 10 ALLIANCE ainsi que du flot back-end CORIOLIS, dont :11 * Le langage de description procédural STRATUS10 '''ALLIANCE''' ainsi que du flot back-end '''CORIOLIS''', dont : 11 * Le langage de description procédural '''STRATUS''' 12 12 13 * L'éditeur de layout GRAAL13 * L'éditeur de layout '''GRAAL''' 14 14 15 * Le vérificateur de règles de dessin DRUC15 * Le vérificateur de règles de dessin '''DRUC''' 16 16 17 * L'extracteur de netlist COUGAR17 * L'extracteur de netlist '''COUGAR''' 18 18 19 19 20 * L'outil de placement du flot CORIOLIS MISTRAL20 * L'outil de placement du flot CORIOLIS '''MISTRAL''' 21 21 22 * L'outil de routage de la chaîne ALLIANCE NERO23 La première séance portera sur le dessin sous GRAALd'une cellule inverseuse et22 * L'outil de routage de la chaîne ALLIANCE '''NERO''' 23 La première séance portera sur le dessin sous '''GRAAL''' d'une cellule inverseuse et 24 24 d'un buffer instanciant cet inverseur. 25 25 … … 31 31 == Introduction == 32 32 Dans les TP précédents nous avons utilisé des cellules d'une bibliothèque. Cette biblioth 33 èque peut être enrichie de nouvelles cellules grâce à l'éditeur GRAAL.33 èque peut être enrichie de nouvelles cellules grâce à l'éditeur '''GRAAL'''. 34 34 35 GRAAL est un éditeur de layout symbolique intégrant le vérificateur de règles de dessin DRUC.35 '''GRAAL''' est un éditeur de layout symbolique intégrant le vérificateur de règles de dessin '''DRUC'''. 36 36 37 37 La première partie de cette séance a pour objectif de dessiner une cellule en tenant compte des règles de dessin … … 40 40 41 41 42 inverseuse '''inv_x1''' sous la forme d'une cellule précaractérisée sxliben respectant42 Il s'agit de la cellule inverseuse '''inv_x1''' sous la forme d'une cellule précaractérisée de la bibliothèque '''sxlib''' en respectant 43 43 règles de dessin fournies. 44 44 45 Cette cellule sera instanciée pour concevoir un buffer. 45 Cette cellule sera instanciée pour concevoir un buffer. 46 46 47 === 1.1 Environnement technologique === 47 48 Certains outils utilisent un environnement technologique particulier. Il est désigné 48 la variable d'environnement RDS_TECHNO_NAMEqui doit être positionnée à49 la variable d'environnement '''RDS_TECHNO_NAME''' qui doit être positionnée à 49 50 50 51 opt/alliance/etc/cmos.rds : … … 56 57 === 1.2 GRAAL === 57 58 58 L'éditeur de layout GRAAL manipule sixtypes d'objets différents que l'on peut59 L'éditeur de layout '''GRAAL''' manipule plusieurs types d'objets différents que l'on peut 59 60 créer avec le menu '''CREATE''' : 60 61 * Les instances (importation de cellules physiques) … … 72 73 * Les transistors : NMOS ou PMOS 73 74 74 GRAAL utilise la variable d'environnement GRAAL_TECHNO_NAME. Elle doit75 '''GRAAL''' utilise la variable d'environnement '''GRAAL_TECHNO_NAME'''. Elle doit 75 76 être positionnée à 76 77 /opt/alliance/etc/cmos.graal. … … 81 82 82 83 === 1.3 COUGAR === 83 L'outil COUGARest capable d'extraire la netlist d'un circuit aux formats .vst ou .al à partir d'une description au format .ap.84 L'outil '''COUGAR''' est capable d'extraire la netlist d'un circuit aux formats .vst ou .al à partir d'une description au format .ap. 84 85 85 86 Pour extraire au niveau transistor, la commande à utiliser est : … … 88 89 }}} 89 90 90 COUGAR utilise les variables d'environnement MBK_IN_PH et MBK_OUT_LO 91 '''COUGAR''' utilise les variables d'environnement '''MBK_IN_PH''' et '''MBK_OUT_LO''' 91 92 suivant les formats d'entrée et de sortie. Par exemple pour générer une netlist au format 92 93 al à partir d'une description ap il faut écrire : … … 114 115 115 116 == 4 Le gabarit sxlib == 116 * Les cellules sxlibont toutes une hauteur de 50 lambdas et une largeur multiple de 5 lambda117 * Les cellules de la bibliothèque '''sxlib''' ont toutes une hauteur de 50 lambdas et une largeur multiple de 5 lambda 117 118 118 119 * Les alimentations Vdd et Vss sont réalisées en Calu1 ; elles ont une largeur de 6 lambdas … … 147 148 est représenté 148 149 149 * Saisir sous GRAALle dessin de la cellule en respectant le gabarit spécifié150 * Saisir sous '''GRAAL''' le dessin de la cellule en respectant le gabarit spécifié 150 151 151 * Valider les règles de dessin symbolique en lançant DRUC sous GRAAL152 * Valider les règles de dessin symbolique en lançant '''DRUC''' sous '''GRAAL''' 152 153 153 * Extraire la netlist de l'inverseur au format .al avec COUGAR154 * Extraire la netlist de l'inverseur au format .al avec '''COUGAR''' 154 155 155 156 … … 157 158 === 5.2 Réalisation d'un buffer === 158 159 159 Le buffer est réalisé sous GRAALà partir de l'instanciation de deux inverseurs.160 Le buffer est réalisé sous '''GRAAL''' à partir de l'instanciation de deux inverseurs. 160 161 La hiérarchie ainsi créée est représentée sur le schéma 161 162 162 163 * Décrire le comportement de la cellule buffer dans un fichier .vbe 163 * Saisir sous GRAALle dessin de la cellule en respectant le gabarit spécifé.164 * Saisir sous '''GRAAL''' le dessin de la cellule en respectant le gabarit spécifé. 164 165 165 Vous utiliserez pour cela la fonction d'instanciation de GRAAL. La166 Vous utiliserez pour cela la fonction d'instanciation de '''GRAAL'''. La 166 167 cellule à instancier est bien sûr l'inverseur créé précédemment, que vous relierez 167 168 ( routerez) manuellement 168 169 169 170 170 * Valider les règles de dessin symbolique en lançant DRUC sous GRAAL171 * Valider les règles de dessin symbolique en lançant '''DRUC''' sous '''GRAAL''' 171 172 172 * Extraire la netlist du buffer au format .al avec COUGAR173 * Extraire la netlist du buffer au format .al avec '''COUGAR''' 173 174 174 175