使用模块参数设置子模块参数

时间:2018-08-08 12:43:12

标签: systemc

我是SystemC / SystemC-AMS的新手。我需要根据模块的参数配置SC模块的子模块。具体来说,请考虑以下模块:

SC_MODULE(test) {
  sca_core::sca_parameter<double> f, amp;
  test(sc_core::sc_module_name): f("f", 0), amp("amp", 1) {
     // connect sub-modules, etc.
  }
  // ...
private:
  sca_lsf::sca_source src{"src"};  // a sub-module
}

现在,我需要从frequencyamplitude参数设置src的{​​{1}}和f参数。我的第一次(显然是错误的)尝试是写

amp

在模块 src.frequency = f; src.amplitude = amp; 的构造函数中。这会使参数testf处于锁定状态。显然,构造函数不是进行此分配的合适位置(因为在实例化模块后可以在ampf处进行更改)。

另一种可能性是公开子模块amp,以便可以从外部src更改其参数。但这是不安全的,因为例如,我不希望用户更改test的其他参数。

0 个答案:

没有答案