The input DATA channel and output DATA channels
optionally support a tuser field. For each, the tuser field can be used to convey a User Field and/or a
Channel ID field. When both are selected, they are concatenated, with Channel ID in the
least significant bit positions. When User Field is selected on the input channel, it is
automatically selected for the output channel, as this User Field, like
packet-based
tlast is a facility
whereby the User Field is passed through the core, but subject to the same latency delay
as the tdata path from input to output. This is intended
to ease system design. The User Field has user-selected width.
The Channel ID field has the minimum width required to describe the number of channels in a time-division multiplex cycle (log2roundup(number_of_channels)); for example, with 13 channels, channel ID is 4-bits wide.
The output DATA channel also includes a Data Valid
field when aresetn has been selected without Data vector
reset being selected. This field can be used for additional validation of the m_axis_data_tdata bus. Refer to Resets for more details. The Data Valid field occupies the LSB
of m_axis_data_tuser with the other tuser fields, when selected, being shifted up the bus.
When the core has been configured to implement a
rate change. the following rules are applied to tuser
and tlast.
- When the core is configured with no rate change,
tuserandtlastpropagate through the core unmodified. - When the core is configured to up convert by X,
the input
tuserandtlastare duplicated on the last sample of the corresponding block of X output samples.tuseris undefined for the other X-1 output samples. - When the core is configured to down convert by X,
the
tuservalue for a given output sample is taken from thetuservalue of the first input sample of the corresponding X input samples.tlastis OR’d over X input samples with the result being used for thetlastof the corresponding output sample.