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

利用回调函数在driver中收集覆盖率

文章目录

  • 前言
  • 1、在driver中添加回调函数
  • 2、在回调函数中加入功能覆盖率
  • 3、在测试用例中进行覆盖率收集
  • 总结


前言

在UVM环境中,很多时候,我们通过driver,将数据包发送完成后,希望收集一下数据包的覆盖率,那么可以在driver中添加回调函数,利用回调函数收集覆盖率,本文主要记录一下,利用driver中的回调函数,来收集覆盖率的方法。


1、在driver中添加回调函数

在driver中添加回调函数的代码如下所示,这里添加了pre_send和post_send两个回调函数。
站在VIP开发者的视角,在driver中主要实现两个功能:
1、修改。修改driver的代码,利用`uvm_do_callbacks这个宏,加入需要添加的回调函数。
2、创建。创建一个回调函数的wrapper类,里边对回调函数进行虚拟化声明。
在这里插入图片描述
在这里插入图片描述

2、在回调函数中加入功能覆盖率

站在VIP使用者的视角,这里主要是对回调函数进行实现,具体包括:
1、定义。定义功能覆盖组,这是重点,需要根据不同的数据包,编写具体的功能覆盖点。
2、构造。构造功能覆盖组,利用new函数构造一下就可以了。
3、调用。在post_send回调函数中,对覆盖组的sample函数进行调用。
在这里插入图片描述

3、在测试用例中进行覆盖率收集

在具体的测试用例中,加入回调函数,进行功能覆盖率的收集,具体步骤包括:
1、声明。在测试用例中,声明回调类。
2、创建。利用new函数对其进行构造。
3、加入。将构造好的回调类加入到环境中。

在这里插入图片描述


总结

本文主要记录一下利用回调函数在driver中收集覆盖率的方法。

相关文章:

  • ch05 pointer
  • Java:Kubernetes原生Java与Quarkus
  • 15天深度复习JavaWeb的详细笔记(十二)——综合案例
  • AD生成Gerber及CAM350检查
  • Python数据分析:折线图和散点图的绘制
  • 【Vue2基础】Vue项目搭建及组件使用
  • 艾美捷衣霉素Tunicamycin 化学性质及引用文献
  • 【小样本分割】Self-Support Few-Shot Semantic Segmentation
  • ch01变量和数据结构
  • 五分钟学会一门编程语言?
  • 【Python数据分析 - 11】:DataFrame索引操作(pandas篇)
  • [Vue]数据代理
  • VSCODE 系列(二)常用插件
  • 【zabbix】解决zabbix在web页面显示中文乱码问题
  • ESP32/ESP8266自动下载电路波形,ESP32/ESP8266不能UART流控自动下载的解决方法
  • 《Java编程思想》读书笔记-对象导论
  • 【css3】浏览器内核及其兼容性
  • JavaScript 一些 DOM 的知识点
  • JAVA之继承和多态
  • Vue学习第二天
  • Vue组件定义
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 安装python包到指定虚拟环境
  • 测试开发系类之接口自动化测试
  • 将回调地狱按在地上摩擦的Promise
  • 使用 Docker 部署 Spring Boot项目
  • 我感觉这是史上最牛的防sql注入方法类
  • 在Unity中实现一个简单的消息管理器
  • 自制字幕遮挡器
  • ionic入门之数据绑定显示-1
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 数据库巡检项
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #QT(串口助手-界面)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二十四)Flask之flask-session组件
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (学习日记)2024.01.19
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .NET 设计模式初探
  • [ Linux ] Linux信号概述 信号的产生
  • [C++]AVL树怎么转
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [Django 0-1] Core.Handlers 模块
  • [EMWIN]FRAMEWIN 与 WINDOW 的使用注意
  • [flask]http请求//获取请求体数据
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引
  • [IE9] GPU硬件加速到底是实用创新还是噱头
  • [java基础揉碎]关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符运算符的优先级
  • [LeetCode] 178. 分数排名