8 `uvm_component_utils_begin(cl_scb_test_ooo_std_dump_orphans_abort)
10 `uvm_component_utils_end
15 function new(string name = "cl_scb_test_ooo_std_dump_orphans_abort", uvm_component parent = null);
16 super.new(name, parent);
22 extern function void pre_build();
23 extern task run_phase(uvm_phase phase);
28 function void cl_scb_test_ooo_std_dump_orphans_abort::pre_build();
31 this.syoscb_cfgs.syoscb_cfg[0].set_compare_type(pk_syoscb::SYOSCB_COMPARE_OOO);
32 this.syoscb_cfgs.syoscb_cfg[0].set_dump_orphans_to_files(1'b1);
33 this.syoscb_cfgs.syoscb_cfg[0].set_max_print_orphans(0);
34 this.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump(1'b1);
35 this.syoscb_cfgs.syoscb_cfg[0].set_full_scb_max_queue_size("Q1", 15);
36 this.syoscb_cfgs.syoscb_cfg[0].set_full_scb_max_queue_size("Q2", 15);
37 this.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump_type(pk_syoscb::XML);
38 this.syoscb_cfgs.syoscb_cfg[0].set_orphan_dump_type(pk_syoscb::XML);
41 this.syoscb_cfgs.syoscb_cfg[0].set_orphan_dump_file_name("abort");
42 this.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump_file_name("abort");
43 endfunction: pre_build
45 task cl_scb_test_ooo_std_dump_orphans_abort::run_phase(uvm_phase phase);
46 phase.raise_objection(this);
47 super.run_phase(phase);
51 for(int unsigned i=0; i<10; i++) begin
53 item1 = cl_tb_seq_item::type_id::create("item1");
55 this.scb_env.syoscb[0].add_item("Q1", "P1", item1);
58 for(int unsigned i=0; i<5; i++) begin
60 item1 = cl_tb_seq_item::type_id::create("item1");
62 this.scb_env.syoscb[0].add_item("Q2", "P1", item1);
65 for(int unsigned i=10; i<12; i++) begin
67 item1 = cl_tb_seq_item::type_id::create("item1");
69 this.scb_env.syoscb[0].add_item("Q2", "P1", item1);
73 phase.drop_objection(this);
Tests queue and orphan dumping when an error occurs mid-simulation This test fails on purpose...