Closed ameetgohil closed 9 months ago
I think this is the same issue reported here: https://github.com/enjoy-digital/litex/issues/1841
See https://github.com/steveicarus/iverilog/issues/1028 for some background on why it doesn't work.
Thanks! I used a sed command to replace all the always @(*)
to always_comb
and switched file extension to .sv
With this, Vivado sim was able resolve the signal being set and read in the same process.
sed -i 's/always @(\*)/always_comb/g' filename
Both Vivado sim and icarus are unable get past time 0. I get the following error in vivado FATAL_ERROR: Iteration limit 10000 is reached. Possible zero delay oscillation detected where simulation time can not advance. Please check your source code. Note that the iteration limit can be changed using switch -maxdeltaid. Time: 0 ps Iteration: 10000
Gen yml file:
Minimal testbench to reproduce to the issue:
It seems like both icarus and vivado simulators have an issue with the following lines of code.
If you comment these lines, the simulator starts advancing again.