-
Notifications
You must be signed in to change notification settings - Fork 304
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
[MooreToCore] Support assert, assume, cover ops #7681
Conversation
Add conversion patterns from moore.{assert,assume,cover} to the corresponding verif.* op in MooreToConv. Consider rejecting deferred assertions for now. https://chipsalliance.github.io/sv-tests-results/?v=circt_verilog+16.2+assert_test Fix issue llvm#7630 Signed-off-by: mingzheTerapines <mingzhe.zhang@terapines.com>
@fabianschuiki What should I deal with
can be converted to
But
This will has problem with passing local variables. |
Hey @mingzheTerapines, thanks for working on this 🙌! Looking at the SV standard, IEEE 1800-2017 § 16.4 "Deferred assertions" says:
So the condition being checked is handled the same way for
We don't currently differentiate between the different scheduling regions in SV. In the future we'll definitely want to do that, though. Doing so requires us to figure out how we can describe the regions in the LLHD dialect and how we can make them work in a simulator like Arcilator. Maybe for the time being you can just treat |
Signed-off-by: mingzheTerapines <mingzhe.zhang@terapines.com>
@fabianschuiki Well, that will make coding easier.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
I suggest we leave the termination on asserts up to how the simulator, e.g. arcilator, interprets the |
Add conversion patterns from moore.{assert,assume,cover} to the corresponding verif.* op in MooreToConv.
Consider rejecting deferred assertions for now. https://chipsalliance.github.io/sv-tests-results/?v=circt_verilog+16.2+assert_test
Fix issue #7630