在我們設計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太深呢,


