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

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

3天内不再提示

UVM中的field automation机制有哪些用途

电子工程师 来源:芯片验证工程师 作者:验证哥布林 2022-07-19 09:45 次阅读

不知道UVM中的field automation机制怎么翻译,不管了,反正就是**机制,理解它能干啥就行了。

UVM中的field automation机制提供了2类宏,也可以理解为有2个用途。

第一类

uvm_object_utils_begin(TYPE) 和uvm_object_utils_end 宏用来声明几个uvm object基本的pure virtual 方法。
1.1 get_type_name() ,返回对象的类型,是一个字符串类型

1.2 create() 实例化一个对象,利用了工厂机制。对象类型能被override。

1.3 get_type()返回对象类型,用于工厂机制

第二类

`uvm_field_* 宏指定特定的属性域段所支持的方法(print(), copy(), clone(),
pack(), unpack(), compare()等等).

`uvm_field_*(field_name, flags)
1 class packet_header extends uvm_object; 
2 rand bit [5:0] length; 
3 rand bit [1:0] addr; 
4 `uvm_object_utils_begin(packet_header) 
5 `uvm_field_int(length, UVM_DEFAULT) 
6 `uvm_field_int(addr, UVM_DEFAULT) 
7 `uvm_object_utils_end 
8 endclass : packet_header

上面的代码示例展示了这2类宏的配合使用方式。

不管你赞不赞同,这种用户类的声明继承方式已经是深入人心的UVM代码风格了。

你需要知道,每一次继承UVM基类去声明一个新的类,都需要有这些模版式的代码。

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

    关注

    0

    文章

    181

    浏览量

    19132

原文标题:UVM中的Field Automation

文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC验证"UVM验证平台"组成(三)

    model加入scoreboard加入field_automation机制................如果有任何疑问请在下方评论.......
    发表于 12-02 15:21

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

    main_phase的声明一个uvm_phase类型的参数phase,在真正的验证平台 ,这个参数是不需要用户理会的。本节的验证平台还算不上一个完整的
    发表于 12-04 15:48

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

      加入factory机制 上一节《IC验证"一个简单的UVM验证平台"是如何搭建的(五)》给出了一个只有driver、使用UVM搭建的验证平台。严格来说这根本就不算是UVM验证
    发表于 12-08 12:07

    IC验证“UVM验证平台加入objection机制和virtual interface机制“(七)

    在上一节,**《IC验证"UVM验证平台加入factory机制"(六)》**虽然输出了“main_phase is called”,但是“data is drived”并没有
    发表于 12-09 18:28

    什么是uvm_reg_field

    uvm_reg_field是什么
    发表于 12-17 06:10

    什么是UVM Report机制

    UVM Report机制概述
    发表于 12-21 06:55

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

    原文链接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章内容主要讲述两个内容,芯片验证以及验证计划。那本章我们主要讲述的内容介绍什么是uvm
    发表于 01-21 16:00

    什么是uvmuvm的特点哪些呢

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

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

    ),通常也叫寄存器模型,顾名思义就是对寄存器这个部件的建模。本文要介绍的内容,包括对UVM寄存器模型的概述,如何构建寄存器模型,以及如何将寄存器模型集成到验证环境。篇幅原因,将在下一篇文章再给出寄存器
    发表于 09-23 14:29

    谈谈UVMuvm_info打印

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

    UVM sequence机制response的简单使用

    sequence作为UVM几个核心机制之一,它有效地将transaction的产生从driver剥离出来,并且通过和sequencer相互配合,成功地将driver的负担降低至仅聚焦于根据协议将
    的头像 发表于 09-22 09:26 2343次阅读

    浅析UVM不同机制的调试功能

    作为UVM的用户,我们需要相信在绝大部分情况下这些机制本身是没有问题的。因此,从顶层获得有效的调试信息就非常关键,比起潜入到内部要高效得多。 这也是本文的目的,盘点UVM针对不同机制
    的头像 发表于 02-14 16:23 1267次阅读
    浅析<b class='flag-5'>UVM</b>不同<b class='flag-5'>机制</b>的调试功能

    UVMuvm_config_db机制背后的大功臣

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

    UVMuvm_config_db机制背后的大功臣

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

    UVM设计的sequence启动方式哪几种呢?

    本篇介绍UVM的sequence,这是UVM中最基础的部分。对于前面介绍的uvm_callback, uvm_visitor等,很少被使用
    的头像 发表于 08-17 10:07 3962次阅读
    <b class='flag-5'>UVM</b>设计<b class='flag-5'>中</b>的sequence启动方式<b class='flag-5'>有</b>哪几种呢?