使用uvm_report_catcher屏蔽掉特定的uvm_error/uvm_warning

一、问题:

在一些异常case或者特殊的case, 遇到VIP报uvm_error或者uvm_warning,导致刷屏或者uvm_error数量达到上限仿真强制退出了。这时,可以用uvm_report_catcher捕获到它特定的message,并将其级别设置成UVM_INFO。

二、措施:

 uvm_report_cacher provides the catch() function for users to extend.

 Return action_e type enum - - - caught, throw, unknow_action;

 THROW, report will continue to be processed by server;

 CAUGHT, report will not continue to be processed by server;
class tc_01_catcher extends uvm_report_catcher;
	virtual function action_e catch();
		if (get_severity() == UVM_ERROR) begin
            string _msg = get_message();
            // uvm_re_match是匹配上了返回0
            if (0 == uvm_re_match("UVM_ERROR.*xxxyyyy", _msg) ) begin 
                set_severity(UVM_INFO);
                set_verbosity(UVM_LOW);
            end
        end
 
        return THROW;
	endfunction
endclass
 
class tc_01 extends base_test;
	......
	virtual build_phase();
		tc_01_catcher = new();
		uvm_report_cb::add(null, tc_01_catcher);
	endfunction
endclass

版权声明:本文为CSDN博主「西南山村的ICer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HelloQili/article/details/113863561

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值