How to set_compare(UVM_NO_CHECK) to individual bits of register fields?

Hi,

I am having one Register defined with some fields. 32-bits wide Register R1 with fields F1, F2, F3, F4 - each 8 bits wide.

Now for backdoor check, I want to set UVM_NO_CHECK for bit 0 of R1, means F1[0].

reg.get_field_by_name[“F1”].set_compare(UVM_NO_CHECK) will disable checking for complete field F1, but I just want to disable check for F1[0].

Can someone please help to find approach for this one ?

Thanks,
Kavish

In reply to shahkavish77:

In my understanding the samllest unit in the register model is the field. You can perform this chek or not. If you want to have a smaller granularity I’d recommend to mask certain bits.

In reply to shahkavish77:

UVM reg doesn’t allow you to do something like that. You have to check it manually:

  • Get expected mirror value
  • Get actual backdoor value
  • Compare these values with masking F1[0]