Handling initial reset in UVM driver

In reply to chr_sue:

Thank you chr_sue!
Ok, i mean, driver shouldn’t retrieve seq_item and drive the signals. I should have phrased my sentence well.

reset(its active low) has been passed to virtual interface.
wait(counter_vif.reset ==1) before get_next_item doesn’t work since reset =1 in the beginning.
Can i do as below(it did work though):


//---------DRIVER---------
 virtual task run_phase(uvm_phase phase);
    super.run_phase (phase); 
    initialize(); //initialise the driver signals
    (@(posedge counter_vif.reset) 
    forever begin
      seq_item_port.get_next_item(req);
      drive();
      seq_item_port.item_done();
    end //forever
  endtask : run_phase