Repository navigation
feat(sv)!: execute clocked Boolean concurrent assertions - #2408
Merged
Merged
Conversation
Explicitly clocked Boolean `assert property`, `assume property`, and `cover property` now execute in module and generate scopes. Predicates use Preponed samples, `disable iff` reads the live value after NBA, and all Observed decisions finish before Reactive actions execute. Actions read live values. This is the initial single-cycle subset. Named properties/sequences, temporal operators (`##`, implication, repetition), default clocks, procedural concurrent assertions, and timed or nonblocking action statements remain unsupported and diagnosed. It does not implement full SVA. The runtime preserves pending Observed work across stop/resume and portable state files, validates restored region membership, and supports native images. Native image format advances to 52; state files with pending Observed work use version 4, while older versions remain readable. Validation on master d8a6d72: full SV 6,233 passed (20 existing ignored), affected units 1,130 passed, new API 5 passed, state/checkpoint/fork regressions 90 passed, retained-report checks 4 passed, Clippy, and JS 435 passed. Before synchronization, the official unmodified sv-tests runner: 52 chapter-16 verdicts checked, six fail-to-pass improvements and no regressions. Only those six expected verdicts change. External checks retain strict assertions and standalone Top/Wrapped evidence. Verilator passes two cases, disagrees on two scheduling cases, and cannot exercise the four-state case. Icarus rejects the five concurrent assertion cases. Installed xezim passes four and disagrees on Observed/Reactive ordering for one; its exact binary provenance is retained. The pinned xezim build was unavailable due to its dependency-lock mismatch, so these results do not claim current-pin coverage. Independent change based on master; no dependency on another open PR. Change-Id: I42c683a7842ade2dc5320c44f23d5dca3952084b
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
The complete official sv-tests CI corpus also passes the generated 20.13 sampled-function case in both state modes. The chapter-16 focused preflight did not include this generated group. Both official simulation logs report rc=0 and PASS; all 3300 retained verdicts match CI run 40652055752 after updating these two rows. Change-Id: I82b9bda60aba4389c372970ebe8c6abc862e7d7e
Contributor
✅ Merged into
|
| Condition | Required by | |
|---|---|---|
| ✅ | check-success = Conventional Commit title |
— |
| ✅ | check-success = Queue validation |
— |
| ✅ | any of: check-success = @github-actions/Lint & Format, check-neutral = @github-actions/Lint & Format, check-skipped = @github-actions/Lint & Format |
GitHub repository ruleset rule master |
| ✅ | any of: check-success = @github-actions/Rust Test & NAPI Build, check-neutral = @github-actions/Rust Test & NAPI Build, check-skipped = @github-actions/Rust Test & NAPI Build |
GitHub repository ruleset rule master |
| ✅ | any of: check-success = @github-actions/JS Test (Ubuntu), check-neutral = @github-actions/JS Test (Ubuntu), check-skipped = @github-actions/JS Test (Ubuntu) |
GitHub repository ruleset rule master |
| ✅ | any of: check-success = @github-actions/Conventional Commit title, check-neutral = @github-actions/Conventional Commit title, check-skipped = @github-actions/Conventional Commit title |
GitHub repository ruleset rule master |
| ✅ | any of: check-success = @github-actions/Queue validation, check-neutral = @github-actions/Queue validation, check-skipped = @github-actions/Queue validation |
GitHub repository ruleset rule master |
Times in UTC · dashboard · how the merge queue works
32 of 55 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explicitly clocked Boolean
assert property,assume property, andcover propertynow execute in module and generate scopes. Predicates use Preponed samples,disable iffreads the live value after NBA, and all Observed decisions finish before Reactive actions execute. Actions read live values.This is the initial single-cycle subset. Named properties/sequences, temporal operators (
##, implication, repetition), default clocks, procedural concurrent assertions, and timed or nonblocking action statements remain unsupported and diagnosed. It does not implement full SVA.The runtime preserves pending Observed work across stop/resume and portable state files, validates restored region membership, and supports native images. Native image format advances to 52; state files with pending Observed work use version 4, while older versions remain readable.
Validation on master d8a6d72: full SV 6,233 passed (20 existing ignored), affected units 1,130 passed, new API 5 passed, state/checkpoint/fork regressions 90 passed, retained-report checks 4 passed, Clippy, and JS 435 passed. Before synchronization, the official unmodified sv-tests runner: 52 chapter-16 verdicts checked, six fail-to-pass improvements and no regressions. The complete CI run 40652055752 additionally verified the generated
$sampledcase in both state modes: eight expected verdicts improve in total. After retaining those two additional successes, all 3,300 official CI verdicts match expectations; there are no regressions.External checks retain strict assertions and standalone Top/Wrapped evidence. Verilator passes two cases, disagrees on two scheduling cases, and cannot exercise the four-state case. Icarus rejects the five concurrent assertion cases. Installed xezim passes four and disagrees on Observed/Reactive ordering for one; its exact binary provenance is retained. The pinned xezim build was unavailable due to its dependency-lock mismatch, so these results do not claim current-pin coverage.
Independent change based on master; no dependency on another open PR.