SyoSil ApS UVM Scoreboard  1.0.3.0
cl_scb_test_cmp_ooo.svh
1 /// Base class for specializations of cl_scb_test_cmp_base using OOO compare.
2 /// Implementations are provided below using typedefs
3 /// \param ATYPE Type of the top-level objects to instantiate
4 /// \param suffix A string suffix to add to the nest name
5 class cl_scb_test_cmp_ooo#(type ATYPE = cl_tb_cmp_a_f_seq_item#(cl_tb_cmp_b_f_seq_item#(cl_tb_seq_item)),
6  string suffix = "") extends cl_scb_test_cmp_base#(ATYPE);
7 
8  typedef uvm_component_registry #(cl_scb_test_cmp_ooo #(ATYPE, suffix), $sformatf("cl_scb_test_cmp_ooo_%s", suffix)) type_id;
9 
10  static function type_id get_type();
11  return type_id::get();
12  endfunction
13 
14  virtual function uvm_object_wrapper get_object_type();
15  return type_id::get();
16  endfunction
17 
18  //-------------------------------------
19  // Constructor
20  //-------------------------------------
21  extern function new(string name = "cl_scb_test_cmp_ooo", uvm_component parent = null);
22  extern virtual function void pre_build();
23  //-------------------------------------
24  // UVM Phase methods
25  //-------------------------------------
26  extern virtual function void drive_stimuli(string queue, string producer, stim_wrapper stim);
27 
28 endclass: cl_scb_test_cmp_ooo
29 
30 function cl_scb_test_cmp_ooo::new(string name = "cl_scb_test_cmp_ooo", uvm_component parent = null);
31  super.new(name, parent);
32 endfunction
33 
34 function void cl_scb_test_cmp_ooo::pre_build();
35  super.pre_build();
36  this.syoscb_cfgs.syoscb_cfg[0].set_compare_type(pk_syoscb::SYOSCB_COMPARE_OOO);
37 endfunction: pre_build
38 
39 function void cl_scb_test_cmp_ooo::drive_stimuli(string queue, string producer, stim_wrapper stim);
40  if(queue == "Q2") begin
41  stim.items.shuffle();
42  end
43 
44  foreach(stim.items[i]) begin
45  scb_env.syoscb[0].add_item(queue, producer, stim.items[i]);
46  end
47 endfunction: drive_stimuli
48 
51 
54 
57 
60 
63 
66 
69 
72 
75 
76 
An "a" type item which used a mix of do_compare implementation and field macros.
A "b" type item which used a mix of do_compare implementation and field macros.
Base class for field macro/manual do_compare comparison tests.
A "b" type item which used a manual do_compare implementation instead of field macros.
An "a" type item which used a manual do_compare implementation instead of field macros.
A "b" type item which used a field macros instead of manually implementing do_compare.
An "a" type item which used a field macros instead of manually implementing do_compare.
Base class for specializations of cl_scb_test_cmp_base using OOO compare.

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