Closed ydnatag closed 5 years ago
The differences in the initial simulation stage are caused by the fact that icarus and verilator handle the uninitialized signals differently. see: https://www.veripool.org/projects/verilator/wiki/Manual-verilator#Unknown-states
I suppose that but i didn't know how verilator understand uninit signals. Thanks you.
The most important difference i see is that combinational assignments are delayed and signal changes don't occur at the same time in both simulators.
Close
I was testing the verilator support for cocotb using this repository and i found many differences between VCDs generated by icarus and verilator.
Test repositoy: https://github.com/andresdemski/vericocotb_test
Adder example
I found a difference in the starting value and the output is delayed one step:
As we can see in the following readable vcd, the
adder.X
is delayed one step (verilator output at the left).axi_lite_slave
Too many differences. The clk is delayed one step as it was in
adder
example but also there are many differences in signals liketb_axi_lite_slave.AXIML_ARREADY
,tb_axi_lite_slave.AXIML_AWADDR[31:0]
, etc. The differences are shown here