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

[rtl] add err_o signal to IMEM modules #273

Merged
merged 8 commits into from
Feb 5, 2022
Merged

Conversation

stnolting
Copy link
Owner

@stnolting stnolting commented Feb 5, 2022

This PR adds the err_o signal to the IMEM module(s). This signal is set if the IMEM is implemented as true ROM and software attempts to perform a write access to it, which will create a "device error".

If there is a write access to a read-only IMEM the 📚 default runtime environment trap handler will output an error message (in this example: store 32-bit word to address 0x0000_0004):

<RTE> Store access fault [DEVICE_ERR] @ PC=0x0000016E, MTVAL=0x00000004 </RTE>

edit

This PR also add the err_o signal to the processor's BOOTROM.


ℹ️ Before this PR write access to the IMEM also raised a bus exception by not asserting the IMEM's ack_o signal, which resulted in a "device timeout error":

<RTE> Store access fault [TIMEOUT_ERR] @ PC=0x0000016E, MTVAL=0x00000004 </RTE>

If the IMEM is implemented as true ROM any write attempt will raise a _store access fault_ exception with "[DEVICE_ERR]" error code (from the BUSKEEPER)
@stnolting stnolting added the HW hardware-related label Feb 5, 2022
@stnolting stnolting self-assigned this Feb 5, 2022
add err_o signal to IMEM module(s)
@stnolting
Copy link
Owner Author

⚠️ TODO: update the IMEM modules in neorv32-setups when this is merged

@stnolting stnolting marked this pull request as ready for review February 5, 2022 07:38
@stnolting stnolting merged commit b83f370 into master Feb 5, 2022
@stnolting stnolting deleted the add_imem_err_signal branch February 5, 2022 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HW hardware-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant