ASE_phase(uvm_phase phase);</pre></blockquote><p>3.&nbsp; Since the phase class is a singleton, providing an accessor method allows for easy global use, and protecting the constructor prevents misuse.</p><blockquote><pre>class my_PHASE_phase extends uvm_topdown_phase;  or uvm_task_phase/uvm_bottomum_phase
  static local my_PHASE_phase m_inst;      Local reference to global IMP
  protected function new(string name=&quot;PHASE&quot;);    Protected constructor for singleton
    super.new(name);
  endfunction :