安阳市网站建设_网站建设公司_后端工程师_seo优化
2025/12/21 16:42:51 网站建设 项目流程

使用uvm_report_catcher屏蔽错误

报告问题:UVM/RSRC/NOREGEX的警告


class warn_catcher extends uvm_report_catcher;`uvm_object_utils(warn_catcher)function new(string name);super.new(name);endfunctionvirtual function action_e catch();if((get_severity() == UVM_WARNING)  &&  (get_id() == "UVM/RSRC/NOREGEX"))beginset_action(UVM_NO_ACTION);endreturn THROW;endfunction
endclass
class tc_case extends base_test;warn_catcher  catcher;......virtual function void build_phase();catcher = new("warn_ctr");uvm_report_cb::add(null, catcher);endfunction
endclass

https://blog.csdn.net/weixin_42264693/article/details/144510865

csh等价的set-x

csh中使用set echo

覆盖率配置文件

https://blog.csdn.net/qq_16423857/article/details/120351452
在收集code coverage的时候,工具默认会收集所有模块的coverage。但是有时候,我们只关心某一层模块以及之下的coverage。此时就需要-cm_hier选项来指定层次。

-cm_hier选项,指定一个coverage配置文件。该配置文件,指定了收集coverage的模块。

对于这个coverage配置文件,有如下一些语法:

+tree instance_name [level_number]

一维数组的二维选择

The range of the part select is illegal Error
https://verificationacademy.com/forums/t/getting-the-range-of-the-part-select-is-illegal-error/46056
原始写法:

if ( value inside {[0:3]})
data[45:14] = temp_data[31:0];
else if (value inside {[4:7]})
data[45:14] = temp_data[63:32];
…
…
…
else if (value inside {[56:59]})
data[45:14] = temp_data[479:448];

简化写法,注意到使用的是+:,不能双头使用变量

for(int i = 0; i<15; i++)if( value inside {[(4*i):((4*i)+3)]}) begindata[45:14] = temp_data[i*32+:32];break;end

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询