-
Notifications
You must be signed in to change notification settings - Fork 852
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
$finish statement in always blocks produce errors #1688
Comments
@whitequark Still, should it be keept open because of the $display $finish inequality of treatment and the interpolability it produce with other synthesis tools ? |
The same (ignored) in case of ISE. I recently submitted a similar issue (#1801, I didn't saw this issue before, sorry). I think that the ERROR is ok, to abort if a condition is not accomplished, but the message mustn't be unsupported, because the behaviour is the same that inside of an initial block (nested under a if). |
Steps to reproduce the issue
yosysFinishIssue.zip
just do a make in the decompressed archive.
Actual behavior
Expected behavior
Yosys should probably process the $finish statement as a warning, not as an error/failure, as it does for the $display statement.
I tested that code on Quartus, Vivado, Diamond synthesis, none of them process $finish statement as error / failure.
Using the $finish statement in synthetisable RTL always blocks seem to me the only way to write simulation runtime assertions with regular verilog.
The text was updated successfully, but these errors were encountered: