In reply to zz8318:
Several suggestions:
- You should never need to create your own sequencers. Instead, you should use a typedef to define them:
typedef uvm_sequencer#(my_seq_item) my_sequencer;
-
If you think you need to define your own sequencer, you don’t. If you are creating a virtual sequencer by adding sequencer handles, add the sequencer handles to the virtual sequence instead.
-
Never use `uvm_declare_p_sequencer(). This will tie a sequence to a specific sequencer and significantly reduce the reusability of the sequence.
-
If you need to reference the sequencer that a sequence is running on, use m_sequencer.