01-22-2019 06:00 AM
I have a fifo whose
wr_clk = 250 MHz and 128 bits are written every wr clock cycle without any break.
rd_clk = 500 Mhz and 16 bits are coming out of fifo as soon as empty flag goes low. (8 cycles of 500 MHz clock to read 128 bits).
How to calculate fifo depth so it does not get full?
01-22-2019 06:19 AM
Impossible.
You are writing data 4x quicker than you can read it.
Write side BW = 32GB/s
read side BW = 8GB/s
Also, wondering how you expect to meet timing at 500 Mhz.
I think your clock speeds or data write rate might be wrong.
01-22-2019 06:19 AM
Impossible.
You are writing data 4x quicker than you can read it.
Write side BW = 32GB/s
read side BW = 8GB/s
Also, wondering how you expect to meet timing at 500 Mhz.
I think your clock speeds or data write rate might be wrong.
01-22-2019 06:28 AM
This is zync ultrascale + chip. Can't it meet timing with 500 mhz design?
What solution do you suggest for this problem. Should I half the wr data width and use 2 fifos?
01-22-2019 06:34 AM
halving the data width and using two fifos means the bandwidth match, but empty will never go low (and you may lose the occasional Dword based on PPM clock differences).