码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数字验证学习笔记——UVM学习3 核心基类


    一、核心基类

    UVM世界中的类最初都是从一个uvm_void根类(root class)继承来的,而实际上这个类并没有成员变量和方法。
    uvm_void只是一个虚类(virtual class),还在等待将来继承于它的子类去开垦。在继承与uvm_void的子类中,有两个类,一个为uvm_object类,另外一个为uvm_port_base类。
    在uvm世界的类库地图中除过事务接口(transaction interface)类继承于uvm_port_base,其它所有的类都是从uvm_object类一步步继承而来的。

    从uvm_object提供的方法和相关的宏操作来看,它的核心方法主要提供与数据操作的相关服务:

    • Copy
    • Clone
    • Compare
    • Print
    • Pack/Unpack
      在SV模块的学习中,我们懂得了什么是句柄拷贝和对象得拷贝。因此,无论是copy或者clone,都需要确保在操作过程中需要有source object 和 target object。

    域的自动化(field automation)
    uvm通过域的自动化,使得用户在注册uvm类得同时也可以声明今后会参与到对象拷贝、克隆、打印等操作得成员变量。

    在这里插入图片描述
    uvm_object_utils_begin(box) 域的自动化声明 uvm_object_utils_end
    在这里插入图片描述

    拷贝(copy)

    在uvm的数据操作中,需要对copy和clone加以区分。
    前者默认创建好了对象,只需要对数据进行拷贝。
    后者会自动创建对象,并对source object进行数据拷贝,再返回target object句柄。
    无论是copy还是clone,都需要对数据进行复制。
    在这里插入图片描述
    在这里插入图片描述
    上述的copy中数据成员中含有句柄,是copy句柄本身,还是创建新的对象,copy句柄指向的对象?
    因为同时class box在注册打开了`uvm_field_object,所以是深copy,创建新的对象,至于color和diameter没有拷贝过去,是因为ball在注册中关闭了color的copy,同时自动执行了do_copy。
    在这里插入图片描述

    比较(compare)

    在这里插入图片描述
    在这里插入图片描述

    打印(print)

    在这里插入图片描述
    在这里插入图片描述
    默认的uvm_default_printer是uvm_table_printer

    打包和解包(pack&unpack)

    在这里插入图片描述

  • 相关阅读:
    赶紧进来看看---带来三种内存操作函数以及每种函数的模拟实现练习
    Redis 6学习笔记(上)
    对抗生成网络GAN系列——WGAN原理及实战演练
    鸿蒙文件操作事前准备
    【大厂AI课学习笔记NO.68】开源和开源发展情况
    java中Collections.addAll方法具有什么功能呢?
    17.Tensor Product Spaces
    【JAVA】抽象类与接口
    解决 vite 4 开发环境和生产环境打包后空白、配置axios跨域、nginx代理本地后端接口问题
    茴香豆的“茴”有四种写法,Python的格式化字符串也有
  • 原文地址:https://blog.csdn.net/qq_32100199/article/details/128164469
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号