篇5-uvm_component/uvm_sequence_item常用函数解读

资料来源:

(1)公众号-杰瑞IC验证;

1.uvm_component相关函数

1.1.uvm_component中get_name()系列函数

篇5-uvm_component/uvm_sequence_item常用函数解读

篇5-uvm_component/uvm_sequence_item常用函数解读

(1) get_name()会打印出”u_jerry_so_cool”(实例名);

(2) get_full_name()会打印出”uvm_test_top.u_jerry_env.u_jerry_so_cool”(路径名字);

(3) get_type_name()会打印出”jerry_component”(类名);

1.2. uvm_component的get_parent函数

(1) 因为一个uvm_component只有一个parent,所以该函数不需要输入参数;

1.3. uvm_component的get_child函数

(1) 与get_parent不同,由于一个uvm_component可能有多个child,所以get_child函数需要有一个string类型的参数name,表示此child实例在实例化时指定的名字;

1.4. uvm_component的get_children函数

2.uvm_sequence_item相关函数

2.1. uvm_sequence_item中get_name系列函数

篇5-uvm_component/uvm_sequence_item常用函数解读

(1) get_name()会打印出”jerry_is_good”; uvm_sequence_item中的get_name函数与uvm_component一样,打印”new()”时候传入的字符串;

(2) get_full_name()会打印出”jerry_is_good”; 对于uvm_sequence_item, get_full_name()与get_name()一样! 因为它是不作为UVM树节点的,所以路径没有别的层次; 这点保留了uvm_object原本的函数性质;

(3) get_type_name()会打印出”jerry_tr”;

注1:原始的uvm_object的get_type_name()传出的是<unknown>,也就是无返回值的; 但是`uvm_object_utils_begin(jerry_tr) ... `uvm_object_utils_end会把uvm_object的get_type_name()函数重载, 然后返回class名字;

注2:如果把`uvm_object_utils_begin...这几句话拿掉, get_type_name会打印出uvm_sequence_item, 因为uvm_sequence_item里面本身也会重载这个函数;

上一篇:Python项目体系练习500例(附源代码),练完可就业


下一篇:[Git专题] 环境搭建