SyoSil ApS UVM Scoreboard  1.0.3.0
cl_scb_test_ooo_md5_duplets.svh
1 /// Duplets OOO compare test using the function based API
2 
3 class cl_scb_test_ooo_md5_duplets extends cl_scb_test_single_scb;
4  //-------------------------------------
5  // UVM Macros
6  //-------------------------------------
7  `uvm_component_utils(cl_scb_test_ooo_md5_duplets)
8 
9  //-------------------------------------
10  // Constructor
11  //-------------------------------------
12  extern function new(string name = "cl_scb_test_ooo_md5_duplets", uvm_component parent = null);
13  extern virtual function void pre_build();
14  //-------------------------------------
15  // UVM Phase methods
16  //-------------------------------------
17  extern task run_phase(uvm_phase phase);
19 
20 function cl_scb_test_ooo_md5_duplets::new(string name = "cl_scb_test_ooo_md5_duplets",
21  uvm_component parent = null);
22  super.new(name, parent);
23 endfunction : new
24 
25 function void cl_scb_test_ooo_md5_duplets::pre_build();
26  super.pre_build();
27 
28  this.syoscb_cfgs.syoscb_cfg[0].set_queue_type(pk_syoscb::SYOSCB_QUEUE_MD5);
29  this.syoscb_cfgs.syoscb_cfg[0].set_compare_type(pk_syoscb::SYOSCB_COMPARE_OOO);
30 endfunction : pre_build
31 
32 task cl_scb_test_ooo_md5_duplets::run_phase(uvm_phase phase);
33  phase.raise_objection(this);
34 
35  super.run_phase(phase);
36 
37  fork
38  for(int unsigned i=0; i<10; i++) begin
39  cl_tb_seq_item item1;
40  item1 = cl_tb_seq_item::type_id::create("item1");
41  item1.int_a = i;
42  if(i == 3) begin
43  item1.int_a = 2;
44  end
45  scb_env.syoscb[0].add_item("Q1", "P1", item1);
46  end
47 
48  for(int i=9; i>=0; i--) begin
49  cl_tb_seq_item item1;
50  item1 = cl_tb_seq_item::type_id::create("item1");
51  item1.int_a = i;
52  if(i == 3) begin
53  item1.int_a = 2;
54  end
55  scb_env.syoscb[0].add_item("Q2", "P1", item1);
56  end
57  join
58 
59  phase.drop_objection(this);
60 endtask: run_phase
Duplets OOO compare test using the function based API.

Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.3.0

Copyright 2014-2022 SyoSil ApS
All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
doxygen
Doxygen Version: 1.8.14
Generated with IDV SV Filter Version: 2.6.3
Fri Sep 2 2022 14:37:54
Find a documentation bug? Report bugs to: scoreboard@syosil.com