14 `uvm_object_utils_begin(cl_syoscb_comparer_config)
21 extern function new(string name = "cl_syoscb_comparer_config");
27 extern static function void
set_verbosity(uvm_comparer comparer, int unsigned cv = UVM_DEBUG);
28 extern static function int unsigned
get_verbosity(uvm_comparer comparer);
29 extern static function void
copy_comparer(uvm_comparer from, uvm_comparer to);
31 extern static function void
do_help_pack(uvm_comparer comparer, uvm_packer packer);
32 extern static function uvm_comparer
do_help_unpack(uvm_packer packer);
33 extern static function void
set_show_max(uvm_comparer comparer, int unsigned sm);
34 extern static function int unsigned
get_show_max(uvm_comparer comparer);
38 function cl_syoscb_comparer_config::new(string name = "cl_syoscb_comparer_config");
50 comparer.verbosity = cv;
62 return comparer.verbosity;
72 to.set_result(from.get_result());
73 to.set_recursion_policy(from.get_recursion_policy());
74 to.set_check_type(from.get_check_type());
77 to.set_severity(from.get_severity());
78 to.set_threshold(from.get_threshold());
80 to.policy = from.policy;
81 to.show_max = from.show_max;
82 to.verbosity = from.verbosity;
84 to.miscompares = from.miscompares;
85 to.physical = from.physical;
86 to.abstract = from.abstract;
87 to.check_type = from.check_type;
88 to.result = from.result;
101 uvm_recursion_policy_enum policy;
103 int unsigned show_max;
105 int unsigned verbosity;
106 int unsigned threshold;
109 if(comparer != null) begin
110 packer.pack_field_int(1, 4);
112 packer.pack_field_int(0, 4);
117 result = comparer.get_result();
118 policy = comparer.get_recursion_policy();
119 check_type = comparer.get_check_type();
121 sev = comparer.get_severity();
123 threshold = comparer.get_threshold();
125 result = comparer.result;
126 policy = comparer.policy;
127 check_type = comparer.check_type;
128 show_max = comparer.show_max;
130 verbosity = comparer.verbosity;
134 packer.pack_field_int(result, $bits(result));
135 packer.pack_field_int(policy, $bits(policy));
136 packer.pack_field_int(check_type, $bits(check_type));
137 packer.pack_field_int(show_max, $bits(show_max));
138 packer.pack_field_int(sev, $bits(sev));
139 packer.pack_field_int(verbosity, $bits(verbosity));
140 packer.pack_field_int(threshold, $bits(threshold));
152 uvm_comparer comparer;
154 uvm_recursion_policy_enum policy;
156 int unsigned show_max;
158 int unsigned verbosity;
159 int unsigned threshold;
165 is_null = packer.unpack_field_int($bits(is_null));
167 if(is_null == 4'b0) begin
171 result = packer.unpack_field_int($bits(result));
172 policy_value = packer.unpack_field_int($bits(policy));
173 check_type = packer.unpack_field_int($bits(check_type));
174 show_max = packer.unpack_field_int($bits(show_max));
175 sev_value = packer.unpack_field_int($bits(sev));
176 verbosity = packer.unpack_field_int($bits(verbosity));
177 threshold = packer.unpack_field_int($bits(threshold));
182 policy = policy.first();
183 while(policy != policy_value && policy != policy.last()) begin
184 policy = policy.next();
186 if(policy != policy_value) begin
187 `uvm_error("ENUM_DECODE", $sformatf("Unable to interpret 'policy' enum. Unpacked value was %0d which is not valid", policy_value));
191 if(sev_value == UVM_INFO) begin
193 end else if (sev_value == UVM_WARNING) begin
195 end else if (sev_value == UVM_ERROR) begin
197 end else if (sev_value == UVM_FATAL) begin
200 `uvm_error("ENUM_DECODE", $sformatf("Unable to interpret 'sev' enum. Unpacked value was %0d which is not valid", sev_value))
206 comparer.set_result(result);
207 comparer.set_recursion_policy(policy);
208 comparer.set_check_type(check_type);
210 comparer.set_severity(sev);
212 comparer.set_threshold(threshold);
214 comparer.result = result;
215 comparer.policy = policy;
216 comparer.check_type = check_type;
217 comparer.show_max = show_max;
219 comparer.verbosity = verbosity;
232 return comparer.get_miscompares();
234 return comparer.miscompares;
246 comparer.show_max = sm;
258 return comparer.show_max;
static void set_verbosity(uvm_comparer comparer, int unsigned cv=UVM_DEBUG)
Sets the verbosity level of a given comparer.
static void copy_comparer(uvm_comparer from, uvm_comparer to)
Copies all config information from one comparer into another.
static string get_miscompares_from_comparer(uvm_comparer comparer)
Returns a string containing all miscompares from the given comparer.
static void do_help_pack(uvm_comparer comparer, uvm_packer packer)
Packs all configuration data for the given uvm_comparer using the given uvm_packer.
static void set_show_max(uvm_comparer comparer, int unsigned sm)
Sets the value of the show_max knob in the given comparer.
static uvm_comparer do_help_unpack(uvm_packer packer)
Unpacks comparer configuration data and returns a comparer with that configuration.
Utility class used to perform manipulations of uvm_comparer objects.
static int unsigned get_verbosity(uvm_comparer comparer)
Gets the verbosity level for a given comparer.
static int unsigned get_show_max(uvm_comparer comparer)
Gets the value of the show_max knob in the given comparer.