付費限定

[Verilog] 再次征戰FIFO地獄 - (7) fifo depth

更新 發佈閱讀 8 分鐘

在我們設計FIFO時,

除了基本的design架構外,

最重要的就是FIFO深度的考量.

作為儲存data的空間來說, 必定地越大越好,

就像買手機一樣, 儲存空間越大就越可以無腦使用不用怕空間不足的問題.

然而這背後所付出的代價就是錢錢了.

Fifo使用的越深, 可以保存到越多的Data,

但每增加一層深度對於area和power都是一個抉擇

那麼問題來了,

甚麼樣叫做足夠的深度, 需要儲存多少的data才可以剛剛好既不浪費也不會引響效能?

這裡讓我們來探討探討.


首先一個簡單的問題,

如果fifo太少,會發生甚麼事? fifo太多又會如何?


如果fifo的深度太少的話,

我們會看到一個情況,

先前我們設計的fifo design中 有一個full的訊號

會因為read ptr == write ptr 導致經常拉起,

讓write端無法繼續把data寫入使write function idle

降低了performace


那如果fifo太深呢,

以行動支持創作者!付費即可解鎖
本篇內容共 3161 字、0 則留言,僅發佈於IC面試專班你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
數位IC設計第一品牌
157會員
30內容數
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
2025/10/18
當你信心滿滿的解釋完fifo原理和RTL coding後 老闆們總是喜歡嘗試擊破那個有自信的你 地獄般的題組考驗這就來了 fifo觀念解釋的很棒, rtl coding也沒問題 那靠gray code就能保證post silicon不會有問題了嗎? 如果chip回來發現fifo的read
Thumbnail
2025/10/18
當你信心滿滿的解釋完fifo原理和RTL coding後 老闆們總是喜歡嘗試擊破那個有自信的你 地獄般的題組考驗這就來了 fifo觀念解釋的很棒, rtl coding也沒問題 那靠gray code就能保證post silicon不會有問題了嗎? 如果chip回來發現fifo的read
Thumbnail
2025/09/12
準備實作Async Fifo時, 我習慣將整個架構切成4塊來實作, 讓coding實的思緒比較有條理一點. Block 0 : 整體的interface Block 1 : mem周邊 Block 2 : Gray code pointer control Block 3 : wri
Thumbnail
2025/09/12
準備實作Async Fifo時, 我習慣將整個架構切成4塊來實作, 讓coding實的思緒比較有條理一點. Block 0 : 整體的interface Block 1 : mem周邊 Block 2 : Gray code pointer control Block 3 : wri
Thumbnail
2025/08/11
回到這張看起來很複雜的AFIFO架構圖 (*藍色訊號為write clk *紅色訊號為read clk) 我們開始來專心探討一下圖中B2G這區塊的功用 相信各位看懂架構後coding就不是甚麼大問題 回顧一下, 我們先思考ptr在傳輸時沒有處理CDC issue時會發生甚麼事? pt
Thumbnail
2025/08/11
回到這張看起來很複雜的AFIFO架構圖 (*藍色訊號為write clk *紅色訊號為read clk) 我們開始來專心探討一下圖中B2G這區塊的功用 相信各位看懂架構後coding就不是甚麼大問題 回顧一下, 我們先思考ptr在傳輸時沒有處理CDC issue時會發生甚麼事? pt
Thumbnail
看更多