Register access methods

Can these register access methods be called from a sequence that is running on a sequencer which is different from the set target sequencer ?

In reply to mishra_almailtu:

In UVM, the recommended practice is to access the register model and perform register transactions from the same sequencer that the register model is associated with. This is because UVM’s register layer is designed to work within a single sequencer context, and direct access to the register model from a different sequencer can lead to synchronization and contention issues.

Typically, register transactions are initiated and executed within a sequence that is running on the same sequencer where the register model is connected. This ensures proper synchronization and avoids potential race conditions.

If you find yourself in a situation where you need to perform register transactions from a sequence running on a different sequencer, you should consider using inter-process communication mechanisms provided by UVM, such as uvm_event or uvm_mailbox, to safely pass information between sequences running on different sequencers.

In summary, it’s generally recommended to keep register transactions within the same sequencer context to ensure proper synchronization and avoid potential issues. If you need to coordinate between sequences running on different sequencers, use UVM mechanisms for inter-process communication.