UVM验证环境中仿真挂死

发布时间:2026/9/25 15:03:56

UVM验证环境中仿真挂死
本文章记录工作中UVM环境挂死问题和一些自己的定位方法。前言UVM是当前主流的数字芯片验证方法学因其高度的封装性和可继承性广受青睐但其繁杂的运行机制也会导致实际使用时碰到形形色色对的问题本文章重点记录笔者在实际工作遇到的一些关于环境挂死的问题仅个人观点欢迎大家指正。1通过UVM_OBJECTION_TRACE来定位task_phase的挂死run_phase、main_phase等task_phase是相互独立的每个phase都有objection控制当前phase的开启和关闭若phase中的多个component提起raise了objection但未及时全部撤销drop则会导致phase挂死。此类问题可以通过在仿真阶段(simulation)添加指令UVM_OBJECTION_TRACE解决此处可参考白皮书部分内容Page372~373log中会显示树状结构的component中各自维护的objection个数(count)和当前phase所有存在的objection个数(total)只有当total0时代表当前phase中的所有objection均被撤销掉。因此可以通过查询log检查挂死点处有哪些task_phase的objection_total不为0再进一步定位是哪个component的objection尚未撤离及时drop即可解决挂死。2通过verdi的交互式界面来设置断点定位挂死verdi支持Interactive Debug Mode(交互式dbg模式)具体可以参考B站席老师的科普视频https://www.bilibili.com/video/BV16t421w7T8?spm_id_from333.788.videopod.sectionsvd_sourceabf22a82319ff1dc9c2d09b77221c889总结一下Step1需要在cmp_option中加入-debug_accessallreverseStep2使用verdi -ssf *.fsdb 打开verdiStep3Window-Interactive Debug Mode开启交互式debug模式Step4勾选Tools-Preferences-Interactive Debug-Reverse DebugStep5插入断点我设置过时间就是仿真挂死的时间点可以再往后设置一点观察到底是哪里挂死Step6运行即Debug界面中绿色右向箭头Step7观察Console窗口中最终代码停止位置分析挂死原因笔者当时是运行到断点之后发现是run_phase在运行进一步检查run_phase的objection定位到是driver的run_phase中的无限循环外包了一层objection导致挂死。当然他实际停止位置并不一定就是你出错的代码行只是告诉你当前代码在的phase挂死了要注意这一点

相关新闻

大模型推理加速实战:从 KV Cache 到 vLLM 调度机制的深度解析

大模型推理加速实战:从 KV Cache 到 vLLM 调度机制的深度解析

2026/9/25 14:59:15

一、为什么大模型推理越来越慢? 大模型生成文本的过程并不是一次完成的,而是典型的自回归生成: 输入:人工智能正在改变 生成:人工智能正在改变 -> 世界 生成:人工智能正在改变世界 -> 的 生成&#x…

PyCharm 2025中文版安装与配置全指南

PyCharm 2025中文版安装与配置全指南

2026/9/8 2:48:51

1. PyCharm 2025中文版安装环境准备 PyCharm作为JetBrains公司推出的专业Python IDE,2025版本在代码分析、调试和项目管理方面都有显著提升。中文版的出现极大降低了国内开发者的使用门槛,我们先来看安装前的准备工作。 1.1 硬件与系统要求 PyCharm 20…

Tecnotree 2026年上半年实现两位数利润增长,项目部署势头加速

Tecnotree 2026年上半年实现两位数利润增长,项目部署势头加速

2026/8/10 3:30:35

AI原生数字业务支持系统(BSS)和电信行业数字平台解决方案领域的全球领导者Tecnotree公布了其2026年上半年的财务业绩。公司在各项主要财务指标上均实现了增长,营业利润率扩大了800个基点,并将创纪录的订单储备快速转化为项目部署,在北美、非洲…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/25 10:06:33

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/25 9:40:47

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/25 10:06:21

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/25 9:53:52

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/25 8:58:17

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/25 10:00:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/24 16:02:49

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/25 9:41:47

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/25 4:22:14

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…