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