fix(SimJTAG): remove wire delays for newer version of verilator#748
fix(SimJTAG): remove wire delays for newer version of verilator#748
Conversation
In newer versions of Verilator, functions with delays are not legal,
which causes a compile error:
%Error: /path-to-difftest/src/test/vsrc/common/SimJTAG.v:52:17: Delays are not legal in functions. Suggest use a task (IEEE 1800-2023 13.4.4)
: ... note: In instance 'SimTop'
52 | wire #0.1 __jtag_TDO = jtag_TDO_driven ?
| ^
... See the manual at https://verilator.org/verilator_doc.html?v=5.041 for more assistance.
%Error: Exiting due to 1 error(s)
As the delay not be useful in verilator, thus remove it.
Signed-off-by: Yangyu Chen <cyy@cyyself.name>
|
I am not sure why we add wire delay for SimJTAG, maybe @poemonsense know about it? |
Maybe just copied from rocket-chip: https://github.com/chipsalliance/rocket-chip/blob/master/src/main/resources/vsrc/SimJTAG.v |
|
The file was brought from https://github.com/chipsalliance/rocket-chip/blob/master/src/main/resources/vsrc/SimJTAG.v. Which verilator version are you using? I'm using v5.042 and it works. If this is a serious issue, we may need to fix in the upstream first to ensure its correctness, given that we don't know why |
I'm also using v5.042. |
|
Are you using the build scripts in difftest? Would you mind try https://github.com/OpenXiangShan/rocket-chip/tree/dev-difftest This is the case we are running in DiffTest CI. The command was like: |
In newer versions of Verilator, functions with delays are not legal, which causes a compile error:
As the delay not be useful in verilator, thus remove it.