-
Notifications
You must be signed in to change notification settings - Fork 548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A specific pattern is verilated into an infinite loop when optimizations are enabled #5080
Comments
Thanks for a clean simple test case. @kbieganski might you take a look? If difficult can we short-term get a UNSUPPORTED error? |
The issue is that
|
I found a specific pattern that triggers a verilation bug.
From my initial testing, having:
makes Verilator not put the
co_await
operator on theVTrigSched
corresponding to thisalways
block, leading to an infinite loop at the first eval.(I am not too familiar with Verilog or Verilator, so I may do some terminology errors)
An example of this pattern is given below.
The following command will trigger the bug :
verilator --binary --timing -DTEST_VERBOSE test.v
Simply adding the
-O0
Verilator flag will avoid it.The bug was discovered on Verilator v5.020, and is still present in the git master version.
I am using Pop!_OS 22.04 LTS (based on Ubuntu 22.04 LTS).
I am used to working with C++, but not very familiar with the Verilator code base, so I would need some help to fix this.
The text was updated successfully, but these errors were encountered: