在進行模塊設計時,我們經常需要統計報文的數量,以供軟件(or 主機)讀取,有些統計僅僅用于debug,有些統計是協議要求,有些統計是為了便于功能實現。
當需要統計的數量較多時,為了降低功耗和減少面積,我們通常采用RAM去實現。
如下案例中,統計有效數據包的個數。
假設數據中存在pkt_id,pkt_id為0~63,則ram的深度為64。pkt_id用于作為讀寫地址。RAM讀延時為3個時鐘周期。
有數據來臨時,pkt_vld作為讀使能,讀出當前包計數rdata,三個周期后,rdata加1回寫到ram。
如下圖所示:需要有三個注意事項
NOTE1:需要有讀寫保護,因為可能出現連續4個周期內,pkt_vld為1,且pkt_id相同,此時會出現同一個周期對相同的地址進行讀寫,因此需要RAM需要添加讀寫保護模塊,保證數據能夠正確寫入,且讀出的都是最新值,否則就會出現統計錯誤。
NOTE2:圖中既有軟件讀、又存在硬件讀,且硬件讀優先級更高,軟件讀優先級低,因此為了保證軟件讀能夠在有效周期內得到響應,因此需要在主數據流上插入空拍,避免出現軟件讀長時間無法響應而產生超時。
-
IC設計
+關注
關注
38文章
1346瀏覽量
105248 -
RAM
+關注
關注
8文章
1391瀏覽量
116792
發布評論請先 登錄
統計計數值不正確
生成CAD設備表后如何獲取統計數據?
統計數據加載模型的研究與實現
GSM指標統計數據深入分析

一種使用IP方法的獨特統計計數器

采用QDR-IV SRAM設計統計計數器IP

國家統計局發布了2020年5月工業機器人統計數據
國家統計局發布了2020年6月工業機器人統計數據

國家統計局發布了2020年8月工業機器人統計數據
國家統計局發布了2020年9月工業機器人統計數據

使用Python DIY Arduino來顯示PC統計數據

評論