Hi all ,
in the test , same seq (tx_rx_seq) is called twice , want to kill the first seq gracefully , any help on this is appreciated .
In the below one , i need to kill first seq after join_any … but i am getting fatal error as tx_rx_seq already started
i tried using process and killing it , but of no use .
class tx_rx_test extends base_test ;
..
..
tx_rx_seq tx_rx_seq_h;
low_pwr_seq lp_seq_h;
..
..
task main_phase(uvm_phase phase);
tx_rx_seq_h = tx_rx_seq::type_id::create("tx_rx_seq_h");
lp_seq_h= low_pwr_seq::type_id::create("lp_seq_h");
fork
begin
tx_rx_seq_h.start(seqr); // frist one
end
begin
#150us;
lp_seq_h.start(seqr);
end
join_any
begin
bringup_task();
tx_rx_seq_h.start(seqr); /// 2nd one
end
endtask
endclass
fork
begin
process1 = process::self();
tx_rx_seq_h.start(seqr); // frist one
end
begin
process2 = process::self();
#150us;
lp_seq_h.start(seqr);
end
join_any
if (process2 != null && process2.status != process::FINISHED) begin
process1.kill();
end
Regards