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

LSU AXI ID is non-constant #250

Open
calebofearth opened this issue Oct 22, 2024 · 3 comments
Open

LSU AXI ID is non-constant #250

calebofearth opened this issue Oct 22, 2024 · 3 comments

Comments

@calebofearth
Copy link
Contributor

LSU AXI ID (ARID and AWID) is determined by a buffer pointer.
Caliptra requires the AXI ID to be a constant value, so that access privileges in the system can be maintained.

Feature request:

  • LSU (and IFU) AXI ID should have an operating mode that allows a deterministic ID to be used. This will also require strict access ordering on the AXI interface, as per the AXI specification.
  • In this operating mode, AXI ID should also be tied to the active Privilege Level (i.e. Machine Mode vs User Mode have different AXI ID).
@calebofearth
Copy link
Contributor Author

@bharatpillilli @vsonims FYI

@algrobman
Copy link

AxID , RID and BID are used to relate requests and responses on AXI bus to allow out of order responses, speeding up bus operation. If you need bus with in-order response use AHB option. BTW, AxPROT fields of the AXI provide info of what mode the processor is in (user or privileged) if this is not sufficient, AxUSER field can be added.
Transactions on LSU bus can be serialized if used in application memory regions are defined as "side-effect" by programming MRAC CSR

@bharatpillilli
Copy link

bharatpillilli commented Oct 23, 2024

We understand that but due to certain SOC construction use models, we have made this request to allow us to have a configuration that we stated above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants