cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
517 Views
Registered: ‎08-31-2012

AXI stream FIFO hangs at sfifo_ReceiveLength = (XLlFifo_iRxGetLen(InstancePtrRx))/SFIFO_WORD_SIZE;

I did an experiment with 2 AXI stream FIFOs that are connected together to send/receive data correctly. Using the c-code example in Xilinx repository, it is working. See red color in the attacment.

Next step, I disconnect the AXI stream bus between 2 IPs and a data generator IP (see attachment) is connected to receiving FIFO. See attachment with default connections. The input 'Start' is set to 1 to run data generation, including TVALID signaling. This start is controlled by software. At code running, the data abort handling occurs at readout 'sfifo_ReceiveLength = (XLlFifo_iRxGetLen(InstancePtrRx))/SFIFO_WORD_SIZE;'

Such experiments with TLAST, TSTRB and TKEEP do not solve this issue.

What goes wrong?

AXIStreamFifo_Example.JPG
Waveform.JPG
0 Kudos
1 Reply
Highlighted
Observer
Observer
469 Views
Registered: ‎08-31-2012

May be it is due to hidden configuration parameters and intelligent auto-connection in the block diagram. I have decided to develop a IP containing an AXI port with a native FIFO. Now it is working because I have full control over this IP.

0 Kudos