UVM - 14(uvm_config_db)
内容
UVM组件基类
UVM组件的逻辑层次:parent-child关系
组件显示和查询
- 任何地方都可以使用uvm_top
- get_name() - 获取组件名称
- get_full_name - 获取组件路径及名称
- uvm_top.find("*.seqr") - 按照逻辑名字查找组件
- uvm_top.find("*.drv_?",comps) - 使用通配符查找组件,查找到之后,将其放到队列comps中
查询组件的层次关系
使用逻辑层次配置组件
- type - 可以填变量或者是类型
- context - 上下文环境,一般就是this
- string instance_name - 填入full_name
- string field_name - 要设置的变量
- value - 要设置的值
配置组件字段
-
-
- 表示agent中所有的组件的名称
-
- 在env中设置路径的agnt可以设置为agnt.*
动态控制变量
- 在component的phase中设置sequence中的值,路径填写的是sequencer
// 在组件的phase中设置sequence中变量的值
uvm_config_db #(int)::set(this,"env.agent.seqr","INR",30);
- 用于设置sequence中的值,sequence不是comoponent,所以在填context的时候使用get_sequencer()获取sequencer
// 在sequence中获取变量的值
uvm_config_db #(int)::get(get_squencer(),"","INR",INR);
物理接口配置
- uvm中连接interface使用的uvm_config_db机制
配置组件的DUT接口
全局UVM资源
UVM配置机制的选择
UVM调试机制