提取出差异点

传统用例

项目A锁定的寄存器是regA,项目B的锁定功能的寄存器是regB,如果项目A用例中直接用

reg_model.regA.write();
reg_model.regA.read();

的方式来读写的话,在项目B中需要将这些地方都修改掉。

改进用例

如果项目A中识别掉这个变化点,将这些变化点封装成一个函数,编写如下函数

function uvm_reg get_lockReg();
return reg_model.regA;
endfunction

在lock寄存器读写之前想获取一下寄存器

uvm_reg lock = get_lockReg();
lock.read();
lock.write();

这种方式来调用,那么在项目B中,只需要修改get_lockReg()这个函数,提高了用例的重用度。

function uvm_reg get_lockReg();
return reg_model.regB;
endfunction

2020.9.16

verification 提取差异点的更多相关文章

  1. 你不可不知的iOS与Android差异点!

    1.运行机制的区别 Android:沙盒运行机制,采用真后台运行,将所有的应用都保存在RAM中,按home键,程序被挂在了后台,实际未退出,因程序在后台运行,所以可以收到推送消息,导致内存越用越低,越 ...

  2. [0] MVC&MVP&MVVM差异点

    MVC: 用户的请求首先会到达Controller,由Controller从Model获取数据,选择合适的View,把处理结果呈现到View上: MVP: 用户的请求首先会到达View,View传递请 ...

  3. Java和C#差异点

    语法:----------------------------------------------------------1. Java的byte为-128~127相当于c#的sbyte,c#byte ...

  4. 利用python第三方库提取PDF文件的表格内容

    小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...

  5. [PHP] 2018年终总结

    去掉敏感信息后的不完整版 ==========================================================================2018年12月29日 记 ...

  6. [从源码学设计]蚂蚁金服SOFARegistry之程序基本架构

    [从源码学设计]蚂蚁金服SOFARegistry之程序基本架构 0x00 摘要 之前我们通过三篇文章初步分析了 MetaServer 的基本架构,MetaServer 这三篇文章为我们接下来的工作做了 ...

  7. ABBYY FineReader 15如何比较文档?

    ABBYY FineReader 15 OCR文字识别软件能帮助用户快速地对比两个文档间的差异,适合用于审阅.修改文档,发现新旧版本差异,预防输出错误版本等情况.此功能既能用于对比同一格式文档的不同版 ...

  8. 关于JDBC中查询方法的抽取

    萌新的JAVA学习笔记[1] 先来张伊蕾娜镇场~~ 简单描述 起初我们的查询方法时分为单个查询和全部查询,过于局限与繁琐,如此一来我们能不能想一个办法将所有类型的查询抽取出来并整合成为一个单独的工具方 ...

  9. 前端面试题整理——webpack相关考点

    webpack是开发工具,面试考点重点在配置和使用,原理理解不需要太深. 一.基本配置 1.拆分配置和merge 将公共配置跟dev和prod的配置拆分,然后通过webpack-merge对配置进行整 ...

随机推荐

  1. 主流浏览器内核、css权重

    主流浏览器及其内核: IE:trident Firefox:Gecko Google Chrome:webkit/blink Safari:webkit Opera:presto css权重 优先级大 ...

  2. println打印的原理

    由于out是System类中的一个不可变的变量 println方法在PrintStream类中 并且在打印都时候都会转换成字符串

  3. java如何对接企业微信

    前言 最近实现社群对接企业微信,对接的过程遇到一些点,在此记录. 企业微信介绍 企业微信具有和微信一样的体验,用于企业内部成员和外部客户的管理,可以由此构建出社群生态. 企业微信提供了丰富的api进行 ...

  4. docker安装、下载镜像、容器的基本操作

    文章目录 一.docker安装与基本使用 1.docker的安装.从远程仓库下载镜像 2.配置docker国内源 二.创建容器 1.create i.创建容器 ii.进入容器 iii.启动容器 2.r ...

  5. Android学习笔记4

    activity配置文件 //AndroidMainifest.xml <?xml version="1.0" encoding="utf-8"?> ...

  6. Scala统计一个文件所有单词出现的次数

    1 import scala.io.Source 2 3 object WordCount extends App { 4 5 val path = "C:\\Users\\Administ ...

  7. 【机器学习基础】无监督学习(1)——PCA

    前面对半监督学习部分作了简单的介绍,这里开始了解有关无监督学习的部分,无监督学习内容稍微较多,本节主要介绍无监督学习中的PCA降维的基本原理和实现. PCA 0.无监督学习简介 相较于有监督学习和半监 ...

  8. Linux下的ssh、scala、spark配置

    注:笔记旨在记录,配置方式每个人多少有点不同,但大同小异,以下是个人爱好的配置方式. 目录 一.配置jdk 二.配置ssh 三.配置hadoop 四.配置scala 五.配置spark 平台:win1 ...

  9. React/Vue 项目在 GitHub Pages 上部署时资源的路径问题

    GitHub Pages 常被用来部署个人博客,而无论是大名鼎鼎的 Jekyll,还是 Hugo 或者 Hexo,他们都是将我们的文章嵌入模板,发布为静态页面,也就是说,GitHub Pages (G ...

  10. 通过kubeadm工具部署k8s集群

    1.概述 kubeadm是一工具箱,通过kubeadm工具,可以快速的创建一个最小的.可用的,并且符合最佳实践的k8s集群. 本文档介绍如何通过kubeadm工具快速部署一个k8s集群. 2.主机规划 ...