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

    文章

    181

    浏览量

    18974
  • OOP
    OOP
    +关注

    关注

    0

    文章

    14

    浏览量

    8741
收藏 人收藏

    评论

    相关推荐

    跪求 Create New VI.zip文件包

    急求Create New VI.zip,用来新建子vi的!{:soso_e100:}
    发表于 08-23 10:05

    请问C++用new和不用new创建对象区别是什么?

    起初刚学C++时,很不习惯用new,后来看老外的程序,发现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计,有时候不使用new的确会带来很多问题。当然这都是跟
    发表于 11-05 07:27

    IC验证之UVM常用宏汇总分析(四)

    : +define+MACRO 或者: +define+MACRO=100扩展寄存器模型的数据位宽:`define UVM_REG_DATA_WIDTH 128扩展寄存器模型的地址位宽:`define
    发表于 12-02 15:24

    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

    数字IC验证之“构成uvm测试平台的主要组件”(4)连载...

    测试案例完成的。因此在构建env的时候,需要事先定义好配置接口,是env具有可配置性。  uvm不仅为验证工程师提供了测试平台的结构,而且在uvm的资源库当中。对于平台中的每一个组件啊都有一个对应
    发表于 01-22 15:33

    数字IC验证之“搭建一个可以运行的uvm测试平台”(5)连载...

    对象,就是transaction。  验证工程师需要根据不同的项目对项目中的事务进行建模,事物对象的需要从uvm sequence item这个基进行扩展,为了事物在产生的时候可以自动的随机化,一般
    发表于 01-26 10:05

    什么是uvmuvm的特点有哪些呢

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

    UVM sequence分层有哪几种方式呢

    upper-level item. `uvm_create(u_item) ...// Randomize it here with appropriate constraints. for(int i = 0
    发表于 04-11 16:37

    请问一下在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