uvm里如何插入断点_UVM入门学习笔记(三)

本文详细介绍了UVM中如何控制打印信息的冗余度阈值,包括设置和获取冗余度级别,以及如何重载打印信息的严重性。此外,还讲解了UVM_ERROR达到一定数量时停止仿真的机制,以及如何设置断点功能。最后,讨论了config_db机制的使用,如set和get函数的参数,跨层次和同一层次的设置,以及config_db的检查和调试工具。
摘要由CSDN通过智能技术生成

INTRO

本节内容主要来自《UVM实战》的第三章的后半部分,主要介绍了UVM中打印信息的控制和config_db机制的使用。

3.4 UVM打印信息控制

3.4.1 设置打印信息的冗余度阈值

由于在开始debug时可能会有非常多的报错信息,因此为了增加验证报告的可读性,应该对打印的信息进行优先级的设置,并能够通过控制阈值来选择全部或部分显示打印信息。

在UVM框架中,这一部分由打印冗余度级别这个参数进行控制。需要注意的是,小于等于冗余度阈值的信息会被打印,而大于阈值的信息则不会。UVM默认的冗余度阈值是UVM_MEDIUM,因此在此前几节的代码中我们都设置打印信息的冗余度为UVM_LOW,其完整的示例代码如下:

`uvm_info("my_scoreboard", "Compare SUCCESSFULLY", UVM_LOW);

可以通过get_report_verbosity_level函数得到某个component的冗余度阈值,可以通过set_report_verbosity_level来设置某个component的默认冗余度阈值,示例代码如下:

$display("env.i_agt.drv's verbosity level is %d",env.i_agt.drv.get_report_verbosity_level());

env.i_agt.drv.set_report_verbosity_level(UVM_HIGH);

需要注意,由于上述代码中涉及了层次引用,因此必须在connect_phase后,UVM树已经建立的情况下才能调用这两个函数;如果只是在当前component修改,则可以在connect_phase之前调用,因为不涉及层次引用。

除了以上两个函数,UVM框架还提供了如下一些函数来控制打印信息冗余度:set_report_verbosity_level_hier:递归地设置component的冗余度阈值。

set_report_id_verbosity:设置不同ID的冗余度阈值。

set_report_id_verbosity_hier:递归地设置ID的冗余度阈值。(此条存疑,ID如何进行递归?)

此外在命令行中也可以设置冗余度阈值,这是此时只能对整个验证平台进行设置:

+UVM_VERBOSITY=UVM_HIGH

3.4.2 重载打印信息的严重性

UVM中有四种信息严重性,从最不严重到最严重分别为:UVM_INFO&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值