00001 class cl_syoscb_report_catcher extends uvm_report_catcher; 00002 //------------------------------------- 00003 // Non randomizable variables 00004 //------------------------------------- 00005 int max_num_scb_errors = 10; // allow that many SCB errors before stopping the simulation 00006 int num_scb_errors = 0; 00007 00008 //------------------------------------- 00009 // API 00010 //------------------------------------- 00011 extern virtual function action_e catch(); 00012 endclass: cl_syoscb_report_catcher 00013 00014 function cl_syoscb_report_catcher::action_e cl_syoscb_report_catcher::catch(); 00015 if (get_severity()==UVM_INFO) begin 00016 if (get_id()=="MISCMP") begin 00017 return CAUGHT; // Avoid the OOO compare to report lots of mismatches for the compare method 00018 end 00019 end else if (get_severity()==UVM_ERROR) begin 00020 if (get_id() == "SYOSCB") begin 00021 if (num_scb_errors < max_num_scb_errors) begin 00022 set_severity(UVM_WARNING); 00023 end 00024 num_scb_errors++; 00025 end 00026 end 00027 return THROW; 00028 endfunction 00029
|
Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.2.1 Copyright 2014-2015 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 Thu Jun 4 23:02:22 2015 |