SyoSil ApS UVM Scoreboard  1.0.3.0
cl_scbs_test_iop_std_base.svh
1 // Simple IOP compare with STD queue test. Testing the cl_syoscbs class
2 // using TLM hook up to monitors
3 
4 class cl_scbs_test_iop_std_base extends cl_scbs_test_base;
5  localparam int unsigned l_no_scbds = 16;
6 
7  //-------------------------------------
8  // UVM Macros
9  //-------------------------------------
10  `uvm_component_utils(cl_scbs_test_iop_std_base)
11 
12  //-------------------------------------
13  // Constructor
14  //-------------------------------------
15  extern function new(string name = "cl_scbs_test_iop_std_base", uvm_component parent = null);
16  extern virtual function void pre_build();
17 
18  //-------------------------------------
19  // UVM Phase methods
20  //-------------------------------------
21  extern virtual function void build_phase(uvm_phase phase);
22 endclass : cl_scbs_test_iop_std_base
23 
24 function cl_scbs_test_iop_std_base::new(string name = "cl_scbs_test_iop_std_base", uvm_component parent = null);
25  super.new(name, parent);
26 endfunction : new
27 
28 function void cl_scbs_test_iop_std_base::pre_build();
29  t_scb_compare_type l_compare_array[];
30  t_scb_queue_type l_queue_array[];
31 
32  super.pre_build();
33 
34  // Create 16 cfg objects inside scbs_cfg.cfgs dyn array.
35  this.scbs_cfg.set_no_scbs(this.l_no_scbds);
36 
37  l_compare_array = new[this.l_no_scbds];
38  foreach(l_compare_array[i]) begin
39  l_compare_array[i] = pk_syoscb::SYOSCB_COMPARE_IOP;
40  l_queue_array[i] = pk_syoscb::SYOSCB_QUEUE_STD;
41  end
42  this.scbs_cfg.set_compare_type(l_compare_array);
43  this.scbs_cfg.set_queue_type(l_queue_array);
44 endfunction : pre_build
45 
46 function void cl_scbs_test_iop_std_base::build_phase(uvm_phase phase);
47  super.build_phase(phase);
48 
49  this.scbs_env.no_scbs = this.l_no_scbds;
50  this.scbs_env.producers = {"P1", "P2"};
51 endfunction: build_phase
Base class for all SCBs tests.

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:38:46
Find a documentation bug? Report bugs to: scoreboard@syosil.com