在進(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用于作為讀寫地址。RAM讀延時(shí)為3個(gè)時(shí)鐘周期。
有數(shù)據(jù)來臨時(shí),pkt_vld作為讀使能,讀出當(dāng)前包計(jì)數(shù)rdata,三個(gè)周期后,rdata加1回寫到ram。
如下圖所示:需要有三個(gè)注意事項(xiàng)
NOTE1:需要有讀寫保護(hù),因?yàn)榭赡艹霈F(xiàn)連續(xù)4個(gè)周期內(nèi),pkt_vld為1,且pkt_id相同,此時(shí)會(huì)出現(xiàn)同一個(gè)周期對(duì)相同的地址進(jìn)行讀寫,因此需要RAM需要添加讀寫保護(hù)模塊,保證數(shù)據(jù)能夠正確寫入,且讀出的都是最新值,否則就會(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í)間無法響應(yīng)而產(chǎn)生超時(shí)。

-
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1373瀏覽量
108191 -
RAM
+關(guān)注
關(guān)注
8文章
1399瀏覽量
120193
發(fā)布評(píng)論請(qǐng)先 登錄
RAM的兩種應(yīng)用:統(tǒng)計(jì)計(jì)數(shù)和位寬轉(zhuǎn)換
統(tǒng)計(jì)計(jì)數(shù)值不正確
生成CAD設(shè)備表后如何獲取統(tǒng)計(jì)數(shù)據(jù)?
統(tǒng)計(jì)數(shù)據(jù)加載模型的研究與實(shí)現(xiàn)
GSM指標(biāo)統(tǒng)計(jì)數(shù)據(jù)深入分析
一種使用IP方法的獨(dú)特統(tǒng)計(jì)計(jì)數(shù)器
采用QDR-IV SRAM設(shè)計(jì)統(tǒng)計(jì)計(jì)數(shù)器IP
國(guó)家統(tǒng)計(jì)局發(fā)布了2020年4月工業(yè)機(jī)器人統(tǒng)計(jì)數(shù)據(jù)
國(guó)家統(tǒng)計(jì)局發(fā)布了2020年5月工業(yè)機(jī)器人統(tǒng)計(jì)數(shù)據(jù)
國(guó)家統(tǒng)計(jì)局發(fā)布了2020年6月工業(yè)機(jī)器人統(tǒng)計(jì)數(shù)據(jù)
國(guó)家統(tǒng)計(jì)局發(fā)布了2020年8月工業(yè)機(jī)器人統(tǒng)計(jì)數(shù)據(jù)
國(guó)家統(tǒng)計(jì)局發(fā)布了2020年9月工業(yè)機(jī)器人統(tǒng)計(jì)數(shù)據(jù)
使用Python DIY Arduino來顯示PC統(tǒng)計(jì)數(shù)據(jù)
IC設(shè)計(jì)中關(guān)于ram的應(yīng)用
IC設(shè)計(jì):ram的折疊設(shè)計(jì)操作步驟
IC設(shè)計(jì):RAM的應(yīng)用-統(tǒng)計(jì)計(jì)數(shù)
評(píng)論