[source]

Class 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

function new ( string name, uvm_component cntxt, uvm_objection objection ) [source]

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

Functions

function uvm_heartbeat_modes set_mode ( uvm_heartbeat_modes mode ) [source]

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.

function void set_heartbeat ( uvm_event#(uvm_object) e, uvm_component comps ) [source]

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.

function void add ( uvm_component comp ) [source]

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.

function void remove ( uvm_component comp ) [source]

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).

function void start ( uvm_event#(uvm_object) e ) [source]

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.

function void stop ( ) [source]

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.