驗證環(huán)境用戶需要創(chuàng)建許多測試用例來驗證一個DUT的功能是否正確,驗證環(huán)境開發(fā)者應(yīng)該通過以下方式提高測試用例的開發(fā)效率:
在數(shù)據(jù)項類中加入旋鈕,以簡化測試用例開發(fā)控制
創(chuàng)建一些可重用的sequences library。
聲明自定義的Sequences
Sequences是由幾個數(shù)據(jù)項組成的,它們共同構(gòu)成一個數(shù)據(jù)pattern以觸發(fā)有趣的DUT場景。
驗證組件可以包括一個基本sequences library(而不是單一的數(shù)據(jù)項),測試用例編寫者(驗證環(huán)境使用者)可以調(diào)用它。這種方法加強(qiáng)了對常見數(shù)據(jù)pattern的復(fù)用,并減少了測試用例的代碼長度。此外,一個Sequences可以調(diào)用其他Sequences,從而創(chuàng)造更復(fù)雜的場景。
UVM類庫提供了uvm_sequence基類。你應(yīng)該直接或間接地從這個類派生出所有的Sequences類。要創(chuàng)建一個用戶定義的Sequences:
從uvm_sequence基類派生出一個Sequences,并指定request和response數(shù)據(jù)項類型參數(shù)。在下面的例子中,只指定了request類型,即simple_item,所以response數(shù)據(jù)項類型也是simple_item 。
使用`uvm_object_utils宏來向factory注冊Sequences類型。
如果Sequences需要訪問其相關(guān)sequencer,使用'uvm_declare_p_sequencer宏來聲明sequencer指針。
實現(xiàn)Sequences的body任務(wù)來觸發(fā)特定的DUT場景。在body任務(wù)中,你可以發(fā)送數(shù)據(jù)項或者調(diào)用其他Sequences。
下面例子中的simple_seq_do類定義了一個簡單的Sequences。它是由uvm_sequence派生出來的,并 使 用 了 `uvm_object_utils 宏 。這個例子還定義了一個simple_sequencer類,simple_seq_do序列可以在該simple_sequencer上運行。
發(fā)送Sequence Items或者Subsequences的基本流程
要 發(fā) 送 一 個sequence item,sequence的body()任務(wù) 需 要create() 該 sequence item , 對 該sequence item調(diào) 用start_item(),然后隨機(jī)化該sequence item(可選的),最后對該sequence item調(diào)用finish_item()。
要發(fā)送一個subsequence,parent sequence的body()任務(wù)需要create該subsequence,對其進(jìn)行隨機(jī)化(可選的),最后對該subsequence調(diào)用start()。如果subsequence有一個相應(yīng)的response,parent sequence可以調(diào)用get_response()。
上圖顯示了在uvm_do宏中實現(xiàn)的發(fā)送sequence items和sequences的完整流程。uvm_do宏會更根據(jù)傳遞的類型create一個對象,并且根據(jù)發(fā)送sequence items和sequences執(zhí)行對應(yīng)的流程。
uvm_do宏不會執(zhí)行subsequences的pre_body()和post_body()方法。
?
審核編輯:劉清
-
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19443 -
DUT
+關(guān)注
關(guān)注
0文章
190瀏覽量
12864 -
sequence
+關(guān)注
關(guān)注
0文章
23瀏覽量
2973
原文標(biāo)題:基于UVM驗證環(huán)境開發(fā)測試用例
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【米爾-全志T536開發(fā)板試用體驗】- 開發(fā)環(huán)境搭建與測試
NVMe IP over PCIe 4.0:擺脫XDMA,實現(xiàn)超高速!

如何進(jìn)行電子連接器的測試與驗證
【米爾-紫光PG2L100H國產(chǎn)FPGA開發(fā)板試用】官方LED例程測試體驗
企業(yè)AI開發(fā)環(huán)境要求
soc開發(fā)流程常見問題及解決方案
單片機(jī)芯片開發(fā)-單片機(jī)方案開發(fā)的關(guān)鍵技巧和流程步驟!
9月12日云技術(shù)研討會 | ECU電控軟件開發(fā)及測試全流程解決方案

電池測試流程和測試方法有哪些
【xG24 Matter開發(fā)套件試用體驗】開發(fā)環(huán)境搭建和開發(fā)流程體驗
如何理解機(jī)器學(xué)習(xí)中的訓(xùn)練集、驗證集和測試集
在美國VPS上設(shè)置開發(fā)和測試環(huán)境的基本步驟和技巧

評論