Changes between Version 33 and Version 34 of ToolsCourseTp1


Ignore:
Timestamp:
Sep 20, 2008, 10:11:33 PM (16 years ago)
Author:
cobell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp1

    v33 v34  
    66[[PageOutline]]
    77= Avant-propos =
    8 Le but de ce TP est de présenter quelques outils de la chaîne ALLIANCE dont :
     8Le but de ce TP est de présenter quelques outils de la chaîne '''ALLIANCE''' dont :
    99  * Les outils de synthèse logique '''SYF''', '''BOOM''', '''BOOG''', '''LOON''' ;
    1010  * L'éditeur graphique de netlist '''XSCH''' ;
     
    1414
    1515Ce TP portera donc sur les méthodes de génération et de validation d’une netlist de cellules précaractérisées.
    16 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.
     16En 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.
    1717Elle permet de limiter le coût et le temps de la conception.
    1818
     
    2121Les dépendances de données dans le flux sont matérialisées dans la réalité par une dépendance de fichier.
    2222Le fichier '''Makefile''' exécuté à l’aide de la commande '''make''' permet de gérer ces dépendances.
    23 Ce TP n’étant pas un cours sur le Makefile, nous nous limiterons à expliquer l’usage qui en est fait dans les exemples fournis. (cf. Annexe)
    24 
    25 '''L’usage de Makefile est obligatoire pour ce TP !!! '''
     23Reportez vous à l'annexe pour plus de détails.
     24
     25'''Dorénavant l’usage de Makefile sera obligatoire pour chaque TP !!! '''
    2626
    2727= 1 Introduction =
     
    3434De ce fait, ses sorties ne dépendent que de ses entrées primaires.
    3535A l'inverse, un circuit séquentiel synchrone disposant de registres internes voit ses sorties changer en fonction de ses entrées mais aussi des valeurs mémorisées dans ses registres.
    36 En conséquence, l'état du circuit à l'instant t+1 dépend aussi de son état à l'instant t.
    37 Ce type de circuit peut être modélisé par un '''automate d'états finis'''.
     36En conséquence, l'état du circuit à l'instant t+1 dépend aussi de son état à l'instant t. Ce type de circuit peut être modélisé par un '''automate d'états finis'''.
    3837
    3938[[Image(ex_digicode.jpg,nolink)]]
     
    233232
    234233  * Dessiner le graphe d'états de l'automate. (Les corrections seront distribuées)
    235   * Le décrire au format '''.fsm'''.
    236   * Le synthétiser avec '''SYF''' en utilisant les options de codage '''-a''', '''-j''', '''-m''', '''-o''', '''-r''' et en utilisant les options '''-CEV'''.
     234  * Le décrire au format '''.fsm'''
     235  * Le synthétiser avec '''SYF''' en utilisant les options de codage '''-a''', '''-j''', '''-m''', '''-o''', '''-r''' et en utilisant les options '''-CEV'''
    237236{{{
    238237> syf -CEV -a <fsm_source>
    239238}}}
    240   * Ecrire le fichier '''.pat''' de vecteurs de test.
    241   * Simuler avec '''ASIMUT''' toutes les vues comportementales obtenues.
     239  * Ecrire le fichier '''.pat''' de vecteurs de test
     240  * Simuler avec '''ASIMUT''' toutes les vues comportementales obtenues
    242241
    243242'''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 ?
     
    248247    === 2.2.2 Optimisation du réseau booléen ===
    249248
    250   * Lancer l'optimisation booléenne avec l'outil '''BOOM''' en demandant une optimisation en '''surface''' puis en '''délai'''.
     249  * Lancer l'optimisation booléenne avec l'outil '''BOOM''' en demandant une optimisation en '''surface''' puis en '''délai'''
    251250{{{
    252251> boom -V <vbe_source> <vbe_destination>
    253252}}}
    254   * Essayer '''BOOM''' avec les différents algorithmes '''-s''', '''-j''', '''-b''', '''-g''', '''-p'''... Le mode et le niveau d'optimisation sont aussi à changer.
    255   * Comparer le nombre de littéraux après factorisation.
     253  * Essayer '''BOOM''' avec les différents algorithmes '''-s''', '''-j''', '''-b''', '''-g''', '''-p'''... Le mode et le niveau d'optimisation sont aussi à changer
     254  * Comparer le nombre de littéraux après factorisation
    256255
    257256  === 2.2.3 Mapping sur cellules précaractérisées ===
     
    262261> boog <vbe_source>
    263262}}}
    264   * Observer l'influence des options de '''SYF''' et de '''BOOM''' avec les différences netlists obtenues ;
    265   * 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 ;
     263  * Observer l'influence des options de '''SYF''' et de '''BOOM''' avec les différences netlists obtenues
     264  * 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
    266265
    267266  === 2.2.4 Visualisation de la netlist ===
    268267
    269   * Utiliser '''XSCH''' pour colorer visualiser le chemin critique.
     268  * Utiliser '''XSCH''' pour colorer visualiser le chemin critique
    270269Pour lancer l'éditeur graphique :
    271270{{{
     
    278277
    279278Pour toutes les vues structurelles obtenues précédemment :
    280   * Lancer '''LOON'''.
     279  * Lancer '''LOON'''
    281280{{{
    282281> loon <vst_source> <vst_destination> <lax_param>
    283282}}}
    284   * 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.
     283  * 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
    285284
    286285  === 2.2.6 Vérification de la netlist ===
     
    289288
    290289À effectuer sur cette netlist :
    291   * 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.
    292 
    293 Deux précautions valent mieux qu’une ! Faîtes une vérification formelle de votre netlist en la comparant au fichier comportemental d’origine issu de '''SYF''' :
     290  * 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
     291
     292  * Deux précautions valent mieux qu’une ! Faire une vérification formelle de la netlist en la comparant au fichier comportemental d’origine issu de '''SYF''' :
    294293
    295294{{{
     
    299298}}}
    300299
    301   * Comparer si les deux fichiers sont bien identiques.
    302 
    303 = 3. Compte rendu =
     300  * Comparer si les deux fichiers sont bien identiques
     301
     302= 3 Compte rendu =
    304303
    305304Vous rédigerez un compte-rendu d'une page maximum pour ce TP dans lequel vous ferez attention à bien répondre aux questions posées ici (en gras).
    306 Vous inclurez les différents résultats obtenus surface/temps/optimisation
    307 
    308 De plus, vous joindrez les fichiers écrits (et uniquement les fichiers écrits, pas ceux générés par les différents outils !).
    309 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 de A à Z.
     305Vous inclurez les différents résultats obtenus surface/temps/optimisation.
     306
     307De plus, vous joindrez les fichiers écrits.
     308
     309Vous 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.
    310310Ces fichiers doivent également fournir une règle '''clean''' qui permet d'effacer tous les fichiers générés.
    311311