Dinglei_hello · 2021年10月12日

UVM Report机制概述

在 testbench 的搭建以及仿真的过程中,我们或多或少需要输出一些调试信息,我们需要能够方便快捷地关闭或者开启这些调试信息,如何做到这一点?

一种比较简单的方法,就是给$display()加上宏,在仿真的开始定义该宏的值,在每一个打印信息前面都加个宏判断,从而确定调试信息是否打印出来。但是这样子带来一个问题,就是如果我们要将调试信息分类就需要定义好几个宏。比如调试 testbench 中某一个 component 时候,仅仅需要输出该模块的打印信息,这样子就比较麻烦。

在基于 UVM 的测试平台中, UVM 中提供了一种内置机制来控制哪些信息被打印出来以及能够定义消息之后 testbench 的动作。

UVM 中一共可以通过如下方式来实现输出信息的控制:
1. 通过控制 ID 来实现不同的输出控制。
2. 通过设置不同 ID 的信息报告冗余级别。
3. 通过设置不同 ID 的 action。

UVM 能够实现下面的动作:
1. 设置一个全局的属性来决定该 testbench 所属的消息是否输出,例如设置一个组件(compoment)的属性来决定该组件所的消息是否输出(set_report_verbosity_level_hier ())或者设置一个消息的属性来决定该消息是否输出。
2. 设置一个组件中不同属性和不同 ID 的消息出现之后 testbench 的行为。

作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/Vh3C500ndEDDx1NNv8DMdg
微信公众号:
芯片验证工程师.jpg

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏
推荐阅读
关注数
20190
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息