In reply to withankitgarg:
When using the `uvm_do* macros, the second argument is the handle of the sequencer that you want your sequence to run on. In your code, you are passing the sequencer type, and not the sequencer handle.
You would want to do:
`uvm_do_on(sequence_my_h, SEQUENCER_MY_h);
`uvm_do_on(sequence_simple_h, SEQUENCER_VIRTUAL_h);
You will also need to set the handles of your sequencers prior to running the sequence.
Several other comments to guide you:
- Don’t call raise_objection() and drop_objection() in your sequences. Only use objections in your test run_phase().
- Don’t use the `uvm_do* macros(). Use the appropriate function calls for your sequence or sequence_item. In your case, it would make debugging your problem significantly easier.