在复位之后,用户也可以通过读取寄存器模型的复位值(与寄存器描述文件一致),与从前门访问获取的寄存器复位值进行比较,以此来判断硬件各个寄存器的复位值是否按照寄存器描述文件去实现。这里个get_reset()方法指的也是寄存器模型的复位值,而不是硬件。 mirror()方法与read()方法类似,也可以选择前门访问后者后门访问,不同的...
updata():如果发现期望值和镜像值不一样,那么会利用期望值更新硬件实际值 reset:使得软件一侧的镜像值期望值都得到复位 get_reset():返回你设定好的预期的复位值 get_mirror_field_value():得到寄存器的镜像值 get():获得软件这边的期望值。 set():修改软件reg/reg_field的期望值。常常和updata一起用。 内建...
返回模型中寄存器的期望值,而不是DUT中的寄存器值。 1.3 get_mirrored_value virtual function uvm_reg_data_t get_mirrored_value( string fname = "", int lineno = 0 ) 1. 返回模型中寄存器的镜像值。 1.4 get_reset virtual function uvm_reg_data_t get_reset( string kind = "HARD" ) 1. 返回...
set_reset()和reset()是用来修改reset值,而获取reset值包含如下两个函数 has_reset() 判断对应reset类型(kind参数)是否有reset值 get_reset() 获取某种reset类型(kind参数)的reset值,如果不存在该reset类型,则返回m_desired(期望值) 关于reset值相关的函数就介绍到这里,下面介绍剩余三种值的读写相关的函数。 set(...
virtual function uvm_reg_data_t get( string fname = "", int lineno = 0 ) 返回模型中寄存器的期望值,而不是DUT中的寄存器值。 1.3 get_mirrored_value 1 virtual function uvm_reg_data_t get_mirrored_value( string fname = "", int lineno = 0 ) 返回模型中寄存器的镜像值。 1.4 get_reset ...
在复位之后, 用户也可以通过读取寄存器模型的复位值(与寄存器描述文件一致), 与前门访问获取的寄存器复位值进行比较, 以此判断硬件各个寄存器的复位值是否按照寄存器描述去实现。 这里的 get_reset()方法指的也是寄存器模型的复位值, 而不是硬件。 mirror()方法与 ...
(1) get_reset方法返回register或者register field预定义的reset值; (2) get_reset通常和read/mirror共同使用,用于检查register是否被正确的reset; 8.get_parent 1functionuvm_reg_block uvm_reg::get_parent();2return get_block();3endfunction45functionuvm_reg_block uvm_reg::get_block();6get_block =m...
这里个get_reset()方法指的也是寄存器模型的复位值,而不是硬件。 mirror()方法与read()方法类似,也可以选择前门访问后者后门访问,不同的是,mirror()不会返回读回的数值,但是会将对应的镜像值修改。在修改镜像值之前,用户还可以选择是否将读回的值与模型中的原镜像值进行比较。下面的例码一方面在更新镜像值之前,...
no_packUVM_ALL_ON 是'UVM_ALL_ON|UVM_NO_PACK 这样就会忽略掉 pack bit field-automation 的macro可以和if结合起来,参考的代码这个ps:UVM、uvm object_utils_begin(my_transaction)is vlan变苇vmfid_setqumnce UVM_M_OM 1,来实现 vlan 或非vlanUVMget_reset re我觉得这'眺佬“sWWBlL_ON) crc_error ...
.reset ( 0 ), .has_reset ( 1 ), .is_rand ( 1 ), .individually_accessible( 0 ) ); 参数一是此域的父辈,也就是此域位于哪个寄存器中,即是this; 参数二是此域的宽度; 参数三是此域的最低位在整个寄存器的位置,从0开始计数; 参数四表示此字段的存取方式; ...