URL
https://opencores.org/ocsvn/qaz_libs/qaz_libs/trunk
Subversion Repositories qaz_libs
[/] [qaz_libs/] [trunk/] [BFM/] [src/] [tb/] [legacy/] [logger_pkg.sv] - Rev 50
Compare with Previous | Blame | View Log
////////////////////////////////////////////////////////////////////////// //////// Copyright (C) 2015 Authors and OPENCORES.ORG //////// //////// This source file may be used and distributed without //////// restriction provided that this copyright statement is not //////// removed from the file and that any derivative work contains //////// the original copyright notice and the associated disclaimer. //////// //////// This source file is free software; you can redistribute it //////// and/or modify it under the terms of the GNU Lesser General //////// Public License as published by the Free Software Foundation; //////// either version 2.1 of the License, or (at your option) any //////// later version. //////// //////// This source is distributed in the hope that it will be //////// useful, but WITHOUT ANY WARRANTY; without even the implied //////// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //////// PURPOSE. See the GNU Lesser General Public License for more //////// details. //////// //////// You should have received a copy of the GNU Lesser General //////// Public License along with this source; if not, download it //////// from http://www.opencores.org/lgpl.shtml //////// //////////////////////////////////////////////////////////////////////////package logger_pkg;// --------------------------------------------------------------------//typedef enum{FATAL,ERROR,WARNING,INFO} logger_severity_t;// --------------------------------------------------------------------//class logger_class;logger_severity_t verbosity = WARNING;bit log_debug = 0;string time_string;int error_count = 0;int max_error_display = 8;bit stop_at_max_error = 1;// --------------------------------------------------------------------//function voidset_verbosity(logger_severity_t level);verbosity = level;endfunction: set_verbosity// --------------------------------------------------------------------//function voiddebug_enable;log_debug = 1;endfunction: debug_enable// --------------------------------------------------------------------//function void debug(string message);time_string = $sformatf("??? %16.t | ", $time);if(log_debug == 1)$display({time_string, message});endfunction: debug// --------------------------------------------------------------------//function void display(string message);time_string = $sformatf("--- %16.t | ", $time);$display({time_string, message});endfunction: display// --------------------------------------------------------------------//function void info(string message);time_string = $sformatf("^^^ %16.t | ", $time);if(verbosity >= INFO)$display({time_string, message});endfunction: info// --------------------------------------------------------------------//function void warning(string message);time_string = $sformatf("*** %16.t | ", $time);if(verbosity >= WARNING)$display({time_string, message});endfunction: warning// --------------------------------------------------------------------//function void error(string message);time_string = $sformatf("!!! %16.t | ", $time);error_count++;if(error_count > max_error_display)if(stop_at_max_error)$stop;elsereturn;if(verbosity >= ERROR)$display({time_string, message});endfunction: error// --------------------------------------------------------------------//function void fatal(string message);if(verbosity >= FATAL)$fatal(1, message);endfunction: fatal//--------------------------------------------------------------------//endclass: logger_class//--------------------------------------------------------------------//endpackage: logger_pkg
