How to run different task forever inside uvm phase

I got stuck when i am using fork/join_none and forever to run different task inside run_phase in background. Please tel me how can i run different task inside the run phase?

In reply to amarkishor:

Could you please show the code of your run_phase.

In reply to amarkishor:

Basically, you must you fork/join_none to run background tasks, forever loop should be in background tasks:

For example:


task run_phase(uvm_phase phase);
fork
  task1();
  task2();
  task3();
join_none
endtask

task task1;
  forever begin
    // TODO: do somthing
  end
endtask

These background tasks will be terminated once run_phase completed in all components (when all objections are dropped). Also, please be careful with raise/drop objection in background tasks.

About the issue that you got stuck, please describe more detail or post your code here.