AXI4-ST drops TREADY when traffic is started before AIB link up
nij-intel opened this issue · comments
This is the condition in which this issue occurs:
- No AIB link
- Leader drives TDATA and TVALID after axi reset
- Follower is always TREADY = 1
Why this happens:
- Leader side application sends data and waits for TREADY (tx_online is 0)
- AIB links up and tx_online=1. TREADY goes high
- AXI receives user data in FIFO and asserts FIFO full. This will de-assert TREADY
- AXI-ST leader transmit the data to AIB through CA module asserting master_align_done=1
- AIB leader transmits the data to AIB follower
- CA follower module align done is still low and drops packet from AIB follower
- AXI-ST follower does not get packet and will not send credit update to AXI-ST leader
- AXI-ST leader is waiting for credit update from follower and waits for forever.
- This keeps TREADY low for ever.
Work around:
Start AXI-ST traffic after AIB-link is establishes (tx_online=1)
Waveform
To reproduce this issue we had to set delay_y_value = 0