2011-04-06 64 views
2

我在SystemC的一個問題想經過一段時間後,寫了一個信號...指定信號延誤條款後VHDL

考慮以下幾點:

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

OK! 我可以做同樣的SystemC中:

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

我怎麼可以指定在SystemC的信號分配延遲????

回答

2

我認爲你可以wait(2, SC_NS);SC_THREAD s,但不是在SC_METHOD s。 (據我所知,你不是在SC_METHOD小號允許wait

+0

不,您不能在'SC_METHOD'中使用'wait'。 'wait()'函數在當前光纖上調用yeild,並且沒有切換到的位置,所以會導致崩潰。 – 2011-06-07 02:52:14

+0

我有同樣的問題,無法找到Gene正在談論的內容。我最終這樣做的方式是分配一個單獨的wait()語句。 – Rich 2012-12-18 16:12:44

0

我忘記SC語法了,但它應該是類似GBL,該write功能應採取一個可選的延遲參數,如mysig.write(0, 2*SC_NS);在GBL它要麼是mysig.Write(0, 2*ns);,要麼是替代語法:mysig(2*ns) = 0;

+0

我沒有發現有sc_time參數的任何寫入超載... – random 2017-05-26 00:41:26