| | 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 | }}} |