12 `uvm_component_utils_begin(cl_scb_test_io_md5_dump_orphans)
14 `uvm_component_utils_end
19 function new(string name = "cl_scb_test_io_md5_dump_orphans", uvm_component parent = null);
20 super.new(name, parent);
26 extern function void pre_build();
27 extern task run_phase(uvm_phase phase);
32 function void cl_scb_test_io_md5_dump_orphans::pre_build();
35 this.syoscb_cfgs.syoscb_cfg[0].set_queue_type(pk_syoscb::SYOSCB_QUEUE_MD5);
36 endfunction: pre_build
38 task cl_scb_test_io_md5_dump_orphans::run_phase(uvm_phase phase);
39 phase.raise_objection(this);
41 super.run_phase(phase);
43 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_dump_orphans_to_files(1'b1);
44 this.scb_env.syoscb[0].set_report_severity_id_override(UVM_ERROR, "QUEUE_ERROR", UVM_INFO);
45 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_max_print_orphans(0);
46 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_orphan_dump_type(pk_syoscb::XML);
47 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_orphan_dump_file_name("md5_dump_orphans");
49 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump(1'b1);
50 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump_type(pk_syoscb::TXT);
51 void'(this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump_split(1'b0));
52 this.scb_env.syoscb_cfgs.syoscb_cfg[0].set_full_scb_dump_file_name("md5_dump_orphans");
55 for(int unsigned i=0; i<10; i++) begin
57 item1 = cl_tb_seq_item::type_id::create("item1");
59 this.scb_env.syoscb[0].add_item("Q1", "P1", item1);
62 for(int unsigned i=0; i<5; i++) begin
64 item1 = cl_tb_seq_item::type_id::create("item1");
66 this.scb_env.syoscb[0].add_item("Q2", "P1", item1);
70 phase.drop_objection(this);
Uses io-compare and MD5 queues showing orphan dumps & shadow queues / scb dump.