For any request that includes an associated payload, the
user application can abort the request at any time during the transfer of
the payload by asserting the discontinue
signal in the
s_axis_rq_tuser
bus. The integrated block nullifies
the corresponding TLP on the link to avoid data corruption.
The user application can assert this signal in any cycle
during the transfer, when the request being transferred has an associated
payload. The user application can either choose to terminate the packet
prematurely in the cycle where the error was signaled (by asserting
s_axis_rq_tlast
), or can continue until all bytes
of the payload are delivered to the integrated block. In the latter case,
the integrated block treats the error as sticky for the following beats of
the packet, even if the user application deasserts the
discontinue
signal before reaching the end of the
packet.
The discontinue
signal can be asserted
only when
s_axis_rq_tvalid
is active-High. The integrated block samples this signal whens_axis_rq_tvalid
and s_axis_rq_tready
are both active-High. Thus, after assertion, the
discontinue
signal should not be deasserted until
s_axis_rq_tready
is active-High.
When the integrated block is configured as an Endpoint, this error is reported by the integrated block to the Root Complex it is attached to, as an Uncorrectable Internal Error using the Advanced Error Reporting (AER) mechanisms.