Hello,
I am having question related to phase synchronization in uvm. let me explain by code.
- my driver class has following phases.
build_phase, reset_phase, configure_phase, main_phase
class my_driver extends uvm_driver;
function new********************
function build_phase(uvm_phase phase);
// Necessary logic
endfunction : build_phase
task reset_phase(uvm_phase phase);
// Necessary logic
endtask : reset_phase
task configure_phase(uvm_phase phase);
// Necessary logic
endtask : configure_phase
task main_phase(uvm_phase phase);
// Necessary logic
endtask : main_phase
endclass : my_driver
- my monitor class has following phases.
build_phase and run_phase.
class my_monitor extends uvm_monitor;
function new********************
function build_phase(uvm_phase phase);
// Necessary logic
endfunction : build_phase
task run_phase(uvm_phase phase);
// Necessary logic
/* I want to add logic here, which can detect uvm phases of other class,*/
endtask : run_phase
endclass : my_monitor
i want to synchronize main_phase of driver class with run_phase of monitor class. my requirement is [b]run_phase of monitor class only start executing when main_phase of driver class is started. is there any mechanism for such issue in uvm?
or is there any mechanism by which i can know which phase is executing?
Please let me know if more details are required from my side.
Thanks in advance.
Mitesh N.Patel