[rom_ctrl, dv] Removal of a signal to cover cond coverage hole #25682
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.
rom_ctrl coverage report shows a coverage hole for the conditional statement as 110 not covered. The description below explains why we can't cover the case counter_lnt and !kmac_rom_vld_o
Starting with counter_lnt = 1 means that we get the last address of a non top word. counter_lnt is delayed by a cycle through last_nontop_d in rom_ctrl_counter.sv.
Next is kmac_rom_vld_o which also delayed by a cycle through kmac_rom_vld_d. The kmac_rom_vld_d signal depends on counter_read_req which goes immediately high after reset. Then checker fsm state should be in state ReadingLow and
!counter_lnt meaning we haven't reached to the top.
Now assuming that we are out of reset, first request to the ROM has been sent, checker fsm is sending nontop data to KMAC and we still haven't reached to the top; makes kmac_rom_vld_d go high. But when we reach to the last address of the nontop data, we get counter_lnt go high and kmac_rom_vld_d go low. Since kmac_rom_vld_o delayed through kmac_rom_vld_d, we get counter_lnt with kmac_rom_vld_o.