在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6782|回复: 4

[原创] 关于uvm report机制

[复制链接]
发表于 2014-5-30 14:14:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 hbhbts 于 2014-5-30 14:17 编辑

首先,提一个看似简单的问题:在使用uvm的做验证的时候,经常需要打印信息,比较常用的可能就是`uvm_info 和uvm_report_info之类的了,那么`uvm_info 和 uvm_report_info之间有没有什么区别呢?      下面是`uvm_info的宏展开:

108 `define uvm_info(ID,MSG,VERBOSITY) 109    begin
110      if (uvm_report_enabled(VERBOSITY,UVM_INFO,ID))
111        uvm_report_info (ID, MSG, VERBOSITY, `uvm_file, `uvm_line);
112    end


      可以看出`uvm_info宏就是调用了uvm_report_enabled function做了一个verbosity_level和action的判断其是否允许进行report操作。关于action和verboisty_level在uvm中可以对其进行很精细的控制,如下面所示:

1)action设置:从上到下,范围由小到大,精细度由高到低,判别优先级由高到低
(severity, id)
         id          -> action            
     severity

2)verbosity设置:从上到下, 范围由小到大,精细度由高到低,判别优先级由高到低
  (severity,id)
        id         -> verbosity
     severity

这里action有几种功能,可以打印(UVM_DISPLAY), 可以记录message的个数后,并判断属否达到指定的最大count数(UVM_COUNT),也可以直接推出(UVM_EXIT);
而verbosity level 按过滤级别有低到高如下图所示

304   typedef enum305   {306   UVM_NONE   = 0,
307   UVM_LOW    = 100,
308   UVM_MEDIUM = 200,
309   UVM_HIGH   = 300,
310   UVM_FULL   = 400,
311   UVM_DEBUG  = 500
312   } uvm_verbosity;

除了action和verbosity之外,uvm还允许对severity进行override,uvm使用了两个关联数组来记录override信息,其索引分别是id,
和(severity,id),如果你想override一个id的severity,可以使用set_severity_id_override来override当前的id的原来的severity,但是这个新的severity不会影响原有的(severity,id)->action的设置和(severity,id)->verbosity的设置。那么这个override信息会在哪里使用呢?答案是只会在report函数中使用,也就是说打印信息之前,会进行severity override check,然后在用新的severity,进行打印,那么怎么打印呢?uvm使用了一个单实例的uvm_report_server来承接所有的report message任务。uvm_report在进行打印之前仍然要调用client的uvm_report_enbaled函数,这个函数在本文开头`uvm_info宏里面就有,就是用你给定的(severity,id)检查action和verbosity是否允许打印。而这个传进来的是override之后的severity。

所以关于`uvm_info和uvm_report_info这两个report区别就是,前者需要首先check你提供的(severity,id)是不是允许打印,然后再check override之后的(severity,id)是不是允许打印,如果都允许才会打印;而后者只check override之后的(severity,id)是不是允许打印。
发表于 2015-12-2 13:31:42 | 显示全部楼层
mark一下!
发表于 2016-3-3 10:53:50 | 显示全部楼层
MARK一下
发表于 2017-12-16 00:09:19 | 显示全部楼层
mark一下
发表于 2017-12-16 00:09:56 | 显示全部楼层
mark一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 22:26 , Processed in 0.024118 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表