0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UVM中类的例化用new还是create

jf_78858299 来源:芯片验证工程师 作者:验证哥布林 2023-03-21 11:26 次阅读

UVM中类的例化用new和create有什么不同?什么时候可以用new?什么时候该用create?

new是OOP自带属性,create是UVM override属性,可以理解成create比new更进阶~

create是用factory模式来construct对象,在factory中注册过的uvm_object扩展类或是uvm_component 扩展类都可以用create,这样做的好处是在testcase里面可以override. new是什么时候都可以用的。

只有与UVM基本类相关的类才可以使用create方法,相当于在UVM这个大树上面挂了个号,具体号码就是通过static function type_id来分配的,UVM的其他地方可以通过号码来对使用create的这个类进行factory机制可以实现的有关功能,override是比较常用的一个功能。

new是一个class创建一个对象的方式,是在运行内存下面挂个号,分配空间,是sv的语法,与UVM无关。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • UVM
    UVM
    +关注

    关注

    0

    文章

    182

    浏览量

    19240
  • OOP
    OOP
    +关注

    关注

    0

    文章

    14

    浏览量

    8818
收藏 人收藏

    评论

    相关推荐

    SystemVerilog构造函数new

    在systemverilog,如果一个没有显式地声明构造函数(new()),那么编译仿真工具会自动提供一个隐式的new()函数。这个new
    发表于 11-16 09:58 3735次阅读

    IC验证"一个简单的UVM验证平台"是如何搭建的(六)

    的计算功能,完成scoreboard的比较功能。可以有成员变量,这些成员变量可以控制 的行为,如控制driver的行为等。当要实现一个功能时,首先应该想到的是从UVM的某个
    发表于 12-04 15:48

    IC验证"UVM验证平台加入factory机制"(六)

    平台,因为UVM的特性几乎一 点都没有用到。像上节my_driver的实例化及drv.main_phase的显式调用,即使不使用UVM,只使用简单的SystemVerilog也可以完 成。本节将会
    发表于 12-08 12:07

    数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载...

    工程师只需要将代码写入适当的phase当中,平台运行时,会按照phase的执行流程来自动执行验证工程师的代码。uvm提供了一系列的基,验证工程师需要根据实际的情况扩展出合适的来构建自己的验证平台
    发表于 01-21 16:00

    什么是uvmuvm的特点有哪些呢

    直观的印象,就是uvm验证平台,它是分层的结构。图中的每一个巨型框都代表着平台的一个构成元素。这些元素呢,我们称为平台组建,下面来简单的分析一下。从最底层上来看,agent 包含了driver,monitor和sequencer,其中driver ,monitor
    发表于 02-14 06:46

    请问一下在UVM的UVMsequences是什么意思啊

    UVM方法学,UVMsequences 是寿命有限的对象。UVM sequences从uvm_sequence_item基扩展得到,
    发表于 04-11 16:43

    深入了解Factory机制的实现方式

    uvm_factory定义了一系列纯虚函数,主要包括以下几种功能:重载、创建、查找、调试等。这些函数根据参数可以分为基于名字(name-based)和基于类型(type-based)两接口。也就是说,每一种
    发表于 09-16 14:35

    如何构建UVM寄存器模型并将寄存器模型集成到验证环境

    uvm_reg_block还可以包含其他子uvm_reg_block。在同一UVM还提供了uv
    发表于 09-23 14:29

    谈谈UVMuvm_info打印

    uvm_report_enabled(xxx),会分析传过来的severity和id的配置verbosity要大于传过来的verbosity,(get_report_verbosity_level(severity, id
    发表于 03-17 16:41

    UVMseq.start()和default_sequence执行顺序

    下src/base/uvm_task_phase.svh文件。为方便分析,我截图如下。在uvm_task_phase里execute(xxx)函数的第148行和150行确定了seq1和seq2的执行
    发表于 04-04 17:15

    UVMsequence的那些事儿

    将 生成测试case的语句 从 main_phase 独立出来,使得使用不同测试用时,只需要修改sequence部分即可,而不用关注 UVM剩余部分。
    的头像 发表于 05-26 15:17 1194次阅读
    <b class='flag-5'>UVM</b><b class='flag-5'>中</b>sequence的那些事儿

    创建UVM Driver

    Driver的作用是从sequencer获得数据项,按照接口协议将数据项驱动到总线上。UVM库提供了uvm_driver基,所有的Dr
    的头像 发表于 05-30 16:17 855次阅读
    创建<b class='flag-5'>UVM</b> Driver

    创建UVM Testcase的步骤

    UVM,Testcase是一个,它封装了测试用开发者编写的特定激励序列。
    的头像 发表于 06-15 09:41 1700次阅读
    创建<b class='flag-5'>UVM</b> Testcase的步骤

    UVMuvm_config_db机制背后的大功臣

    本次讲一下UVMuvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。
    的头像 发表于 06-20 17:28 1568次阅读

    一文详解UVM设计模式

    本篇是对UVM设计模式 ( 二 ) 参数化、静态变量/方法/、单模式、UVM_ROOT、工厂模式、
    的头像 发表于 08-06 10:38 2174次阅读
    一文详解<b class='flag-5'>UVM</b>设计模式