Cannot generate .vcd with icarus verilog

257 views
Skip to first unread message

makksi

unread,
Mar 4, 2024, 6:26:51 PM3/4/24
to OpenPiton Discussion
I used the following commands to build and to run the simulations in openpiton, but the vcd file is not generated. Cannot understand why.

Build:
sims -sys=manycore -x_tiles=1 -y_tiles=1 -icv_build -clean
Sim:
sims -sys=manycore -x_tiles=1 -y_tiles=1 -icv_run uart-hello-world.s -build_id=tiles_1x1 -vcd -vcdfile=/test.vcd

Jonathan Balkind

unread,
Mar 4, 2024, 6:27:40 PM3/4/24
to OpenPiton Discussion
That argument is not available with Icarus. You will have to edit the RTL to add the appropriate $dumpvars() or similar e.g. in manycore_top.v.pyv

--
You received this message because you are subscribed to the Google Groups "OpenPiton Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpiton+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/openpiton/02a27991-9f7f-4f27-9aba-8a71c8bb892an%40googlegroups.com.

makksi

unread,
Mar 5, 2024, 12:42:31 PM3/5/24
to OpenPiton Discussion
Thanks for your suggestion. I already tried to add the $dumpvars() code into an initial begin ..end statement inside manycore_top.v.pyv, with no success. The vcd file is not generated.
Any other suggestion?
Following the modfice code:

////////////////////////////////////////////////////////
// SIMULATED BOOT SEQUENCE
////////////////////////////////////////////////////////
initial
begin

$dumpfile("cmp_top.vcd");
$dumpvars(0, cmp_top);
//$dumpvars();
end


`ifndef VERILATOR
initial
begin
    // These are not referenced elsewhere in this module,
    // but are cross referenced from monitor.v.pyv.  Do not
    // delete
    fail_flag = 1'b0;
    stub_done = 4'b0;
    stub_pass = 4'b0;


Jonathan Balkind

unread,
Mar 5, 2024, 12:43:56 PM3/5/24
to OpenPiton Discussion

makksi

unread,
Mar 7, 2024, 12:38:23 PM3/7/24
to OpenPiton Discussion
Thanks Jon,
     it works perfectly! 
I just made a typo during the build sims. Thanks also for sharing your implementation in manycore_top.v.pyv which I guess allows to generate the .vcd only for Icarus Verilog and what it is also very useful using the -vcd switch which usually is not catched by sims with Icarus.

Reply all
Reply to author
Forward
0 new messages