[source]

Class uvm_pkg::uvm_heartbeat

uvm_pkg::uvm_heartbeat + add(): void + m_disable_cb(): void + m_enable_cb(): void + m_hb_process() + m_start_hb_process(): void + remove(): void + set_heartbeat(): void + set_mode(): uvm_heartbeat_modes + start(): void + stop(): void

Collaboration Diagram of uvm_heartbeat

Constructors

new(string name, uvm_component cntxt, uvm_objection objection = null)

Function

new

Creates a new heartbeat instance associated with cntxt . The context is the hierarchical location that the heartbeat objections will flow through and be monitored at. The objection associated with the heartbeat is optional, if it is left null but it must be set before the heartbeat monitor will activate.

 uvm_objection myobjection = new("myobjection"); //some shared objection
 class myenv extends uvm_env;
    uvm_heartbeat hb = new("hb", this, myobjection);
    ...
 endclass
Parameters:

Functions

set_mode(uvm_heartbeat_modes mode = UVM_NO_HB_MODE)

Function

set_mode

Sets or retrieves the heartbeat mode. The current value for the heartbeat mode is returned. If an argument is specified to change the mode then the mode is changed to the new value.

Parameters:

mode (uvm_heartbeat_modes)

Return type:

uvm_heartbeat_modes

set_heartbeat(uvm_event#(uvm_object) e, uvm_component comps)

Function

set_heartbeat

Sets up the heartbeat event and assigns a list of objects to watch. The monitoring is started as soon as this method is called. Once the monitoring has been started with a specific event, providing a new monitor event results in an error. To change trigger events, you must first stop the monitor and then start with a new event trigger.

If the trigger event e is null and there was no previously set trigger event, then the monitoring is not started. Monitoring can be started by explicitly calling start.

Parameters:
add(uvm_component comp)

Function

add

Add a single component to the set of components to be monitored. This does not cause monitoring to be started. If monitoring is currently active then this component will be immediately added to the list of components and will be expected to participate in the currently active event window.

Parameters:

comp (uvm_component)

remove(uvm_component comp)

Function

remove

Remove a single component to the set of components being monitored. Monitoring is not stopped, even if the last component has been removed (an explicit stop is required).

Parameters:

comp (uvm_component)

start(uvm_event#(uvm_object) e = null)

Function

start

Starts the heartbeat monitor. If e is null then whatever event was previously set is used. If no event was previously set then a warning is issued. It is an error if the monitor is currently running and e is specifying a different trigger event from the current event.

Parameters:

e (uvm_event#(uvm_object))

stop()

Function

stop

Stops the heartbeat monitor. Current state information is reset so that if start is called again the process will wait for the first event trigger to start the monitoring.