m_regs_info,每个加到该map中的寄存器,所有的信息保存在该数据结构中, 在lock或者add_submap的时候,更新map_info中的addr,调用Function Xinit_address_mapX 定义自己的do_bus_write和do_bus_read, uvm_reg_block,包含类,包含底层的uvm_reg_block,uvm_reg, default_path,定义自己的hdl_path, lock,表明当前的m...
总结一下UVM中的寄存器访问实现: 后门访问通过add_hdl_path命令来添加寄存器路径,并扩展uvm_reg_backdoor基类,定义read与write函数,最后在uvm_reg_block类中 通过set_backdoor()来将相应的寄存器与它对应的后门访问的读写函数对应起来。其中read和write函数以路径名来直接操作。 前门访问通过总线操作来实现,在其中有u...
· string hdl_path=“”,用于指定hdl_path,后门的一种,这里不指定,默认 当然,reg_block中的add_reg关联操作也会在reg的configure中被调用。至此,一个完整的reg_block创建完成,可以直接在test,env或者其他component中进行例化。 1.2.3. uvm_reg_map 关于uvm_reg_map的创建,方法也很多,第一种,在例化uvm_reg_...
例码中通过uvm_reg_block::add_hdl_path()将寄存器模型关联到DUT一端,而通过uvm_reg::add_hdl_path_slice完成将寄存器模型各个寄存器成员与HDL一侧的地址映射。 另外,寄存器模型build()函数最后一句以lock_model()结尾,该函数的功能是结束地址映射关系并保证模型不会被其它用户修改。
2015-05-04 14:51 − 总结一下UVM中的寄存器访问实现: 后门访问通过add_hdl_path命令来添加寄存器路径,并扩展uvm_reg_backdoor基类,定义read与write函数,最后在uvm_reg_block类中 通过set_backdoor()来... _9_8 0 2729 uvm register model 2019-01-31 16:57 − 1.基本概念 uvm_reg_field:寄存...
clear_hdl_path function void clear_hdl_path ( string kind = "RTL" ) Delete HDL paths Remove any previously specified HDL path to the register instance for the specified design abstraction.add_hdl_path function void add_hdl_path ( uvm_hdl_path_slice slices[], string kind = "RTL" ) ...
//| r1.add_hdl_path('{ '{"r1", -1, -1} });//| // typedef struct { string path;int offset;int size;} uvm_hdl_path_slice;typedef uvm_resource_db#(uvm_reg_cvr_t) uvm_reg_cvr_rsrc_db;//--- // Group: Enumerations //--- // Enum: uvm_status_e // // Return status ...
Uses the HDL path for the design abstraction specified bykind. The entire containing register is peeked and the mirrored value of the other fields in the register are updated using theuvm_reg_field::predict()method. mirror virtual task mirror(outputuvm_status_estatus, ...
· string hdl_path=“”,用于指定hdl_path,后门的一种,这里不指定,默认 当然,reg_block中的...
完成每个寄存器的build及configure操作,uvm_reg的configure函数原型:function void configure ( uvm_reg_block blk_parent, uvm_reg_file regfile_parent = null, string hdl_path = "" ); 第一个参数,表示所在 reg block 的指针; 第二个参数,表示 reg_file 指针; 第三个参数,表示寄存器后面访问路径 - strin...