当前位置: 首页 > 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

相关文章:

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

1. 问题描述 在某项目调试过程中,发现通过tc_base.sv中new函数里的set_report_max_quit_count()设置最大error数量不生效,uvm_error数量仍旧是达到10个(默认)就会退出仿真。 2. 设置uvm_error到达一定数量结束仿真的方式 由白皮…...

chatGPT问答知识合集【二】

Redis 架构说明 Redis 是一个开源的内存数据库,它也可以持久化到磁盘。以下是 Redis 的典型架构说明:### Redis 架构组件:1. **客户端**:与 Redis 服务器进行通信的应用程序或客户端库。2. **Redis 服务器**:执行实际…...

不靠学历,不拼年资,怎么才能月入2W?

之前统计局发布了《2023年城镇单位就业人员年平均工资情况》,2023年全国城镇非私营单位和私营单位就业人员年平均工资分别为120698元和68340元。也就是说在去年非私营单位就业人员平均月薪1W,而私营单位就业人员平均月薪只有5.7K左右。 图源:…...

【软考】多核CPU

目录 1. 说明 1. 说明 1.核心又称为内核,是 CPU 最重要的组成部分。2.CPU 中心那块隆起的芯片就是核心,是由单品硅以一定的生产工艺制造出来的,CPU 所有的计算、接收/存储命令、处理数据都由核心执行。3.各种 CPU 核心都具有固定的逻辑结构&…...

制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格

你是否觉得自己的网站应该看起来更炫酷?今天我将教你如何使用 HTML 和 CSS3 制作一个拥有炫酷动画和现代设计风格的个人网页,让它在任何设备上看起来都无敌酷炫! 哈哈哈哈哈哈哈哈,我感觉自己有点中二哈哈哈哈~ 目录 炫酷设计理念构建 HTML …...

WinCC中归档数据片段的时间和尺寸设置

1.归档数据片段介绍工控人加入PLC工业自动化精英社群 1.1 概述 WinCC V6.2 开始的后台数据库采用了MS SQL Server 2005 ,所以归档方式与V5 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以…...

kubernetes网络(二)之bird实现节点间BGP互联的实验

摘要 上一篇文章中我们学习了calico的原理,kubernetes中的node节点,利用 calico 的 bird 程序相互学习路由,为了加深对 bird 程序的认识,本文我们将使用bird进行实验,实验中实现了BGP FULL MESH模式让宿主相互学习到对…...

动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?

JavaScript 被称为动态语言,而 Java 被称为静态语言 这主要与它们在类型系统、编译执行方式以及运行时行为等方面的不同特性有关。详细差异如下: JavaScript (动态语言) 动态类型: 在JavaScript中,变量的类型是在运行时确定的。这…...

计算机网络17——IM聊天系统——客户端核心处理类框架搭建

目的 拆开客户端和服务端,使用Qt实现客户端,VS实现服务端 Qt创建项目 Qt文件类型 .pro文件:配置文件,决定了哪些文件参与编译,怎样参与编译 .h .cpp .ui:画图文件 Qt编码方式 Qt使用utf-8作为编码方…...

C/C++面试题

关键字 1."#","##"的用法 #是字符串转换符,##是字符串连接符;发生在预处理阶段; 2.volatile的含义 防止编译器优化,告诉编译器每次都去真实地址中读取,而不是从寄存器或者缓存中&a…...

[3]Opengl ES着色器

术语: VertexShader:顶点着色器,用来描述图形图像位置的顶点坐标; FragmentShader:片元着色器,用来给顶点指定的区域进行着色; Vertex:顶点 Texture:纹理…...

Spring Boot 中实现任务后台处理的几种常见方式

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 在现代应用程序中,后台处理对于处理发送电子邮件、处理文件、生成报告等任务至关重要。 Spring Boot 提供了多种机制来高效地实现后台任务。本文探讨了在 Spring Boot 中处理后台处理的各…...

部署--UmiJS

默认方案 umi2 默认对新手友好,所以默认不做按需加载处理,umi build 后输出 index.html、umi.js 和 umi.css 三个文件。 不输出 html 文件 某些场景 html 文件交给后端输出,前端构建并不需要输出 html 文件,可配置环境变量 HTM…...

python自学笔记

python部分总结 主要记录的是python与之前学的语言的不同之处 函数总结 首字母大写: name.title() 删除右边空格(暂时):name.rstrip() 删除左边空格(暂时):name.lstrip() 删除前缀(暂时):name.removeprefi…...

Ubuntu磁盘不足扩容

1.问题 Ubuntu磁盘不足扩容 2.解决方法 安装一下 sudo apt-get install gpartedsudo gparted...

【ROS2】spin、spinOnce、spin_some、spin_until_future_complete

1、简述 spinOnce仅处理一个回调函数(ROS1); spin_some类似于ROS1的spinOnce,但处理多个任务,然后返回(ROS2); spin会持续处理回调函数直到无任务,然后阻塞(ROS1、ROS2); 注意: 只有消息推送(publisher)功能的程序,不需要使用spin_some(),因为它不执行任何回…...

化繁为简:中介者模式如何管理复杂对象交互

化繁为简:中介者模式如何管理复杂对象交互 中介者模式 是一种行为型设计模式,定义了一个中介者对象,来封装一组对象之间的交互。中介者模式通过将对象之间的交互行为从多个对象中抽离出来,集中封装在一个中介者对象中,…...

控制STM32蜂鸣器示例代码(江科大)

以下代码来源于本人学习江科大的课程,这是一个简单的STM32微控制器程序,用于控制连接到GPIOB第12号引脚的蜂鸣器。程序通过GPIOB的第12号引脚输出PWM波形来控制蜂鸣器的频率,从而产生声音。 #include "stm32f10x.h" …...

Java基础知识扫盲

目录 Arrays.sort的底层实现 BigDecimal(double)和BigDecimal(String)有什么区别 Char可以存储一个汉字吗 Java中的Timer定时调度任务是咋实现的 Java中的序列化机制是咋实现的 Java中的注解是干嘛的 Arrays.sort的底层实现 Arrays.sort是Java中提供的对数组进行排序的…...

ZLMediaKit Windows编译以及使用

1.运行ZLMediaKit 2.通过ffmpeg把视频源推流给ZLMediaKit 执行以下命令,将本地视频通过RTSP协议推流给ZLMediaKit。 ffmpeg -re -stream_loop -1 -i "D:\workplace\armgb\public\1.fileh264" -vcodec h264 -f rtsp rtsp://127.0.0.1/live/test 若想将本…...

别再只会插卡开机了!手把手带你用APDU命令探索手机SIM卡里的文件迷宫

解码SIM卡文件系统:用APDU命令探索移动通信的微观世界 当你把SIM卡插入手机时,它就像一把打开移动网络大门的钥匙。但鲜为人知的是,这张小小的芯片内部运行着一个完整的文件系统,其复杂程度堪比微型操作系统。本文将带你用APDU命令…...

LabVIEW 2021生成EXE后报表报错?手把手教你添加NIReport.llb和LVClass文件

LabVIEW报表生成避坑指南:从源码到EXE的完整解决方案 在LabVIEW开发过程中,报表生成功能是许多工程师不可或缺的工具。然而,当我们将精心编写的程序打包成可执行文件(EXE)时,常常会遇到一个令人头疼的问题&…...

SQL注入技术详解:从联合查询到盲注实战

前言: 继续开始我们的SQL注入吧!本文详细讲解SQL注入的各类技术,包括联合查询、报错注入、布尔盲注、时间盲注、UA注入、Referer注入等,涵盖漏洞判断、利用方法和实战步骤。内容基于MySQL 5.0以上环境,围绕information…...

Blender 3MF插件终极指南:如何在Blender中实现3D打印文件的完美导入导出

Blender 3MF插件终极指南:如何在Blender中实现3D打印文件的完美导入导出 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 想要在Blender中高效处理3D打印文件吗…...

STM32F405时钟树配置避坑指南:从HSE到APB,手把手教你算对每个外设时钟

STM32F405时钟树配置避坑指南:从HSE到APB,手把手教你算对每个外设时钟 在嵌入式开发中,时钟配置是STM32项目启动的第一步,也是最容易踩坑的环节之一。很多开发者虽然理解了时钟树的基本概念,但在实际项目中仍然会遇到外…...

从源头到治理:光伏并网逆变器直流分量抑制技术全解析

1. 光伏并网逆变器直流分量问题概述 第一次在光伏电站现场看到直流分量超标告警时,我盯着监控屏幕愣了半天。作为从业多年的光伏系统工程师,我深知这个看似微小的技术指标背后隐藏着多大的隐患。直流分量就像电网中的"隐形杀手",它…...

【声纳技术手册】3 三维水声传播的快速计算:从海底山脉到水平折射

三维水声传播的快速计算:从海底山脉到水平折射 副标题:当我们在深海中"听见"一座山——3D射线追踪、Normal Mode Coupling与剪切波效应的直觉之旅 写在前面:为什么我们需要三维? 别急,我们先从一个你熟悉的场景开始想象。 想象你站在一个巨大的游泳池边,水面…...

自定义下载器开发:如何为Fetch扩展OkHttp和其他下载引擎

自定义下载器开发:如何为Fetch扩展OkHttp和其他下载引擎 【免费下载链接】Fetch The best file downloader library for Android 项目地址: https://gitcode.com/gh_mirrors/fetch/Fetch Fetch作为Android平台上最优秀的文件下载库,其强大的扩展性…...

远程控制软件哪个好 远程控制软件推荐用无界趣连2.0

不管是想用手机串流玩端游,还是朋友、家人遇到设备难题需要免费远程协助,一款好用的远程控制软件都能帮上大忙。想找到一款靠谱的远程控制软件并不容易,推荐无界趣连2.0,不管是游戏娱乐还是应急协助,都能轻松满足需求&…...

深度可分离CNN量化优化:PROM方法解析

1. 深度可分离CNN量化现状与挑战 在移动端和边缘计算场景中,卷积神经网络(CNN)的部署面临两大核心矛盾:模型精度与计算资源之间的权衡,以及理论计算量与实际硬件效率的差距。传统量化方法通常采用"一刀切"策略,对所有卷…...