# uvm_monitor

This class should be used as the base class for user-defined monitors.

Deriving from uvm_monitor allows you to distinguish monitors from generic component types inheriting from uvm_component. Such monitors will automatically inherit features that may be added to uvm_monitor in the future.

Summary

uvm_monitor
This class should be used as the base class for user-defined monitors.
Class Hierarchy
uvm_void
uvm_object
uvm_report_object
uvm_component
uvm_monitor
Class Declaration
> virtual class uvm_monitor extends uvm_component
Methods |
new | Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

### Methods

### new

> function new (
> | string | name,
> | uvm_component | parent
> )

Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

> virtual class uvm_void

The uvm_void class is the base class for all UVM classes.

> virtual class uvm_object extends uvm_void

The uvm_object class is the base class for all UVM data and hierarchical classes.

> class uvm_report_object extends uvm_object

The uvm_report_object provides an interface to the UVM reporting facility.

> virtual class uvm_component extends uvm_report_object

The uvm_component class is the root base class for UVM components.

> virtual class uvm_monitor extends uvm_component

This class should be used as the base class for user-defined monitors.

> function new (
> | string | name,
> | uvm_component | parent
> )

Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.