Hi Gaurav,
You can use the same uvm_event which you have mentioned .
You can get the event with the help of uvm_event_pool, the sharing of the event happens with respect to the name with which you have set your clock event.
Please find the code snippet below.
example:
class my_sequence extends uvm_sequence;
//factory registration
//other stuff
uvm_event_pool my_event_pool;
uvm_event clk_event;
.
.
.
clk_event = new();
my_event_pool = uvm_event_pool::get_global_pool();
`uvm_info(get_full_name(),my_event_pool.get_type_name(),UVM_HIGH);
task body();
clk_event = my_event_pool.get("CLOCK EVENT");//this clock event will be triggered and set in the event pool with the same name in some other place where you have the access to the virtual interface handle.
.
.
.
clk_event.wait_trigger;
.
.
endtask
endclass
I hope this helps in solving your problem.
Thanks,
Neith