Hi
I m trying a UVM backdoor write from a sequence.
The steps which i follow are :
- In the build phase of the reg file where the register classes are built, i add
reg_name.add_hdl_path_slice( inst1.inst2.inst3.reg_name_sig,0,32); where reg_name is the instance of the register of interest and reg_name_sig is the output of the instance inst3 in the design. - In the build phase of the reg model where the reg file is built ( rf is the register file instance) i add
add_hdl(uvm_env_top.tbench_top.DUT, RTL); where uvm_env_top is a module in which the testbench top module is instantiated. The DUT is the instance of the RTL in testbenchtop module - In the register sequence, i call the following API
rm.rf.reg_name.write(status, data, UVM_BACKDOOR); where rm is the register model instance - In the log file, I observe the statement :
Wrote register via DPI backdoor: rm.reg_name = 0x01
But I do not observe the same in the waveform.
The signal DUT.inst1.inst2.inst3.reg_name_sig is still 0 and the write doesnt take effect
Can anyone please give me inputs on whether the method i followed for backdoor write is correct. If not, what is to be done?