Repository navigation
Updating Ssnpm_H testplan - #3047
Ammarahwakeel wants to merge 1 commit into
Conversation
|
Do we want to include the cp_pmm_jalr, cp_pmlen_misaligned_word, cp_hardware_csr_writes_fault coverpoints here too? so that after configuring in HS mode the corresponding test cases run in vs/vu mode ? |
I think we probably should. We should test all of the standard pointer masking coverpoints in VS and VU mode. |
|
1- Fo simplicity, deciding to drop hgatp crosses with vsatp, since masking only depends on vsatp. |
|
Pointer masking is not supposed to apply to G-stage translation. Add one test case where the answer would be wrong if it was applied, so we confirm it not being applied. |
|
When testing a particular PMM, set the other ones to something different. |
|
Notes: "the PMM fields that do not apply to a case are enabled when |
|
Check number of traps occurring, so runtime is not excessive. |
|
1- Added all standard pointer masking coverpoints to run in vs and vu mode Questions:Should we separate out the tests and hence the testplans for VS and VU modes, because in this case the test will be much lengthy. |
|
AI review. Please apply your judgement about whether these comments are right. Thanks, this is a big step forward. The field isolation (other PMM fields set to a different value, PMM in the outer loop), the paged-vsatp sweep with matching hgatp widths, the vsstatus.MXR × sstatus.MXR cross, HLV/HSV under MXR, the G-stage-not-masked case and the VS/VU versions of the standard coverpoints all look right. The bin count is also down from about 43k to about 10k. Answers to your questions:
At about 10k bins the plan would still generate roughly 2M dynamic instructions and close to 6k traps, about 20 files at our 100k-per-file guideline. These changes should bring it to about 2k bins and under 500k instructions, in chunks of 50–70k: Size
Coverage
Determinism
Small fixes
Once the plan is settled, please add the covergroup and generator updates to this PR, so the plan, coverpoints and tests merge together. |
|
Addressed almost all points of the AI review, except following changes :
Like the spec doesn't name VSXL or vsstatus.UXL, but they are the VS-mode counterparts of SXL and UXL, so I added them, |
|
Also for the coverpoints and tests, would it be more easier to review them in separate PR, instead of adding them here? |
Seems fine to add them here. Then we can review the whole thing at the same time since the testplan, coverpoints, and tests are all related. |
|
AI review: Thanks, this addresses most of the last round: the misaligned cps are deterministic, the no-fence twin and the 10 <-> 11 case are in, prefetch.w is ungated, Zicfiss and the XL-clear cps are added, and the menvcfg/mseccfg settings are gated. The BARE_PAIR/PAGED_PAIR fallback is a good way to handle unsupported modes. Agreed with Jordan on adding the coverpoints and tests here. Remaining items:
Smaller: list cp_henvcfg_pmm_change_no_hfence in the trap notes; restore the HLV/HSV, HLVX and MXR sentence in the description; the misaligned expectation can name the address-misaligned trap; use the Smnpm/Smmpm PMLEN support for menvcfg/mseccfg; make the alias pages non-executable for the jalr coverpoints; cbo.zero/cbo.clean also need menvcfg.CBZE/CBCFE; the PR description still describes the old sweeps. |
|
Sounds good adding vsxl to cp_pmm_uxl_clear. Perhaps the name shouldn't be uxl anymore? Let's get the testplan finalized first and then do coverpoints and tests. |
Pushed the changes, ready for another review. |
|
I pushed f6c808c and 03eca26 with the last small fixes to the plan:
I also updated the PR description, which still described the old sweeps, and added the projected size per chunk there (about 2,200 bins, 940 traps and 500k instructions on a hart with PMLEN 7 and 16, Sv57 and Sv57x4). With this the plan looks ready to me, so please go ahead with the coverpoints and tests on this PR. |
|
Merging this part. Let's put tests and coverpoints in the next PR, along with any changes that might come up to the testplan. |
Okay, noted. |
Head branch was pushed to by a user without write access
f83bd5c to
ce531df
Compare
Co-authored-by: David Harris <74973295+davidharrishmc@users.noreply.github.com> Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Ammarahwakeel <ammarahwakeel9@gmail.com>
ce531df to
4065911
Compare
|
I am sorry prof. , I did not see that two of my commits were not verified, just fixed that. Now it can be merged |
Test plan updates for #3011. I rewrote
Ssnpm_H.yamlto follow the same pattern asSsnpm.yaml. The coverpoints and tests will be added to this PR once the plan is final.cp_vs_pmmandcp_vu_pmmsweep henvcfg.PMM/senvcfg.PMM over seven (vsatp, hgatp) pairs: (Bare, Bare/Sv39x4/Sv48x4/Sv57x4) and the matching paged pairs. The other coverpoints use one Bare pair and one paged pair, each the widest the DUT supports.cp_henvcfg_pmm_change_hfenceandcp_hupmm_change_hfencecover the three cases in the spec, with a no-fence twin.The notes give the expected traps. Projected size on a hart with PMLEN 7 and 16, Sv57 and Sv57x4: about 2,200 bins, 940 traps and 500k instructions, in four chunks:
cp_vs_*,cp_henvcfg_pmm_change_*,cp_pmm_vsxl_clearcp_vu_*,cp_pmm_vsuxl_clearcp_hlv_hs_*,cp_hlvx_hs_pmmcp_hlv_u_*,cp_hlvx_u_pmm,cp_hupmm_change_hfence