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
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.