6 cl_tb_tlm_monitor#(cl_tb_seq_item) monQ1P1;
7 cl_tb_tlm_monitor#(cl_tb_seq_item) monQ2P1;
15 `uvm_component_utils(cl_scb_test_ooo_std_tlm_filter_trfm)
20 extern function new(string name = "cl_scb_test_ooo_std_tlm_filter_trfm",
21 uvm_component parent = null);
22 extern
virtual function void pre_build();
27 extern function void build_phase(uvm_phase phase);
28 extern function void connect_phase(uvm_phase phase);
29 extern task run_phase(uvm_phase phase);
32 function cl_scb_test_ooo_std_tlm_filter_trfm::new(string name = "cl_scb_test_ooo_std_tlm_filter_trfm",
33 uvm_component parent = null);
34 super.new(name, parent);
37 function void cl_scb_test_ooo_std_tlm_filter_trfm::pre_build();
40 this.syoscb_cfgs.syoscb_cfg[0].set_compare_type(pk_syoscb::SYOSCB_COMPARE_OOO);
41 endfunction : pre_build
43 function void cl_scb_test_ooo_std_tlm_filter_trfm::build_phase(uvm_phase phase);
44 super.build_phase(phase);
46 this.monQ1P1 = new("monQ1P1", this);
47 this.monQ2P1 = new("monQ2P1", this);
48 this.filterQ1P1 = new("filterQ1P1", this);
49 this.filterQ2P1 = new("filterQ2P1", this);
50 endfunction: build_phase
52 function void cl_scb_test_ooo_std_tlm_filter_trfm::connect_phase(uvm_phase phase);
53 super.connect_phase(phase);
65 subscriber = this.scb_env.syoscb[0].get_subscriber("Q1", "P1");
66 this.filterQ1P1.ap.connect(subscriber.analysis_export);
67 this.monQ1P1.anls_port.connect(this.filterQ1P1.analysis_export);
71 subscriber = this.scb_env.syoscb[0].get_subscriber("Q2", "P1");
72 this.filterQ2P1.ap.connect(subscriber.analysis_export);
73 this.monQ2P1.anls_port.connect(this.filterQ2P1.analysis_export);
75 endfunction: connect_phase
77 task cl_scb_test_ooo_std_tlm_filter_trfm::run_phase(uvm_phase phase);
79 phase.raise_objection(this);
81 super.run_phase(phase);
87 phase.drop_objection(this);
Simple OOO compare test using the TLM based API and filter transforms.
Generic subscriber for the scoreboard.
Base class for a filter transformation.