当前位置: 首页 > news >正文

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


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消息,处理机制是打印并调用回调函数。

输出结果


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • docker装大米cms(damicms)各种cms可用相同办法
  • 开源 AI 智能名片小程序在内容营销中的应用与价值
  • JVM系列(七) -对象的内存分配流程
  • Grafana 在 Linux 系统上安装
  • 打造温馨家居,全屋智能家居解决方案
  • 【大模型实战篇】大模型周边NLP技术回顾及预训练模型数据预处理过程解析(预告)
  • 数据分析:R语言计算XGBoost线性回归模型的SHAP值
  • Latex使用方式
  • 面向GPU计算平台的归约算法的性能优化研究
  • vue3+ts封装类似于微信消息的组件
  • @Transactional 参数详解
  • OpenGL/GLUT实践:实现反弹运动的三角形动画与键盘控制(电子科技大学信软图形与动画Ⅱ实验)
  • 数据分析——基础
  • cowrie部署中遇到的坑
  • sqlite3 相关知识
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 5、React组件事件详解
  • If…else
  • javascript数组去重/查找/插入/删除
  • Lucene解析 - 基本概念
  • React-生命周期杂记
  • STAR法则
  • Vue 2.3、2.4 知识点小结
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 分享几个不错的工具
  • 京东美团研发面经
  • 聊聊flink的BlobWriter
  • puppet连载22:define用法
  • Spring Batch JSON 支持
  • #define
  • #控制台大学课堂点名问题_课堂随机点名
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (c语言)strcpy函数用法
  • (Matlab)使用竞争神经网络实现数据聚类
  • (二)斐波那契Fabonacci函数
  • (利用IDEA+Maven)定制属于自己的jar包
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (转)大型网站的系统架构
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .naturalWidth 和naturalHeight属性,
  • .NET 8 跨平台高性能边缘采集网关
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • @Valid和@NotNull字段校验使用
  • [ IO.File ] FileSystemWatcher
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [8] CUDA之向量点乘和矩阵乘法
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Android] Implementation vs API dependency
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C\C++]读入优化【技巧】
  • [CC-FNCS]Chef and Churu
  • [Cloud Networking] Layer 2