大多數(shù)情況下,定義功能覆蓋目標(biāo)是在測試計劃準(zhǔn)備過程中完成的。對于要驗證的被測設(shè)備(DUT)的每個功能特性,所有可能的激勵生成都是通過測試用例并在記分板,模型,檢查器和斷言的幫助下開發(fā)的。我們通過檢查該刺激的響應(yīng)來確認(rèn) DUT 的正確性。為了確保我們已經(jīng)創(chuàng)建了足夠的輸入場景和 DUT 響應(yīng)組合,根據(jù)覆蓋組、覆蓋點和斷言覆蓋范圍為每個特征定義了覆蓋目標(biāo),這使我們對特定特征的驗證程度充滿信心。
DUTs RTL塊成從覆蓋率類分?jǐn)?shù)定義的變量,并在具有不同值命中的交叉覆蓋組中使用這些變量將確認(rèn)輸入事務(wù)是否遵循指定的設(shè)計路徑輸出。由于幾個原因,這非常重要。首先,功能驗證記分牌確實進行了端到端的交易檢查,但它并不確認(rèn)DUT流量路徑刺激是否遵循。其次,單個覆蓋組或UVM RAL Regmodel功能覆蓋或斷言覆蓋將有助于單個刺激覆蓋,但組合使用將確保功能路徑的正確性。讓我們詳細(xì)了解如何使用功能覆蓋來確認(rèn)從輸入端口到輸出端口的流量遍歷所需的數(shù)據(jù)和控制路徑。
執(zhí)行流量可追溯性
很多時候,僅僅涵蓋單個特征和交叉特征是不夠的。通過不同數(shù)據(jù)塊、各種控制邏輯和不同 DUT 配置的所有可能組合,檢查輸入接口的流量是否已到達(dá)其他端的輸出接口,這是一項基本要求。
在DUT輸入、輸出接口、控制塊接口上有單獨的覆蓋組,regmodel自動生成的功能覆蓋可能不能保證基于寄存器配置。輸入事務(wù)、數(shù)據(jù)包或命令已遍歷所需的數(shù)據(jù)塊和控制路徑,或者繞過了典型的控制塊。
使用交叉覆蓋,在從覆蓋類中定義并用于存儲來自各種寫入方法的事務(wù)的變量上,可以確保這些變量被命中不同的值并跟蹤設(shè)計的DUT路徑。覆蓋組也將在覆蓋類之外定義。
場景
讓我們考慮一個場景,如圖 1 所示。在高度配置的 DUT 中,輸入。..數(shù)據(jù)包可以通過選擇的數(shù)據(jù)路徑和控制路徑塊以及根據(jù)寄存器配置通過選定的數(shù)據(jù)包路由器端口路由到輸出端口。使用字段 RT=2‘b01 的寄存器CTRNL_RUT使用 Cntrl_plan1、交換機 1(圖中未顯示)決定從輸入端口 1 到DataPath_blk1的數(shù)據(jù)包路徑,并決定到路由器端口 1,最后到輸出端口 1。但是,寄存器CTRNL_RUT。RT=2’b10 將使用 Cntrl_plan2 和路由器端口 2 更改通過DataPath_blk2的新傳入數(shù)據(jù)包的路由。
在這種情況下,為datapath_block1、控制路徑(即Cntrl_plane1和寄存器字段RT)定義的覆蓋組將單獨覆蓋激勵值。但是,如果變量被定義在覆蓋類的范圍之外,保存來自這些接口的信號值,并且如果在具有有趣值的交叉覆蓋中使用,則可以確認(rèn)數(shù)據(jù)包已遍歷正確的路徑并實現(xiàn)數(shù)據(jù)包可追溯性。

圖1:在每個點獲取信息的流量跟蹤
覆蓋實施
在測試平臺中,環(huán)境類通常具有實例化的所有接口代理、功能覆蓋范圍和記分板。IO和控制接口監(jiān)視器的分析端口連接到功能覆蓋類的導(dǎo)出,以獲取接口數(shù)據(jù)包和事務(wù)。所需的資源,如 regmodel,不同的配置對象將使用uvm_condig_db構(gòu)造設(shè)置為覆蓋類。覆蓋實現(xiàn)明智,定義覆蓋類之外的變量,數(shù)據(jù)包存儲元素,并使用這些元素來復(fù)制重要接口信號,控制信號和數(shù)據(jù)包字段的值。在覆蓋類別之外定義的這些變量將在交叉覆蓋中使用。
如上面的圖 1 所示,在覆蓋類之外定義的變量將用于保存數(shù)據(jù)包 ID 等信息,這些信息對DataPath_blk1有效。對于控制平面,保存就緒、狀態(tài)、目標(biāo) ID、路由通道號等信息。注冊字段(如CTRNL_RUT)的值。RT值可以與這些變量交叉,以確保如果RT的場值為01,則Datapath_blk1場和控制計劃信號具有感興趣的值。使用上述方法實現(xiàn)功能覆蓋將很有幫助,尤其是在塊和集群級別驗證的情況下。覆蓋類的獨立實現(xiàn)探索了具有相似 DUT 接口的項目之間的可重用性選項。
寄存器配置信息也可以通過接口接收,但同樣需要解碼地址和字段,因此使用 regmodel 是有意義的。Regmodel帶有豐富的API和默認(rèn)序列集,以執(zhí)行所有寄存器和字段及其屬性。基于 Regmodel 的自動生成的功能覆蓋范圍可以單獨處理。
嵌入式覆蓋組存在一個已知的限制。我們不能使用同一覆蓋組的多個實例作為數(shù)據(jù)類型,因此在函數(shù)覆蓋類之外定義覆蓋組將有助于定義覆蓋組數(shù)組,特別是如果大多數(shù)接口屬于同一類型,則會有所幫助,這是網(wǎng)絡(luò)域 DUT 的常見情況。可以使用覆蓋類的每個write_《》方法中的不同索引對具有多個實例的單個覆蓋組進行采樣。

在上面的示例中,覆蓋組和變量存儲來自寫入方法的事務(wù)和接口信號,并在類之外聲明。這將允許跨覆蓋組使用這些變量。
結(jié)論
基于將驗證事務(wù)或數(shù)據(jù)包的重要接口信號,可以定義覆蓋類范圍之外的全局變量并用于復(fù)制這些信號。每個接口信號,控制信號都可以做同樣的事情,并且這些全局變量可以在一個覆蓋組中使用,該覆蓋組將定義這些變量的交叉覆蓋。這就是確認(rèn)從輸入端口到輸出端口的流量遍歷所需數(shù)據(jù)和控制路徑的方式。
審核編輯:郭婷
-
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
129968 -
路由器
+關(guān)注
關(guān)注
22文章
3907瀏覽量
119571
發(fā)布評論請先 登錄
Skype提供端到端加密“私人對話”功能 讓你對話更安全
制造業(yè)MES的可追溯性是怎樣的?MES功能對可追溯性有什么要求?
區(qū)塊鏈的可追溯性可以帶來什么好處
食品的可追溯性如何利用好5G技術(shù)
關(guān)于PCB數(shù)據(jù)的可追溯性
應(yīng)用程序生命周期管理軟件增強產(chǎn)品開發(fā)測試和可追溯性
使用功能覆蓋執(zhí)行端到端流量可追溯性
使用功能覆蓋執(zhí)行端到端流量可追溯性
為什么需求可追溯性對于當(dāng)今的嵌入式系統(tǒng)仍然很重要
使用功能覆蓋執(zhí)行端到端流量可追溯性
評論