cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Participant
Participant
4,705 Views
Registered: ‎03-16-2014

AXI Virtual FIFO throughput

Jump to solution

Hi,

 

I am testing AXI Virtual FIFO on VC707.  My goal is to use DRAMS as 2 FIFOs 16MB each.

 

Both FIFOs will be filled by 32b samples at 10MSps. Therefore input stream is 2x4B*10 = 80MBps

 

Both FIFOS will be consumed by successive blocks running at 200MHz. Again 80MBps throughput for read.

 

I assume the DDR bandwidth and the VFIFO bandwidth is far beyond what I require as the  VFIFO datasheet (pg038) says a throughput of 80Gbps is achieved.

 

However I could not achieve this. Following is a simple test setup where VFIFO is fed by 2 FIFOs having ramp data running with 10MHz clk.  The VFIFO runs with 200MHz ui clk of the DDR.

 

I have debug ports in quite a bit of AXI stream buses, howver the  TREADY signal of VFIF0 bound to the feeding FIFO is enough to explain the problem. The TREADY signal rarely becomes high to fetch the data from the input FIFOs causing the FIFOs to overflow. Therefore I cannot achieve the speed I require. Screenshot is attached. Signal names are self explanatory. 

 

Notes:

1) When I run the input FIFOs with 5MHz clock then the setup works fine. No overflows...etc.

 

 

What is the reason? I am eventually aiming for 100MSps input streams. How can I increase the throughput? 

 

If you want to replicate you can do so with sys.tcl provided in the attachment.

 

Thanks in advance

 

Block Design

 

 

 

HWMAnager.PNG

 

BD.PNG
HWMAnager.PNG
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Participant
Participant
8,023 Views
Registered: ‎03-16-2014

Ok!  The arbitrate on maximum number of transfers setting was the solution.  It was  the default value 1 which requires continuos switching of channels. Increasing it solved the problem.

View solution in original post

0 Kudos
2 Replies
Highlighted
Participant
Participant
8,024 Views
Registered: ‎03-16-2014

Ok!  The arbitrate on maximum number of transfers setting was the solution.  It was  the default value 1 which requires continuos switching of channels. Increasing it solved the problem.

View solution in original post

0 Kudos
Highlighted
Explorer
Explorer
3,484 Views
Registered: ‎03-03-2011

Hi,

 

I'm currently trying to use the Virtual FIFO IP and have throughput issues but I don't see the 'arbitrate on maximum number of transfers' setting. Is it the AR value as shown in the attached screen grab?

 

Cheers,

Adrian

 

 

vfifo_ip.png
0 Kudos