1、指定測試用例(一般一個用例就是一個類派生于uvm_test_base)
+UVM_TESTNAME= 例如 +UVM_TESTNAME=my_case0
2、設(shè)置打印(`uvm_info)在命令行中設(shè)置冗余度閾值
+UVM_VERBOSITY= 例如: +UVM_VERBOSITY=UVM_HIGH
UVM預(yù)先定義了六個詳細(xì)程度; UVM_NONE到UVM_DEBUG。這些級別只不過是整數(shù)枚舉值
如果我們不指定任何冗余度閾值,則UVM將默認(rèn)使用UVM_MEDIUM。這意味著將打印所有帶有UVM_NONE,UVM_LOW和UVM_MEDIUM的消息,但是帶有UVM_HIGH,UVM_FULL和UVM_DEBUG的消息不會。
set_report_verbosity_level會對某個component內(nèi)所有的uvm_info宏顯示的信息產(chǎn)生影響。
env.i_agt.set_report_verbosity_level_hier(UVM_HIGH);
UVM_ERROR到達一定數(shù)量結(jié)束仿真
當(dāng)uvm_fatal出現(xiàn)時,表示出現(xiàn)了致命錯誤,仿真會馬上停止。UVM同樣支持UVM_ ERROR達到一定數(shù)量時結(jié)束仿真。例,如果出現(xiàn)了大量的UVM_ERROR,根據(jù)這些錯誤已經(jīng)可以確定bug所在了,再繼續(xù)仿真下去意義已經(jīng)不大,此時就可以結(jié)束仿真,而不必等到所有的objection被撤銷。(在base_test里設(shè)置error數(shù)量)
文件:src/ch3/section3.4/3.4.3/base_test.sv 21 function void base_test::build_phase(uvm_phase phase); 22 super.build_phase(phase); 23 env = my_env::type_id::create("env", this); 24 set_report_max_quit_count(5); 25 endfunction
3、除了在代碼中使用set_max_quit_count設(shè)置外,還可以在命令行中設(shè)置退出閾值
4、設(shè)置全局的超時時間
+UVM_TIMEOUT= , ~ 例如 +UVM_TIMEOUT="300ns, YES"
5、根據(jù)嚴(yán)重性設(shè)置不同的日志文件
env.i_agt.set_report_severity_file_hier(UVM_INFO, info_log); env.i_agt.set_report_severity_file_hier(UVM_WARNING, warning_log); env.i_agt.set_report_severity_file_hier(UVM_ERROR, error_log); env.i_agt.set_report_severity_file_hier(UVM_FATAL, fatal_log); env.i_agt.set_report_severity_action_hier(UVM_INFO, UVM_DISPLAY| UVM_LOG); env.i_agt.set_report_severity_action_hier(UVM_WARNING, UVM_DISPLAY| UVM_LOG); env.i_agt.set_report_severity_action_hier(UVM_ERROR, UVM_DISPLAY| UVM_COUNT|UVM_LOG); env.i_agt.set_report_severity_action_hier(UVM_FATAL, UVM_DISPLAY| UVM_EXIT | UVM_LOG);
編輯:黃飛
-
UVM
+關(guān)注
關(guān)注
0文章
181瀏覽量
19086
原文標(biāo)題:UVM里的常見參數(shù)
文章出處:【微信號:FPGA學(xué)姐,微信公眾號:FPGA學(xué)姐】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論