[dv] Use id_done to accurately track instruction monitor
#2346
+6
−7
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.
This refactors
instr_vifto uservfi_id_doneinstead ofinstr_new_idto track when a new instruction appears in the ID stage. This interface and signal are only used to keep track of instruction fetch errors by using the aforementioned valid signal and checking whether thervfi_order_idhas advanced. However,instr_new_idwill be gated if an instruction fetch error occurs after another error, causing us to overlook thefetch_errin the verification. With this change, we also no longer need to look atvalid_idsince thervfi_id_donealready contains this information.This will fix failing
riscv_mem_error_testin the nightly runs and the failing CI in #2324