UVM同样支持UVM_ERROR达到一定数量时结束仿真。对于某个测试用例,如果出现了大量的UVM_ERROR,根据这些错误已经可以确定bug所在了,再继续仿真下去意义已经不大,此时就可以结束仿真,而不必等到所有的objection被撤销。

实现这个功能的是set_report_max_quit_count函数,其调用方式为:

    //base_test.svfunction void base_test::build_phase(uvm_phase phase);super.build_phase(phase);env = my_env::type_id::create("env", this);set_report_max_quit_count(5);endfunction

上述代码把退出阈值设置为5。当出现5个UVM_ERROR时,会自动退出,并显示如下的信息:

    # --- UVM Report Summary ---##Quit count reached!# Quit count : 5 of 5

在测试用例中的设置方式与base_test中类似。如果测试用例与base_test中同时设置了,则以测试用例中的设置为准。

此外,除了在build_phase之外,在其他phase设置也是可以的。

与set_max_quit_count相对应的是get_max_quit_count,可以用于查询当前的退出阈值。如果返回值为0则表示无论出现多少个

UVM_ERROR都不会退出仿真:

function int get_max_quit_count();

除了在代码中使用set_max_quit_count设置外,还可以在命令行中设置退出阈值:

<sim command> +UVM_MAX_QUIT_COUNT=6,NO

其中第一个参数6表示退出阈值,而第二个参数NO表示此值是不可以被后面的设置语句重载,其值还可以是YES。

int sim_max_quit_count = 5;
if(!$value$plusargs("UVM_MAX_QUIT_COUNT=%d", sim_max_quit_count)) beginset_report_max_quit_count(sim_max_quit_count);
end

————————————————

版权声明:本文为CSDN博主「Alfred.HOO」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Michael177/article/details/125710942

UVM_MAX_QUIT_COUNT相关推荐

  1. uvm 形式验证_UVM基础

    uvm_component与uvm_object 1. 几乎所有的类都派生于uvm_object,包括uvm_component. uvm_component有两大特性是uvm_object所没有的: ...

  2. linux VCS+verdi运行UVM实战(第二章)中的例子

    目录 前言 介绍 建立工程 运行代码 查看波形 总结 前言 用VCS+verdi运行了下UVM实战中的例子(第二章). 介绍 在某宝上花了几十块,买了个虚拟机(已经安装好VCS+verdi).直接用U ...

  3. uvm里如何插入断点_UVM——控制打印信息

    通过控制component打印信息的行为,提高日志的可读性. uvm_component 直接继承自uvm_report_object,所以component继承了一些设置report的函数. 打印信 ...

  4. CPU系统级验证——验证环境——OpenHW core-v验证环境及文件分析

    本文记录的相关源工程和文件为: core-v RISCV核功能验证工程:https://github.com/openhwgroup/core-v-verif core-v 验证策略:https:// ...

  5. VCS和UVM常用编译选项

    VCS编译选项 -full64 在64bit模式下编译.仿真,用于64位操作系统 -j8 指定编译器可以并行编译的进程数为8 -timescale=1ns/1ps 指定仿真时间和精度 -y <d ...

最新文章

  1. 生信服务器 | 防火墙基本配置
  2. 几何视角看线性方程组解的情况
  3. 《央视-走遍中国》,没机会亲自去看,了解一下也好
  4. PHP内存管理 垃圾回收
  5. oracle查看列状态unused,Oracle9i下将列设为UNUSED时的系统行为
  6. R语言ggplot2绘图——柱状图
  7. 微信小程序 - 按照官网文档构建npm包 - 提示【没有找到可以构建的npm】
  8. filebeat 配置文件详解
  9. python调用sqlplus执行_python可以调用sqlplus吗?
  10. 正则匹配身份证和邮箱
  11. jsp和html的作用域,JSP(二):JSP九大内置对象、四个作用域对象
  12. javascript网页自动填表_javascript实现自动填写表单实例简析
  13. quartz之@Scheduled定时器的使用和详细介绍
  14. 修改vscode图标
  15. 考研二战日记——第二天 高数第一章第二节:数列的极限
  16. 怎么把图片的边缘弄圆_ps里面照片怎么把边缘变成椭圆形
  17. 红外遥控风扇改手机APP远程控制杂记
  18. 机试评判系统评判提交程序后返回结果详细说明
  19. kibana 写两个查询条件_Kibana使用之Lucene的语法查询
  20. 华为服务器centos安装系统,华为裸金属服务器泰山200安装Centos7图文解析

热门文章

  1. php 往上取整,PHP取整,四舍五入取整、向上取整、向下取整、小数截取
  2. Java Stream API(一)
  3. 接收雅虎邮件时如何设置“您有邮件”语音。
  4. SSO单点登录简析 身份认证 安当加密
  5. 姜命 扬州格外机器人_机器人抢饭碗 苏州昆山一工厂少用5万工人
  6. STM32:利用PWM波控制飞盈电调过程和注意事项
  7. Android手机信号强度介绍
  8. Android 开发过程中遇到的棘手的问题笔记(SP引起的ANR,4G网络请求慢,app启动白屏)(持续更新)
  9. 关于For循环嵌套的简单理解
  10. 多重共线性一些指标解释