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

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

3天内不再提示

探讨一下UVM的config机制

工程师邓生 来源:FPGA学姐 作者:FPGA学姐 2022-09-14 15:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一个component(如my_driver)内通过get_full_name()函数可以得到此component的路径

poYBAGMhg1GASJiIAAA_C5f5yRI644.jpg

config_db机制用于在UVM验证平台间传递参数。它们通常都是成对出现的。set函数是寄信,而get函数是收信。如下设置当前名字为pre_num=100寄信给drive

uvm_config_db#(int)::set(this, "env.i_agt.drv", "pre_num", 100);

其中第一个和第二个参数联合起来组成目标路径,与此路径符合的目标才能收信。第一个参数必须是一个uvm_component实例的指针,第二个参数是相对此实例的路径。第三个参数表示一个记号,用以说明这个值是传给目标中的哪个成员的,第四个参数是要设置的值。set函数的第一个参数为null时,在这种情况下,UVM会自动把第一个参数替换为uvm_ root::get()。

假如把this替换为了this.env,第二个参数是my_driver相对于env的路径

uvm_config_db#(int)::set(this.env, "i_agt.drv", "pre_num_max", 100);

在driver中的build_phase使用如下方式收信

uvm_config_db#(int)::get(this, "", "pre_num", pre_num);

get函数中的第一个参数和第二个参数联合起来组成路径。第一个参数也必须是一个uvm_component实例的指针,第二个参数是相对此实例的路径。一般的,如果第一个参数被设置为this,那么第二个参数可以是一个的字符串。第三个参数就是set函数中的第三个参数,这两个参数必须严格匹配,第四个参数则是要设置的

set与get函数一般都是成对出现,但是在某些情况下,是可以只有set而没有get语句,即省略get语句。


poYBAGMhg52AQ_7JAAElj0EGNA0776.jpg

只要使用uvm_field_int注册,并且在build_phase中调用super.build_phase(),就可以省略在build_phase中的如下get语句

uvm_config_db#(int)::get(this, "", "pre_num", pre_num);

关键是build_phase中的super.build_phase语句,当执行到driver的super.build_ phase时,会自动执行get语句。



审核编辑:刘清

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

    关注

    0

    文章

    183

    浏览量

    19943

原文标题:UVM的config机制

文章出处:【微信号:FPGA学姐,微信公众号:FPGA学姐】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    支付宝“碰一下”的革新背后:国民技术MCU的隐形力量

    近日,全球顶尖金融科技盛会Money20/20公布首届创新大奖TheMoneyAwards结果,“支付宝碰一下”从众多参赛企业中脱颖而出,凭借创新的解决方案和极致的用户体验摘得“支付”类别大奖,成为
    的头像 发表于 11-21 19:15 1093次阅读
    支付宝“碰<b class='flag-5'>一下</b>”的革新背后:国民技术MCU的隐形力量

    国民技术MCU芯片护航支付宝碰一下设备创新

    近日,全球顶尖金融科技盛会Money20/20公布首届创新大奖The Money Awards结果,“支付宝碰一下”从众多参赛企业中脱颖而出,凭借创新的解决方案和极致的用户体验摘得“支付”类别大奖,成为该类别中唯的中国企业。
    的头像 发表于 11-06 10:15 811次阅读

    分享一下多点电极液位开关的特点与优势

    ,都是在监测液位。在工业生产中,会用到很多液体,他们的液位监测又由谁来守护呢?今天我们来了解一下,多点电极液位开关,聊聊它有什么特点和优势? 我们在生活中或是工业中,遇到的开关可能就知道“满了”与“空了”,但
    的头像 发表于 09-24 18:15 513次阅读
    分享<b class='flag-5'>一下</b>多点电极液位开关的特点与优势

    NVMe高速传输之摆脱XDMA设计24: UVM 验证包设计

    UVM 验证包的主要功能是对 DUT 提供激励, 仿真验证对应的功能, 并对测试结果进行自动对比分析与统计。 验证包包含个NoPHAE_env 验证环境, 验证环境包含
    的头像 发表于 09-14 11:29 4500次阅读
    NVMe高速传输之摆脱XDMA设计24: <b class='flag-5'>UVM</b> 验证包设计

    NVMe高速传输之摆脱XDMA设计24: UVM 验证包设计

    UVM 验证包设计结构如图 1 所示。 UVM 验证包的主要功能是对 DUT 提供激励, 仿真验证对应的功能, 并对测试结果进行自动对比分析与统计。 验证包包含个NoPHAE_env 验证环境
    发表于 08-29 14:33

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证。图1 验证平台架构图在验证平台中将 PCIE 集成块从待测试设计(Design
    发表于 08-26 09:49

    图解环路设计及控制技术探讨

    由于之前缺乏控制理论方面的知识在刚接触反馈环路的时候对其中的很多名词不是很明白,这次准备采用图解的方法逐的搞清楚这些名词并且试图找出种便捷的设置零、极点的方法。最后准备再探讨一下
    发表于 08-22 17:39

    奥比中光助力支付宝碰一下落地电梯场景

    近日,支付宝与分众传媒宣布联合推出“碰一下抢红包”服务。作为创新交互方式,“支付宝碰一下”首次被引入至电梯场景,并已在全国20余个城市的电梯铺设。奥比中光作为“支付宝碰一下”业务的核心供应商,为这
    的头像 发表于 08-12 11:32 984次阅读

    NVMe高速传输之摆脱XDMA设计18:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证。图1 验证平台架构图在验证平台中将 PCIE 集成块从待测试设计(Design
    发表于 07-31 16:39

    “碰一下”支付终端应用在酒店:智能无卡入住与客房控制

    “碰一下”支付终端和“碰一下”支付机具今年已在各种餐饮零售门店推广应用。就连天波小编家附近的村口小超市也用上了“碰一下”支付终端。近日,卤味龙头企业绝味食品宣布,全国门店将接入“支付宝碰一下
    的头像 发表于 07-04 09:57 626次阅读
    “碰<b class='flag-5'>一下</b>”支付终端应用在酒店:智能无卡入住与客房控制

    上电时GPIO控制的LED偶尔诡异地亮了一下

    快速上下电时,主控1.8V的GPIO控制的LED会亮一下。放久点再上电则不会异常亮。仔细排查发现1.8V比0.9V先上电,再深入排查发现快速上下电时1.8V电源的RC延时使能失效,上电时序异常,主控工作异常。
    的头像 发表于 06-18 14:16 620次阅读
    上电时GPIO控制的LED偶尔诡异地亮了<b class='flag-5'>一下</b>

    一下终端,让自助售货机秒变 “家里的冰箱”

    继刷脸支付后,支付宝近日又推出了新的支付方式——碰一下支付。只需将手机轻轻靠近支付宝“碰一下”支付终端,即可完成支付,比以往要先解锁手机,调出APP的付款码再支付的操作环节要便捷和省时许多。“碰一下
    的头像 发表于 06-18 10:49 1441次阅读
    碰<b class='flag-5'>一下</b>终端,让自助售货机秒变 “家里的冰箱”

    “碰一下”支付背后的4G技术

    不知道你是否有留意,近期,在线下支付场景中,多了个支付宝“碰一下”支付的设备,只需要“解锁手机—碰一下—确认”即可完成支付,对比打开付款码支付,步骤确实更加简洁。
    的头像 发表于 01-03 16:27 5009次阅读

    支付宝发布新代AI视觉搜索“探一下

    支付宝近日正式推出了基于自研多模态大模型技术的新代AI视觉搜索产品——“探一下”。这创新产品的问世,标志着支付宝在AI技术应用领域迈出了重要步。 “探
    的头像 发表于 12-31 10:49 951次阅读

    深入探讨Linux系统中的动态链接库机制

    本文将深入探讨Linux系统中的动态链接库机制,这其中包括但不限于全局符号介入、延迟绑定以及地址无关代码等内容。 引言 在软件开发过程中,动态库链接问题时常出现,这可能导致符号冲突,从而引起程序运行
    的头像 发表于 12-18 10:06 936次阅读
    深入<b class='flag-5'>探讨</b>Linux系统中的动态链接库<b class='flag-5'>机制</b>