Executing function at last after all functions

I tried to create a scoreboard and declared the analysis ports using `define and started write functions out of phases in the scoreboard. Now I want to define a checker function to compare and want this function to execute at last after all write functions of analysis ports have executed and pushed the data into the queue.

Declaring a checker function in run_phases executes before all the write functions defined out of phases. Can I declare it in report phase or call from report phase ?

In reply to verific_engi:

yes you can do that.



function void debug();
    <your logic to check>
  endfunction

function void check_phase (uvm_phase phase);
    super.check_phase(phase);
    debug();
   endfunction


In reply to rag123:

Will try it . So this will run after all functions (write implementation of analysis port) ?

In reply to verific_engi:

The check_phasse will be executed after run_phase has ended. The run_phasse is where the simulation happens. It is a task and consumes time. check_phase is a function and does not consume time.