簡體   English   中英

異步 FIFO 深度計算

[英]Asynchronous FIFO depth calculation

我需要計算填充異步 FIFO 需要多長時間。 例如:假設模塊'A'想要向模塊'B'發送一些數據。 模塊A的頻率為80MHz。 B模塊的頻率為50MHz。 突發長度為 120。讀取和寫入都沒有空閑周期。 FIFO 深度為 20。填充 FIFO 需要多長時間?

我知道FIFO的最小深度應該是45。'寫入一個數據項所需的時間=1/80MHz=12.5ns 寫入突發中所有數據所需的時間=120*12.5ns=1500ns。 讀取一個數據項所需的時間=1/50MHz=20ns。 在 1500ns=1500/20=75 的時長內可以讀取的數據項數 FIFO 中要存儲的剩余字節數=120-75=45。 但是如果 FIFO 的深度是 20。我如何計算填充 FIFO 的時間?

問題2:我閱讀了一些材料。 如果是連續寫入,FIFO的深度應該是無限的。 連續寫入和突發寫入有什么區別? 為什么有限深度的 FIFO 足以讓突發寫入?

假設你在兩邊都在不斷地閱讀和寫作。 對於理論上的完美 FIFO,只需求解方程:

80000000*x-50000000*x=20
30000000*x=20
x=20/30000000
x=0.667µs

然而,現實世界的 FIFO 具有跨時鍾域同步器,這從本質上將可用 FIFO 深度減少了幾個條目。 通常有 2~4 個條目不可用。 您需要檢查您的特定 FIFO,以准確了解由於時鍾域交叉同步而丟失了多少時鍾周期,從而丟失了 FIFO 深度。

在這種情況下,我不知道您所說的“爆發”是什么意思。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM