There are no separate back-pressure signals for the user metadata interfaces. These interfaces follow the corresponding packet TREADY signals of the packet AXIS interfaces, for example:
s_axis_tvalid
and user_metadata_in_valid
are asserted for the first word of a
packet, and s_axis_tready = 0
, then s_axis_tvalid
and user_metadata_in_valid
should remain asserted until at least the cycle
after s_axis_tready = 1
, as shown in the following
timing diagram.Similarly, if m_axis_tready = 0
during
the first word of a packet, then m_axis_valid
and
user_metadata_out_valid
should remain asserted
until the cycle after m_axis_tready = 1
, at which time
user_metadata_out_valid
is deasserted if there are
further data words for the same packet.
m_axis_tvalid =
1
, m_axis_tlast = 1
and m_axis_tkeep = 0
. The metadata output shall be aligned with
this single-beat packet as shown in the following timing diagram. If this option is disabled, there are no m_axis_tvalid
or user_metadata_out_valid
signals for the dropped packet.
If the keywords axis_tuser, axis_tid or axis_tdest are used in the metadata structure, the signals are mapped to/from the TUSER/TID/TDEST ports. In this case there are still placeholders for these fields in the user_metadata_in structure but these are ignored by Vitis Networking P4. The values are output in both the user_metadata_out structure and the TUSER/TID/TDEST ports.