FIFO最小深度計算方法

2022-07-07 07:12:14 字數 581 閱讀 2960

在實際工作中使用fifo,如何計算fifo的深度是乙個關鍵問題。本文以例項的形似,展示了在資料轉換時,fifo深度的計算方法。

例1,已知某a/d轉換的取樣率為50mhz, 而fpga工作在40mhz時鐘下,現在要處理10萬個資料,需要的緩衝fifo深度是多少?

答:(1)採集10萬個資料的總時間為:

ttotal = 100,000/50m = 2,000/m

(這裡為方便計算,以1/m作為單位);

(2)在這段時間內fpga能夠處理的資料個數是:

40m ✖ 2,000/m = 80,000個

(3)那麼需要儲存的資料個數是:

100,000 – 80,000 = 20,000個

總結,從上面例1,我們可以看出,計算需要fifo的深度至少是20,000。

例2,如例1所述,a/d向fpga傳資料的問題,但取樣率和工作時鐘相反,即取樣率為40mhz,fpga工作時鐘為50mhz。那麼此時需要fifo的深度是多少?

答:此時情況不同於例1,例1是從高速向低速傳輸資料,本例中是從低速向高速傳輸資料,為保證傳輸資料的連續性,fifo需要延時輸出,具體要延遲多少呢?答案是20,000。

FIFO最小深度計算

我們通常需要非同步fifo用作兩個不同時鐘域的模組之間的資料緩衝,確保不會丟失資料。通常因為讀速率慢於寫速率,慢的模組來不及讀取的資料要被快取下來,所以說,fifo的工作模式應該是,資料突發 burst 寫入的形式。也就是隔一段時間突發的寫一組資料。如果連續寫入的話,因為讀速率慢於寫速率,fifo肯...

非同步FIFO最小深度計算方法及原理分析

計算fifo深度是設計fifo中常遇到的問題。常識告訴我們,當讀速率慢於寫速率時,fifo便可被用作系統中的緩衝元件或佇列。因此fifo的大小基本上暗示了所需快取資料的容量,該容量取決於讀寫資料的速率。據統計,系統的資料速率取決於系統的負載能力。因此為了保證fifo的大小,我們需要考慮fifo傳輸的...

非同步FIFO最小深度計算方法及原理分析

計算fifo深度是設計fifo中常遇到的問題。常識告訴我們,當讀速率慢於寫速率時,fifo便可被用作系統中的緩衝元件或佇列。因此fifo的大小基本上暗示了所需快取資料的容量,該容量取決於讀寫資料的速率。據統計,系統的資料速率取決於系統的負載能力。因此為了保證fifo的大小,我們需要考慮fifo傳輸的...