一些典型的驗(yàn)證組件配置參數(shù)示例:
一個(gè)agent可以被配置為active或者passive模式。在active模式下agent驅(qū)動DUT,在passive模式下agent被動地檢查DUT的行為和收集DUT的覆蓋率。
monitor默認(rèn)收集DUT覆蓋率和檢查DUT接口行為。用戶可以通過典型的 check_enable和coverage_enable參數(shù)禁用。
驗(yàn)證組件配置機(jī)制
UVM提供了一種配置機(jī)制允許驗(yàn)證環(huán)境集成者在不知道驗(yàn)證組件的具體實(shí)現(xiàn)的條件下配置環(huán)境,示例:
uvm_config_db是一個(gè)type-specific的配置機(jī)制,配置層次化驗(yàn)證環(huán)境中某個(gè)層級的參數(shù)。uvm_config_db建立在更通用的uvm_resource_db之上,uvm_resource_db提供全局非層次化的數(shù)據(jù)共享。上述:
第一個(gè)例子設(shè)置所有以masters[0]結(jié)尾的驗(yàn)證組件實(shí)例的master_id參數(shù)。
第二個(gè)例子告訴masters[0].sequencer在進(jìn)入main phase時(shí)執(zhí)行 read_modify_write_seq 類 型的sequence。
第 三 個(gè) 例 子設(shè)置ubus_example_env0下的所有驗(yàn)證組件中的vif指針變量。
最后一個(gè)例子將一些共享資源存儲到驗(yàn)證層次結(jié)構(gòu)中任何對象都可以訪問的位置。當(dāng)uvm_resource_db::set()調(diào)用來自一個(gè)類時(shí),最后一個(gè)參數(shù)應(yīng)該是this,以允許調(diào)試信息顯示set的來源。
在uvm_resource_db和uvm_config_db之間做出選擇
uvm_config_db 和 uvm_resource_db 共 享 同 一 個(gè) 數(shù) 據(jù)庫,因此可以用uvm_config_db::set()寫數(shù)據(jù)庫,用uvm_resource_db::read_by_name()從數(shù)據(jù)庫檢索該配置。
選擇uvm_resource_db還是uvm_config_db的考量是層次路徑對參數(shù)設(shè)置是否重要。對于與層次路徑有關(guān)的配置屬性,例如,"為特定agent中的所有組件設(shè)置coverage_enable",uvm_config_db是 正 確 的 選 擇 。而如果希望配置參數(shù)被共享而不考慮層次路徑時(shí),應(yīng)該使用uvm_resource_db。
使用配置類
一些驗(yàn)證組件會隨機(jī)一個(gè)配置類,這些參數(shù)配置之間的依賴關(guān)系是通過configuration object內(nèi)的約束來實(shí)現(xiàn)的。在這種情況下,用戶可以擴(kuò)展配置類以添加新的約束,在配置類被隨機(jī)化后使用uvm_config_db::set()將配置對象指針set給驗(yàn)證環(huán)境。
責(zé)任編輯:彭菁
-
接口
+關(guān)注
關(guān)注
33文章
8447瀏覽量
150720 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6808瀏覽量
88743 -
組件
+關(guān)注
關(guān)注
1文章
503瀏覽量
17784
原文標(biāo)題:驗(yàn)證組件配置
文章出處:【微信號:芯片驗(yàn)證工程師,微信公眾號:芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論