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

It is not clear whether "stai" and "endi" signals are significant when "strb" is low. #223

Open
matthijsr opened this issue Mar 26, 2022 · 0 comments
Labels
🐬 specification Item related to the specification

Comments

@matthijsr
Copy link

Issue

While https://abs-tudelft.github.io/tydi/specification/physical.html#data-signal-description indicates that stai and endi are redundant when C≥7 (which adds support for a per-lane strb (strobe) signal), it is not clear whether stai and endi are significant when strb is low, although this is implied.

At lower complexities (C<7) the strb signal still exists, but only as a single bit to indicate that the entire transfer's data is inactive.

For a concrete example, it is unclear what values stai and endi should have when transferring an "empty sequence".

Assumed/Suggested Fix

stai and endi are insignificant when the strb of that index's data lane is driven low. (Which at C < 7, means that stai and endi are insignificant altogether when strb='0'.)

Note/Potential Issue

Another potential issue might arise from a lack of clarity around stai and endi when C≥7. While the above data signal specification indicates that

while a source that desires individual control over the lanes and thus has C≥7 would probably always drive endi to N−1 and stai to 0, a sink with complexity C≥7 still needs to accept input from sources that do use endi and stai.

This does not clarify whether a source with C≥7 should employ endi and stai in such a way.

In the event that a source transfers
stai: 0, endi: 0, strb: 11010
do the stai and endi signals take precedence? (I.e., only lane 0 is truly active.)

Now, what about:
stai: 0, endi: 0, strb: 01010
Since lane 0 is now inactive, taking my suggested fix, stai and endi are insignificant and lanes 1 and 3 are active.

Hence, I propose specifying that
"stai and endi are only significant when all strb bits are driven high"
As this still allows for sources with C<7 to be compatible with sinks with C≥7, but does not allow for sources with C≥7 to create confusing transfers.

@mbrobbel mbrobbel added the 🐬 specification Item related to the specification label Mar 28, 2022
@mbrobbel mbrobbel changed the title [Spec] It is not clear whether "stai" and "endi" signals are significant when "strb" is low. It is not clear whether "stai" and "endi" signals are significant when "strb" is low. Mar 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐬 specification Item related to the specification
Projects
None yet
Development

No branches or pull requests

2 participants