Does a register field have a method that will notify when it has been updated?

I want to poll or block a piece of code until a certain bit field in my register model gets updated. How would I do this?

In reply to VerifEx:

I want to poll or block a piece of code until a certain bit field in my register model gets updated. How would I do this?

Have you even tried to read at any of the documentation?

https://verificationacademy.com/verification-methodology-reference/uvm/docs_1.1d/html/index.html

https://verificationacademy.com/verification-methodology-reference/uvm/docs_1.1d/html/src/reg/uvm_reg_field.svh

Look for needs_update() maybe you can use it for whatever you need to implement

-R

In reply to rgarcia07:

In my Knowledge there is no method indicating a register in the DUT was modified. In your case you can observe this specific register and trigger an event to start your piece of code.

In reply to chr_sue:

He mentioned in his original post “…my register model gets updated…” not the DUT that’s why I suggested needs_update()

From the source code documentation

// Function: needs_update
   //
   // Check if the abstract model contains different desired and mirrored values.
   //
   // If a desired field value has been modified in the abstraction class
   // without actually updating the field in the DUT,
   // the state of the DUT (more specifically what the abstraction class
   // ~thinks~ the state of the DUT is) is outdated.
   // This method returns TRUE
   // if the state of the field in the DUT needs to be updated 
   // to match the desired value.
   // The mirror values or actual content of DUT field are not modified.
   // Use the <uvm_reg::update()> to actually update the DUT field.
   //

I do agree for the DUT there is not such function/task, and it could be implementing by polling backdoor or using events.