SystemC
galexie
Messages postés
3
Statut
Membre
-
loupius -
loupius -
Bonjour,
J'ai un souci lors de la compilation de mon programme en systemC: l'erreur est : error C2039: 'entre' : n'est pas membre de 'bascd' sachant que j'ai tout déclaré (entre est un signal d'entrée d'un module bascd)...je vois pas du tout l'erreur...quelqu'un pourra m'aider et merci d'avance
J'ai un souci lors de la compilation de mon programme en systemC: l'erreur est : error C2039: 'entre' : n'est pas membre de 'bascd' sachant que j'ai tout déclaré (entre est un signal d'entrée d'un module bascd)...je vois pas du tout l'erreur...quelqu'un pourra m'aider et merci d'avance
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
Désolé, je ne connais pas les n° d'erreurs du compilateur.
Tu peux toujours essayer de faire une recherche sur la toile.
Si tu veux qu'on t'aide, il faut au moins un bout de code (en utilisant les balises 'code' (à droite de souligné)), voire le code en entier s'il n'est pas trop long et surtout les premières lignes d'insultes du compilateur.
A suivre.-
Le voilà mon code, il apparait long mais pas du tout je t'ai filé tous les fichiers .h et .cpp, il est tout bete je veux juste décaler un vecteur de 4 bits afin de récupérer tous les bits un par un(j'aurai besoin pour un programme plus compliqué...)
bascd.h
#ifndef __bascd_h
#define __bascd_h
#include "systemc.h"
SC_MODULE(bascd)
{
sc_in<sc_bv<4> > en;
sc_in<bool> clock;
sc_out<sc_bv<4> > titi;
sc_bv<4> to;
void doit();
SC_CTOR(bascd)
{to=en.read();
SC_METHOD(doit);
sensitive_pos<<clock;
}
};
#endif
bascd.cpp
#include "bascd.h"
void bascd::doit()
{
//dout = din;
to.range(3,1)=to.range(2,0);
titi=to;
}
gene_sig.h
#ifndef __gene_sig_h
#define __gene_sig_h
#include "systemc.h"
SC_MODULE(gene_sig)
{ sc_out<sc_bv<4>> entre;
//sc_out<sc_bit> dout;
void gene();
SC_CTOR(gene_sig)
{
SC_THREAD(gene);
}
};
#endif
gene_sig.cpp
#include "gene_sig.h"
void gene_sig::gene(){
while(1) {
entre = "0000";
wait(5,SC_NS);
entre = "0101";
wait(25,SC_NS);
wait();
}
}
main.cpp
#include "bascd.h"
#include "gene_sig.h"
int sc_main(int argc, char* argv[]) {
sc_signal<sc_bv<4>> data1;
sc_signal<sc_bv<4>> tata;
const sc_time periode(10,SC_NS);
sc_clock clk("clk",periode);
gene_sig g1("g1");
g1.entre(data1);
bascd d1("d1");
d1.clock(clk);
d1.en(data1);
d1.titi(tata);
// trace file creation
sc_trace_file *tf = sc_create_vcd_trace_file("SystemC");
// External Signals
sc_trace(tf, clk.signal(), "clk");
sc_trace(tf, data1, "data1");
sc_trace(tf, tata, "tata");
sc_start(100,SC_NS);
sc_close_vcd_trace_file(tf);
return(0);
}
les insultes du compilateur sont les suivants:
1>c:\mes documents\visual studio 2005\projects\essai_systemc\essai_systemc\main.cpp(22) : error C2039: 'en' : n'est pas membre de 'bascd'
1> c:\\mes documents\visual studio 2005\projects\essai_systemc\essai_systemc\bascd.h(3) : voir la déclaration de 'bascd'
1>c:\mes documents\visual studio 2005\projects\essai_systemc\essai_systemc\main.cpp(23) : error C2039: 'titi' : n'est pas membre de 'bascd'
1>c:\mes documents\visual studio 2005\projects\essai_systemc\essai_systemc\bascd.h(3) : voir la déclaration de 'bascd'
et merci beaucoup...j'ai vraiment besoin d'aide...
-
-
Mais ils sont déjà déclarés dans le fichier bascd.h :
sc_in<sc_bv<4> > en;
sc_out<sc_bv<4> > titi;