Changes between Version 9 and Version 10 of ToolsCourseTp5
- Timestamp:
- May 10, 2007, 2:32:29 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp5
v9 v10 9 9 Le but de ces quatre séances de TP est de présenter quelques outils de la chaîne 10 10 ALLIANCE ainsi que du flot back-end CORIOLIS, dont : 11 11 * Le langage de description procédural STRATUS 12 12 13 13 * L'éditeur de layout GRAAL … … 15 15 * Le vérificateur de règles de dessin DRUC 16 16 17 17 * L'extracteur de netlist COUGAR 18 18 19 19 … … 21 21 22 22 * 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 d'un buffer instanciant cet inverseur. 23 25 24 La première séance portera sur le dessin sous GRAAL d'une cellule inverseuse et25 d'un buffer instanciant cet inverseur.26 Les notions de cellules précaractérisées, de gabarit 27 et de hiérarchie de cellules seront introduites. 26 28 27 Les notions de cellules précaractérisées, de gabarit 28 et de hiérarchie de cellules seront introduites. 29 = 1-Dessin d'un inverseur et d'un buffer sous GRAAL = 29 30 30 = 1-Dessin d'un inverseur et d'un buffer sous GRAAL = 31 == Introduction == 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. 31 34 32 = Introduction = 33 Dans les TP précédents nous avons utilisé des cellules d'une bibliothèque. Cette biblioth 34 èque peut être enrichie de nouvelles cellules grâce à l'éditeur GRAAL. 35 36 GRAAL est un éditeur de layout symbolique intégrant le vérificateur de règles de dessin DRUC. 37 La première partie de cette séance a pour objectif de dessiner une cellule 38 inverseuse inv_x1 sous la forme d'une cellule précaractérisée sxlib en respectant 39 règles de dessin fournies. 35 GRAAL est un éditeur de layout symbolique intégrant le vérificateur de règles de dessin DRUC. 36 La première partie de cette séance a pour objectif de dessiner une cellule 37 inverseuse '''inv_x1''' sous la forme d'une cellule précaractérisée sxlib en respectant 38 règles de dessin fournies. 40 39 41 40 Cette cellule sera instanciée pour concevoir un buffer. 42 = 1.1 Environnement technologique=43 44 41 === 1.1 Environnement technologique === 42 Certains outils utilisent un environnement technologique particulier. Il est désigné 43 la variable d'environnement RDS_TECHNO_NAME qui doit être positionnée à 45 44 46 45 opt/alliance/etc/cmos.rds : … … 50 49 }}} 51 50 52 = 1.2 GRAAL=51 === 1.2 GRAAL === 53 52 54 55 créer avec le menu CREATE:53 L'éditeur de layout GRAAL manipule six types d'objets différents que l'on peut 54 créer avec le menu '''CREATE''' : 56 55 * Les instances (importation de cellules physiques) 57 56 … … 68 67 * Les transistors : NMOS ou PMOS 69 68 70 69 GRAAL utilise la variable d'environnement GRAAL_TECHNO_NAME. Elle doit 71 70 être positionnée à 72 71 /opt/alliance/etc/cmos.graal. … … 76 75 }}} 77 76 78 = 1.3 COUGAR=79 77 === 1.3 COUGAR === 78 L'outil COUGAR est capable d'extraire la netlist d'un circuit aux formats .vst ou .al à partir d'une description au format .ap. 80 79 81 80 Pour extraire au niveau transistor, la commande à utiliser est : 82 81 {{{ 83 82 > cougar -t file1 file2 84 83 }}} 85 84 86 87 88 85 COUGAR utilise les variables d'environnement MBK_IN_PH et MBK_OUT_LO 86 suivant les formats d'entrée et de sortie. Par exemple pour générer une netlist au format 87 al à partir d'une description ap il faut écrire : 89 88 {{{ 90 89 > export MBK_IN_PH=ap … … 98 97 99 98 100 = 2 Schéma d'un inverseur = 101 99 == 2 Schéma d'un inverseur == 102 100 Le schéma théorique d'un inverseur est présenté 103 101 [[Image(inv_x1.jpg,nolink)]] 104 102 105 = 3 Schéma d'un buffer=103 == 3 Schéma d'un buffer == 106 104 Le schéma théorique d'un buffer et la hiérarchie utilisée sont présentés 107 105 [[Image(buff_x1.jpg,nolink)]] … … 137 135 138 136 139 = 5 Travail à effectuer=140 = 5.1 Réalisation d'un inverseur=137 == 5 Travail à effectuer == 138 === 5.1 Réalisation d'un inverseur === 141 139 * Décrire le comportement de la cellule inverseuse dans un fichier .vbe 142 140 … … 152 150 153 151 154 = 5.2 Réalisation d'un buffer=152 === 5.2 Réalisation d'un buffer === 155 153 156 157 154 Le buffer est réalisé sous GRAAL à partir de l'instanciation de deux inverseurs. 155 La hiérarchie ainsi créée est représentée sur le schéma 158 156 159 157 * Décrire le comportement de la cellule buffer dans un fichier .vbe 160 158 * Saisir sous GRAAL le dessin de la cellule en respectant le gabarit spécifé. 161 159 162 163 160 Vous utiliserez pour cela la fonction d'instanciation de GRAAL. La 161 cellule à instancier est bien sûr l'inverseur créé précédemment, que vous relierez 164 162 ( routerez) manuellement 165 163 … … 171 169 172 170 173 171 N'oubliez pas que les mans existent