当前位置:首页 > 公众号精选 > 芯片验证工程师
[导读]在testbench的搭建以及仿真的过程中,我们或多或少需要输出一些调试信息,我们需要能够方便快捷地关闭或者开启这些调试信息,如何做到这一点?一种比较简单的方法,就是给$display()加上宏,在仿真的开始定义该宏的值,在每一个打印信息前面都加个宏判断,从而确定调试信息是否打印...

在 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 的行为。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭