Changes between Version 3 and Version 4 of MOCCA-TP2-2019
- Timestamp:
- Nov 28, 2010, 6:37:43 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MOCCA-TP2-2019
v3 v4 23 23 Les dépendances de données dans le flux sont matérialisées dans la réalité par une dépendance de fichier. 24 24 Le 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.26 25 27 26 '''L’usage de Makefile sera obligatoire pour chaque TP ''' 28 27 29 28 == 1.1 Synthèse d'automates d'états finis == 30 29 31 30 Un circuit combinatoire pur ne dispose pas de registres internes. … … 36 35 [[Image(ex_digicode.jpg,nolink)]] 37 36 38 37 === 1.1.1 Automates de MOORE et de MEALY === 39 38 40 39 L'automate de MOORE voit l'état de ses sorties changer uniquement sur front d'horloge. … … 46 45 [[Image(automate.jpg, nolink)]] 47 46 48 47 === 1.1.2 VHDL et SYF === 49 48 50 49 Afin de décrire de tels automates, on utilise un style particulier de description VHDL qui définit l'architecture fsm. … … 56 55 Pour les connaître, reportez-vous au man de '''syf'''. 57 56 58 57 === 1.1.3 Exemple === 59 58 60 59 Afin de se familiariser avec la syntaxe de description d'un fichier ''.fsm'', un exemple … … 147 146 }}} 148 147 149 150 151 148 == 1.2 Synthèse logique et optimisation structurelle == 149 150 === 1.2.1 Synthèse logique === 152 151 153 152 La synthèse logique permet d'obtenir une netlist de portes à partir d'un réseau booléen (format ''.vbe''). … … 156 155 L'outil '''boom''' permet l'optimisation de réseau booléen avant synthèse. 157 156 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'''.157 L'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'''. 159 158 La netlist pouvant être soit au format ''.vst'' soit au format ''.al'', pensez à vérifier la variable d'environnement '''MBK_OUT_LO'''. 160 159 161 160 === 1.2.2 Résolution des problèmes de fanout (sortance) === 162 161 163 162 Les netlists générées contiennent parfois des signaux internes attaquant un nombre important de portes (grand fanout). … … 166 165 Afin 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. 167 166 168 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 169 A 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'''. 171 170 172 171 ||[[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.|| 173 172 174 173 === 1.2.4 Vérification de la netlist === 175 174 176 175 La netlist doit être certifiée. … … 182 181 Les différentes parties seront automatisées à l'aide d'un fichier '''Makefile'''. 183 182 184 183 == 2.1 Réalisation d'un compteur == 185 184 186 185 * 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. … … 196 195 '''Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? ''' 197 196 198 197 == 2.2 Réalisation d'un digicode == 199 198 200 199 On veut réaliser une puce pour digicode. … … 216 215 * si rien n'est entré au clavier au bout de 5 secondes, 217 216 * 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. 219 218 * La puce fonctionne à une fréquence de 10MHz 220 219 * Toute pression d'une touche du clavier est accompagnée du signal press_kbd. 221 220 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. 223 222 224 223 Le code est 53A17. … … 244 243 * Simuler avec '''asimut''' toutes les vues comportementales obtenues. 245 244 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 ? 247 246 En déduire les deux groupes d'encodage.''' 248 247 … … 257 256 258 257 Pour 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'''. 260 259 {{{ 261 260 > boog <vbe_source> <vst_destination> … … 297 296 Vous inclurez les différents résultats obtenus surface/temps/optimisation. 298 297 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. 298 Vous 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. 299 Le dessin du graphe du digicode peut être fait à la main à part, il sera ramassé au début du prochain TP. 302 300 303 301 Vous 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.