verilog定位手段:關(guān)鍵信號統(tǒng)計 ? ? ?
1、Verilog定位手段-關(guān)鍵信號:高電平計數(shù)還是低電平計數(shù)?
在IC設(shè)計中,進行需要對關(guān)鍵信號的特定狀態(tài)進行計數(shù),方便debug時進行狀態(tài)判斷。如對流控、反壓等信號進行計數(shù)。有時候需要進行判斷,是高電平計數(shù)還是低電平計數(shù)。
判斷標準是:選擇高電平或者低電平計數(shù),要保證能夠觀察到異常情況
如下圖所示:
情況1:正常情況下rdy拉高后一直保持為1,不應(yīng)該會出現(xiàn)右側(cè)異常,偶爾為0,因此采用低電平計數(shù),如果出現(xiàn)異常,則計數(shù)器cnt不為0。如果采用高電平計數(shù),則很難發(fā)現(xiàn)右側(cè)異常
情況2:正常情況下rdy有高電平也有低電平,異常情況是一直為低電平,因此采用高電平計數(shù),如果計數(shù)器cnt一直保持不變,則說明rdy一直處于低電平的異常狀態(tài)。
verilog定位手段:速率計算 ? ? ?
1、Verilog定位手段:速率統(tǒng)計?
在IC設(shè)計中,有些模塊的應(yīng)用有速率的要求,因此在FPGA階段以及樣片測試階段,需要針對應(yīng)用場景對速率進行計算,如果在RTL設(shè)計階段能夠添加相關(guān)的統(tǒng)計寄存器,能夠高效準確的計算出傳輸速率。如MAC,itlkn,DMA,都需要添加相應(yīng)的統(tǒng)計計算器計算當前狀態(tài)的速率的相關(guān)信息,方便計算速率。
2、如何添加速率統(tǒng)計?
常見方法是:
添加寄存器,記錄一段時間內(nèi)輸入數(shù)據(jù)的個數(shù),如itlkn、MAC
添加寄存器,記錄傳輸一定數(shù)據(jù)量所需要的時鐘周期數(shù)量,如DMA
以DMA為例,簡單介紹DMA是如何添加速率統(tǒng)計寄存器的:
案例1:CPU主動發(fā)起請求:
添加寄存器cycle_num_cnt,統(tǒng)計時鐘周期,從CPU發(fā)起請求開始、cycle_num_cnt開始每個周期加1,直到DMA模塊將數(shù)據(jù)搬運完成,此時停止計數(shù),此時記錄的時機包含,DMA響應(yīng)請求信號的時間、以及DMA模塊搬運數(shù)據(jù)的時間。
案例解析:
DMA模塊時鐘為125MHz,每個周期為8ns,CPU發(fā)起DMA請求,數(shù)據(jù)量為1024*128bit,DMA搬運完成后,cycle_num_cnt保持為4812,此時平均傳輸速率為
1024*128 bit/4812*8ns=3.4Gbps
案例2:DMA主動發(fā)起請求
DMA主動發(fā)起請求傳輸數(shù)據(jù),可以記錄從發(fā)出第一個數(shù)據(jù)到最后一個數(shù)據(jù)所需要的時鐘周期,一次搬運大量的數(shù)據(jù),減少測量誤差,也能獲得準確的速率。
verilog定位手段:link狀態(tài)統(tǒng)計 ? ? ?
1、Verilog定位手段:link狀態(tài)監(jiān)控
依據(jù)IEEE802.3協(xié)議設(shè)計的MAC、PCS具有l(wèi)ink_up狀態(tài)信號。PCIE接口具有鏈路訓(xùn)練成功信號,此處也稱之為link_up信號。
針對link狀態(tài)、可以做如下監(jiān)控:
1.link_up狀態(tài)實時可讀
2.Link_up有效狀態(tài)計數(shù)統(tǒng)計
3.Link_up從有效跳轉(zhuǎn)到無效狀態(tài)的次數(shù)統(tǒng)計--即link_down次數(shù)統(tǒng)計
實時狀態(tài)可讀,可以獲得當前狀態(tài)
有效狀態(tài)統(tǒng)計,可以知道鏈路建立成功多次時間了
link_down次數(shù)統(tǒng)計,可以知道在實際使用過程中,發(fā)生多少次link-down。
編輯:黃飛
?
評論
查看更多