6 cl_tb_tlm_monitor#() monQ1P1;
7 cl_tb_tlm_monitor#() monQ2P1;
12 `uvm_component_utils(cl_scb_test_ooo_md5_tlm)
17 extern function new(string name = "cl_scb_test_ooo_md5_tlm", uvm_component parent = null);
18 extern
virtual function void pre_build();
23 extern function void build_phase(uvm_phase phase);
24 extern function void connect_phase(uvm_phase phase);
25 extern task run_phase(uvm_phase phase);
28 function cl_scb_test_ooo_md5_tlm::new(string name = "cl_scb_test_ooo_md5_tlm",
29 uvm_component parent = null);
30 super.new(name, parent);
33 function void cl_scb_test_ooo_md5_tlm::pre_build();
36 this.syoscb_cfgs.syoscb_cfg[0].set_queue_type(pk_syoscb::SYOSCB_QUEUE_MD5);
37 this.syoscb_cfgs.syoscb_cfg[0].set_compare_type(pk_syoscb::SYOSCB_COMPARE_OOO);
38 endfunction : pre_build
40 function void cl_scb_test_ooo_md5_tlm::build_phase(uvm_phase phase);
41 super.build_phase(phase);
43 this.monQ1P1 = new("monQ1P1", this);
44 this.monQ2P1 = new("monQ2P1", this);
45 endfunction: build_phase
47 function void cl_scb_test_ooo_md5_tlm::connect_phase(uvm_phase phase);
48 super.connect_phase(phase);
60 subscriber = this.scb_env.syoscb[0].get_subscriber("Q1", "P1");
61 this.monQ1P1.anls_port.connect(subscriber.analysis_export);
65 subscriber = this.scb_env.syoscb[0].get_subscriber("Q2", "P1");
66 this.monQ2P1.anls_port.connect(subscriber.analysis_export);
68 endfunction: connect_phase
70 task cl_scb_test_ooo_md5_tlm::run_phase(uvm_phase phase);
72 phase.raise_objection(this);
74 super.run_phase(phase);
80 phase.drop_objection(this);
Generic subscriber for the scoreboard.
Simple OOO compare test using the TLM based API and MD5 queues.