Changes between Version 3 and Version 4 of MOCCA-TP2-2019


Ignore:
Timestamp:
Nov 28, 2010, 6:37:43 PM (14 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MOCCA-TP2-2019

    v3 v4  
    2323Les dépendances de données dans le flux sont matérialisées dans la réalité par une dépendance de fichier.
    2424Le fichier '''Makefile''' exécuté à l’aide de la commande '''make''' permet de gérer ces dépendances.
    25 Reportez vous à l'annexe pour plus de détails.
    2625
    2726'''L’usage de Makefile sera obligatoire pour chaque TP '''
    2827
    29   == 1.1 Synthèse d'automates d'états finis ==
     28== 1.1 Synthèse d'automates d'états finis ==
    3029
    3130Un circuit combinatoire pur ne dispose pas de registres internes.
     
    3635[[Image(ex_digicode.jpg,nolink)]]
    3736
    38     === 1.1.1 Automates de MOORE et de MEALY ===
     37=== 1.1.1 Automates de MOORE et de MEALY ===
    3938
    4039L'automate de MOORE voit l'état de ses sorties changer uniquement sur front d'horloge.
     
    4645[[Image(automate.jpg, nolink)]]
    4746
    48     === 1.1.2 VHDL et SYF ===
     47=== 1.1.2 VHDL et SYF ===
    4948
    5049Afin de décrire de tels automates, on utilise un style particulier de description VHDL qui définit l'architecture fsm.
     
    5655Pour les connaître, reportez-vous au man de '''syf'''.
    5756
    58     === 1.1.3 Exemple ===
     57=== 1.1.3 Exemple ===
    5958
    6059Afin de se familiariser avec la syntaxe de description d'un fichier ''.fsm'', un exemple
     
    147146}}}
    148147
    149   == 1.2 Synthèse logique et optimisation structurelle ==
    150 
    151     === 1.2.1 Synthèse logique ===
     148== 1.2 Synthèse logique et optimisation structurelle ==
     149
     150=== 1.2.1 Synthèse logique ===
    152151
    153152La synthèse logique permet d'obtenir une netlist de portes à partir d'un réseau booléen (format ''.vbe'').
     
    156155L'outil '''boom''' permet l'optimisation de réseau booléen avant synthèse.
    157156
    158 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'''.
     157L'outil '''boog''' réalise la projection structurelle du comportement sur la bibliothèque de cellules précaractérisées '''sxlib''' afin d'obtenir la '''netlist'''.
    159158La netlist pouvant être soit au format ''.vst'' soit au format ''.al'', pensez à vérifier la variable d'environnement '''MBK_OUT_LO'''.
    160159
    161     === 1.2.2 Résolution des problèmes de fanout (sortance) ===
     160=== 1.2.2 Résolution des problèmes de fanout (sortance) ===
    162161
    163162Les netlists générées contiennent parfois des signaux internes attaquant un nombre important de portes (grand fanout).
     
    166165Afin de résoudre ces problèmes, l'outil '''loon''' remplace les cellules ayant un fanout (i.e sortance) trop grand par des cellules plus puissantes ou bien insère des buffers.
    167166
    168     === 1.2.3 Visualisation de la chaîne longue ===
    169 
    170 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=== 1.2.3 Visualisation de la chaîne longue ===
     168
     169A tout moment, les netlists peuvent être visualisé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'''.
    171170
    172171||[[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.||
    173172
    174     === 1.2.4 Vérification de la netlist ===
     173=== 1.2.4 Vérification de la netlist ===
    175174
    176175La netlist doit être certifiée.
     
    182181Les différentes parties seront automatisées à l'aide d'un fichier '''Makefile'''.
    183182
    184   == 2.1 Réalisation d'un compteur ==
     183== 2.1 Réalisation d'un compteur ==
    185184     
    186185   * 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.
     
    196195'''Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? '''
    197196
    198   == 2.2 Réalisation d'un digicode ==
     197== 2.2 Réalisation d'un digicode ==
    199198
    200199On veut réaliser une puce pour digicode.
     
    216215   * si rien n'est entré au clavier au bout de 5 secondes,
    217216   * si l'alarme a sonné pendant 2mn.
    218    Pour cela il reçoit un signal reset du timer externe
     217   Pour cela il reçoit un signal reset du timer externe.
    219218 * La puce fonctionne à une fréquence de 10MHz
    220219 * Toute pression d'une touche du clavier est accompagnée du signal press_kbd.
    221220   Celui-ci signale à la puce que les données en sortie du clavier sont valides.
    222    Ce signal est à 1 durant un cycle d’horloge
     221   Ce signal est à 1 durant un cycle d’horloge.
    223222
    224223Le code est 53A17.
     
    244243  * Simuler avec '''asimut''' toutes les vues comportementales obtenues.
    245244
    246 '''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 ?
     245'''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 ?
    247246En déduire les deux groupes d'encodage.'''
    248247
     
    257256
    258257Pour chacun des réseaux booléens obtenus précédemment, effectuer le mapping sur cellules précaractérisées :
    259   * Synthétiser la vue structurelle (en faisant attention à bien positionner les variables d'environnement) en ancant l'outil '''boog'''.
     258  * Synthétiser la vue structurelle (en faisant attention à bien positionner les variables d'environnement) en lançant l'outil '''boog'''.
    260259{{{
    261260> boog <vbe_source> <vst_destination>
     
    297296Vous inclurez les différents résultats obtenus surface/temps/optimisation.
    298297
    299 Vous enverrez le compte rendu par mail (sophie.belloeil@free.fr) avant le début du prochain TP.
    300 Vous joindrez les fichiers écrits : soit une archive contenant tous les fichiers dans le mail, soit le chemin d'accès aux fichiers, en faisant attention dans ce cas à laisser les droits.
    301 Le dessin du graphe du digicode peut être fait à la main à part, il sera ramassé au début du prochain TP.
     298Vous enverrez le compte rendu par mail (franck.wajsburt@free.fr) avant le début du prochain TP (le sujet du mail doit être '''tools tp1 2010'''). Vous devez indiquez vos noms (binôme) dabs le compte-rendu. Vous joindrez les fichiers écrits : soit une archive contenant tous les fichiers dans le mail, soit le chemin d'accès aux fichiers, en faisant attention dans ce cas à laisser les droits.
     299Le dessin du graphe du digicode peut être fait à la main à part, il sera ramassé au début du prochain TP.
    302300
    303301Vous ferez attention à joindre les différents Makefile créés de façon à ce que la commande '''make''' effectue les différentes étapes de ce TP.