| 20 | = A) Génération procédurale des stimuli = |
| 21 | |
| 22 | Dans le premier TP, vous avez écrit "a la main" le fichier ''stimuli.pat'' décrivant les |
| 23 | valeurs à appliquer sur les entrées du circuit. Cette méthode est assez fastidieuse, |
| 24 | et elle est source d'erreurs. |
| 25 | Pour faciliter la description des scénarios de simulation, vous pouvez utiliser le langage '''genpat'''. |
| 26 | '''genpat''' est un ensemble de fonctions écrites en langage C, qui apporte au concepteur |
| 27 | de circuit toute la puissance d'expression du langage C (boucles, expression conditionnelles, etc.) |
| 28 | pour décrire les scénarios de simulation. |
| 29 | |
26 | | = A) Génération procédurale des stimuli = |
| 39 | Les noms des fonctions '''genpat''' sont en majuscules. |
| 40 | La fonction la plus importante du langage '''genpat''' est la fonction AFFECT() qui permet d'assigner |
| 41 | une nouvelle valeur à un signal particulier X à une certaine date T. Cette fonction permet donc de |
| 42 | spécifier des ''événements''. Chaque fonction du langage '''genpat''' possède son propre man : |
| 43 | {{{ |
| 44 | >man AFFECT |
| 45 | }}} |
| 46 | |
| 47 | Il faut donc écrire un fichier ''stimuli.c'' respectant la syntaxe du langage C, et |
| 48 | c'est l'exécution de ce programme C qui générera le fichier ''stimuli.pat'' utilisable par '''asimut'''. |
| 49 | On utilise pour cela la commande: |
| 50 | {{{ |
| 51 | >genpat stimuli |
| 52 | }}} |
| 53 | |
| 54 | Voici quelques suggestions utiles pour écrire le fichier ''stimuli.c'' : |
| 55 | * Ecrire une fonction C indépendante pour le signal d'horloge, qui est très régulier (on conservera une période de 10 ns, avec un rapport cyclique de 50%). |
| 56 | * faites en sorte que la valeur stockée dans l'accumulateur possède une valeur bien définie, en sélectionnant l'entrée a du multiplexeur (au moyen de la commande sel) dans les tous premiers cycles. |
| 57 | |
| 58 | Vérifiez que le fichier ''stimuli.pat'' généré correspond à ce que vous attendez en utilisant |
| 59 | l'outil '''xpat'''. |
| 60 | {{{ |
| 61 | >xpat stimuli |
| 62 | }}} |