Confusing UVM_ERROR in uvm_reg_bit_bash_seq

I’m having this error in register bit bash and it confuses me:

UVM_ERROR [uv_reg_bit_bash_seq] Writing a 0 in bit #0 of register “reg_model.memmap0.MODE_SET1” with initial value 'h0001 yielded 'h0000 instead of 'h0001

I don’t think this is an error because a value of 0 is being written and the yielded value is 0. So there should be no problem with that.

Can someone tell me if I understand this UVM_ERROR correctly?

Hello,

I don’t think this is an error because a value of 0 is being written and the yielded value is 0. So there should be no problem with that.

its depend on the permission of that register, this would be only true if register/field is RW in nature.

after looking into UVM_ERROR I believe,permission of reg/field is RO
so,
initial value = 0001
expected value after writing 0 on #0 bit = 0001 (as RO)
actual value which you got = 0000 (because of it got written on register #0th bit even though its RO)

if this is not case, please share register code for ‘MODE_SET1’

Regards,
Vinay Jain

In reply to Reuben:

Hi Reuben,

Did you find any solution for this issue ?

Because I am also facing same issue !!

Thanks in advance !!

Regards,
Dhaval

I was able to get rid of the error by sending responses from the driver only on reads, and not on writes

Hi, I have the same problem. My register is a RW access register. So I am not sure what the problem can be.