Merged
Conversation
When the 'valid' signal is low for an AXI (-Lite) channel, the signals of the channel should be driven with 'X'. They should not keep their value from the last time the channel was valid. This can hide errors in the DUT if the DUT samples values in the wrong clock cycle. This change is largely inspired by the AXI-Stream VCs. Note that this changes the default behavior of the three VCs, so in some sense it is a breaking change. This could be avoided by setting the default value 'drive_invalid' generic to 'false'. Though having it set to 'true' is symmetric with the AXI-Stream VCs. And in my personal opinion it should be enabled in pretty much all cases, to get a stronger test.
Contributor
Author
|
Note that this is a reopen of #802, which I accidentally closed by deleting my fork, not realizing that this would close the PR. Could not find a way to open that again, so I create this new PR instead. The diff is exactly the same, which has been reviewed by two people in #802. I have added two commits above, however, that fix some minor formatting and comments. |
Collaborator
|
I'm ok with these changes but still some work on the test cases to have them pass. At this point, breaking changes are ok since next release is v5.0. |
Contributor
Author
|
Ah sorry, I didn't check CI status. Should be fixed now @LarsAsplund. Thank you! |
Member
|
See #997. |
Merged
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When the 'valid' signal is low for an AXI (-Lite) channel, the signals of the channel should be driven with 'X'.
They should not keep their value from the last time the channel was valid.
This can hide errors in the DUT if the DUT samples values in the wrong clock cycle.
This change is largely inspired by the AXI-Stream VCs.
Note that this changes the default behavior of the three VCs, so in some sense it is a breaking change.
This could be avoided by setting the default value
drive_invalidgeneric tofalse.Though having it set to
trueis symmetric with the AXI-Stream VCs.And in my personal opinion it should be enabled in pretty much all cases, to get a stronger test.