Whike trying to do backdoor write, I am seeing that code executes fine without any errors, and the earlier (some non-zero default value) on the register gets over-ridden at the time of backdoor write in the waveform too. However, the backdoor has written “0” on the register instead of the expected value ('h89)
Code:-
write_reg(alu_reg_block_inst.alu_reg1_inst, status, 32’h89, UVM_BACKDOOR);
Register declaration in RTL:-
reg [31:0] alu_reg1
Log File Snippet:-
UVM_INFO /p/com/eda/synopsys/vcsmx/L-2016.06-SP2/etc/uvm/reg/uvm_reg.svh(2831) @ 2945000: reporter [RegMem] backdoor_read from %s tb_top.alu_inst.alu_reg1
UVM_INFO /p/com/eda/synopsys/vcsmx/L-2016.06-SP2/etc/uvm/reg/uvm_reg.svh(2863) @ 2945000: reporter [RegMem] returned backdoor value 0x0
UVM_INFO /p/com/eda/synopsys/vcsmx/L-2016.06-SP2/etc/uvm/reg/uvm_reg.svh(2794) @ 2945000: reporter [RegMem] backdoor_write to tb_top.alu_inst.alu_reg1
What could be the probable reason that backdoor access is happening at the specified timestamp, but over-ride is happening with “0” value?
Thanks,
Melvin