Changes between Version 34 and Version 35 of ToolsCourseTp1
- Timestamp:
- Sep 22, 2008, 11:01:39 AM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp1
v34 v35 13 13 Chaque outil possède ses propres options donnant des résultats plus ou moins adaptés suivant l'utilisation que l'on veut faire du circuit. 14 14 15 [[Image(synthese.jpg, nolink)]] 16 15 17 Ce TP portera donc sur les méthodes de génération et de validation d’une netlist de cellules précaractérisées. 16 18 En effet, même s’il est acquis que les outils de génération d’ '''ALLIANCE''' fonctionnent correctement, la validation de chaque vue générée est indispensable. 17 19 Elle permet de limiter le coût et le temps de la conception. 18 19 [[Image(synthese.jpg, nolink)]]20 20 21 21 Les dépendances de données dans le flux sont matérialisées dans la réalité par une dépendance de fichier. … … 48 48 [[Image(automate.jpg, nolink)]] 49 49 50 === 1.1.3 SYF et VHDL===51 52 *Afin de décrire de tels automates, on utilise un style particulier de description VHDL qui définit l'architecture fsm.53 54 55 *A partir de ce fichier, l'outil '''SYF''' effectue la synthèse d'automate et transforme cet automate abstrait en un réseau booléen.56 '''SYF ''' génère donc un fichier VHDL au format vbe.57 58 50 === 1.1.3 VHDL et SYF === 51 52 Afin de décrire de tels automates, on utilise un style particulier de description VHDL qui définit l'architecture fsm. 53 Le fichier correspondant possède également l'extension '''.fsm'''. 54 55 A partir de ce fichier, l'outil '''SYF''' effectue la synthèse d'automate et transforme cet automate abstrait en un réseau booléen. 56 '''SYF ''' génère donc un fichier VHDL au format '''.vbe'''. 57 Comme la plupart des outils utilisés au laboratoire, il faut positionner certaines variables d'environnement avant d'utiliser '''SYF'''. 58 Pour les connaître, reportez-vous au man de '''SYF'''. 59 59 60 60 === 1.1.4 Exemple === … … 99 99 if (i=’1’) then 100 100 EF <= E2 ; 101 102 103 104 105 101 106 else 102 107 EF <= E0 ; … … 146 151 147 152 La synthèse logique permet d'obtenir une netlist de portes à partir d'un réseau booléen (format .vbe). 148 Plusieurs outils sont disponibles : 149 150 * L'outil '''BOOM''' permet l'optimisation de réseau booléen avant synthèse. 151 * L'outil '''BOOG''' offre la possibilité de synthétiser une netlist en utilisant une bibliothèque de cellules précaractérisées telle que '''SXLIB'''. 152 La netlist peut être soit au format '''.vst''' soit au format '''.al'''. 153 Vérifier la variable d'environnement '''MBK_OUT_LO=vst'''. 153 Plusieurs outils sont disponibles. 154 155 L'outil '''BOOM''' permet l'optimisation de réseau booléen avant synthèse. 156 157 L'outil '''BOOG''' offre la possibilité de synthétiser une netlist en utilisant une bibliothèque de cellules précaractérisées telle que '''SXLIB'''. 158 La netlist peut être soit au format '''.vst''' soit au format '''.al'''. 159 Vérifier la variable d'environnement '''MBK_OUT_LO=vst'''. 154 160 155 161 Pour plus de renseignements sur ces outils, reportez vous au man. … … 166 172 A tout moment, les netlists peuvent être éditées graphiquement. L'outil '''XSCH''' permet de visualiser le chemin le plus long grâce aux fichiers '''.xsc''' et '''.vst''' générés à la fois par '''BOOG''' et par '''LOON'''. 167 173 168 [[Image(T_RC.jpg,nolink)]] 169 170 La résistance équivalente R de la figure est calculée sur la totalité des transistors du AND appartenant au chemin actif. 171 De même, la capacité C est calculée sur les transistors passants du NOR correspondant au chemin entre i0 et la sortie de la cellule. 174 ||[[Image(T_RC.jpg,nolink)]]||La résistance équivalente '''R''' est calculée sur la totalité des transistors du AND appartenant au chemin actif. De même, la capacité '''C''' est calculée sur les transistors passants du NOR correspondant au chemin entre i0 et la sortie de la cellule.|| 172 175 173 176 === 1.2.4 Vérification de la netlist === … … 183 186 == 2.1 Réalisation d'un compteur == 184 187 185 * En s'inspirant du compteur de trois "un" présenté, écrire la description d'un compteur de cinq "un" successifs sous la forme d'un automate de Moore.188 * En s'inspirant du compteur de trois "un" présenté, écrire au format '''.fsm''' la description d'un compteur de cinq "un" successifs sous la forme d'un automate de Moore 186 189 * Lancer '''SYF''' avec les options de codage '''-a''', '''-j''', '''-m''', '''-o''', '''-r''' et en utilisant les options '''-CEV'''. 187 Penser à bien positionner les variables d'environnement .190 Penser à bien positionner les variables d'environnement 188 191 {{{ 189 192 > syf -CEV -a <fsm_source> 190 193 }}} 191 * Visualiser les fichiers '''.enc'''. 192 * Ecrire un fichier de vecteurs de test et simuler sous '''ASIMUT'''. 194 * Visualiser les fichiers '''.enc''' 195 * Ecrire le fichier '''.pat''' de vecteurs de test 196 * Simuler avec '''ASIMUT''' toutes les vues comportementales obtenues 193 197 194 198 '''Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? ''' … … 266 270 === 2.2.4 Visualisation de la netlist === 267 271 268 * Utiliser '''XSCH''' pour colorer visualiser le chemin critique 269 Pour lancer l'éditeur graphique : 270 {{{ 271 >xsch -I vst -l <vst_source> - 272 * Utiliser '''XSCH''' pour colorer visualiser le chemin critique : 273 {{{ 274 >xsch -I vst -l <vst_source> 272 275 }}} 273 276 La couleur rouge désigne le chemin critique. … … 306 309 307 310 De plus, vous joindrez les fichiers écrits. 311 308 312 309 313 Vous ferez également attention à joindre les différents Makefile créés de façon à ce que la commande '''make''' effectue les différentes étapes de ce TP.