一、uvm_config_db简介
uvm_config_db的全称是configuration database,它是建立在 uvm_resource_db 之上的便利层,resource database储存的是与scope字符串相关联的name-value对(如下图所示) 。
uvm_config_db可以将scope字符串与组件层次结构中的完整层次结构名称相关联,这样就可以通过组件层次来更加方便地访问数据库的条目(储存的信息)。

config_db 是参数化的,它的类型可以是标量、类句柄、队列、列表,甚至是虚拟接口。通过uvm_config_db::set 和 uvm_config_db::get 函数进行全局存储和检索数据库中的信息。
二、set和get函数
1、set函数
set函数的原型为
static function void set(uvm_component cntxt,
string inst_name,
string field_name,
T value);
- 第一个参数cntxt是一个组件,它是访问数据库条目的层级起点;
- 第二个参数inst_name是限制数据库条目可访问性的分层路径;
简单来说,前两个参数可以组成一个层次化路径,这个路径指定了我们只能从哪个城市出发,走哪条公路达到我们想去的目的地。

本文详细介绍了UVM配置数据库uvm_config_db的用途,以及set和get函数的工作原理。set函数用于存储配置信息,get函数用于检索信息。这两个函数通过组件层级路径和字段名定位数据,并允许在UVM组件层次结构中进行全局配置。set和get的使用需要注意层级优先级和配置时机,以确保正确传递和获取配置信息。
最低0.47元/天 解锁文章
488

被折叠的 条评论
为什么被折叠?



