在進(jìn)行模塊設(shè)計(jì)時(shí),我們經(jīng)常需要統(tǒng)計(jì)報(bào)文的數(shù)量,以供軟件(or 主機(jī))讀取,有些統(tǒng)計(jì)僅僅用于debug,有些統(tǒng)計(jì)是協(xié)議要求,有些統(tǒng)計(jì)是為了便于功能實(shí)現(xiàn)。 當(dāng)需要統(tǒng)計(jì)的數(shù)量較多時(shí),為了降低功耗和減少面積,我們通常采用RAM去實(shí)現(xiàn)。
如下案例中,統(tǒng)計(jì)有效數(shù)據(jù)包的個(gè)數(shù)。 假設(shè)數(shù)據(jù)中存在pkt_id,pkt_id為0~63,則ram的深度為64。pkt_id用于作為讀寫(xiě)地址。RAM讀延時(shí)為3個(gè)時(shí)鐘周期。 有數(shù)據(jù)來(lái)臨時(shí),pkt_vld作為讀使能,讀出當(dāng)前包計(jì)數(shù)rdata,三個(gè)周期后,rdata加1回寫(xiě)到ram。 如下圖所示:需要有三個(gè)注意事項(xiàng) NOTE1:需要有讀寫(xiě)保護(hù),因?yàn)榭赡艹霈F(xiàn)連續(xù)4個(gè)周期內(nèi),pkt_vld為1,且pkt_id相同,此時(shí)會(huì)出現(xiàn)同一個(gè)周期對(duì)相同的地址進(jìn)行讀寫(xiě),因此需要RAM需要添加讀寫(xiě)保護(hù)模塊,保證數(shù)據(jù)能夠正確寫(xiě)入,且讀出的都是最新值,否則就會(huì)出現(xiàn)統(tǒng)計(jì)錯(cuò)誤。 NOTE2:圖中既有軟件讀、又存在硬件讀,且硬件讀優(yōu)先級(jí)更高,軟件讀優(yōu)先級(jí)低,因此為了保證軟件讀能夠在有效周期內(nèi)得到響應(yīng),因此需要在主數(shù)據(jù)流上插入空拍,避免出現(xiàn)軟件讀長(zhǎng)時(shí)間無(wú)法響應(yīng)而產(chǎn)生超時(shí)。
編輯:黃飛
-
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1306瀏覽量
104560 -
RAM
+關(guān)注
關(guān)注
8文章
1383瀏覽量
115523 -
讀寫(xiě)保護(hù)
+關(guān)注
關(guān)注
0文章
4瀏覽量
5887
原文標(biāo)題:IC設(shè)計(jì):ram的應(yīng)用 - 統(tǒng)計(jì)計(jì)數(shù)
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
IC設(shè)計(jì):常見(jiàn)的ram訪問(wèn)沖突

關(guān)于GNU鏈接文件中RAM越界的問(wèn)題
關(guān)于QMSS中link ram的地址問(wèn)題
關(guān)于Ram on Net的設(shè)想
屏幕自動(dòng)刷新RAM和負(fù)液晶技術(shù)的介紹

詳細(xì)介紹關(guān)于FPGA開(kāi)發(fā)板內(nèi)部ram是如何操作的

關(guān)于Block RAM的寄存器輸出

在STVDCOSMIC在RAM中運(yùn)行代碼stm8 ram中運(yùn)行程序

關(guān)于RAM以及單片機(jī)內(nèi)存少的幾點(diǎn)內(nèi)容
關(guān)于dsp28035的adc在ram中運(yùn)行和rom中運(yùn)行的問(wèn)題

TANDY WP 2 RAM IC卡開(kāi)源分享

IC設(shè)計(jì):ram的折疊設(shè)計(jì)操作步驟

評(píng)論