UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer erikcoenders
Observer
64 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?

0 Kudos
1 Reply
Observer erikcoenders
Observer
16 Views
Registered: ‎08-31-2012

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

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