00001 // $Id: a00308.html,v 1.1 2009/01/07 19:29:55 alex.marin Exp $ 00002 //---------------------------------------------------------------------- 00003 // Copyright 2007-2008 Mentor Graphics Corporation 00004 // Copyright 2007-2008 Cadence Design Systems, Inc. 00005 // All Rights Reserved Worldwide 00006 // 00007 // Licensed under the Apache License, Version 2.0 (the 00008 // "License"); you may not use this file except in 00009 // compliance with the License. You may obtain a copy of 00010 // the License at 00011 // 00012 // http://www.apache.org/licenses/LICENSE-2.0 00013 // 00014 // Unless required by applicable law or agreed to in 00015 // writing, software distributed under the License is 00016 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 00017 // CONDITIONS OF ANY KIND, either express or implied. See 00018 // the License for the specific language governing 00019 // permissions and limitations under the License. 00020 //---------------------------------------------------------------------- 00021 00022 `ifndef OVM_URM_MESSAGE_DEFINES_SVH 00023 `define OVM_URM_MESSAGE_DEFINES_SVH 00024 00025 00026 //------------------------------------------------------------------------------ 00027 // 00028 // COMPONENT MACROS: the main user-level macros for messaging 00029 // 00030 //------------------------------------------------------------------------------ 00031 00032 00033 `ifdef OVM_URM_PLI 00034 `define urm_file $psprintf("%0s",$urm_file) 00035 `define urm_line $urm_line 00036 `else 00037 `define urm_file "<UNKNOWN>" 00038 `define urm_line 0 00039 `endif 00040 00041 `ifdef OVM_PKG_SV 00042 `define ovm_urm_message ovm_pkg::ovm_urm_message 00043 `define ovm_urm_report_server ovm_pkg::ovm_urm_report_server 00044 `define ovm_global_reporter ovm_pkg::_global_reporter 00045 `define ovm_urm_tmp_str ovm_pkg::ovm_urm_tmp_str 00046 `define ovm_global_urm_report_server ovm_pkg::ovm_global_urm_report_server 00047 `else 00048 `define ovm_urm_message ovm_urm_message 00049 `define ovm_urm_report_server ovm_urm_report_server 00050 `define ovm_global_reporter _global_reporter 00051 `define ovm_urm_tmp_str ovm_urm_tmp_str 00052 `define ovm_global_urm_report_server ovm_global_urm_report_server 00053 `endif 00054 00055 `ifdef INCA 00056 `define OVM_AVOID_SFORMATF 1 00057 `endif 00058 00059 `ifdef OVM_AVOID_SFORMATF 00060 00061 `define urm_msg_imp(ID,MESSAGE,TYPE,SEVERITY,VERBOSITY,HIERARCHY,CLIENT) begin \ 00062 $swrite(ovm_urm_tmp_str,"%m"); \ 00063 begin \ 00064 ovm_urm_message message; \ 00065 message = new( \ 00066 ID, "", TYPE, SEVERITY, VERBOSITY, HIERARCHY, CLIENT, \ 00067 `urm_file, `urm_line, ovm_urm_tmp_str \ 00068 ); \ 00069 if ( ovm_urm_report_server::m_message_header(message) ) begin \ 00070 if ( ovm_urm_report_server::m_message_subheader(message) ) $display MESSAGE; \ 00071 ovm_urm_report_server::m_message_footer(message); \ 00072 end \ 00073 end \ 00074 end 00075 00076 `define urm_pkg_msg_imp(ID,MESSAGE,TYPE,SEVERITY,VERBOSITY,HIERARCHY,CLIENT) begin \ 00077 $swrite(`ovm_urm_tmp_str,"%m"); \ 00078 begin \ 00079 `ovm_urm_message message; \ 00080 message = new( \ 00081 ID, "", TYPE, SEVERITY, VERBOSITY, HIERARCHY, CLIENT, \ 00082 `urm_file, `urm_line, `ovm_urm_tmp_str \ 00083 ); \ 00084 if ( `ovm_urm_report_server::m_message_header(message) ) begin \ 00085 if ( `ovm_urm_report_server::m_message_subheader(message) ) $display MESSAGE; \ 00086 `ovm_urm_report_server::m_message_footer(message); \ 00087 end \ 00088 end \ 00089 end 00090 00091 `else 00092 00093 `define urm_msg_imp(ID,MESSAGE,TYPE,SEVERITY,VERBOSITY,HIERARCHY,CLIENT) begin \ 00094 $swrite(ovm_urm_tmp_str,"%m"); \ 00095 begin \ 00096 string image; \ 00097 ovm_report_object client; \ 00098 client = CLIENT; \ 00099 ovm_urm_report_server::m_set_report_hier(HIERARCHY); \ 00100 ovm_urm_report_server::m_set_report_scope(ovm_urm_tmp_str); \ 00101 ovm_urm_report_server::m_set_report_type(TYPE); \ 00102 image = $psprintf MESSAGE; \ 00103 ovm_global_urm_report_server.report( \ 00104 SEVERITY, client.get_full_name(), ID, image, \ 00105 VERBOSITY, `urm_file, `urm_line, client \ 00106 ); \ 00107 ovm_urm_report_server::m_reset_report_flags(); \ 00108 end \ 00109 end 00110 00111 `define urm_pkg_msg_imp(ID,MESSAGE,TYPE,SEVERITY,VERBOSITY,HIERARCHY,CLIENT) begin \ 00112 $swrite(`ovm_urm_tmp_str,"%m"); \ 00113 begin \ 00114 string image; \ 00115 ovm_report_object client; \ 00116 client = CLIENT; \ 00117 `ovm_urm_report_server::m_set_report_hier(`ovm_urm_tmp_str); \ 00118 `ovm_urm_report_server::m_set_report_scope(`ovm_urm_tmp_str); \ 00119 `ovm_urm_report_server::m_set_report_type(TYPE); \ 00120 image = $psprintf MESSAGE; \ 00121 ovm_global_urm_report_server.report( \ 00122 SEVERITY, client.get_full_name(), ID, image, \ 00123 VERBOSITY, `urm_file, `urm_line, client \ 00124 ); \ 00125 `ovm_urm_report_server::m_reset_report_flags(); \ 00126 end \ 00127 end 00128 00129 `endif 00130 00131 00132 // module-based msg macros 00133 // ----------------------- 00134 00135 00136 `ifdef OVM_PKG_SV 00137 00138 `define MESSAGE(VERBOSITY,MESSAGE) \ 00139 do `urm_pkg_msg_imp("DEBUG",MESSAGE,ovm_pkg::OVM_URM_MSG_DEBUG,ovm_pkg::OVM_INFO,VERBOSITY,"",`ovm_global_reporter) \ 00140 while (0) 00141 00142 `define DUT_ERROR(MESSAGE) \ 00143 do `urm_pkg_msg_imp("DUT",MESSAGE,ovm_pkg::OVM_URM_MSG_DUT,ovm_pkg::OVM_ERROR,ovm_pkg::OVM_NONE,"",`ovm_global_reporter) \ 00144 while (0) 00145 00146 `else 00147 00148 `define MESSAGE(VERBOSITY,MESSAGE) \ 00149 do `urm_pkg_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,VERBOSITY,"",`ovm_global_reporter) \ 00150 while (0) 00151 00152 `define DUT_ERROR(MESSAGE) \ 00153 do `urm_pkg_msg_imp("DUT",MESSAGE,OVM_URM_MSG_DUT,OVM_ERROR,OVM_NONE,"",`ovm_global_reporter) \ 00154 while (0) 00155 00156 `endif 00157 00158 // static msg macros 00159 // ----------------- 00160 00161 `define static_message(VERBOSITY,MESSAGE) \ 00162 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,VERBOSITY,"",_global_reporter) 00163 00164 `define static_dut_error(MESSAGE) \ 00165 `urm_msg_imp("DUT",MESSAGE,OVM_URM_MSG_DUT,OVM_ERROR,OVM_NONE,"",_global_reporter) 00166 00167 `define urm_static_data_debug(MESSAGE) \ 00168 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,"",_global_reporter) 00169 00170 `define urm_static_flow_debug(MESSAGE) \ 00171 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,"",_global_reporter) 00172 00173 `define urm_static_code_debug(MESSAGE) \ 00174 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,"",_global_reporter) 00175 00176 `define urm_static_debug(MESSAGE) \ 00177 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,"",_global_reporter) 00178 00179 `define urm_static_info4(MESSAGE) \ 00180 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_FULL,"",_global_reporter) 00181 00182 `define urm_static_info3(MESSAGE) \ 00183 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_HIGH,"",_global_reporter) 00184 00185 `define urm_static_info2(MESSAGE) \ 00186 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_MEDIUM,"",_global_reporter) 00187 00188 `define urm_static_info1(MESSAGE) \ 00189 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_LOW,"",_global_reporter) 00190 00191 `define urm_static_info0(D,MESSAGE) \ 00192 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,int'(D),"",_global_reporter) 00193 00194 `define urm_static_info(MESSAGE) \ 00195 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_INFO,OVM_NONE,"",_global_reporter) 00196 00197 `define urm_static_warning(MESSAGE) \ 00198 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_WARNING,OVM_NONE,"",_global_reporter) 00199 00200 `define urm_static_error(MESSAGE) \ 00201 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_ERROR,OVM_NONE,"",_global_reporter) 00202 00203 `define urm_static_fatal(MESSAGE) \ 00204 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_FATAL,OVM_NONE,"",_global_reporter) 00205 00206 `define urm_static_info_id(ID,MESSAGE) \ 00207 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_INFO,OVM_NONE,"",_global_reporter) 00208 00209 `define urm_static_warning_id(ID,MESSAGE) \ 00210 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_WARNING,OVM_NONE,"",_global_reporter) 00211 00212 `define urm_static_error_id(ID,MESSAGE) \ 00213 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_ERROR,OVM_NONE,"",_global_reporter) 00214 00215 `define urm_static_fatal_id(ID,MESSAGE) \ 00216 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_FATAL,OVM_NONE,"",_global_reporter) 00217 00218 00219 // non-static msg macros 00220 // --------------------- 00221 00222 `define message(VERBOSITY,MESSAGE) \ 00223 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,VERBOSITY,get_full_name(),m_get_report_object()) 00224 00225 `define dut_error(MESSAGE) \ 00226 `urm_msg_imp("DUT",MESSAGE,OVM_URM_MSG_DUT,OVM_ERROR,OVM_NONE,get_full_name(),m_get_report_object()) 00227 00228 `define urm_data_debug(MESSAGE) \ 00229 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,get_full_name(),m_get_report_object()) 00230 00231 `define urm_flow_debug(MESSAGE) \ 00232 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,get_full_name(),m_get_report_object()) 00233 00234 `define urm_code_debug(MESSAGE) \ 00235 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,get_full_name(),m_get_report_object()) 00236 00237 `define urm_debug(MESSAGE) \ 00238 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_DEBUG,get_full_name(),m_get_report_object()) 00239 00240 `define urm_info4(MESSAGE) \ 00241 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_FULL,get_full_name(),m_get_report_object()) 00242 00243 `define urm_info3(MESSAGE) \ 00244 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_HIGH,get_full_name(),m_get_report_object()) 00245 00246 `define urm_info2(MESSAGE) \ 00247 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_MEDIUM,get_full_name(),m_get_report_object()) 00248 00249 `define urm_info1(MESSAGE) \ 00250 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,OVM_LOW,get_full_name(),m_get_report_object()) 00251 00252 `define urm_info0(D,MESSAGE) \ 00253 `urm_msg_imp("DEBUG",MESSAGE,OVM_URM_MSG_DEBUG,OVM_INFO,int'(D),get_full_name(),m_get_report_object()) 00254 00255 `define urm_info(MESSAGE) \ 00256 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_INFO,OVM_NONE,get_full_name(),m_get_report_object()) 00257 00258 `define urm_warning(MESSAGE) \ 00259 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_WARNING,OVM_NONE,get_full_name(),m_get_report_object()) 00260 00261 `define urm_error(MESSAGE) \ 00262 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_ERROR,OVM_NONE,get_full_name(),m_get_report_object()) 00263 00264 `define urm_fatal(MESSAGE) \ 00265 `urm_msg_imp("URM",MESSAGE,OVM_URM_MSG_TOOL,OVM_FATAL,OVM_NONE,get_full_name(),m_get_report_object()) 00266 00267 `define urm_info_id(ID,MESSAGE) \ 00268 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_INFO,OVM_NONE,get_full_name(),m_get_report_object()) 00269 00270 `define urm_warning_id(ID,MESSAGE) \ 00271 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_WARNING,OVM_NONE,get_full_name(),m_get_report_object()) 00272 00273 `define urm_error_id(ID,MESSAGE) \ 00274 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_ERROR,OVM_NONE,get_full_name(),m_get_report_object()) 00275 00276 `define urm_fatal_id(ID,MESSAGE) \ 00277 `urm_msg_imp(ID,MESSAGE,OVM_URM_MSG_TOOL,OVM_FATAL,OVM_NONE,get_full_name(),m_get_report_object()) 00278 00279 00280 // may not remain visible 00281 // ---------------------- 00282 00283 `define urm_msg_detail(DETAIL) \ 00284 (m_rh.m_max_verbosity_level >= (DETAIL)) 00285 00286 `define urm_static_msg_detail(DETAIL) \ 00287 (`ovm_urm_report_server::get_global_verbosity() >= (DETAIL)) 00288 00289 00290 //------------------------------------------------------------------------------ 00291 // ANSI Escape Sequences 00292 // 00293 // ESC [ <parameters> m 00294 // 00295 // ESC = \033 00296 // leave no spaces in sequence 00297 // 00298 // Set Graphics Mode: Calls the graphics functions specified by the 00299 // following values. These specified functions remain active until the next 00300 // occurrence of this escape sequence. Graphics mode changes the colors and 00301 // attributes of text (such as bold and underline) displayed on the 00302 // screen. 00303 //------------------------------------------------------------------------------ 00304 00305 `define ANSI_RESET "\033[0m" 00306 `define ANSI_BRIGHT "\033[1m" 00307 `define ANSI_DIM "\033[2m" 00308 `define ANSI_UNDERSCORE "\033[4m" 00309 `define ANSI_BOLD "\033[5m" 00310 `define ANSI_REVERSE "\033[7m" 00311 00312 `define ANSI_FG_BLACK "\033[30m" 00313 `define ANSI_FG_RED "\033[31m" 00314 `define ANSI_FG_GREEN "\033[32m" 00315 `define ANSI_FG_YELLOW "\033[33m" 00316 `define ANSI_FG_BLUE "\033[34m" 00317 `define ANSI_FG_MAGENTA "\033[35m" 00318 `define ANSI_FG_CYAN "\033[36m" 00319 `define ANSI_FG_WHITE "\033[37m" 00320 00321 `define ANSI_BG_BLACK "\033[40m" 00322 `define ANSI_BG_RED "\033[41m" 00323 `define ANSI_BG_GREEN "\033[42m" 00324 `define ANSI_BG_YELLOW "\033[43m" 00325 `define ANSI_BG_BLUE "\033[44m" 00326 `define ANSI_BG_MAGENTA "\033[45m" 00327 `define ANSI_BG_CYAN "\033[46m" 00328 `define ANSI_BG_WHITE "\033[47m" 00329 00330 `endif // OVM_URM_MESSAGE_DEFINES_SVH
![]() Intelligent Design Verification Project: OVM, Revision: 2.0.1 |
Copyright (c) 2008 Intelligent Design Verification. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included here: http://www.intelligentdv.com/licenses/fdl.txt |
![]() Doxygen Version: 1.5.5 Wed Jan 7 19:27:18 2009 |