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

    文章

    182

    浏览量

    19240

原文标题:UVM的config机制

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

收藏 人收藏

    评论

    相关推荐

    ADS1115的Config Register在什么时候配置比较好?

    请问一下大家: 1、ADS1115的Config Register 在什么时候配置比较好,因为我需要采集双通道AD 2、写入的时候是不是要先写ADDR,然后Pointer Reg指向Config
    发表于 01-10 10:30

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

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

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

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

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

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

    MySQL编码机制原理

    前言 位读者在本地部署 MySQL 测试环境时碰到个问题,我觉得挺有代表性的,所以写篇文章介绍一下,看完相信你会对 MySQL 的编码机制有最本质的了解,本文的目录结构如下 读者问
    的头像 发表于 11-09 11:01 307次阅读

    VeriStand的执行机制

    本次技术分享介绍VeriStand的执行机制以及该机制信号传输的延迟,当仿真测试对信号延迟有定要求时,考虑VeriStand执行机制的影
    的头像 发表于 09-11 14:43 1146次阅读
    VeriStand的执行<b class='flag-5'>机制</b>

    自感线圈断电时灯泡为啥会闪亮一下

    探讨自感线圈断电时灯泡为什么会闪亮一下的原因: 电流变化 :当电路中的电源被切断时,流经线圈的电流会突然减少。这种快速的电流变化会导致自感电动势的产生。 自感电动势 :由于电流的快速减少,线圈中的自感电动势会迅
    的头像 发表于 08-29 14:36 1762次阅读

    欢创播报 支付宝“碰一下”正式发布

    1 支付宝“碰一下”正式发布 近日,在支付宝开放日上,支付宝宣布升级条码支付体验,推出“支付宝碰一下”,用户无需展示付款码,解锁手机碰一下商家收款设备,最快步完成支付。据介绍,“碰
    的头像 发表于 07-11 11:32 1025次阅读
    欢创播报  支付宝“碰<b class='flag-5'>一下</b>”正式发布

    总结一下LM317的几种经典应用电路

    说起LM317,我们做硬件的都很熟悉了,它是LDO的种,并且输出电压很容易通过外部电阻进行调整,今天总结一下LM317的几种经典应用电路。
    的头像 发表于 05-01 10:07 6489次阅读
    总结<b class='flag-5'>一下</b>LM317的几种经典应用电路

    新版CubeMX CRC校验模块没有Config吗?

    最近发现CubeMX CRC 模块config 部分没有了,也就是用户只能使能CRC模块而不能对其做设置吗。尝试着生成工程看来一下发现默认的是CRC32,输入数据 输出数据都是32位的。那么我希望
    发表于 04-03 08:04

    fpga验证和uvm验证的区别

    FPGA验证和UVM验证在芯片设计和验证过程中都扮演着重要的角色,但它们之间存在明显的区别。
    的头像 发表于 03-15 15:00 1807次阅读

    uvm1.1升级为uvm1.2 uvm_report_server报错是何原因?

    ISP算法仿真中,小编会用reference model调用DPI接口用C++ 算法实现pixel算法处理,然后和DUT算法处理输出的pixel值进行比较,比较时候发现报错,报错代码如下,原因是小编把uvm1.1升级为uvm1.2了。
    的头像 发表于 03-04 14:18 883次阅读
    <b class='flag-5'>uvm</b>1.1升级为<b class='flag-5'>uvm</b>1.2 <b class='flag-5'>uvm</b>_report_server报错是何原因?

    UVM手把手教程系列(二)Phase机制简单介绍

    UVM中的phase,按照其是否消耗仿真时间($time打印出的时间)的特性,可以分成两大类
    的头像 发表于 02-29 09:26 1587次阅读
    <b class='flag-5'>UVM</b>手把手教程系列(二)Phase<b class='flag-5'>机制</b>简单介绍

    UVM手把手教程系列(UVM验证平台基础知识介绍

    先抛开UVM,回想一下我们在平时写完程序后,是不是肯定需要灌个激励给DUT,然后再从DUT获取结果,并跟个参考模块进行对比,检查结果是否正确。就像下面这个图:
    的头像 发表于 02-27 09:08 6454次阅读
    <b class='flag-5'>UVM</b>手把手教程系列(<b class='flag-5'>一</b>)<b class='flag-5'>UVM</b>验证平台基础知识介绍

    求助一下

    视频中的这个硬件有无大神能认出来,自己感觉可以用得上,但是不知道叫什么,哎,求助一下各位,是用来夹住个水杯的
    发表于 02-23 22:41