新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于VMM驗證方法學的MCU驗證環(huán)境

        基于VMM驗證方法學的MCU驗證環(huán)境

        作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

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

        4.7 功能覆蓋率模型

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

        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};

        }

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

        covergroup gen_port_cov;

        coverpoint addr_mode;

        coverpoint kind;

        cross addr_mode, kind;

        option.weight = 0;

        endgroup

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

        5 小結(jié)

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


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: SystemVerilog VMM

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武陟县| 额尔古纳市| 鄂托克前旗| 绥阳县| 博白县| 唐山市| 兰坪| 福安市| 金川县| 西贡区| 卢湾区| 淳安县| 商河县| 利川市| 乐山市| 革吉县| 若尔盖县| 宝应县| 龙南县| 平阴县| 仙居县| 玉屏| 象州县| 东宁县| 邯郸市| 马尔康县| 兴国县| 上虞市| 高阳县| 绥德县| 峡江县| 闻喜县| 宜州市| 沙湾县| 安远县| 镇雄县| 台北县| 桦甸市| 竹山县| 治多县| 五河县|