|
发表于 2013-7-24 10:41:10
|
显示全部楼层
backdoor是直接通过hdl_path访问寄存器或者ram,就像平时写的“u_dut.apb_slave.regA=16‘h45"一样。这样访 ...
oscillator_cn1 发表于 2013-7-24 08:56
在uvm1.1c的库文件中,uvm_mem.svh的1434行起 有下面的这段代码,想请问,这里面的rw.path就是所谓的hdl_path了,是如何传递进来,以及和offset进行绑定的呢?
谢谢
task uvm_mem::write(output uvm_status_e status,
input uvm_reg_addr_t offset,
input uvm_reg_data_t value,
input uvm_path_e path = UVM_DEFAULT_PATH,
input uvm_reg_map map = null,
input uvm_sequence_base parent = null,
input int prior = -1,
input uvm_object extension = null,
input string fname = "",
input int lineno = 0);
// create an abstract transaction for this operation
uvm_reg_item rw = uvm_reg_item::type_id::create("mem_write",,get_full_name());
rw.element = this;
rw.element_kind = UVM_MEM;
rw.kind = UVM_WRITE;
rw.offset = offset;
rw.value[0] = value;
rw.path = path;
rw.map = map;
rw.parent = parent;
rw.prior = prior;
rw.extension = extension;
rw.fname = fname;
rw.lineno = lineno;
do_write(rw);
status = rw.status;
endtask: write |
|