get_full_name(); uvm_test_top.env.i_agt.drv create时引号中的名字; 获取的是所在组件的名字; get_name(); drv create时引号中的名字; 获取的是所在组件的名字; get_type_name(); 类型名字:my_driver get_type(); 句柄名字:apb_drv uvm_top中config_db中传递interface的路径用的也是这个路径名字。
$display(“%0s”,u_tr.get_name()); $display(“%0s”,u_tr.get_full_name()); $display(“%0s”,u_tr.get_type_name()); … endclass u_tr.get_name() 会打出“jerry_is_cool”。 u_tr.get_full_name() 会打出“jerry_is_cool”。 u_tr.get_type_name() 会打出“jerry_tr”。
1)get 的第一个参数必须是一个component,而sequence 不是component,所以这里不能用this 指针,只能用null 或者 uvm_root::get()。 2)使用null是,UVM 会自动将其替换为uvm_root::get(),再加get_full_name(),可以完整得到此sequence 的路径。 4.打印get_full_name:...
新增传递parent方法:set_parent(uvm_object parent)。 新增children遍历方法:get_children,get_child,get_num_children等。 实现uvm_hier_object的virtual方法:get_full_name。uvm_object的get_full_name和get_name的结果相同,不包含层次信息。 如此,便可以通过set_parent方法完成层次化结构的构建,结合children遍历方法...
UVM采用树形结构,对于树中任何一个结点,都有一个与其相应的字符串类型的路径索引。路径索引可以通过get_full_name函数来获取,把下列代码加入任何UVM树的结点中就可以得知当前结点的路径索引: $display("the full name of current component is: %s", get_full_name()); ...
1、get_full_name()获取这个节点的完整层次,这函数在object中就有定义,但是在component类中进⾏了重载,实现输出从uvm_test_top到当前节点的路径(是通过执⾏m_set_full_name是保存路径在m_name中)。返回值如:env.agt.drv(这些名字不是类名,是实例名字)2、get()这个函数在很多类中都有,⽐如uvm_...
1.UVM 真正的树根是uvm_top(为什么get_full_name()不打印这个呢?),如下: 1)uvm_top 是全局变量,也是uvm_root的实例,也是唯一的实例。 2)uvm_root 派生自uvm_component,所以uvm_top 本质上也是uvm_component,它是树的根。 3)uvm_test_top的parent 是uvm_top,而uvm_top 的parent是null,如下: ...
get_full_name()返回对象的完整层次结构名称。对于uvm_components,这在打印语句中使用时很有用,因为它显示了组件的完整层次结构。对于没有层次结构的sequence或配置对象,与get_name()打印相同的值 22、ACTIVE agent与PASSIVE agent有何不同? ACTIVE agent是可以在其操作的接口上生成激励,其包含driver和sequencer。
sequencer.get_full_name,"'"},UVM_MEDIUM) end m_sequencer = sequencer; m_adapter = adapter; endfunction 对adapter的调用发生在uvm_reg_map的内部,详细调用reg2bus和bus2reg的过程见下节: 寄存器模型组成 uvm_reg_field:包含uvm_reg_data_t类型的三个成员变量value,m_mirrored,m_desire。
virtual function string get_full_name() Get the hierarchical name Return the hierarchal name of this register. The base of the hierarchical name is the root block.get_parent virtual function uvm_reg_block get_parent () Get the parent blockget...