In reply to naveen-y:
what you have done is correct. registers are to be extended from uvm_reg,
desired and mirrored values wont be cleared after read but gets updated with read value so check when you read the register what about your read value apart from desired value.
Is read value is also 0.