[UVM]5.config机制 report 消息管理

news2024/9/27 12:17:43

1.config机制

(1)概述

SV只能例化后通过句柄访问,配置前必例化。

(2)uvm_config_db

  • uvm_congfig_db就是关联数组,path和value组成。

  • 传递配置对象(config object)就是传递句柄。

  • T:传递数据的类型。

  • set/get参数:实例句柄;名称;对应的变量名;值。

(3)interface传递概述

SV中通过set_interface完成接口的传递。

(4)interface传递示例

  • 在test1中,要在run_test()之前传递接口,uvm_congfig_db::set()。在build_phase里uvm_congfig_db::get()。

  • 需要注意的是set/get的参数,(this, "" , "vif", vif)/(uvm_root::get(), "uvm_test_top.c1", "vif", intf)。

(5)变量设置

(6)object传递-概述

(7)object传递-示例

  • uvm_config_db::set()的是子类的对象。uvm_config_db::get()的是父类的对象tmp。这时需要做个类型转换将tmp父类转为cfg子类。这样才能访问子类的成员变量并打印。

  • 如果将uvm_config_db#(uvm_object)中的uvm_object改为config1,这时就不需要$cast了。

输出结果

(8)总结

(9)建议


2.消息管理

(1)概述

(2)消息方法

  • 冗余度:这个消息到底重要不重要

  • filename/line不需要工程师care,系统会自动配置上。

(3)消息处理

(4)消息管理-消息宏

  • 推荐用消息宏, 不用方法。 

(5)消息管理-消息机制

(6)消息管理-回调函数1

(7)消息管理-回调函数2

(8)消息管理-回调函数3

(9)示例-回调函数

  • uvm_report_info("RUN","info1",UVM_MEDIUM)中RUN是id,UVM_MEDIUM是冗余度。

  • set_report_verbosity_level(UVM_LOW):只打印UVM_LOW消息。

  • set_report_severity_action(UVM_ERROR, UVM_DISPLAY | UVM_CALL_HOOK):对于UVM_ERROR消息,处理机制是打印并调用回调函数。

输出结果


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ps:颜色模型、色彩空间及配置文件

颜色模型、色彩空间和配置文件是处理颜色的核心概念。它们虽然互相关联,但各自有不同的功能和作用。 通过理解这些概念及其关系,Photoshop 用户可以更好地管理和优化图像处理流程,确保颜色在不同设备和应用中的一致性和准确性。 颜色模型 Col…

ERP系统在IC设计行业的必要性

在当今这个科技日新月异的时代,集成电路(IC)设计行业作为信息技术发展的核心驱动力之一,正面临着前所未有的挑战与机遇。随着产品复杂度的提升、市场需求的快速变化以及全球供应链的紧密交织,如何高效管理设计资源、优化生产流程、提升响应速…

【Netty】实战:基于Http的Web服务器

目录 一、实现ChannelHandler 二、实现ChannelInitializer 三、实现服务器启动程序 四、测试 本文来实现一个简单的Web服务器,当用户在浏览器访问Web服务器时,可以返回响应的内容给用户。很简单,就三步。 一、实现ChannelHandler pack…

Spring之拦截器(HandlerInterceptor)

前言 在web开发中,拦截器是经常用到的功能,用于拦截请求进行预处理和后处理,一般用于以下场景: 日志记录,可以记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等…

C++ 继承(二)

目录 1. 实现一个不能被继承的类 2. 友元与继承 3.继承与静态成员 4.多继承及其菱形继承问题 (1). 继承模型 (2). 虚继承 (2.1)虚继承解决数据冗余和二义性的原理 (3). 多继承中指针偏移问题 (4). IO库中的菱形虚拟继承 5. 继承和组合 1. 实现一个不能被继承的类 方法1…

内蒙古众壹集团:引领蒙东财税服务行业,成就企业发展新高度

内蒙古众壹企业管理集团有限公司自2019年成立以来,凭借卓越的服务和专业的团队,迅速成长为蒙东地区财税服务行业的先锋企业。 公司在成立初期,通过加盟慧算账平台,快速进入市场,并设立了多个分公司,逐步扩展…

Daily2:字体描边

有一个小的需求,需要对字体进行描边,一开始理解错了需求,以为要对字体镂空处理,然后尝试了许多做错了许多 后来发现是一个简单的描边处理,直接chatgpt就可以得出来一个简单的实现代码, class BorderTextView JvmOverloads constructor(context: Context, attrs: AttributeSet?…

读懂以太坊源码(3)-详细解析genesis.json

要想搞懂以太坊的源代码逻辑,必须要了解以太坊创世区块配置文件(genesis.json)的结构,以及每个配置参数的意义,创世配置文件,主要作用是设置链的ID,指定以太坊网络中硬分叉发生的区块高度,以及初始ETH数量的…

【系统分析师】-软件测试

目录 1、测试的类型 1.1、动态测试 1.1.1、黑盒法 1.1.2、白盒法 1.1.3、灰盒法 1.2、静态测试 2、测试阶段 2.1、单元测试 2.2、集成测试 2.3、确认测试 2.4、系统测试 3、性能测试 3.1、性能测试的目的 3.2、性能测试的类型 3.3、性能测试的步骤 5、测试设计…

【操作系统存储篇】Linux文件基本操作

目录 一、Linux目录 二、Linux文件的常用操作 三、Linux文件类型 一、Linux目录 Linux有很多目录,Linux一切皆是文件,包括进程、设备等。 相对路径:相对于当前的操作目录,文件位于哪个目录。 绝对路径 :从根目录开…

面对AI时代快车,你没必要跟车赛跑,而是应该先去考个驾照!

在当今人工智能领域,代码生成和编辑工具成为了开发者们手中的利器。昨天,零一万物公司再次展示了他们在开源社区中的领导地位,开源了 Yi-Coder 系列编程助手模型,这一举措不仅标志着该公司继今年5月开源Yi-1.5系列模型后的又一重大…

智能提醒助理系列-服务号静默登录

本系列文章记录“智能提醒助理”wx公众号 建设历程,记录实践经验、巩固知识点、锻炼总结能力。 本文介绍,如何让用户进入公众号之后就锁定用户,使用既注册,进入既可使用功能,去掉繁琐的登录认证流程。 一、需求出发点 …

告别单调,Xmind思维导图之后还有这三款神器,让学习工作更愉快

这年头信息量爆炸,我们得想办法把事情想清楚、把活儿排排好、学点新玩意儿。思维导图这东西,因为它画出来一目了然,用起来也简单,所以特别受学生们和上班的人的欢迎。在这么多画思维导图的软件里,Xmind因为功能全、界面…

02【SQL sever 2005数据库安装教程】

一、安装须知 1.安装数据库版本:SQL sever 2005 2.适用系统(目前发现):Windows server 2008 R2 3.安装程序目录:SQL2005\SQL Server x64\Servers\setup.exe 二、安装步骤 1.双击setup.exe,以…

c++编程(25)——unordered_map模拟实现

欢迎来到博主的专栏:c编程 博主ID:代码小豪 文章目录 unorder_map的底层insert迭代器成员访问函数operatoroperator-\- unordered_map是STL中的关联式容器之一,与常规的map有两点不同 (1)unordered是无序的意思&#x…

AI与我同创诗:尝试让ai(智谱清言)参与我的诗创活动

ai伴学越久,契合度愈高,“泛滥”之诗情,幸得学伴共雕琢。让ai伴学久了,不知觉的,写诗也让ai帮衬了。此文收录“我共ai”的自创文稿,亦可作“ai诗集”。😋 (笔记模板由python脚本于2024年09月03日…

企业微信中嵌套的h5应用调用微信扫码功能

企业微信官方文档 1.登录企业微信后台,管理员可操作,打开应用配置应用可信域名(必须配置,否则无法调用jsapi,可信域名必须有ICP备案且在管理端验证域名归属) 配置部署后的前台域名地址 配置可信域名,部署后的服务器域名(需备案认证) 当域名权限不够时需下载文件效验,将文件放…

网站开发:HTML + CSS - CSS选择器

1. 前言 CSS(Cascading Style Sheets,层叠样式表)是一种用于控制 HTML 文档样式和布局的语言。它为 Web 页面提供了许多功能,使开发者能够创建美观且功能丰富的用户界面。 提供了丰富的功能来控制网页的外观和布局,增…

掌握SQLAlchemy:Python数据库的魔法师

文章目录 掌握SQLAlchemy:Python数据库的魔法师背景:为什么选择SQLAlchemy?SQLAlchemy是什么?如何安装SQLAlchemy?五个简单的库函数使用方法1. 创建引擎2. 定义模型3. 创建会话4. 添加数据5. 查询数据 场景应用1. 多表…

大模型构建合作性的Agent,多代理框架MetaGpt

大模型构建合作性的Agent,多代理框架MetaGpt 前言 MetaGPT 框架将标准的操作程序(SOP)与基于大模型的多智能体相结合,使用标准操作程序来编码提示,确保协调结构化和模块化输出。 MetaGPT 允许 Agent 在类似流水线的范式中扮演多中角色,通过结构化的 Agent 协作和强化领…