Class uvm_pkg::uvm_agent
Name |
Type |
Description |
---|---|---|
is_active |
||
type_name |
string |
Constructors
- new(string name, uvm_component parent)
Function
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.
The int configuration parameter is_active is used to identify whether this agent should be acting in active or passive mode. This parameter can be set by doing:
uvm_config_int::set(this, "
, "is_active", UVM_ACTIVE); - Parameters:
name (string)
parent (uvm_component)
Functions
- build_phase(uvm_phase phase)
- Parameters:
phase (uvm_phase)
- get_type_name()
- get_is_active()
Function
get_is_active
Returns UVM_ACTIVE is the agent is acting as an active agent and UVM_PASSIVE if it is acting as a passive agent. The default implementation is to just return the is_active flag, but the component developer may override this behavior if a more complex algorithm is needed to determine the active/passive nature of the agent.
- Return type:
CLASS
uvm_agent
The uvm_agent virtual class should be used as the base class for the user- defined agents. Deriving from uvm_agent will allow you to distinguish agents from other component types also using its inheritance. Such agents will automatically inherit features that may be added to uvm_agent in the future.
While an agent's build function, inherited from uvm_component, can be implemented to define any agent topology, an agent typically contains three subcomponents: a driver, sequencer, and monitor. If the agent is active, subtypes should contain all three subcomponents. If the agent is passive, subtypes should contain only the monitor.