Changes between Version 30 and Version 31 of ToolsCourseTp1


Ignore:
Timestamp:
Sep 18, 2008, 1:37:05 PM (16 years ago)
Author:
cobell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp1

    v30 v31  
    2828  == 1.1 Synthèse d'automates d'états finis ==
    2929
     30    === 1.1.1 Introduction ===
     31
    3032Un circuit combinatoire pur ne dispose pas de registres internes.
    3133De ce fait, ses sorties ne dépendent que de ses entrées primaires.
     
    3638[[Image(ex_digicode.jpg,nolink)]]
    3739
     40    === 1.1.2 Automates de MOORE et de MEALY ===
     41
    3842L'automate de MOORE voit l'état de ses sorties changer uniquement sur front d'horloge.
    3943Les entrées peuvent donc bouger entre deux fronts sans modifier les sorties.
     
    4448[[Image(automate.jpg, nolink)]]
    4549
    46     === 1.1.1 SYF et VHDL ===
     50    === 1.1.3 SYF et VHDL ===
    4751
    4852  * Afin de décrire de tels automates, on utilise un style particulier de description VHDL qui définit l'architecture fsm.
     
    5458    Pour les connaître, reportez-vous au man de '''SYF'''.
    5559
    56     === 1.1.2 Exemple ===
     60    === 1.1.4 Exemple ===
    5761
    5862Afin de se familiariser avec la syntaxe de description d'un fichier .fsm, un exemple
     
    174178= 2. Travail à effectuer =
    175179
     180Les différentes parties seront automatisées à l'aide d'un fichier '''Makefile'''.
     181
    176182  == 2.1 Réalisation d'un compteur ==
    177183     
     
    184190  * Visualiser les fichiers '''.enc'''.
    185191  * Ecrire un fichier de vecteurs de test et simuler sous '''ASIMUT'''.
    186   * Ecrire un fichier '''Makefile''' pour automatiser les différents appel d'outil avec les différentes options.
    187192
    188193'''Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? '''
    189194
    190   == 2.2 Réalisation d'un automate pour digicode ==
     195  == 2.2 Réalisation d'un digicode ==
    191196
    192197On veut réaliser une puce pour digicode.
     
    223228}}}
    224229
     230    === 2.2.1 Réalisation de l'automate ===
     231
    225232  * Dessiner le graphe d'états de l'automate. (Les corrections seront distribuées)
    226233  * Le décrire au format '''.fsm'''.
     
    229236>syf -CEV -a <fsm_source> -
    230237}}}
    231   * Ecrire le fichier .pat de vecteurs de test.
     238  * Ecrire le fichier '''.pat''' de vecteurs de test.
    232239  * Simuler avec '''ASIMUT''' toutes les vues comportementales obtenues.
    233   * Adapter le '''Makefile''' pour qu'il couvre tous les encodages possibles.
    234240
    235241'''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 ?
    236 En déduire les deux groupes d'encodage.
    237 Comparez aussi leurs nombres de littéraux.'''
    238 
    239   == 2.3 Optimisation du réseau booléen ==
    240 
    241   * Lancer l'optimisation booléenne avec l'outil '''BOOM''' en demandant une optimisation en surface puis en délai.
     242En déduire les deux groupes d'encodage.'''
     243
     244'''Comparez aussi leurs nombres de littéraux.'''
     245
     246    === 2.2.2 Optimisation du réseau booléen ===
     247
     248  * Lancer l'optimisation booléenne avec l'outil '''BOOM''' en demandant une optimisation en '''surface''' puis en '''délai'''.
    242249{{{
    243250>boom -V <vbe_source> <vbe_destination> -
     
    246253  * Comparer le nombre de littéraux après factorisation.
    247254
    248   == 2.4 Mapping sur cellules précaractérisées ==
     255  === 2.2.3 Mapping sur cellules précaractérisées ===
    249256
    250257Pour chacun des réseaux booléens obtenus précédemment :
    251   * Positionner les variables d'environnement ;
    252   * Synthétiser la vue structurelle :
     258  * Synthétiser la vue structurelle (en faisant attention à bien positionner les variables d'environnement) :
    253259{{{
    254260>boog <vbe_source> -
    255261}}}
    256   * Lancer '''BOOG''' sur les différentes netlists pour observer l'influence des options de '''SYF''' et de '''BOOM''' ;
    257   * 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.
    258 
    259   == 2.5 Visualisation de la netlist ==
     262  * Observer l'influence des options de '''SYF''' et de '''BOOM''' avec les différences netlists obtenues ;
     263  * 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 ;
     264
     265  === 2.2.4 Visualisation de la netlist ===
    260266
    261267  * Utiliser '''XSCH''' pour colorer visualiser le chemin critique.
     
    267273Si vous utilisez l'option '-slide' qui permet d'afficher un ensemble de netlists, n'oubliez pas d'appuyer sur les touches '+' ou '-' pour éditer vos fichiers !
    268274
    269   == 2.6 Optimisation de la netlist ==
     275  === 2.2.5 Optimisation de la netlist ===
    270276
    271277Pour toutes les vues structurelles obtenues précédemment :
     
    276282  * 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.
    277283
    278   == 2.7 Vérification de la netlist ==
     284  === 2.2.6 Vérification de la netlist ===
    279285
    280286'''Quelle est, selon vous, la meilleure des netlists ? Pourquoi ?'''
     
    282288À effectuer sur cette netlist :
    283289  * 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.
    284   * Mettre les différents résultats (surface/temps/optimisation) dans votre rapport.
    285290
    286291= 3. Compte rendu =
    287292
    288293Vous rédigerez un compte-rendu d'une page maximum pour ce TP, et vous joindrez les fichiers écrits (et uniquement les fichiers écrits, pas ceux générés par les différents outils).
    289 Vous ferez attention à bien répondre au question posées ici dans le compte rendu.
    290 Vous ferez également attention à joindre votre Makefile de façon à ce que la commande '''make''' effectue les différentes étapes de ce TP de A à Z.
     294Vous ferez attention à bien répondre au question posées ici dans le compte rendu, vous y inclurez les différents résultats obtenus surface/temps/optimisation).
     295Vous 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 de A à Z.