1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| typedef struct liste_signaux {
char * signal_nom; // nom du fil
char * signal_io; // in, out, inout, interne
char * signal_type; // std_logic ou std_logic_vector
string * tab; // pour savoir quel bloc utilise le signal
liste_signaux * signal_suivant;
} liste_signaux;
int ajout_signal(liste_signaux* debut, char * nom, char * io, char * type, int nbre, int bloc, string bis)
{
liste_signaux *nouveau, *ptr ;
nouveau = new(liste_signaux) ;
if((nouveau != NULL))
{
nouveau->signal_suivant = NULL ;
ptr->signal_suivant = nouveau ;
nouveau->signal_nom = nom;
nouveau->signal_type = type;
nouveau->signal_io = io;
nouveau->tab = new string[nbre-1] ;
for (int j=0; j<nbre; j++) {nouveau->tab[j]="false";}
nouveau->tab[bloc]= bis;
return 0 ;}
else {ShowMessage("fatal error: Erreur ajout d'un nouveau signal. Veuillez faire un RAZ");
return 1;}
} |