Changes between Version 28 and Version 29 of ToolsCourseTp1


Ignore:
Timestamp:
Sep 18, 2008, 11:33:24 AM (16 years ago)
Author:
cobell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp1

    v28 v29  
    5353[[Image(graphe1.jpg, nolink)]]
    5454
    55 Figure  Graphe d'états d'un compteur de trois "1" successifs
    5655{{{
    5756entity circuit is
     
    167166= 2. Travail à faire =
    168167
    169   == 2.1 Réalisation du compteur ==
     168  == 2.1 Réalisation d'un compteur ==
    170169     
    171   * Ecrire 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.
    172171  * Lancer '''SYF''' avec les options de codage '''-a''', '''-j''', '''-m''', '''-o''', '''-r''' et en utilisant les options '''-CEV'''.
    173   Pensez à bien positionner vos variables d'environnement.
     172  Penser à bien positionner les variables d'environnement.
    174173
    175174{{{
     
    187186Les spécifications sont les suivantes :
    188187
     188{{{
    189189Les chiffres de 0 à 9 sont codés en binaire naturel sur la manière suivante :
    190190
     
    200200
    201201 * 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.
    203204 * La puce fonctionne à une fréquence de 10MHz.
    204205 * Toute pression d'une touche du clavier est accompagnée du signal '''press_kbd'''.
    205206 Celui-ci signale à la puce que les données en sortie signal est à 1 durant un cycle d'horloge.
     207
    206208Le code est '''53A17'''
     209
    207210L'interface de l'automate est le suivant :
    208211 * in ck
     
    214217 * out porte
    215218 * 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.
    221224{{{
    222225>syf -CEV -a <fsm_source> -
    223226}}}
    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 ?
    230232En déduire les deux groupes d'encodage.
    231 Comparer aussi leurs nombres de littéraux.
     233Comparez aussi leurs nombres de littéraux.'''
    232234
    233235  == 2.3 Optimisation du réseau booléen ==
    234236
    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.
    236238{{{
    237239>boom -V <vbe_source> <vbe_destination> -
    238240}}}
    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.
    242243
    243244  == 2.4 Mapping sur cellules précaractérisées ==
    244245
    245246Pour 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 :
    248249{{{
    249250>boog <vbe_source> -
    250251}}}
    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.
    253254
    254255  == 2.5 Visualisation de la netlist ==
    255256
    256 * Utiliser l'outil '''XSCH''' pour colorer visualiser le chemin critique.
     257  * Utiliser '''XSCH''' pour colorer visualiser le chemin critique.
    257258Pour lancer l'éditeur graphique :
    258259{{{
     
    265266
    266267Pour toutes les vues structurelles obtenues précédemment :
    267 * Lancer '''LOON'''.
     268  * Lancer '''LOON'''.
    268269{{{
    269270>loon <vst_source> <vst_destination> <lax_param> -
    270271}}}
    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.
    273273
    274274  == 2.7 Vérification de la netlist ==
     
    277277
    278278À 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.
    281281
    282282= 3. Compte rendu =