我正在编写一个应用程序来模拟使用SystemC库的硬件系统。
我的问题是处理sc_logic类型。
考虑一个简单的模块

SC_MODULE(MyModule) {
   sc_in_clk clk;
   sc_out<sc_logic> outsig;
   void main_process();
   SC_CTOR(MyModule) {
      SC_METHOD(main_process);
      sensitive << clk;
   }
};

考虑过程的实施:
void MyModule::main_process() {
   this->outsig.write(SC_LOGIC_1);
}

好 啊。
问题:outsig总是'0'且从不更改其值。
我在我的模拟中写了很多信号,但是这个问题只在sc_logic端口中的sc_out值出现。
有人能帮我吗?

最佳答案

在构造函数中将sensitive << clk置于SC_METHOD之前。

10-07 19:43