uvm里如何插入断点_UVM——控制打印信息

2ff34e647e2e3cdfd8dca593e17d9b0a.png

通过控制component打印信息的行为,提高日志的可读性。

uvm_component 直接继承自uvm_report_object,所以component继承了一些设置report的函数。

打印信息的宏有:`uvm_info(id,mess,verbosity).

`uvm_warning(id,mess)

`uvm_error(id,mess)

`uvm_fatal(id,mess)

1. 设置信息冗余度阈值 verbosity level

冗余度等于低于阈值的信息可以打印出来,否则不会显示。uvm_verbosityUVM_NONEReport is always printed. Verbosity level setting can not disable it.

UVM_LOWReport is issued if configured verbosity is set to UVM_LOW or above.

UVM_MEDIUMReport is issued if configured verbosity is set to UVM_MEDIUM or above.

UVM_HIGHReport is issued if configured verbosity is set to UVM_HIGH or above.

UVM_FULLReport is issued if configured verbosity is set to UVM_FULL or above.1

2

3

4

5

6

7

8tyypedef enum{

UVM_NONE=0,

UVM_LOW=100,

UVM_MEDIUM=200,

UVM_HIGH=300,

UVM_FULL = 400,

UVM_DEBUG=500

} uvm_verbosity1

2$display("env's verbosity is %0d",env.get_verbosity_level());1

2

3// set_report_verbosity_level(UVM_LOW)

// 设置某个component的verbosity level

env.set_report_verbosity_level(UVM_HIGH);1

2// set_report_verbosity_level_hier(UVM_LOW)

// 递归设置1

2

3

4

5

6

7

8

9

10

11// set_report_id_verbosity("env",UVM_LOW)

//设置只打印某个id的报告,不是这个id的不打印

// 比如在env中有如下代码:

// `uvm_info("ID1","THIS IS ID1 UVM_LOW",UVM_LOW)

// `uvm_info("ID1","THIS IS ID1 UVM_HIGH",UVM_HIGH)

// `uvm_info("ID2","THIS IS ID2",UVM_LOW)

// 设置:

env.set_report_id_verbosity("env",UVM_LOW);

// 打印结果:

// THIS IS ID1 UVM_LOW

// 这个方法既对id进行过滤,也过滤verbosity level1// set_report_id_verbosity_hier("env",UVM_LOW)

也可以在仿真的时候添加仿真选项:1

2./simv +UVM_VERBOSITY=UVM_HIGH

// 为整个验证平台设置verbosity level

2. 重载打印信息严重性 severity

uvm有四种信息严重性:UVM_INFO

UVM_WARNING

UVM_ERROR

UVM_FATAL

这四种可以相互重载1

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值