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

Bug: AXI protocol violation #19

Open
dpretet opened this issue Oct 29, 2024 · 0 comments
Open

Bug: AXI protocol violation #19

dpretet opened this issue Oct 29, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@dpretet
Copy link
Owner

dpretet commented Oct 29, 2024

In axicb_mst_switch.sv module, a protocol violation may occur because of channel signals assignment. The master interface drives its output based on round robin granting, but in some situation described below, address and other fields change while they shouldn't:

  • Next masked request is granted to master 0, but it's not yet active and master 1 yes. Thus, non-masked request channel is driven, for instance master 1.
  • Next cycle master 0 becomes active so master interface drives its, and no more master 1.
  • Slave agent not ready on first cycle see AVALID/WALID asserted but ADDRESS / ALEN / WDATA (...) change.

One solution could be to rework the arbiter or its control.

Another one could be to store the grant value and block it as long as a slave is not active (preferred).

A protocol checker needs to be put in place to first catch the bug, then ensure the fix is correct.

This will be harmless in most situation but is out-of-spec. This bug concerns only crossbar configuration without CDC, buffer or pipeline on output slave path.

@dpretet dpretet self-assigned this Oct 29, 2024
@dpretet dpretet added the bug Something isn't working label Oct 29, 2024
@dpretet dpretet changed the title AXI protocol violation Bug: AXI protocol violation Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant