1、指定測試用例(一般一個用例就是一個類派生于uvm_test_base)
+UVM_TESTNAME= 例如 +UVM_TESTNAME=my_case0
2、設置打印(`uvm_info)在命令行中設置冗余度閾值
+UVM_VERBOSITY= 例如: +UVM_VERBOSITY=UVM_HIGH
UVM預先定義了六個詳細程度; UVM_NONE到UVM_DEBUG。這些級別只不過是整數枚舉值
如果我們不指定任何冗余度閾值,則UVM將默認使用UVM_MEDIUM。這意味著將打印所有帶有UVM_NONE,UVM_LOW和UVM_MEDIUM的消息,但是帶有UVM_HIGH,UVM_FULL和UVM_DEBUG的消息不會。
set_report_verbosity_level會對某個component內所有的uvm_info宏顯示的信息產生影響。
env.i_agt.set_report_verbosity_level_hier(UVM_HIGH);
UVM_ERROR到達一定數量結束仿真
當uvm_fatal出現時,表示出現了致命錯誤,仿真會馬上停止。UVM同樣支持UVM_ ERROR達到一定數量時結束仿真。例,如果出現了大量的UVM_ERROR,根據這些錯誤已經可以確定bug所在了,再繼續仿真下去意義已經不大,此時就可以結束仿真,而不必等到所有的objection被撤銷。(在base_test里設置error數量)
文件: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設置外,還可以在命令行中設置退出閾值
4、設置全局的超時時間
+UVM_TIMEOUT= , ~ 例如 +UVM_TIMEOUT="300ns, YES"
5、根據嚴重性設置不同的日志文件
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
+關注
關注
0文章
182瀏覽量
19205
原文標題:UVM里的常見參數
文章出處:【微信號:FPGA學姐,微信公眾號:FPGA學姐】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論