在FPGA的設(shè)計(jì)中的,內(nèi)部的FIFO和RAM是兩種非常常見的存儲(chǔ)單元。有的場(chǎng)景是只能使用RAM,比如存放表項(xiàng)的時(shí)候,有的場(chǎng)景是RAM和FIFO都可以使用,比如存放數(shù)據(jù)的時(shí)候,從功能的角度來(lái)講,F(xiàn)PGAer都知道這兩種存儲(chǔ)單元如何使用,但是從工程的角度,比如板上問題的定位、存儲(chǔ)單位讀寫邏輯的修改和維護(hù)等方面來(lái)看,用FIFO還是用RAM還是有點(diǎn)點(diǎn)講究了。
FIFO
關(guān)于FIFO的基本原理,可以參考FIFO的應(yīng)用,里面對(duì)FIFO有非常詳細(xì)的介紹。這里從優(yōu)缺點(diǎn)2個(gè)方面重新看到FIFO
FIFO的優(yōu)點(diǎn)
從使用FIFO的角度來(lái)看,F(xiàn)IFO優(yōu)點(diǎn)很明顯,使用簡(jiǎn)單,問題定位也方便。
首先是時(shí)序簡(jiǎn)單:FIFO通過(guò)讀寫使能控制,只要不滿,就可以寫入數(shù)據(jù);只要不空,就可以讀出數(shù)據(jù)。不需要關(guān)心數(shù)據(jù)在內(nèi)部的存儲(chǔ)位置。
定位問題簡(jiǎn)單:在工程實(shí)踐中,對(duì)FIFO的問題定位比較簡(jiǎn)單,常見的錯(cuò)誤就是上下溢出、非空情況下不讀、長(zhǎng)空長(zhǎng)滿等。這些現(xiàn)象FIFO一般都給出了相應(yīng)的信號(hào),所以非常好定位。
擴(kuò)展性好:FIFO不僅僅是一個(gè)緩存,同時(shí)也很好的邏輯隔離單元,寫邏輯部分的修改不影響讀邏輯;同理讀邏輯部分的修改不影響寫邏輯,減少了邏輯的耦合性。
FIFO的缺點(diǎn)
FIFO的缺點(diǎn),首先不能控制地址,也就不能控制數(shù)據(jù)寫入和讀出的位置,所以不能存放表項(xiàng);還有一個(gè)缺點(diǎn)就是從資源的角度來(lái)看,需要有額外的邏輯來(lái)控制讀寫,還要產(chǎn)生空、滿信號(hào)等;最后在一些特殊的應(yīng)用場(chǎng)景下,比如對(duì)數(shù)據(jù)從寫入到讀出有延時(shí)需求的場(chǎng)景,不同的FIFO設(shè)計(jì),有可能不滿足要求。
RAM
關(guān)于RAM的基礎(chǔ)原理,前面有也有過(guò)詳細(xì)的介紹,可以參考RAM的應(yīng)用。
RAM的優(yōu)點(diǎn)
存放表項(xiàng):由于RAM的讀寫地址可以由用戶自己控制,所以RAM是FPGA內(nèi)存放大表項(xiàng)的幾乎唯一的選擇。
覆蓋:在數(shù)據(jù)需要丟棄的場(chǎng)景中,可以通過(guò)重復(fù)寫的方式來(lái)覆蓋原來(lái)的數(shù)據(jù),從而實(shí)現(xiàn)丟棄的功能。
回讀:在有的場(chǎng)景中,同一個(gè)數(shù)據(jù)可能需要從緩存中多次讀出,這種場(chǎng)景下RAM也是唯一的選擇。
RAM的缺點(diǎn)
讀寫控制:相比FIFO的讀寫控制,增加了地址這個(gè)控制信號(hào)。從以往的經(jīng)驗(yàn)來(lái)看,地址信號(hào)是比較容易引起問題的,常見的就是地址錯(cuò)誤導(dǎo)致數(shù)據(jù)寫入錯(cuò)誤。
溢出:由于RAM沒有空滿狀態(tài),RAM作為緩存的時(shí)候,寫入和讀出的邏輯,需要從方案上保證不溢出,復(fù)雜度略有增加。
問題定位難:除了上述地址錯(cuò)誤導(dǎo)致寫入的數(shù)據(jù)錯(cuò)誤不好定位外,RAM沒有空滿狀態(tài),做緩存的時(shí)候,RAM的溢出同樣不好定位。
總結(jié)
經(jīng)過(guò)上面的分析,從功能、控制難易程度、問題定位難易程度考慮,我們可以總結(jié)出如下幾條原則:
1、表項(xiàng)的存儲(chǔ)采用RAM;
2、對(duì)數(shù)據(jù)有覆蓋和回讀需求的,使用RAM,使用的時(shí)候要做好讀寫長(zhǎng)度的控制以及狀態(tài)的監(jiān)測(cè);
3、除上述2種情況外,既可以用RAM又可以用FIFO的場(chǎng)景,一律用FIFO;
審核編輯:湯梓紅
-
存儲(chǔ)單元
+關(guān)注
關(guān)注
1文章
63瀏覽量
16185 -
RAM
+關(guān)注
關(guān)注
8文章
1369瀏覽量
115002 -
fifo
+關(guān)注
關(guān)注
3文章
389瀏覽量
43855
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論