In reply to prashantg:
You can override sample method of uvm_reg_block into extended reg_block where each regs are instantiated. for every read-write transaction, uvm_reg will call XsampleX method of uvm_reg_block if auto_predict is set as 1. sample method of uvm_reg_block will call with address and is_read flag. if you want to cover data then same way you can override sample() method of uvm_reg for each extended reg class. which will give you data and is_read flag. but mandatory thing is you need to set_auto_predict(1).
Thanks & Regards,