-
Notifications
You must be signed in to change notification settings - Fork 32
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
Should wishbone.Decoder generate bus errors for unmapped addresses? #38
Comments
I would say yes. |
It should be an independant feature though. |
@galibert Could you explain your reasoning? |
I see three different features flags in there: (a) is required for (b) and (c), but I don't see why (a) should force (b) and (c) to be true. In particular you may want to cope with all bad accesses with a global timeout, then specific support in the decoder is just wasted gates. Also, it goes in general with a capability of the decoder to do something when an access is unmapped. Generating an error is just one possibility, but you also may want to go to a specific device for subtractive decoding, or just trigger a line that can light a led and leave everything frozen for debugging. So the configurability of (c) could go further that just "error or not". |
In general, I would expect from a WB interface to follow the protocol and terminate the bus cycle, which means (in case
(a) does not force (b). If a device does not have I kind of agree that (a) -> (c) should be optional, being able to handle bad addresses separately from bus errors seems like a valid concern. The detection can also be expensive, because it has to be done on top of the decoding (basically I also think the behaviour outlined in case 1) above should be caught by default, but that is maybe a separate issue. |
Currently, the Decoder does not catch illegal addresses, meaning that the initiator hangs itself waiting for ack (unless there is a timeout implemented).
When constructed with
features = {"err"}
, the Decoder only propagates errors from the subordinate busses. Would it be appropriate to also signal an invalid address?The text was updated successfully, but these errors were encountered: