You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
in the description of the interface, rvfi_valid is said to indicate the following
When the core retires an instruction, it asserts the rvfi_valid
The signals are only valid during such a cycle and can be driven to arbitrary values in a cycle in which rvfi_valid is not asserted.
later
rvfi_trap must be set for an instruction that cannot be decoded as a legal instruction, such as 0x00000000.
The purpose if the rvfi_trap is to indicate an exception, an instruction which causes an exception, by definition does not retire.
But this contradicts the previous statement, a good example is the misaligned LD/ST
If I have the following instruction (assuming the implementation does not support misaligned LD/ST)
lw x1, x0(1)
This will take an exception, and X1 will not update as the instruction does not complete (retire)
How can this be described in the interface, as it should be the following
rvfi_valid=0, rvfi_trap=1, ....
But this would be ignored as rvfi_valid is 0
If rvfi_valid indicates a retirement, and rvfi_trap indicates an exception - then these two signals must surely be mutually exclusive ?
The text was updated successfully, but these errors were encountered:
Hi
in the description of the interface, rvfi_valid is said to indicate the following
later
The purpose if the rvfi_trap is to indicate an exception, an instruction which causes an exception, by definition does not retire.
But this contradicts the previous statement, a good example is the misaligned LD/ST
If I have the following instruction (assuming the implementation does not support misaligned LD/ST)
lw x1, x0(1)
This will take an exception, and X1 will not update as the instruction does not complete (retire)
How can this be described in the interface, as it should be the following
rvfi_valid=0, rvfi_trap=1, ....
But this would be ignored as rvfi_valid is 0
If rvfi_valid indicates a retirement, and rvfi_trap indicates an exception - then these two signals must surely be mutually exclusive ?
The text was updated successfully, but these errors were encountered: