value in r30 is written to r22 due to the mtspr.
and next l.muli instruction uses r22's value in multiplication.
However, next l.muli instruction mistakenly brings old value of r22 because the write back of first l.muli instruction occupies register write port when mtspr should write.
Register read-write bypass can fix this situation but I saw ENABLE_BYPASS parameters in mor1kx_rf_cappuccino.v is set to 0.
Are there any reason for it?
When I input multiply, mtspr, multiply instructions sequentially, like this,
value in r30 is written to r22 due to the mtspr. and next l.muli instruction uses r22's value in multiplication.
However, next l.muli instruction mistakenly brings old value of r22 because the write back of first l.muli instruction occupies register write port when mtspr should write. Register read-write bypass can fix this situation but I saw ENABLE_BYPASS parameters in mor1kx_rf_cappuccino.v is set to 0. Are there any reason for it?
The full input instructions are as follow.