05-31-2021 04:39 AM
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 ....
05-31-2021 05:59 AM
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?
05-31-2021 08:16 AM
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?
05-31-2021 09:19 AM
"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.
06-01-2021 12:04 AM
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.