2

我在 SystemC 中遇到问题,试图在一段时间后写入信号......

考虑以下:

process (clk)
   begin
      -- Updating my signal, out signal, in order to get result, but after a certain delay.
      signal1 <= '0' after 2 ns;

好的!我可以在 SystemC 中做同样的事情:

SC_CTOR(MyModule) {
   SC_METHOD(mymethod);
   sensitive << ....
}
void mymethod() {
   mysig = '0'; // HOW TO SAY AFTER 2 NS?????????
}

如何在 SystemC 中指定信号分配的延迟????

4

2 回答 2

2

我认为你可以wait(2, SC_NS);SC_THREADs 中,但不能在SC_METHODs 中。(AFAIK,你不能waitSC_METHODs 中。)

于 2011-04-06T13:25:51.230 回答
0

我已经忘记了 SC 语法,但它应该类似于 GBL,该write函数应该采用可选的延迟参数,例如mysig.write(0, 2*SC_NS);在 GBL 中,它是可选的mysig.Write(0, 2*ns);或替代的语法:mysig(2*ns) = 0;

于 2011-06-07T02:45:14.937 回答