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
The behaviour of enforcing the number of bits in user to be a multiple of number of bytes in data is, in the AXI Stream standard, a recommendation, but not a requirement:
It is recommended, but does not require, that the number of TUSER bits is an integer multiple of the width of the
interface in bytes. The User signals for each byte must be packed together in adjacent bits within TUSER
Furthermore, there is a use-case of transfer-based information, which is what I'm trying to do:
TUSER can be used to convey information that is relevant to an entire transfer rather than to individual bytes. For
example, when the same information applies to every byte in a transfer, it is more efficient to indicate the additional
information once only for the entire transfer rather than replicating it for each byte within the transfer.
In this case it does not make sense to enforce user to be a multiple of number of bytes in data.
The text was updated successfully, but these errors were encountered:
In the current implementation the
user
signal inAxi4StreamBundle
is defined to bedataWidth * userWidth
:SpinalHDL/lib/src/main/scala/spinal/lib/bus/amba4/axis/Axi4Stream.scala
Line 39 in ef0063d
This directly contradicts the scaladoc comment defining
userWidth
:SpinalHDL/lib/src/main/scala/spinal/lib/bus/amba4/axis/Axi4Stream.scala
Line 11 in ef0063d
The behaviour of enforcing the number of bits in
user
to be a multiple of number of bytes indata
is, in the AXI Stream standard, a recommendation, but not a requirement:Furthermore, there is a use-case of transfer-based information, which is what I'm trying to do:
In this case it does not make sense to enforce
user
to be a multiple of number of bytes indata
.The text was updated successfully, but these errors were encountered: