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
Just by simply executing the simple system with hello world I found this issue. Enable the WritebackStage as well as the BranchPredictor. Then execute the program with any simulator.
In the instruction logfile, something odd appears:
It seems that after mret the next consecutive instruction is loaded into the pipeline before the execution is continued at the epc value. This can also be seen in the waveform:
The issue seems to be that the signal instr_skid_en is set since there is no special case implemented to detect that this is a trap return.
Is this a bug or is this behavior intended?
Expected Behavior
The intended behavior would result in the following instruction trace:
Observed Behavior
Just by simply executing the simple system with hello world I found this issue. Enable the WritebackStage as well as the BranchPredictor. Then execute the program with any simulator.
In the instruction logfile, something odd appears:
It seems that after
mret
the next consecutive instruction is loaded into the pipeline before the execution is continued at theepc
value. This can also be seen in the waveform:The issue seems to be that the signal
instr_skid_en
is set since there is no special case implemented to detect that this is a trap return.Is this a bug or is this behavior intended?
Expected Behavior
The intended behavior would result in the following instruction trace:
Steps to reproduce the issue
First I modified the config file and added a new config:
I executed the following sequence:
Then I observed the logfile
trace_core_00000000.log
My Environment
EDA tool and version:
Verilator 5.020 2024-01-01 rev v5.020
Operating system:
Ubuntu Linux 22.04
Version of the Ibex source code:
eea2bf0
The text was updated successfully, but these errors were encountered: