In reply to chr_sue:
I think the below example will be working also the same as waht I wrote a question.
Even if I will implement as below but eventually, the following the all sequences will be excuted.
So, If I didn’t undersatnd as well, Please guide me a little bit more. How do I execute the specific sequence in test?
task body();
...
m_apb_rd_wr_seq.start (apb_sqr );
fork
m_wb_reset_seq.start (wb_sqr);
m_pcie_gen_seq.start (pcie_sqr);
join
...
endtask
class my_virtual_seq extends uvm_sequence;
`uvm_object_utils (my_virtual_seq)
function new (string name = "my_virtual_seq")
super.new (name);
endfunction
apb_sequencer apb_sqr;
wb_sequencer wb_sqr;
pcie_sequencer pcie_sqr;
apb_rd_wr_seq m_apb_rd_wr_seq;
wb_reset_seq m_wb_reset_seq;
pcie_gen_seq m_pcie_gen_seq;
task pre_body();
m_apb_rd_wr_seq = apb_rd_wr_seq::type_id:create("m_apb_rd_wr_seq")
m_wb_reset_seq = wb_reset_seq:::type_id::create("m_wb_reset_seq");
m_pcie_gen_seq = pcie_gen_seq:::type_id::create("m_pcie_gen_seq");
endtask
task body();
...
m_apb_rd_wr_seq.start (apb_sqr );
fork
m_wb_reset_seq.start (wb_sqr);
m_pcie_gen_seq.start (pcie_sqr);
join
...
endtask
endclass