lowRISC / opentitan

OpenTitan: Open source silicon root of trust
https://www.opentitan.org
Apache License 2.0
2.53k stars 754 forks source link

[rom_ctrl, dv] Uncovered conditional coverage in rom_ctrl_fsm #24720

Open KinzaQamar opened 2 days ago

KinzaQamar commented 2 days ago

The nightly regression coverage dashboard reports an uncovered conditional coverage inside rom_ctrl_fsm.sv here. The case 110 is uncovered. If counter_lnt is true, it means that we've read the last non-top item from ROM which basically implies that kmac_rom_vld_o is also high. That is a non-occurring case.

rswarbrick commented 2 days ago

I agree and think that this isn't actually reachable. My reasoning: the kmac_rom_vld_o signal basically says "we read something from ROM on the last cycle". If counter_lnt is true, it means "we've just read the last non-top item from ROM" and this implies that kmac_rom_vld_o is high.

One option would be a waiver (possibly UNR), but I think it's probably cleaner to just drop the condition from the RTL. Ideally, by running UNR or a manual FPV flow to prove that the change is correct. I'll take this on.