You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 allstrb 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.
The text was updated successfully, but these errors were encountered:
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
Issue
While https://abs-tudelft.github.io/tydi/specification/physical.html#data-signal-description indicates that
stai
andendi
are redundant when C≥7 (which adds support for a per-lanestrb
(strobe) signal), it is not clear whetherstai
andendi
are significant whenstrb
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
andendi
should have when transferring an "empty sequence".Assumed/Suggested Fix
stai
andendi
are insignificant when thestrb
of that index's data lane is driven low. (Which at C < 7, means thatstai
andendi
are insignificant altogether whenstrb='0'
.)Note/Potential Issue
Another potential issue might arise from a lack of clarity around
stai
andendi
when C≥7. While the abovedata
signal specification indicates thatThis does not clarify whether a source with C≥7 should employ
endi
andstai
in such a way.In the event that a source transfers
stai: 0, endi: 0, strb: 11010
do the
stai
andendi
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
andendi
are insignificant and lanes 1 and 3 are active.Hence, I propose specifying that
"
stai
andendi
are only significant when allstrb
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.
The text was updated successfully, but these errors were encountered: