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-MM Mem Ctrl Write response fix: fixed pop from empty std::queue representing fifo issue, causing the b valid to be forced high #24

Merged
merged 1 commit into from
Dec 6, 2023

Conversation

StephenMoreOSU
Copy link
Collaborator

The issue comes from the bvalid signal being set if the output write queue is not empty and somewhere along the line an empty std::queue was popped, underflowing "_output_write_queue_occupancy" and making the mem controller think that there were memory responses to be sent, forcing bvalid high.

Below is a trace printout demonstrating the issue with the previous AXI-MM B resp signals coming from memory controller

Sent AW Trans id 0 @ Cycle 5!
black_box_0_inst: Sent W Transaction id: 0 @ Cycle 7!
[MEM CTRL] WRITE CALLBACK @ ch 0 @ addr [0] data_word: 0
[MEM CTRL] Sending back B Response! @ Cycle 1d!
[MEM CTRL] _output_write_queue_occupancy: 1
[MEM CTRL] Sending back B Response! @ Cycle 1e!
[MEM CTRL] _output_write_queue_occupancy: 1
[MEM CTRL] Sending back B Response! @ Cycle 21!
[MEM CTRL] _output_write_queue_occupancy: ffffffff
[MEM CTRL] Sending back B Response! @ Cycle 23!
[MEM CTRL] _output_write_queue_occupancy: fffffffe

@StephenMoreOSU StephenMoreOSU changed the title fixed pop from empty std::queue representing fifo issue, causing the b valid to be forced high AXI-MM Mem Ctrl Write response fix: fixed pop from empty std::queue representing fifo issue, causing the b valid to be forced high Dec 5, 2023
@StephenMoreOSU StephenMoreOSU self-assigned this Dec 5, 2023
@andrewboutros andrewboutros merged commit 8136f55 into main Dec 6, 2023
10 checks passed
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 this pull request may close these issues.

2 participants