Read of a register field in a register that disallows individual field access

I’m trying to read a field of a register that doesn’t allow individual field access. This particular field is set as UVM_NO_CHECK. When reading the field, I get a UVM warning (as expected). I’m trying to get the value of this field, but without the warning.

What I tried was to do first was a full register read and then using get() on said field. That didn’t work (the field always returned an incorrect value of 0) - this is presumably due to the register model not being updated when UVM_NO_CHECK is enabled.

I then tried to use the get_n_bits() and get_lsb_pos() of the field to slice the data returned on a full register read. This didn’t work because slice indices must be compile-time constant.

Does anyone have any other ideas?