Changes between Version 1 and Version 2 of MethoCourseTp1


Ignore:
Timestamp:
Apr 5, 2007, 5:55:16 PM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MethoCourseTp1

    v1 v2  
    2727
    2828Le déroulement de ce premier TP comporte trois étapes: Modélisation comportementale du circuit ''adaccu'',
    29 description des stimuli en entrée et des résultats attendus en sortie, et simulation effective avec le simulateur ''asimut''.
     29description des stimuli en entrée et des résultats attendus en sortie, et simulation effective avec le simulateur '''asimut'''.
    3030
    31 = A) Modélisation comportementale du circuit addaccu =
     31= A) Modélisation zero-delay du circuit addaccu =
     32
     33Une description comportementale "data-flow" est une description qui ne contient que
     34des assignations concurrentes. Ces descriptions peuvent contenir des informations temporelles :
     35{{{
     36c <= a AND b  AFTER 300ps;
     37}}}
     38Puisque la sémantique du langage VHDL repose sur les ''événements'', l'assignation ci-dessus signifie qu'un événement (c'est à dire un changement de valeur à une date t) sur le signal a ou sur le signal b peut
     39entraîner un événement sur le signal c à la date t + 300 ps. La construction AFTER peut être omise, ce qui
     40correspond à un temps de propagation nul.
     41Les deux écritures ci-desous sont donc équivalentes :
     42{{{
     43x <= NOT y;
     44x <= NOT y AFTER 0 ps;
     45}}}
     46
     47Une description comportementale qui ne contient pas de constructions AFTER est une description dite
     48"ZERO-DELAY": on considère que tous les temps de propation sont négligeables par rapport au temps
     49de cycle. C'est donc une description où on cherche à valider la fonctionnalité logique, mais où
     50on ne cherche pas à simuler les performances temporelles.
     51
     52Ecrire une description comportementale "zéro-delay" pour le composant ''addaccu''.
     53Le fichier comportera l'extension ".vbe" qui est l'extension usuelle pour
     54indiquer un fichier VHDL comportemental de type data-flow (.vbe pour Vhdl BEhaviour).
     55
     56Vous pourrez vérifier que votre fichier ''addaccu.vbe'' est syntaxiquement correct
     57en utilisant l'outil '''asimut''' pour compiler ce fichier sans lancer la simulation.
     58{{{
     59>asimut - b -c addaccu
     60}}}
     61
     62 * l'option -b indique qu'il s'agit d'une description purement comportementale (extension .vbe), car '''asimut ''' accepte également en entrée des descriptions structurelle (dans ce ca le fichier possède l'extension .vst).
     63 * l'option -c permet de compiler sans simuler.
     64
     65Comme tous les outils de la chaîne ALLIANCE'', '''asimut''' utilise des variables d'environnement UNIX.
     66La signification des 8 variables d'environnement utilisées par '''asimut''' est à découvrir dans la page man de l'outil '''asimut'''.
     67Si l'on ne désire pas utiliser les valeurs par défaut, ces variables d'environnement peuvent être modifiées
     68en utilisant les commandes suivantes:
     69{{{
     70>export VH_MAXERR=10
     71>export VH_BEHSFX=vbe
     72>export VH_PATSFX=pat
     73>export VH_DLYSFX=dly
     74>export MBK_WORK_LIB=.
     75>export MBK_CATA_LIB=.
     76>export MBK_CATA_NAME=CATAL
     77>export MBK_IN_LO=vst
     78}}}
    3279
    3380= B) Génération du fichier des stimuli =
    3481
     82Lorsque la description comportementale du composant ''addaccu'' compile sans erreurs, il faut écrire
     83le fichier décrivant les stimuli qui vont être appliqués sur les entrées du circuit.
     84Ce fichier doit également contenir les valeurs attendues sur les sorties du circuit.
     85
     86Le format du fichier de stimuli accepté par ''asimut'' est défini dans la page man du format .pat :
     87{{{
     88>man pat
     89}}}
     90
     91Ce fichier ''stimuli.pat'' doit en particulier décrire le signal d'horloge.  On choisira un signal périodique
     92de période 10 ns, et de rapport cyclique 50% (cela signifie que l'état bas et l'état haut ont des durées égales).
     93
     94Les valeurs de tous les signaux d'entrée doivent être définies depuis le temps initial t = 0ns.
     95Les valeurs attendues sur les signaux de sortie doivent également décrites dans le fichier.
     96On commencera par un scénario simple comportant une dizaine de cycles.
     97
     98'''Attention''' : Comme les registres internes au composant ''addaccu'' sont des bascules à échantillonnage
     99sur front montant, les signaux d'entrée ne doivent pas changer de valeur lorsque le signal d'horloge passe
     100de 0 à 1.
     101
     102Vous pouvez vérifier le chronogramme défini par votre fichier ''stimuli.pat'', en utilisant l'outil de
     103visualisation graphique '''xpat''':
     104{{{
     105>xpat -l stimuli
     106}}}
     107
    35108= C) Simulation sous asimut =
     109
     110Vous pouvez maintenant lancer la simulation sous '''asimut''', en applicant les stimuli définis
     111dans le fichier ''stimuli.pat'' sur la description comportementale définie dans le fichier ''addaccu.vbe'':
     112{{{
     113>asimut -b addaccu stimuli result
     114}}}
     115
     116Le dernier argument sur la ligne de commande est le nom du fichier (de format .pat),
     117contenant - en plus des stimuli sur les entrées - les valeurs des signaux calculées par
     118le simulateur.
     119
     120
     121= Compte-Rendu =