cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
vhdlveri123
Explorer
Explorer
749 Views
Registered: ‎04-21-2021

FIFO design

Hi,

I am trying to transmit data to GTH from FIFO. The data width is 32 bits, so what should be the depth of the FIFO?

0 Kudos
17 Replies
ghasemi_r
Explorer
Explorer
729 Views
Registered: ‎05-07-2018

it depends on GT rate and Clock process before GT

0 Kudos
vhdlveri123
Explorer
Explorer
727 Views
Registered: ‎04-21-2021

The GT rate is 3.25GB/s and the clock is 100 MHz.

0 Kudos
vhdlveri123
Explorer
Explorer
701 Views
Registered: ‎04-21-2021

And this is an external FIFO, y should it depend on the data rate? I am using two Aurora IP and the data is transmitted between the GTHs. The FIFO Is in the user interface.

0 Kudos
ghasemi_r
Explorer
Explorer
681 Views
Registered: ‎05-07-2018

As I understand, rate of data in process is 3.2 Gbps (32 bit each 100Mhz) and rate of GTH is 3.25 Gbps. 

So, you can use one fifo and no need to worry about depth.

But in reverse situation you need to have ping pong fifo or ....

vhdlveri123
Explorer
Explorer
663 Views
Registered: ‎04-21-2021

Hi,

I am transmitting the data from AHB bus to GTH through FIFO, the AHB bus is transmitting the data at 100Mhz, and the data is passed through a FIFO to Aurora IP.. So should we consider the fifo depth here?

0 Kudos
vhdlveri123
Explorer
Explorer
636 Views
Registered: ‎04-21-2021

Please have a look at the below image

FIFO.jpg
0 Kudos
ghasemi_r
Explorer
Explorer
634 Views
Registered: ‎05-07-2018

No, I don't think so.

bruce_karaffa
Scholar
Scholar
615 Views
Registered: ‎06-21-2017

The image tells nothing.  What is the incoming data rate?  What is the outgoing data rate?  If they are the same, are the clocks ultimately driven from the same oscillator?  Is the data bursty or continuous? 

0 Kudos
vhdlveri123
Explorer
Explorer
612 Views
Registered: ‎04-21-2021

The incoming and outgoing data rate is 3.125Gbps. The data is bursty. Which clocks do you mean?

0 Kudos
ghasemi_r
Explorer
Explorer
584 Views
Registered: ‎05-07-2018

You are using aurora IPCORE 64/66, so you need to evaluate clock frequency with the factor of 66/64.

Also you need to convert 32 bit input data in to 64 in fifo. 

 

joancab
Teacher
Teacher
584 Views
Registered: ‎05-11-2015

"The data width is 32 bits, so what should be the depth of the FIFO?"

The size of a FIFO doesn't depend on the data rate or width. A FIFO is needed to buffer data whenever the producing and consuming rates are temporarily different. First, the consumer average rate must be equal or higher than the producer. If that is granted, the FIFO size should hold data for the worst case of the producer sending at the highest rate and consumer at its minimum. Obviously that's for some lapse of time. If your case is a constant rate producer, then your worst case may be the maximum unavailable time of the consumer. In practice, because FIFO sizes typically double at every notch, you can start with a (conservative) guess and when debugging you can have a little HDL that reads the amount of data in the FIFO and records the maximum for you, so can assess if the size can be reduced.

vhdlveri123
Explorer
Explorer
537 Views
Registered: ‎04-21-2021

No i am using Aurora 8/10B

0 Kudos
ghasemi_r
Explorer
Explorer
497 Views
Registered: ‎05-07-2018

So the throughput are decreasing to 80 percent, the real rate of data transmission in 8b/10b must considered. 

I think it is better to tell us about every detail.

 

0 Kudos
vhdlveri123
Explorer
Explorer
413 Views
Registered: ‎04-21-2021

Hi,

No, In Aurora 8/10B ,the 32 bit incoming data is converted to 40 bit. So no problem of throughput. So what should i consider while choosing the FIFO depth?

0 Kudos
vhdlveri123
Explorer
Explorer
413 Views
Registered: ‎04-21-2021

I am confused with the depth.as the frequencies in both side is same. what will it depend upon?

0 Kudos
ghasemi_r
Explorer
Explorer
360 Views
Registered: ‎05-07-2018

If you have 100MHz clock and continous 32bit data transfer befor GT, and you increase data with 8b/10b, 8 bit for every 32bit, you need to consider some change in aurora data transfer. For example increase auroura data rate by 40/32 factor.

And it is not related to fifo.

Actually, fifo is not the case you need to pay attention to. 

 

vhdlveri123
Explorer
Explorer
346 Views
Registered: ‎04-21-2021

Hi,

I did that. Thanks for the suggestion.

So now what about the depth? I changed the rate to 6.125 two lanes.

0 Kudos