You are on page 1of 1

UVM Monitor:

UVM monitor is extended from the base class uvm_monitor which is an extended class
of uvm_component.
A monitor is a passive entity that samples DUT signals but does not drive them.
Monitors collect coverage information and perform checking.
Even though reusable drivers and sequencers drive bus traffic, they are not used
for coverage and checking. Monitors are used instead.
A monitor collects transactions, akin data items. A monitor extracts signal
information from a bus and translates the information into a
transaction that can be made available to other components and to the test writer.
The monitor detects the availability of information (such as a transaction),
structures the data, and emits an event to notify other
components of the availability of the transaction. A monitor also captures status
information so it is available to other components and
to the test writer.
Monitor Performs checking and coverage. Checking typically consists of protocol and
data checkers to verify that the DUT output meets the
protocol specification. Coverage also is collected in the monitor.
Monitor Optionally prints trace information.
A bus monitor handles all the signals and transactions on a bus, while an agent
monitor handles only signals and transactions relevant to
a specific agent.
Typically, drivers and monitors are built as separate entities (even though they
may use the same signals) so they can work independently
of each other. However, you can reuse code that is common between a driver and a
monitor to save time.