systemc 构造函数初始化失败
systemc constructor initialization is failing
#ifndef RAM_H
#define RAM_H
#include <systemc.h>
SC_MODULE(ram) {
void ram_proc();
SC_HAS_PROCESS(ram);
private:
sc_clock clock;
};
#endif
然后在 ram.cpp 我有以下代码
#include "ram.h"
ram::ram(sc_module_name name_): clock("clock",1,SC_NS) {std::cout<<"I am in clock "<<std::endl;}
{ //the error is occurring hier
SC_THREAD(ram_proc);
}
void ram::ram_proc () {
std::cout<<"I am in method ram_proc "<<std::endl;
}
问题是我收到这个错误:
expected unqualified-id before ‘{’ token
{
修复缩进和新行代码看起来像
void ram::ram(sc_module_name name_): clock("clock",1,SC_NS)
{
std::cout<<"I am in clock "<<std::endl;
} // <- constructor ends here
{ //the error is occurring hier
SC_THREAD(ram_proc);
}
如您所见,您有两个代码块。第一个块是构造函数体。第二个块没有链接到任何东西。如果您希望包含 SC_THREAD(ram_proc);
的块位于构造函数中,那么您需要
void ram::ram(sc_module_name name_): clock("clock",1,SC_NS)
{
std::cout<<"I am in clock "<<std::endl;
SC_THREAD(ram_proc);
}
#ifndef RAM_H
#define RAM_H
#include <systemc.h>
SC_MODULE(ram) {
void ram_proc();
SC_HAS_PROCESS(ram);
private:
sc_clock clock;
};
#endif
然后在 ram.cpp 我有以下代码
#include "ram.h"
ram::ram(sc_module_name name_): clock("clock",1,SC_NS) {std::cout<<"I am in clock "<<std::endl;}
{ //the error is occurring hier
SC_THREAD(ram_proc);
}
void ram::ram_proc () {
std::cout<<"I am in method ram_proc "<<std::endl;
}
问题是我收到这个错误:
expected unqualified-id before ‘{’ token {
修复缩进和新行代码看起来像
void ram::ram(sc_module_name name_): clock("clock",1,SC_NS)
{
std::cout<<"I am in clock "<<std::endl;
} // <- constructor ends here
{ //the error is occurring hier
SC_THREAD(ram_proc);
}
如您所见,您有两个代码块。第一个块是构造函数体。第二个块没有链接到任何东西。如果您希望包含 SC_THREAD(ram_proc);
的块位于构造函数中,那么您需要
void ram::ram(sc_module_name name_): clock("clock",1,SC_NS)
{
std::cout<<"I am in clock "<<std::endl;
SC_THREAD(ram_proc);
}