To send a UFC message, the application asserts ufc_tx_req
while driving ufc_tx_ms
with
the desired SIZE code for a single cycle. After a request, a new request cannot be made
until s_axi_ufc_tx_tready
is asserted for the final
cycle of the previous request. The UFC message data must be placed on s_axi_ufc_tx_tdata
and the s_axi_ufc_tx_tvalid signal must
be asserted whenever the bus contains valid message data.
The core deasserts s_axi_tx_tready
while sending UFC data and keeps s_axi_ufc_tx_tready
asserted until it has enough data to complete the
requested message. If s_axi_ufc_tx_tvalid
is
deasserted during a UFC message, idles are sent, s_axi_tx_tready
remains deasserted, and s_axi_ufc_tx_tready
remains asserted. If a CC, CB, or NFC request is made,
s_axi_ufc_tx_tready
is deasserted while the
requested operation is performed because CC, CB, and NFC requests have higher
priority.
s_axi_tx_tready
and s_axi_ufc_tx_tready
signals are deasserted for one cycle before the core accepts message data to allow the
UFC header to be sent.