In reply to mseyunni:
Since no one replied, can you consider something like this in your test?
(Using an old uvm model I have as an example)
class rand_test_sq extends counter_base_test;
// ....
virtual task run_phase(uvm_phase phase); // run();
rand_seq seq;
int counter=MAX_COUNT;
seq = rand_seq::type_id::create("seq");
uvm_test_done.raise_objection(this);
`uvm_info({get_type_name(),":run"}, "Starting test...", UVM_LOW)
#1;
fork: fork_run
//Connect sequence to sequencer and start
begin
$display("Start m_test_sequencer %t", $time);
seq.start(m_test_sequencer, null);
// anoher seqx start
end
// #50000;
begin
forever begin
@env_0.agent0.driver.vif.driver_cb begin : counter1
if(path_to.activity) counter <= MAX_COUNT;
else counter <= counter - 1'b1;
if(counter==0)
uvm_test_done.drop_objection(this);
end : counter1
end
end
join_any: fork_run
`uvm_info({get_type_name(),":run"}, "... test completed", UVM_LOW)
uvm_test_done.drop_objection(this);
endtask: run_phase