久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VMM驗證方法學的MCU驗證環境

基于VMM驗證方法學的MCU驗證環境

作者: 時間:2016-09-12 來源:網絡 收藏

MCU指令一旦開始運行,尤其是隨機指令,指令執行不是順序,有時會跳入死循環,很難設定仿真中止時間,這里設定了兩種機制,一種是仿真指令計數,另一種就是根據覆蓋率分析,通過的覆蓋率分析函數,可以動態的得到覆蓋率情況,如果隨機指令跳入死循環,覆蓋率就會一直維持不變,每次覆蓋率分析不變就進行計數,當計數超過限定,就會讓ScoreBoard結束,通過環境對ScoreBoard的監測,一旦ScoreBoard停止,整個仿真也會停下。

4.7 功能覆蓋率模型

對于MCU這樣的DUT,代碼覆蓋率已經不能夠代表驗證進度,而功能覆蓋率也只能代表相當一部分待驗證的功能,這里對于基本的memory,功能覆蓋率僅要求所有位都被指令操作過,對于特殊寄存器SFR,需要指定某些特定位有相應的“0”以及“1”狀態。代碼如下:

coverpoint memory[‘h87]

{

wildcard bins b87m_0_0 = {8’bxxxxxxx0};

wildcard bins b87m_1_0 = {8‘bxxxxxxx1};

wildcard bins b87m_0_1 = {8’bxxxxxx0x};

wildcard bins b87m_1_1 = {8‘bxxxxxx1x};

}

另外可以收集指令與指令參數的交叉覆蓋率分析,例如:

covergroup gen_port_cov;

coverpoint addr_mode;

coverpoint kind;

cross addr_mode, kind;

option.weight = 0;

endgroup

可以說對于MCU這樣的DUT,功能點很難被完全描述,但是功能覆蓋率還是提供了一部分量化指標,供驗證參考。

5 小結

本文實現了一個驗證MCU指令的基于的驗證環境,在這個環境里不但可以使用隨機的指令生成來輸入指令,也可以使用已有的應用程序代碼,另外提供了 memory自檢環境,可以在每一條指令執行后檢查memory值,從最全面角度保證每條指令執行結果是正確的。此外還提供了功能覆蓋率模型,收集覆蓋率結果。這個環境可以被復用擴展,基于這個MCU開發的軟件都可以在這個驗證環境中先運行以保證軟件的正確性。


上一頁 1 2 3 下一頁

關鍵詞: SystemVerilog VMM

評論


相關推薦

技術專區

關閉