[dv] CSR Coverage Waiver
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 2.1k
- Forks
- 810
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 9
Description
Coverpoints/bins affected
cp_csr_read_only/cp_csr_writeCSR_SCONTEXTCSR_MCONTEXTCSR_MSECCFGHCSR_TDATA3CSR_MCOUNTINHIBITCSR_MENVCFGH
cp_ignored_csrs/cp_ignored_csrs_wCSR_SCONTEXT,CSR_MCONTEXT,CSR_TDATA3are also the ignored CSRs, remove this coverpoint?
Justification
None of these is particularly complex but it's all small changes to spike that add up.
CSR_SCONTEXT / CSR_MCONTEXT are optional CSRs only accessible in debug mode, Ibex implements them as read as 0, write ignore. They do not need to implemented and aren't used by our debug setup. As they're not accessible via debug mode this is a low priority item to test
CSR_MSECCFGH/CSR_MENVCFGH - These CSRs have no implemented bits and are only accessible in M mode. They're in the M mode only CSR space so the generic check that accesses from U mode cause illegal instruction exceptions is sufficiently testing by other illegal CSR accesses from U mode.
CSR_TDATA3 - This is accessible in M mode and is an optional CSR for debug trigger points, Ibex implements it as read as 0 write ignore.
CSR_MCOUNTINHIBIT - The controls the performance counters and is not a high priority item.
estimate 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the coverage definitions for cp_csr_read_only, cp_csr_write, cp_ignored_csrs, and cp_ignored_csrs_w, then review how the listed CSRs are handled in the verification flow. Confirm the intended waiver or coverpoint removal for each CSR and run the relevant CSR coverage regression to verify the updated coverage expectations.
Written by the indexing model from the issue text.
Assessment
- Domain
- embedded-iot, testing-qa
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100