Есть способ вызова $dumpvars, $dumpon $dumpoff
из тела() последовательности? Это возможно из задачи модуля. мне нужно контролировать $ dumpon $ dumpoff так, что свалка не будет слишком большим Альтернативным способом было бы включить битном top.dump_on в последовательности и ждать этого бита в тестбенча
EDIT:
Я добавил верхний модуль уровня:
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