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

axi_to_mem: Error response signals in B and R response channels #319

Closed
glaserf opened this issue Jul 25, 2023 · 0 comments · Fixed by #320
Closed

axi_to_mem: Error response signals in B and R response channels #319

glaserf opened this issue Jul 25, 2023 · 0 comments · Fixed by #320

Comments

@glaserf
Copy link

glaserf commented Jul 25, 2023

I have the following questions regarding the assignment of the resp field of the B and R response structs in axi_to_detailed_mem, lines

resp: mem_err_i ? axi_pkg::RESP_SLVERR : mem_exokay_i ? axi_pkg::RESP_EXOKAY : axi_pkg::RESP_OKAY,
and
resp: mem_err_i ? axi_pkg::RESP_SLVERR : mem_exokay_i ? axi_pkg::RESP_EXOKAY : axi_pkg::RESP_OKAY,

  • mem_err_i and mem_exokay_i are possibly multi-bit, if NumBanks is not equal to 1. Therefore, I think either a vector-reduction OR or AND should be placed in front of those signals when deciding on the appropriate AXI response types.
  • mem_err_i and mem_exokay_i, and, in the same fashion possibly additional side-channel/meta signals from the downstream memory are used "directly" here, while the other fields of axi_resp_o.b/r are taken from buffers "deep" within the module. Particularly, m2s_resp in the R response comes out of a FIFO that can be any number of elements deep. So does this not create misalignment issues between the fields in the responses, e.g., an error response from a different read than what the data in m2s_resp belong to?
    For a multi-beat AXI write burst where only one or few beats in the middle of the burst cause the memory to respond with an error, won't this cause the error to get lost and not being propagated to the B response at the end of the beat?
    For multi-beat read bursts, if the response FIFO in stream_to_mem actually fills and cannot operate only in pass-through, this should similarly lead to error responses being assigned to the wrong R-response, or lost.
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

Successfully merging a pull request may close this issue.

1 participant