Drain Time in UVM

Hi All,

I have started learning setting drain time in UVM and not able to override/use the same drain time used in the base test.
code link: EDA Playground
Issue: Null object Access if i use super.
Please help

The method you use for getting the run_phase isn’t quite correct. You want to use:

  virtual function void end_of_elaboration_phase(uvm_phase phase);
    uvm_phase run_phase = phase.find_by_name("run", 0);
    run_phase.phase_done.set_drain_time(this, 5);
  endfunction

Thank you for the response. But i am bit confused why do we need to used find_by_name why cant’t we simply get the singletone phase object uvm_run_phase::get() ?
Could you please provide some inputs why can’t we use above method?

This thread discusses the difference between the two methods.