[UVM源代码研究] 当我们执行uvm_top.print_topology时uvm都做了些什么

#UVM# 搞清验证平台中的 uvm_top、uvm_test_top及module top的层次关系 探讨uvm 中的层次关系uvm_topuvm_test_topmodule top uvm 中的层次关系uvm_top 、uvm_test_top 、module top 阅读详情

[UVM源代码研究] 当我们执行uvm_top.print_topology时uvm都做了些什么

当我们在build_phase后的任何一个uvm_comonent的任何一个phase执行uvm_top.print_topology()时,可以看到类似如下格式的log
在这里插入图片描述
打印的内容类似于我们uvm树形结构,但是又有些许的不同,有些tlm_port甚至int都被打印了出来,而我们定义的一些uvm_object却没有被打印,即使我们用了type_id::create(“”, this),例如register_model/adapater等等,下面我们就结合源代码分析分析原因。
首先我们知道uvm_top是uvm_root的唯一实例,声明在uvm_root中
在这里插入图片描述
于是就可以在uvm_root中找到print_topology()是定义如下图
在这里插入图片描述
分析上面的源代码可知,print_topology本质上是把uvm_root树形结构下的所有的树叶(m_children)遍历执行printer里的print_object()函数,接下来我们来看看printer和print_object()都做了什么。

printer是个uvm_printer类型的对象,关于uvm_printer的定义如下:
在这里插入图片描述

这是一个virtual类,所以他的所有的内部的函数都是在

UVM常用函数 print_topology()& factory.print()&get_full_name UVM常用函数 uvm_top.print_topology()& factory.print()& 1 uvm_top.print_topology; 要打印验证环境的结构,需要在验证环境构建之后打印,可以在final_phase中打印。 virtual function void final_phase(uvm_phase phase); super,finial_phase(phase); uvm_top.print_topology(); factory.print(); e 阅读详情

相关推荐

NVIDIA硅基帝国:从GPU硬件到技术权力的四层解构

GPU不仅是并行计算硬件,更是现代AI基础设施的核心权力载体。其技术本质涵盖物理架构、软件生态、互连协议与商业许可四个协同层级——CUDA构建了事实标准的编程契约,NVLink定义了算力共享的联邦规则,驱动与固件隐含动态功耗调控策略,而EULA则以法律形式固化技术主权边界。这种软硬一体的闭环体系,使GPU性能指标(如FP16算力、NVLink带宽)远不如其可编程性、兼容性矩阵和许可约束来得关键。对AI平台工程师而言,真正影响大模型训练稳定性的,往往是nvidia-smi日志中的thermal_policy警

csdndownload11123的博客 399

UVM验证方法学_打印信息控制

仿真过程中可能会出现各种各样的问题,查看所打印的log是debug过程很重要的一个环节。环境中的信息有很多,对打印信息的合理控制有助于我们快速定位问题,过滤掉我们不想看到的冗余信息。打印信息的控制有众多的函数可以选择,不论是对于严重级别的控制、对某节点或者某个ID的单独操作还是进行递归操作,都可以很轻松的完成。除此之外,我们还可以根据打印的信息对整个环境进行反馈控制,让我们可以实时地掌控整个环境的状态,让仿真过程更加顺利,产生我们所期望的结果。

2301_76660661的博客 1581

[UVMC]UVMC学习笔记之在SystemC/C++ layer的信息汇报控制

在uvmc中可以提供对uvm testbench基本层次信息的打印和信息打印级别的控制,控制过程可以systemC layer实现操作。

元直的博客 1393

3D点云目标检测Complex-YOLO(训练篇)(一)———KITTI数据集预处理与制作

KITTI dataset Download dataset KITTI 3D Object Detection Evaluation 2017 link 下载四个部分,共41.4GB 解压后为四部分内容(相机校准矩阵calib、RGB图像image_2、标签label_2、点云数据velodyne) 对应的testing和training数据。其中,training数据为7481张(图片和点云对应的场景),testing数据 7518张(无label_2数据)。 Data Preprocess

“知识最大的敌人不是无知,而是错觉” 7149

Vue3 视频播放器完整指南 – @videojs-player/vue 从入门到精通

全面解析 Vue3 生态中最强大的视频播放解决方案 @videojs-player/vue。从基础安装到高级功能,涵盖自动播放、直播流、字幕支持等核心特性。提供完整的代码示例和最佳实践,助你快速构建专业的视频播放应用。

前端开发-前端技术分享 1422

Silly Tavern(酒馆)AI 角色扮演下载与安装教程(Windows本地部署)

SillyTavern是一款开源AI角色扮演前端工具,支持沉浸式对话和长期角色互动。本文详细介绍了在Windows系统F盘部署SillyTavern的完整流程,包括下载项目、安装Node.js和Git环境、配置路径、启动服务等关键步骤,并特别说明非系统盘路径可能遇到的npm安装问题及解决方法。成功启动后,用户可通过浏览器访问本地地址使用该工具进行AI角色扮演互动。

Tan3851的博客 1万+

避开集成插件!手把手教你用URL登录实现Finereport与致远OA的无缝跳转

本文详细介绍了如何通过URL登录机制实现Finereport与致远OA的无缝跳转,无需复杂插件配置。文章涵盖用户体系同步、环境配置、URL登录核心设置及安全加固方案,特别适合企业数字化转型中BI工具与OA系统的轻量化集成需求。

weixin_29215815的博客 74

Dify 第 14 篇 Dify 知识库改造案例,如何返回完整文档?

在使用Dify社区版v1.7.1的知识库功能时,遇到检索仅返回匹配的文本片段而非完整文档的问题。针对运维案例知识库的需求,尝试了三种解决方案: 调整Chunk大小:通过设置最大分段长度为4000字符,但无法满足超过该长度的文档需求。 增加返回Chunk数量:通过调整Top K参数,但最大仅支持10个片段,且可能包含无关内容。 调用知识库API:通过检索接口获取匹配文档ID,再查询该文档所有分段内容,从而获得完整信息。具体步骤包括生成API密钥、获取知识库ID,并通过HTTP请求实现。 最终推荐采用AP

甘蓝的专栏 1966

车规SoC深度对比:高通8397 vs 比亚迪D9000 vs 联发科CT-X1/MT8676/MT2715

芯片优势弱势最适合场景高通 8397低功耗、低延迟AI和音频处理单屏算力略低HUD + 音响座舱 + 低延迟交互D9000多屏渲染、Wi-Fi7高速通信AI算力中等高端多屏座舱 + 流媒体娱乐CT-X1极高AI算力、多模态渲染功耗较高高端沉浸式智能座舱 + 多摄像头感知MT8676算力均衡、座舱应用全面GPU稍弱全栈智能座舱、音视频多任务MT2715成本低、入门座舱可用算力低,低端显示入门智能座舱、基础信息娱乐。

weixin_43199439的博客 1767

【StarRocks】-- DATETIME 与 TIMESTAMP 区别详解

本文详细解析了StarRocks中DATETIME/DATETIMEV2与TIMESTAMP的区别及使用场景。DATETIME系列存储人类可读时间,不携带时区;TIMESTAMP实际指Unix时间戳,建议用BIGINT存储。关键差异包括:精度选择(DATETIMEV2支持微秒级)、时区处理(仅函数计算时影响)、存储方式等。针对不同场景提供选型建议:单时区展示用DATETIMEV2,跨时区计算用BIGINT存储Epoch。特别强调与MySQL迁移时的注意事项,并给出常见问题解决方案和最佳实践清单,包括统一入口

欢迎来到我的博客,一起探索代码里的世界! 496

诊断CAPL自动化(3)——封装了接收诊断数据的通用CAPL脚本函数库

DiagGetRespPrimitiveSize (获取诊断响应的单个数据) diagGetPrimitiveData (获取诊断返回的所有数据) DiagGetRespParameter(数值类型) DiagGetRespParameter(字符串类型) DiagGetRespParameter(byte数组)

蚂蚁小兵 6218

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: [UVM源代码研究] TLM里的各种port、export、imp使用研究
下一篇: [UVM源代码研究] sequencer与driver之间如何实现通信
数字验证Kane陈
博客等级 码龄12年 662粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值