In reply to Abhishek kumar Diwakar:
uvm_hdl_deposit and uvm_hdl_read are not specific register backdoor routines. They can be used in any place also without a register model.
The uvm_hdl_read/uvm_hdl_deposit are restricte to integral data types.
See the definition of
function int uvm_hdl_deposit(string path, uvm_hdl_data_t value);
uvm_hdl_data_t
is the following
typedef logic [UVM_HDL_MAX_WIDTH-1:0] uvm_hdl_data_t;
Did you check the HDL path? Does it exist?. If the return value is 0 this ccould be an inducation it is wrong/incomplete.
You can use
uvm_hdl_check_path
to check the path