我的方法fsm1
即使没有事件也执行一次,因此id1_cmd.read()
和id1_value.read()
包含0,而不是正确的值。
//------------------------------------------------------------------
// Method: control::fsm1()
// Parameter: None
// @Sensitivity: ID_1_cmd (unsigned int)
//------------------------------------------------------------------
void control::fsm1() {
cout << id1_cmd.read() << endl;
cout << id1_value.read() << endl;
}
//------------------------------------------------------------------
// Method: Constructor
//------------------------------------------------------------------
SC_CTOR(control) {
SC_METHOD(fsm1);
sensitive << id1_cmd;
}
存在一种防止它执行一次的方法,还是我必须始终在我的方法中处理这种情况?
最佳答案
使用dont_initialize
方法请参阅Language Reference Manual
SC_CTOR(control) {
SC_METHOD(fsm1);
sensitive << id1_cmd;
dont_initialize();
}
关于c++ - 防止SC_METHOD在没有事件/触发的情况下执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62061166/