[source]

Class uvm_pkg::uvm_report_handler

Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2011 Cadence Design Systems, Inc. Copyright 2010 Synopsys, Inc. Copyright 2013 NVIDIA Corporation 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.

CLASS

uvm_report_handler

The uvm_report_handler is the class to which most methods in uvm_report_object delegate. It stores the maximum verbosity, actions, and files that affect the way reports are handled.

The report handler is not intended for direct use. See uvm_report_object for information on the UVM reporting mechanism.

The relationship between uvm_report_object (a base class for uvm_component) and uvm_report_handler is typically one to one, but it can be many to one if several uvm_report_objects are configured to use the same uvm_report_handler_object. See uvm_report_object::set_report_handler.

The relationship between uvm_report_handler and uvm_report_server is many to one.

Variables

Name

Type

Description

m_max_verbosity_level

int

internal variables

id_verbosities

uvm_id_verbosities_array

id verbosity settings

default and severity

severity_id_verbosities

uvm_id_verbosities_array

id_actions

uvm_id_actions_array

actions

severity_actions

uvm_action

severity_id_actions

uvm_id_actions_array

sev_overrides

uvm_sev_override_array

severity overrides

sev_id_overrides

uvm_sev_override_array

default_file_handle

UVM_FILE

file handles

default, severity, action, (severity,id)

id_file_handles

uvm_id_file_array

severity_file_handles

UVM_FILE

severity_id_file_handles

uvm_id_file_array

Constructors

new(string name = "uvm_report_handler")

Function

new

Creates and initializes a new uvm_report_handler object.

Parameters:

name (string)

Functions

do_print(uvm_printer printer)

Function

print

The uvm_report_handler implements the uvm_object::do_print() such that print method provides UVM printer formatted output of the current configuration. A snippet of example output is shown here:

uvm_test_top                uvm_report_handler  -     @555
  max_verbosity_level       uvm_verbosity       32    UVM_FULL
  id_verbosities            uvm_pool            3     -
    [ID1]                   uvm_verbosity       32    UVM_LOW
  severity_id_verbosities   array               4     -
    [UVM_INFO:ID4]          int                 32    501
  id_actions                uvm_pool            2     -
    [ACT_ID]                uvm_action          32    DISPLAY LOG COUNT
  severity_actions          array               4     -
    [UVM_INFO]              uvm_action          32    DISPLAY
    [UVM_WARNING]           uvm_action          32    DISPLAY RM_RECORD COUNT
    [UVM_ERROR]             uvm_action          32    DISPLAY COUNT
    [UVM_FATAL]             uvm_action          32    DISPLAY EXIT
  default_file_handle       int                 32    'h1                     
Parameters:

printer (uvm_printer)

process_report_message(uvm_report_message report_message)

Function

process_report_message

This is the common handler method used by the four core reporting methods (e.g. uvm_report_error) in uvm_report_object.

Parameters:

report_message (uvm_report_message)

format_action(uvm_action action)

Function

format_action

Returns a string representation of the action , e.g., "DISPLAY".

Parameters:

action (uvm_action)

initialize()

Function- initialize

Internal method for initializing report handler.

set_verbosity_level(int verbosity_level)

Function- set_verbosity_level

Internal method called by uvm_report_object.

Parameters:

verbosity_level (int)

get_verbosity_level(uvm_severity severity = UVM_INFO, string id = "")

Function- get_verbosity_level

Returns the verbosity associated with the given severity and id.

First, if there is a verbosity associated with the (severity,id) pair, return that. Else, if there is a verbosity associated with the id, return that. Else, return the max verbosity setting.

Parameters:
get_action(uvm_severity severity, string id)

Function- get_action

Returns the action associated with the given severity and id.

First, if there is an action associated with the (severity,id) pair, return that. Else, if there is an action associated with the id, return that. Else, if there is an action associated with the severity, return that. Else, return the default action associated with the severity.

Parameters:
Return type:

uvm_action

get_file_handle(uvm_severity severity, string id)

Function- get_file_handle

Returns the file descriptor associated with the given severity and id.

First, if there is a file handle associated with the (severity,id) pair, return that. Else, if there is a file handle associated with the id, return that. Else, if there is an file handle associated with the severity, return that. Else, return the default file handle.

Parameters:
Return type:

UVM_FILE

set_severity_action(uvm_severity severity, uvm_action action)

Function- set_severity_action Function- set_id_action Function- set_severity_id_action Function- set_id_verbosity Function- set_severity_id_verbosity

Internal methods called by uvm_report_object.

Parameters:
set_id_action(string id, uvm_action action)
Parameters:
set_severity_id_action(uvm_severity severity, string id, uvm_action action)
Parameters:
set_id_verbosity(string id, int verbosity)
Parameters:
  • id (string)

  • verbosity (int)

set_severity_id_verbosity(uvm_severity severity, string id, int verbosity)
Parameters:
set_default_file(UVM_FILE file)

Function- set_default_file Function- set_severity_file Function- set_id_file Function- set_severity_id_file

Internal methods called by uvm_report_object.

Parameters:

file (UVM_FILE)

set_severity_file(uvm_severity severity, UVM_FILE file)
Parameters:
set_id_file(string id, UVM_FILE file)
Parameters:
set_severity_id_file(uvm_severity severity, string id, UVM_FILE file)
Parameters:
set_severity_override(uvm_severity cur_severity, uvm_severity new_severity)
Parameters:
set_severity_id_override(uvm_severity cur_severity, string id, uvm_severity new_severity)
Parameters:
report(uvm_severity severity, string name, string id, string message, int verbosity_level = UVM_MEDIUM, string filename = "", int line = 0, uvm_report_object client = null)

Function- report

This is the common handler method used by the four core reporting methods (e.g., uvm_report_error) in uvm_report_object.

Parameters:
  • severity (uvm_severity)

  • name (string)

  • id (string)

  • message (string)

  • verbosity_level (int)

  • filename (string)

  • line (int)

  • client (uvm_report_object)

run_hooks(uvm_report_object client, uvm_severity severity, string id, string message, int verbosity, string filename, int line)

Function- run_hooks

The run_hooks method is called if the action is set for a report. It first calls the client's uvm_report_object::report_hook method, followed by the appropriate severity-specific hook method. If either returns 0, then the report is not processed.

Parameters:
dump_state()

Function- dump_state

Internal method for debug.