-
Notifications
You must be signed in to change notification settings - Fork 233
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
ISS mismatch on writing 0 to tdata1 #1517
Comments
Hi @silabs-oysteink The specification as my understanding goes, if an illegal value is written to a CSR, the value remains unchanged. |
Hi @eroom1966 , |
@silabs-oysteink This will need a revision of the model, which I can investigate now, I have your testcase, so I do have something I can quickly test against. On a related note, the reason I could not get the tracing to work was an error in the yaml file for the etrigger test, the yaml is still referring to the trigger test. |
Hi @eroom1966 I made an update to our user manual (which will also get merged over to the CV32E40S) that explains this behavior openhwgroup/cv32e40x#712 |
Hi @Silabs-ArjanB Thx |
Hi @eroom1966 tdata1 would then remain unchanged. The supported types are 0x5, 0x6, 0xF and also a write of tdata1 to 0x0000_0000 is supported (and will result in tdata1 of 0xF800_0000) |
Thanks for the clarification, this is what we thought, but wanted to be absolutely sure |
Hi @eroom1966 , we looked at above behavior again and unforunately we changed our mind. The change is documented in openhwgroup/cv32e40x#733 and will be released later. Effectively if type is written to an illegal value tdata1 will change to 0xF800_0000. So in the example you gave when writing 0x0abcdeff the resulting value will become 0xF800_0000 as well. The advantage for us for this change is that we can then express the behavior of this register with our regular WARL syntax (i.e. in this case we marked 0XF as the default resolution value for type). |
@Silabs-ArjanB |
Hi @eroom1966 , yes, this change and others will soon be released in a new user manual version (0.7.0). Your interpretation of the asterisk is correct. It is documented at https://docs.openhwgroup.org/projects/cv32e40x-user-manual/en/0.6.0/control_status_registers.html#csr-descriptions: |
@silabs-oysteink |
@MikeOpenHWGroup @silabs-oysteink |
This issue has been fixed. |
ISS mismatch on writing 0 to tdata1
Writing 0 to tdata1 shall cause tdata1 to contain a disabled trigger (type 15)

When writing 0 to tdata1 I get the following ISS mismatch:

Type
Steps to Reproduce
Use the same steps as issue #1516 to reproduce with the following modifications:
The text was updated successfully, but these errors were encountered: