report源码分析——report_handle和report_server和report_catcher
report_handle主要实现对message的action,severity,file的设置,然后将message传递给server:
主要的function有两个:initial和process_report_message:
      
      
uvm_report_server是一个virtual class,其中定义了很多virtual function的原型,比较重要的是两个static function:
set_server和get_server:top cs上的server类型为default类型,实现了很多function的extend
      
      
uvm_default_report_server,是针对server类的具体实现:
其中最重要的三个function:process_report_message,compose_message(处理DISPLAY,LOG),
execute_report_message(处理COUNT,EXIT,STOP):
process_report_message,主要调用uvm_report_catcher对message进行预处理,然后根据action分别调用compose_message
和execute_report_message
       
 
compose_report_message,是一个virtual function,可以进行extend来自定义自己的message输出格式:
       
   
execute_report_message,根据action来进行具体的操作:
       
  
report_summary的具体实现:
      
uvm_report_catcher是一个uvm_callback的扩展类:通过uvm_register_cb(uvm_report_object,uvm_report_catcher)来注册:
uvm_report_catcher的扩展类必须实现catch function,返回CAUGHT(message不会在有后续处理),THROW(message继续处理),
catcher function可以改变severity,id,action,verbosity等信息,还有很多function来得到具体的message,来处理。
一个典型应用:
      
      
拿到message属性的方法:
      
set属性的方法:
      
与server function之间的调用:
      
report源码分析——report_handle和report_server和report_catcher的更多相关文章
- report源码分析——report_object和report_message
		uvm的report机制,主要涉及uvm_report_object,uvm_report_handle,uvm_report_server这三个类: uvm_report_object主要是提供uv ... 
- report源码分析——宏的执行
		uvm_info,uvm_error其实是对uvm_report_info,uvm_report_error的封装. 其中warning,error,fatal,macros默认都是定义为UVM_NO ... 
- zookeeper源码分析之四服务端(单机)处理请求流程
		上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ... 
- 最新版ffmpeg源码分析
		最新版ffmpeg源码分析一:框架 (ffmpeg v0.9) 框架 最新版的ffmpeg中发现了一个新的东西:avconv,而且ffmpeg.c与avconv.c一个模样,一研究才发现是libav下 ... 
- Solr4.8.0源码分析(13)之LuceneCore的索引修复
		Solr4.8.0源码分析(13)之LuceneCore的索引修复 题记:今天在公司研究elasticsearch,突然看到一篇博客说elasticsearch具有索引修复功能,顿感好奇,于是点进去看 ... 
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
		Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ... 
- goahead webserver源码分析
		1.一个txt文本架构图 main() | |--websOpenServer() | |-- websOpenListen() | ... 
- HTTP服务器的本质:tinyhttpd源码分析及拓展
		已经有一个月没有更新博客了,一方面是因为平时太忙了,另一方面是想积攒一些干货进行分享.最近主要是做了一些开源项目的源码分析工作,有c项目也有python项目,想提升一下内功,今天分享一下tinyhtt ... 
- Android7.0 Phone应用源码分析(四) phone挂断流程分析
		电话挂断分为本地挂断和远程挂断,下面我们就针对这两种情况各做分析 先来看下本地挂断电话的时序图: 步骤1:点击通话界面的挂断按钮,会调用到CallCardPresenter的endCallClicke ... 
随机推荐
- PLSQL复合触发器
			复合触发器范例 create or replace trigger compound_trigger for insert or update or delete on dept_x compound ... 
- 《HTTP - https》
			一:HTTP 缺点? - 明文通讯(也是最受诟病的一个缺点) - 不验证对方的身份(你说你是你?你怎么证明你是你呢?) - 无法验证报文的完整性,可能已经被篡改(在挨打的边缘,来回试探) 二:HTTP ... 
- Android SDK 环境变量
			系统变量 PATH中加入 C:\Program Files (x86)\Android\android-sdk\platform-tools 和 C:\Program Files (x86)\Andr ... 
- 预备作业2 :学习基础和C语言基础调查
			剑网三毒经pk心得: 看完标题的你真的没有进错,这里是博客园. 想到写这篇文章的原因一部分是自己的确没啥技能比超过90%以上的人还好,还有一部分是受到了作业提示的指引...... 如果你有类似的技能获 ... 
- Gson使用技巧
			1. CharMatcher String serviceUrl = CharMatcher.is('/').trimTrailingFrom(ConfigHelper.metaServiceUrl( ... 
- window 系统显示svg、psd格式文件
			可以安装SVG Explorer Extension来预览略缩图原地址:https://svgextension.codeplex.com 参考地址 github上 exe 文件下载地址 https: ... 
- CUDNN安装
			在英伟达官网下载后解压,然后: cd cuda sudo cp lib64/* /usr/local/cuda/lib64/ sudo cp include/* /usr/local/cuda/inc ... 
- MongoDB与关系型数据库 区别
			mysql mongodb 表 table Collection 字段 Colum Fields 行 row Document Mongo中的一些概念 ------------- ... 
- 查看Centos内存使用情况linux命令
			我们在使用centos版linux服务器的过程中,有时会出现卡顿的情况,这时我们可以通过查看一下内存的使用来判断发生了什么情况,那么如何查看centos内容使用情况呢?有几个方法可以尝试,跟着ytka ... 
- 一个canonical标签解决site不在首页的问题
			前段时间因为竞价的同事为了方便查看转化路径,在每个关键词都设置了不同的url,具体是直接在标准网址后面加#和参数,例如www.abc.com/#defgh,www.abc.com/#ijklmn,因为 ... 
