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调试机制



posted @ 2024-03-19 12:26  Icer_Newer  阅读(53)  评论(0编辑  收藏  举报