有沒有辦法從序列的body()中調用$dumpvars, $dumpon $dumpoff
? 它可以從模塊任務。 我需要控制$ dumpon $ dumpoff使轉儲不會太大 的另一種方法是在序列中開啓了一下top.dump_on,並在測試平臺
編輯等待此位:
我增加了一個頂級模塊:
module dump();
bit stop=1'b0;
task do_dump(string id);
fork begin
$display("DUMP START %s", id);
$dumpfile($psprintf("dump_%s.vcd", id));
$dumpvars(1, hmr_top.i_hmr.REF_CLK_IN,
hmr_top.i_hmr.RST_N,
hmr_top.i_hmr.SER_CLK,
hmr_top.i_hmr.VMKMODE,
hmr_top.i_hmr.SERIN,
hmr_top.i_hmr.SEROUT,
hmr_top.i_hmr.REF_CLK_OUT);
$dumpon;
wait(stop);
stop = 1'b0;
$dumpoff;
$display("DUMP END %s", id);
end join_none
endtask
function stop_dump();
stop = 1'b1;
endfunction
endmodule // dump
但是,當我嘗試調用第二轉儲我得到這個錯誤:
Warning-[TFX-DUMPVARCA] DumpVar called previously As $dumpvars was called in previous time step, ignoring this call.$dumpfile at time
#11551000 Please refer to section 18.1.2 in the IEEE Verilog Standard 1364-2001 for details on $dumpvars.
有什麼想法? Thx
你試過了嗎?你有錯誤嗎? – toolic
這不是一個錯誤。這是一個警告,它很清楚地描述了問題所在。請澄清你的問題。 – toolic
第二次dump.do_dump(「again」);從seq中調用dump_again.vcd文件未創建。在關鍵問題是可以在模擬過程中創建多個轉儲文件@toolic – Meir