Changes between Version 28 and Version 29 of ToolsCourseTp1
- Timestamp:
- Sep 18, 2008, 11:33:24 AM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp1
v28 v29 53 53 [[Image(graphe1.jpg, nolink)]] 54 54 55 Figure Graphe d'états d'un compteur de trois "1" successifs56 55 {{{ 57 56 entity circuit is … … 167 166 = 2. Travail à faire = 168 167 169 == 2.1 Réalisation d ucompteur ==168 == 2.1 Réalisation d'un compteur == 170 169 171 * E crire la description d'un compteur de cinq "un" successifs sous la forme d'un automate de Moore.170 * 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. 172 171 * Lancer '''SYF''' avec les options de codage '''-a''', '''-j''', '''-m''', '''-o''', '''-r''' et en utilisant les options '''-CEV'''. 173 Pense z à bien positionner vos variables d'environnement.172 Penser à bien positionner les variables d'environnement. 174 173 175 174 {{{ … … 187 186 Les spécifications sont les suivantes : 188 187 188 {{{ 189 189 Les chiffres de 0 à 9 sont codés en binaire naturel sur la manière suivante : 190 190 … … 200 200 201 201 * Le digicode commande une alarme dès qu'un des chiffres entrés n'est pas le bon 202 * L'automate du digicode revient dans son état d'attente si rien n'est entré au clavier au bout de 5 secondes ou si l'alarme a sonné pendant 2mn- signal '''reset'''- Pour cela il reçoit un signal '''reset''' du timer externe. 202 * L'automate revient dans son état d'attente si rien n'est entré au clavier au bout de 5 secondes ou si l'alarme a sonné pendant 2mn 203 - signal '''reset'''-, pour cela il reçoit un signal '''reset''' du timer externe. 203 204 * La puce fonctionne à une fréquence de 10MHz. 204 205 * Toute pression d'une touche du clavier est accompagnée du signal '''press_kbd'''. 205 206 Celui-ci signale à la puce que les données en sortie signal est à 1 durant un cycle d'horloge. 207 206 208 Le code est '''53A17''' 209 207 210 L'interface de l'automate est le suivant : 208 211 * in ck … … 214 217 * out porte 215 218 * out alarm 216 217 * Dessiner le graphe d'états de l'automate. (Les corrections seront distribuées) 218 * Le décrire au format .fsm . 219 * Le synthétiser avec SYF en utilisant les options de codage '''-a''', '''-j''',''','''-m''', '''-o''', '''-r''' et en utilisant les options -CEV.220 219 }}} 220 221 * Dessiner le graphe d'états de l'automate. (Les corrections seront distribuées) 222 * Le décrire au format .fsm . 223 * Le synthétiser avec SYF en utilisant les options de codage '''-a''', '''-j''', '''-m''', '''-o''', '''-r''' et en utilisant les options -CEV. 221 224 {{{ 222 225 >syf -CEV -a <fsm_source> - 223 226 }}} 224 225 * Ecrire le fichier .pat de vecteurs de test. 226 * Simuler avec '''ASIMUT''' toutes les vues comportementales obtenues. 227 * Adaptez le Makefile pour qu'il couvre tous les encodages possibles. 228 229 Quelles sont vos remarques concernant la complexité des expressions (i.e temps) et le nombre de registres (i.e surface) des descriptions comportementales suivant les encodages ? 227 * Ecrire le fichier .pat de vecteurs de test. 228 * Simuler avec '''ASIMUT''' toutes les vues comportementales obtenues. 229 * Adaptez le Makefile pour qu'il couvre tous les encodages possibles. 230 231 '''Quelles sont vos remarques concernant la complexité des expressions (i.e temps) et le nombre de registres (i.e surface) des descriptions comportementales suivant les encodages ? 230 232 En déduire les deux groupes d'encodage. 231 Compare r aussi leurs nombres de littéraux.233 Comparez aussi leurs nombres de littéraux.''' 232 234 233 235 == 2.3 Optimisation du réseau booléen == 234 236 235 * Lancer l'optimisation booléenne avec l'outil '''BOOM''' en demandant une optimisation en surface puis en délai.237 * Lancer l'optimisation booléenne avec l'outil '''BOOM''' en demandant une optimisation en surface puis en délai. 236 238 {{{ 237 239 >boom -V <vbe_source> <vbe_destination> - 238 240 }}} 239 * Essayer '''BOOM''' avec les différents algorithmes '''-s''', '''-j''', '''-b''', '''-g''', '''-p'''... 240 Le mode et le niveau d'optimisation sont aussi à changer. 241 * Comparer le nombre de littéraux après factorisation. 241 * Essayer '''BOOM''' avec les différents algorithmes '''-s''', '''-j''', '''-b''', '''-g''', '''-p'''... Le mode et le niveau d'optimisation sont aussi à changer. 242 * Comparer le nombre de littéraux après factorisation. 242 243 243 244 == 2.4 Mapping sur cellules précaractérisées == 244 245 245 246 Pour chacun des réseaux booléens obtenus précédemment : 246 * Positionner les variables d'environnement ;247 * Synthétiser la vue structurelle :247 * Positionner les variables d'environnement ; 248 * Synthétiser la vue structurelle : 248 249 {{{ 249 250 >boog <vbe_source> - 250 251 }}} 251 * Lancer '''BOOG''' sur les différentes netlists pour observer l'influence des options de '''SYF''' et de '''BOOM''' ;252 * Valider le travail de '''BOOG''' en resimulant avec '''ASIMUT''' les netlists obtenues avec les vecteurs de test qui ont servi à valider le réseau booléen initial.252 * Lancer '''BOOG''' sur les différentes netlists pour observer l'influence des options de '''SYF''' et de '''BOOM''' ; 253 * Valider le travail de '''BOOG''' en resimulant avec '''ASIMUT''' les netlists obtenues avec les vecteurs de test qui ont servi à valider le réseau booléen initial. 253 254 254 255 == 2.5 Visualisation de la netlist == 255 256 256 * Utiliser l'outil'''XSCH''' pour colorer visualiser le chemin critique.257 * Utiliser '''XSCH''' pour colorer visualiser le chemin critique. 257 258 Pour lancer l'éditeur graphique : 258 259 {{{ … … 265 266 266 267 Pour toutes les vues structurelles obtenues précédemment : 267 * Lancer '''LOON'''.268 * Lancer '''LOON'''. 268 269 {{{ 269 270 >loon <vst_source> <vst_destination> <lax_param> - 270 271 }}} 271 * Effectuer une optimisation de fanout en modifiant le facteur de fanout dans le fichier d'option '''.lax'''. 272 Imposer des valeurs de capacités sur les sorties. 272 * Effectuer une optimisation de fanout en modifiant le facteur de fanout dans le fichier d'option '''.lax'''. Imposer des valeurs de capacités sur les sorties. 273 273 274 274 == 2.7 Vérification de la netlist == … … 277 277 278 278 À effectuer sur cette netlist : 279 * Valider le travail de '''LOON''' en resimulant sous '''ASIMUT''' les netlists obtenues avec les vecteurs de test qui ont servi à valider la vue comportementale initiale.280 * Mettre les différents résultats (surface/temps/optimisation) dans votre rapport.279 * Valider le travail de '''LOON''' en resimulant sous '''ASIMUT''' les netlists obtenues avec les vecteurs de test qui ont servi à valider la vue comportementale initiale. 280 * Mettre les différents résultats (surface/temps/optimisation) dans votre rapport. 281 281 282 282 = 3. Compte rendu =