Skip to content

Feature/non aligned tlast and tvalid during stalls#1195

Merged
LarsAsplund merged 6 commits intomasterfrom
feature/non-aligned-tlast-and-tvalid-during-stalls
Apr 13, 2026
Merged

Feature/non aligned tlast and tvalid during stalls#1195
LarsAsplund merged 6 commits intomasterfrom
feature/non-aligned-tlast-and-tvalid-during-stalls

Conversation

@LarsAsplund
Copy link
Copy Markdown
Collaborator

@LarsAsplund LarsAsplund commented Apr 13, 2026

This PR improves the user control over what values are driven on the AXI stream bus when tvalid is low and the bus is inactive. The default value is still X for all signals but tuser which is assigned zero(s). The reason for the default value of tuser is that it often carries control information that is more sensitive to X values. An X value on tuser would also violate rule 10 of the axi_stream_protocol_checker which requires tuser to be a known value when the reset is inactive. Rule 10 is based on a rule in the protocol checker from ARM.

This PR also improves the granularity for assigning the inactive values as tdata, tlast, tkeep, tstrb, tid, tdest, and tuser can be controlled separately. All bits in these signals are assigned either 0, 1, X, random zeros and ones, or they keep the previous valid value.

The inactive value configuration is controlled by a new parameter inactive_policy to the new_axi_stream_master function. This is a breaking change from the previous generic-based configuration if the generics have non-default values. The generics will remain for a transition period but they serve no other purpose than providing an error if they are set at non-default values.

The configuration can also be changed dynamically with the set_inactive_axi_stream_policy command.

Dynamic control of the AXI stream VC stall configuration has also been added (set_stall_config).

@LarsAsplund LarsAsplund force-pushed the feature/non-aligned-tlast-and-tvalid-during-stalls branch from 6fa5d18 to 4539b0e Compare April 13, 2026 14:27
@LarsAsplund LarsAsplund merged commit e311092 into master Apr 13, 2026
53 of 55 checks passed
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.

1 participant