UVM默认有四种信息严重性,分别是UVM_INFO、UVM_WARNING、UVM_ERROR和UVM_FATAL。其中,UVM_INFO是最常见的等级,代表信息的重要性比较低,如通常用来报告仿真中的某些细节,比如环境变量或者端口的状态等。UVM_WARNING则提示可能存在问题,仿真人员需要关注并采取措施。UVM_ERROR代表出现严重错误,需要立即暂停仿真并进行处理...
例如下面这个仿真参数,就是把uvm_test_top.env0下面所有子子孙孙组件里msg id为BAD_CRC的uvm_error语句,改成uvm_warning。 对于msg id是BAD_CRC的uvm_fatal语句,并不受影响。 这个plusargs不单能把UVM_ERROR变成UVM_INFO,反过来也可以把UVM_INFO变成UVM_ERROR,就看大家实际的需求了。 如果将UVM_ERROR改成UVM_...
uvm_info执行的时候,UVM会判断系统对这条语句的啰嗦容忍等级,然后进行屏蔽或打印。通过命令行参数或者component对象调用配置函数,可以灵活调整系统的啰嗦容忍等级,从而控制对uvm_info语句的屏蔽。 另外,建议大家写uvm_info语句的时候,info id尽量使用一些便于后期筛选或过滤的字符串(比如function或者task的名字); 而不要...
uvm_info本质上通过调用uvm_report_enabled函数来计算当前这条打印语句是不是太啰嗦,再决定是屏蔽还是打印;打印动作是通过uvm_report_info这个函数来完成的。 这里`uvm_file和`uvm_line是两个宏,分别记录了该条打印语句所在的文件名和行号;这就是为什么我们通常会看到uvm_info打印信息里面有文件名和行号的原因。 这...
简介:【前端验证】对uvm_info宏的进一步封装尝试 前言 没有公共环境和组件作为依托,徒手写验证环境真的是太难了。所以最近我一直在写环境的同时补充公共环境,这次的内容就是封装`uvm_info。 关于systemverilog中宏的使用规则,请参考前文:system verilog环境中使用宏的学习笔记_尼德兰的喵的博客-CSDN博客_systemverilog...
uvm_info是一个带参数的宏,包含3个部分:ID(标示信息)、MSG(调试信息)、啰嗦程度。ID并非唯一,可为多条语句指定相同ID。MSG为打印信息,可直接指定或通过$sformat产生格式化字符串。啰嗦程度通过枚举类型指定,决定信息是否被屏蔽。通过uvm_report_enabled函数计算信息的啰嗦程度与系统容忍等级进行比较...
此时sequence会自动调用其pre_body,body,post_body函数,一般会在body中使用`uvm_do系列宏产生tr,这个是最基本的sequence机制的用法,但本文不讨论sequence机制,先记住这两个启动的方法,重点关注通过start函数启动sequence的方式,因为通过“default_sequence”的方式启动seq,本质上也会调用seq的start函数。
uvm_info 萌萌哒的小怪兽 预定的打印消息冗余度级别如上所示,可以看到UVM_NONE的冗余度最低、UVM_DEBUG的冗余度最高。 使用方法举例: 如果将UVM_VERBOSITY设置为UVM_MEDIUM,则冗余度高于UVM_MEDIUM(200)的消息(即UVM_HIGH、UVM_FULL、UVM_DEBUG)都不打印,只有冗余度低于UVM_MEDIUM的消息(即UVM_LOW、UVM_NONE)才...
uvm_report_info (ID, MSG, VERBOSITY, `uvm_file, `uvm_line,"",1); \end 4.good code: //use get_type_name() for id`uvm_info(get_type_name(), $sformatf("Deassert reset _reset=%0b", _reset), UVM_LOW)//in for loopfor(inti =0; i < l_queue.size(); i++)beginfor(intj ...
26 void'(uvm_config_db#(int)::get(this.m_parent, "i_agt.drv", "pre_num", drv_pre_num)); 27 `uvm_info("my_model", $sformatf("after get, the pre_num is %0d", drv_pre_num), UVM_LOW) 28 endfunction Verified: `uvm_info(get_full_name(), $sformatf("Value of payload[%...