1、Verilog定位手段-關鍵信號:高電平計數還是低電平計數?
在IC設計中,進行需要對關鍵信號的特定狀態進行計數,方便debug時進行狀態判斷。如對流控、反壓等信號進行計數。有時候需要進行判斷,是高電平計數還是低電平計數。
判斷標準是:選擇高電平或者低電平計數,要保證能夠觀察到異常情況
如下圖所示:
情況1:正常情況下rdy拉高后一直保持為1,不應該會出現右側異常,偶爾為0,因此采用低電平計數,如果出現異常,則計數器cnt不為0。如果采用高電平計數,則很難發現右側異常
情況2:正常情況下rdy有高電平也有低電平,異常情況是一直為低電平,因此采用高電平計數,如果計數器cnt一直保持不變,則說明rdy一直處于低電平的異常狀態。
verilog定位手段:速率計算
1、Verilog定位手段:速率統計?
在IC設計中,有些模塊的應用有速率的要求,因此在FPGA階段以及樣片測試階段,需要針對應用場景對速率進行計算,如果在RTL設計階段能夠添加相關的統計寄存器,能夠高效準確的計算出傳輸速率。如MAC,itlkn,DMA,都需要添加相應的統計計算器計算當前狀態的速率的相關信息,方便計算速率。
2、如何添加速率統計?
常見方法是:
添加寄存器,記錄一段時間內輸入數據的個數,如itlkn、MAC
添加寄存器,記錄傳輸一定數據量所需要的時鐘周期數量,如DMA
以DMA為例,簡單介紹DMA是如何添加速率統計寄存器的:
案例1:CPU主動發起請求:
添加寄存器cycle_num_cnt,統計時鐘周期,從CPU發起請求開始、cycle_num_cnt開始每個周期加1,直到DMA模塊將數據搬運完成,此時停止計數,此時記錄的時機包含,DMA響應請求信號的時間、以及DMA模塊搬運數據的時間。
案例解析:
DMA模塊時鐘為125MHz,每個周期為8ns,CPU發起DMA請求,數據量為1024*128bit,DMA搬運完成后,cycle_num_cnt保持為4812,此時平均傳輸速率為
1024*128 bit/4812*8ns=3.4Gbps
案例2:DMA主動發起請求
DMA主動發起請求傳輸數據,可以記錄從發出第一個數據到最后一個數據所需要的時鐘周期,一次搬運大量的數據,減少測量誤差,也能獲得準確的速率。
verilog定位手段:link狀態統計
1、Verilog定位手段:link狀態監控
依據IEEE802.3協議設計的MAC、PCS具有link_up狀態信號。PCIE接口具有鏈路訓練成功信號,此處也稱之為link_up信號。
針對link狀態、可以做如下監控:
1.link_up狀態實時可讀
2.Link_up有效狀態計數統計
3.Link_up從有效跳轉到無效狀態的次數統計--即link_down次數統計
實時狀態可讀,可以獲得當前狀態
有效狀態統計,可以知道鏈路建立成功多次時間了
link_down次數統計,可以知道在實際使用過程中,發生多少次link-down。
審核編輯:湯梓紅
-
Verilog
+關注
關注
28文章
1345瀏覽量
109996 -
定位
+關注
關注
5文章
1304瀏覽量
35344 -
dma
+關注
關注
3文章
559瀏覽量
100447
原文標題:Verilog 定位手段
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論