Changes between Version 20 and Version 21 of MethoCourseTp2


Ignore:
Timestamp:
Apr 8, 2007, 6:52:15 PM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MethoCourseTp2

    v20 v21  
    4848Il faut donc écrire un fichier ''stimuli.c'' respectant la syntaxe du langage C, et
    4949c'est l'exécution de ce programme C qui générera le fichier ''stimuli.pat'' utilisable par '''asimut'''.
    50 Pour génére le fichier ''stimuli.pat'' il faut lancer la commande :
     50Vous trouverez ci-dessous un exemple de fichier stimuli.c, que vous devez compléter et enrichir.
    5151{{{
    52 >genpat stimuli
     52#include <genpat.h>
     53#include <stdio.h>
     54/*------------------------------*/
     55/*  Fonction  utilitaire        */
     56/*------------------------------*/
     57char *inttostr(int entier)
     58{
     59  char *str;
     60  str = (char *) mbkalloc (32 * sizeof (char));
     61  sprintf (str, "%d",entier);
     62  return(str);
     63}
     64/*------------------------------*/
     65/*  programme principal         */
     66/*------------------------------*/
     67main ()
     68{
     69  int i;
     70  int time;
     71  DEF_GENPAT("stimuli");
     72  /* interface */
     73  DECLAR ("a", ":2", "X", IN, "3  downto 0", "");
     74  DECLAR ("b", ":2", "X", IN, "3  downto 0", "");
     75  DECLAR ("sel", ":2", "B", IN, "", "");
     76  DECLAR ("ck", ":2", "B", IN, "", "");
     77  DECLAR ("s", ":2", "X", OUT, "3 downto 0", "");
     78  DECLAR ("vdd", ":2", "B", IN, "", "");
     79  DECLAR ("vss", ":2", "B", IN, "", "");
     80  /* événements */
     81  AFFECT ("0", "sel"  , "0b0");
     82  AFFECT ("0", "vdd"  , "0b1");
     83  AFFECT ("0", "vss"  , "0b0");
     84  time = 0;
     85  for (i=0; i<4; i++) {
     86        AFFECT ( inttostr(time),"ck","0b0" );
     87        AFFECT ( inttostr(time),"a", inttostr(i));
     88        AFFECT ( inttostr(time),"b", "0xF");
     89        time += 10000;
     90        AFFECT ( inttostr(time),"ck","0b1" );
     91        time += 10000;
     92        }
     93  SAV_GENPAT ();
     94}
    5395}}}
    54 
    55 Il est recommandé d'écrire une fonction C indépendante pour le signal d'horloge, qui est très régulier
    56 (on conservera une période de 20 ns, avec un rapport cyclique de 50%).
    57 
    5896Vérifiez que le fichier ''stimuli.pat'' généré correspond à ce que vous attendez en utilisant
    5997l'outil de visualisation de chronogrammes '''xpat'''.
     
    6199>xpat stimuli
    62100}}}
    63 
     101Pour génére le fichier ''stimuli.pat'' il faut lancer la commande :
     102{{{
     103>genpat stimuli
     104}}}
    64105Validez votre fichier de stimuli en simulant son exécution sur le modèle comportemental
    65106du composant ''addaccu'' provenant du TP1 :