UVM_ERROR都不会退出仿真: function int get_max_quit_count(); 除了在代码中使用set_max_quit_count设置外,还可以在命令行中设置退出阈值: <sim command> +UVM_MAX_QUIT_COUNT=6,NO 其中第一个参数6表示退出阈值,而第二个参数NO表示此值是不可以被后面的设置语句重载,其值还可以是YES。 int sim_max_qui...
1.uvm_fatal 出现时,马上结束仿真。 2.set_report_max_quit_count 方式: 出现5个错误就退出: 除了写在build_phase 之外,在其他phase 设置也可以。(report_phase 好像不行) 3.get_max_quit_count,查询当前的退出阈值。返回0 表示无论多少个UVM_ERROR都不会退出,这个函数在uvm_report_server 中。 4.在命令...
1.UVM_ERROR达到一定数量结束仿真 1.1相关函数 (1) set_report_max_quit_count (2) set_max_quit_count (3) get_max_quit_count 1.2命令行设置 其中,上面的”NO”表示UVM_MAX_QUIT_COUNT的设置值6不能被后面的设置语句重载;
与set_max_quit_count相对应的是get_max_quit_count函数,可以用于查询当前的退出阈值,如果函数返回值为0则表示无论出现多少个UVM_ERROR都不会退出仿真。 当然,除了在代码中使用set_max_quit_count设置外,还可以在仿真命令行中设置退出阈值,同样也可以加入到Makefile当中。 <simcommand>+UVM_MAX_QUIT_COUNT=5,NO...
篇7-UVMERROR达到⼀定数量时结束仿真1.UVM_ERROR达到⼀定数量结束仿真 1.1相关函数 (1) set_report_max_quit_count (2) set_max_quit_count (3) get_max_quit_count 1.2命令⾏设置 其中,上⾯的”NO”表⽰UVM_MAX_QUIT_COUNT的设置值6不能被后⾯的设置语句重载;
(在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、除了在代码中使用...
UVM支持UVM_ERROR达到一定数量时结束仿真。对于某个测试用例,如果出现了大量的UVM_ERROR,根据这些错误已经可以确定bug所在了,再仿真下去意义已经不大,此时就可以结束仿真,而不必等到所有的objection被撤销。实现这个功能的是set_report_max_quit_count函数。可以在base_test中和测试用例中设置此函数,如果同时设置了此函数...
ErrorH::set_max_count(2); // Limit the number of errors ErrorH::print(“one”); ErrorH::print(“two – should end sim”); ErrorH::print(“three – should not print”); end 更多小技巧 uvm_config_db类是基于静态方法构建的,因此你需要使用以下语法进行调用。
• 除了上面的常见使用方法,用户还可以做出更高级的消息控制。例如, 当UVM_ERROR出现之后,仿真默认会停止,这是由于设置了UVM_ERROR的处理方式是UVM_COUNT数量达到上限(默认为1)'即停止仿真。可以通过set_max_quit_count来修改UVM_COUNT值。 回调函数
+uvm_set_action=uvm_test_top.env0.*,_ALL_,UVM_ERROR,UVM_NO_ACTION 可选的action包括: UVM_NO_ACTION(无动作); UVM_DISPLAY(标准输出); UVM_LOG(log文件); UVM_COUNT(错误计数,判断是否达到max_quit_count); UVM_EXIT(立即退出仿真);