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

Bugfix/axis slave back to back transfers #858

Merged
merged 2 commits into from Aug 31, 2022

Conversation

bundi78
Copy link

@bundi78 bundi78 commented Aug 21, 2022

This PR shall fix the back-to-back transfer issue for axi-stream master/slave. This may fix #573.

Marquardt, Daniel added 2 commits August 21, 2022 09:41
The pop'ed message must be deleted after being parsed.
During the delta-cycle for handling of 'notify_bus_process_done', new
message_queue items may be issued, esp. when running the "other side"
in a "single sample while loop". Checking the queue before sleeping
allows back-to-back reads/writes of the axi-stream.
else
if is_empty(message_queue) then
-- Wait for messages to arrive on the queue, posted by the process above
wait until (not is_empty(message_queue) or areset_n = '0') and rising_edge(aclk);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All this looks more correct than it was before but I see that the asynchronous reset is basically checked at the rising edge of the clock such that its assertion becomes synchronous rather than asynchronous. Deassertion is correctly synchronous. I think that can be fixed in a separate PR.

@LarsAsplund LarsAsplund merged commit 62654e0 into VUnit:master Aug 31, 2022
@eine eine added this to the v4.7.0 milestone Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Regression Bug in AXI-Stream slave when upgrading from v4.0.8
3 participants