#UVM# 浅析快递小哥:uvm_config_db

本文详细介绍了UVM中的uvm_config_db类,包括它的功能、类层次结构、主要方法如get、set、exists和wait_modified的使用。uvm_config_db主要用于配置uvm_component实例的资源,提供了方便的资源配置方式。文章通过实例代码展示了如何在uvm_test中设置和获取interface接口,强调了配置顺序的重要性,以及使用uvm_config_db时的一些细节和注意事项。
摘要由CSDN通过智能技术生成

1. 功能

uvm_config_db#(T) 是一个类,用于配置uvm_component实例的资源;uvm_config_db主要是提供了一种资源配置的简化方法

2. 命令解析

class hierarchy

uvm_config_db#(T)
或者
uvm_config_db

T 就是待配置选项的type类型。

3. class定义

class uvm_config_db#(
    type T = int
) extends uvm_resource_db#(T)

methods

  1. get: 判断inst_namefield_name ,是否等于指定的value。
  2. set: 设置inst_namefield_name
  3. exists: 检查inst_namefield_name设置值,是否有效。
  4. wait_modified: 等待inst_namefield_name 开始配置;否则后续命令不继续往下执行。

get

static function bit get(
uvm_component cntxt,
string inst_name,
string field_name,
inout T value
)
  1. uvm_component cntxt 是UVM树形结构的起始点。可以认为是string inst_name 的相对层次路径。
  2. uvm_component cntxtstring inst_name,配合得到UVM树形结构的具体层次。
  3. string field_name 是指定层次下的field字段名称。
  4. inout T value 是field字段的type类型。
  5. get的返回值是function bit类型(不要看成简单的bit类型),即0或者1。1代表指定层次的inst_name,其对应field_name 的value值,并做好了get functio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那么菜

你的鼓励和批评是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值