|
APB UVM Agent
0.0.1
|
Implements the UVC Agent component for Amba Peripheral Bus (APB). More...
Inheritance diagram for apb_agent_pkg::apb_agent:
Collaboration diagram for apb_agent_pkg::apb_agent:Public Member Functions | |
| uvm_component_utils (apb_agent) apb_agent_config m_cfg | |
| Agent configuration. More... | |
| new (string name="apb_agent", uvm_component parent=null) | |
| Implements the default UVM component constructor. More... | |
| void | build_phase (uvm_phase phase) |
| Builds individual components based on configured agent's settings. More... | |
| void | connect_phase (uvm_phase phase) |
| Connects all the components that have been created suring the build phase. More... | |
Public Attributes | |
| uvm_analysis_port< apb_seq_item > | ap |
| Analysis port exported from the agent's monitor component. More... | |
| apb_monitor | m_monitor |
| An instance of the APB monitor. More... | |
| apb_sequencer | m_sequencer |
| An instance of the APB sequencer. It is present only in the active mode. More... | |
| apb_driver | m_driver |
| An instance of the APB driver. It is present only in the active mode. More... | |
| apb_coverage_monitor | m_fcov_monitor |
| An instance collecting functional coverage. More... | |
Implements the UVC Agent component for Amba Peripheral Bus (APB).
The implementation comes from the Verification Cookbook at the Verification Academy site (https://verificationacademy.com/). It follows the conventional UVC agent structure.
The agent consists of the following parts: Driver, monitor, sequencer and a coverage collection class. The agent is configured through a specific configuration object. The agent exports its monitor's analysis port.
Definition at line 32 of file apb_agent_pkg.sv.
| void apb_agent::build_phase | ( | uvm_phase | phase | ) |
Builds individual components based on configured agent's settings.
| phase | Reference to the build phase instance. |
Definition at line 99 of file apb_agent_pkg.sv.
| void apb_agent::connect_phase | ( | uvm_phase | phase | ) |
Connects all the components that have been created suring the build phase.
| phase | Reference to the connect phase instance. |
Definition at line 115 of file apb_agent_pkg.sv.
| apb_agent::new | ( | string | name = "apb_agent", |
| uvm_component | parent = null |
||
| ) |
Implements the default UVM component constructor.
| name | Name of the agent component. This name will be associated with the agent instance and may be used for looking up the instance in the UVM Config DB. |
| parent | Reference to a parent component, which the agent instance will be a part of. |
Definition at line 95 of file apb_agent_pkg.sv.
| apb_agent_pkg::apb_agent::uvm_component_utils | ( | apb_agent | ) |
Agent configuration.
It will be obtained from the UVM Configuration DB during the build phase, under the keyword apb_agent_config.
| uvm_analysis_port<apb_seq_item> apb_agent_pkg::apb_agent::ap |
Analysis port exported from the agent's monitor component.
Definition at line 48 of file apb_agent_pkg.sv.
| apb_driver apb_agent_pkg::apb_agent::m_driver |
An instance of the APB driver. It is present only in the active mode.
Definition at line 55 of file apb_agent_pkg.sv.
| apb_coverage_monitor apb_agent_pkg::apb_agent::m_fcov_monitor |
An instance collecting functional coverage.
It is present only if the agent was configured with enabled coverage collection.
Definition at line 58 of file apb_agent_pkg.sv.
| apb_monitor apb_agent_pkg::apb_agent::m_monitor |
An instance of the APB monitor.
This component is always present (i.e. even in the passive mode).
Definition at line 51 of file apb_agent_pkg.sv.
| apb_sequencer apb_agent_pkg::apb_agent::m_sequencer |
An instance of the APB sequencer. It is present only in the active mode.
Definition at line 53 of file apb_agent_pkg.sv.