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

关于UVM仿真error数量达到指定值就退出仿真的设置

1. 问题描述

在某项目调试过程中,发现通过tc_base.sv中new函数里的set_report_max_quit_count()设置最大error数量不生效,uvm_error数量仍旧是达到10个(默认)就会退出仿真。

2. 设置uvm_error到达一定数量结束仿真的方式

由白皮书可知,设置uvm_error到达一定数量结束仿真的方式有两种:

(1)通过set_report_max_quit_count(num)函数设置。环境的tc_base.sv时在new函数里添加了该函数,如下图:

(2)通过命令行+UVM_MAX_QUIT_COUNT=num设置。环境在makefile里设置num=10,如下图:

目前生效的是方式(2),当需要修改此数量时,发现通过修改tc_base.sv里new函数中的set_report_max_quit_count()不生效。

3. 原因分析

tc_base.sv里new函数在调用完set_report_max_quit_count(100)后,在build_phase阶段uvm_root会调用m_do_max_quit_settings()函数,如下图:

该函数内部会拿到命令行设置的+UVM_MAX_QUIT_COUNT=10,如下图。从而导致前面tc在new函数里设置的100被覆盖。

4. 结论

该问题本质上是两种方式设置的优先级问题,目前的环境中默认方式(2)优先级更高,优点是方式(2)可以不重新编译就可以修改MAX_QUIT_COUNT

http://www.lryc.cn/news/445234.html

相关文章:

  • chatGPT问答知识合集【二】
  • 不靠学历,不拼年资,怎么才能月入2W?
  • 【软考】多核CPU
  • 制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格
  • WinCC中归档数据片段的时间和尺寸设置
  • kubernetes网络(二)之bird实现节点间BGP互联的实验
  • 动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
  • 计算机网络17——IM聊天系统——客户端核心处理类框架搭建
  • C/C++面试题
  • [3]Opengl ES着色器
  • Spring Boot 中实现任务后台处理的几种常见方式
  • 部署--UmiJS
  • python自学笔记
  • Ubuntu磁盘不足扩容
  • 【ROS2】spin、spinOnce、spin_some、spin_until_future_complete
  • 化繁为简:中介者模式如何管理复杂对象交互
  • 控制STM32蜂鸣器示例代码(江科大)
  • Java基础知识扫盲
  • ZLMediaKit Windows编译以及使用
  • 基于YOLOv5s的无人机航拍输电线瓷瓶检测(附数据集与操作步骤)
  • 【Python百日进阶-Web开发-FastAPI】Day805 - FastAPI的请求体
  • 【Kubernetes】常见面试题汇总(二十八)
  • 单ISP与双ISP的区别是什么
  • 【linux】gcc makefile
  • 12.Java基础概念-面向对象-static
  • 移动开发(三):使用.NET MAUI打包第一个安卓APK完整过程
  • 数据库中的DUAL表
  • 寄宿制学校自闭症教育:为每个孩子创造奇迹
  • Vue前端无法接收到后端返回的数据以及全局CSS样式影响(已解决)
  • 力扣234 回文链表 Java版本