Skip to content

Commit

Permalink
[rv_dm,dv] Exclude StFlush state coverage in a tlul_lc_gate instance
Browse files Browse the repository at this point in the history
Detailed notes in a comment above the exclusion.

Signed-off-by: Rupert Swarbrick <[email protected]>
  • Loading branch information
rswarbrick committed Aug 15, 2024
1 parent 17d2d44 commit 0817ebc
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions hw/ip/rv_dm/dv/cov/rv_dm_cov_excl.el
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,24 @@ State DMIOPFailed "2"
Transition DMINoError->DMIOPFailed "0->2"
Transition DMIOPFailed->DMINoError "2->0"

// In tlul_lc_gate, there is an FSM state called StFlush. The intention is that when the gate is
// open (in state StActive), a flush request causes us to go into the StFlush state, where we block
// commands. The u_tlul_lc_gate_sba instance has the flush_req_i input wired to zero but UNR doesn't
// mark the StFlush state as unreachable. We could get there by disabling and enabling debug on two
// consecutive cycles (going through states StActive, StOutstanding, StFlush, StActive). Disabling
// debug a second time on the third cycle would replace the last state (StActive) with StError.
//
// While this sequence is theoretically possible, the "glitchy" transition between StActive and
// StError doesn't really correspond to something we expect to see. We're testing this state and its
// transitions for other instances of the module (where flush_req_i is not always zero), so we don't
// have any risk of a bug in the module not being seen.
INSTANCE: tb.dut.u_tlul_lc_gate_sba
Fsm state_q "3443824386"
State StFlush "76"
Transition StFlush->StActive "76->289"
Transition StFlush->StError "76->186"
Transition StOutstanding->StFlush "231->76"

// The following exclusions were generated by UNR.
//
//==================================================
Expand Down

0 comments on commit 0817ebc

Please sign in to comment.