Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Partial) fix for issue #325. #650

Merged

Conversation

silabs-oysteink
Copy link
Contributor

Halting EX stage if a CSR write in WB may enable interrupts and at the same time there is an LSU instruction in EX. Fix implemented for both CLIC and basic interrupt mode.

Issue can still occur when X_EXT=1. Fixing this would also need several other fixes for the X-interface.

Signed-off-by: Oystein Knauserud [email protected]

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Halting EX stage if a CSR write in WB may enable interrupts and at the same time there is an LSU instruction in EX. Fix implemented for both CLIC and basic interrupt mode.

Issue can still occur when X_EXT=1. Fixing this would also need several other fixes for the X-interface.

Signed-off-by: Oystein Knauserud <[email protected]>
@@ -93,6 +93,7 @@ module cv32e40x_cs_registers import cv32e40x_pkg::*;
input logic [7:0] mnxti_irq_level_i,
output logic clic_pa_valid_o, // CSR read data is an address to a function pointer
output logic [31:0] clic_pa_o, // Address to CLIC function pointer
output logic csr_irq_enable_write_o, // An irq enable write is being performed in WB (mie or mstatus.mie)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove '(mie or mstatus.mie)' as it is not accurate for CLIC

Signed-off-by: Oystein Knauserud <[email protected]>
@Silabs-ArjanB Silabs-ArjanB merged commit b06ea7d into openhwgroup:master Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants