11 `uvm_component_utils_begin(cl_scb_test_ooo_std_dump_orphans)
13 `uvm_component_utils_end
18 extern function new(string name = "cl_scb_test_ooo_std_dump_orphans", uvm_component parent = null);
23 extern task run_phase(uvm_phase phase);
24 extern
virtual function void pre_build();
29 function cl_scb_test_ooo_std_dump_orphans::new(string name = "cl_scb_test_ooo_std_dump_orphans", uvm_component parent = null);
30 super.new(name, parent);
33 function void cl_scb_test_ooo_std_dump_orphans::pre_build();
34 uvm_printer tree_printer;
38 this.syoscb_cfgs.syoscb_cfg[0].set_compare_type(pk_syoscb::SYOSCB_COMPARE_OOO);
40 this.syoscb_cfgs.syoscb_cfg[0].set_printer(tree_printer, '{"Q2"}, '{"P1"});
42 this.syoscb_cfgs.syoscb_cfg[0].set_dump_orphans_to_files(1'b1);
43 this.syoscb_cfgs.syoscb_cfg[0].set_max_print_orphans(0);
44 endfunction : pre_build
46 task cl_scb_test_ooo_std_dump_orphans::run_phase(uvm_phase phase);
47 phase.raise_objection(this);
49 super.run_phase(phase);
50 this.scb_env.syoscb[0].set_report_severity_id_override(UVM_ERROR, "QUEUE_ERROR", UVM_INFO);
54 for(int unsigned i=0; i<10; i++) begin
56 item1 = cl_tb_seq_item::type_id::create("item1");
58 this.scb_env.syoscb[0].add_item("Q1", "P1", item1);
61 for(int unsigned i=0; i<5; i++) begin
63 item1 = cl_tb_seq_item::type_id::create("item1");
65 this.scb_env.syoscb[0].add_item("Q2", "P1", item1);
68 for(int unsigned i=10; i<12; i++) begin
70 item1 = cl_tb_seq_item::type_id::create("item1");
72 this.scb_env.syoscb[0].add_item("Q2", "P1", item1);
76 phase.drop_objection(this);
static uvm_printer get_printer_of_type(t_printer_type ptype)
Generates a new printer of the correct type.
This test uses the dump_orphans_to_files configuration knob.