In reply to dave_59:
With the above syntax i tried it could stucked at run_phase itself. so i tried with the below syntax.
task run_phase
begin
fork
begin
test1();
end
begin
test2();
end
join
end
endtask : run_phase
task test1();
begin
forever @(posedge clk);
begin
fork
begin
@(posedge intf.c1);
uvm_info("p1",uvm_low)
end
begin
@(posedge intf.c2);
uvm_info("p2",uvm_low)
end
join_none
end
end
endtask
task test2();
begin
forever @(posedge clk1);
begin
fork
begin
@(posedge intf.c6);
uvm_info("p6",uvm_low)
end
begin
@(posedge intf.c7);
uvm_info("p7",uvm_low)
end
join_none
end
end
endtask
I need to check c1,c2,c6,c7 until case to be done so i kept fork in raise, drop objections.
The clk,clk1 are of high speed. When the c1,c2,c6,c7 are hit first time at the same time stamp p1,p2,p6,p7 prints are coming continuously.