00001 class cl_syoscb_report_catcher extends uvm_report_catcher; 00002 int max_num_scb_errors = 10; // allow that many SCB errors before stopping the simulation 00003 int num_scb_errors = 0; 00004 extern virtual function action_e catch(); 00005 endclass: cl_syoscb_report_catcher 00006 00007 00008 function cl_syoscb_report_catcher::action_e cl_syoscb_report_catcher::catch(); 00009 if (get_severity()==UVM_INFO) begin 00010 if (get_id()=="MISCMP") begin 00011 return CAUGHT; // Avoid the OOO compare to report lots of mismatches for the compare method 00012 end 00013 end else if (get_severity()==UVM_ERROR) begin 00014 if (get_id() == "SYOSCB") begin 00015 if (num_scb_errors < max_num_scb_errors) begin 00016 set_severity(UVM_WARNING); 00017 end 00018 num_scb_errors++; 00019 end 00020 end 00021 return THROW; 00022 endfunction 00023
|
Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.0.1 |
Copyright 2014 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 Version: 1.6.1 IDV SV Filter Version: 2.6.2 Mon Nov 24 09:24:22 2014 |