47 uvm_analysis_port #(apb_seq_item)
ap;
70 string name = "apb_agent",
72 uvm_component parent = null
94 function
apb_agent::new(string name = "apb_agent", uvm_component parent = null);
95 super.
new(name, parent);
99 if(!uvm_config_db #(apb_agent_config)::get(this, "", "apb_agent_config", m_cfg)) begin
100 `uvm_error("build_phase", "APB agent config not found")
103 m_monitor = apb_monitor::type_id::create("m_monitor", this);
105 if(m_cfg.active == UVM_ACTIVE) begin
106 m_driver = apb_driver::type_id::create("m_driver", this);
107 m_sequencer = apb_sequencer::type_id::create("m_sequencer", this);
109 if(m_cfg.has_functional_coverage) begin
110 m_fcov_monitor = apb_coverage_monitor::type_id::create("m_fcov_monitor", this);
119 if(m_cfg.active == UVM_ACTIVE) begin
120 m_driver.seq_item_port.connect(m_sequencer.seq_item_export);
123 if(m_cfg.has_functional_coverage) begin
124 m_monitor.
ap.connect(m_fcov_monitor.analysis_export);
Implements an APB bus transaction monitor.
Encapsulates APB agent configuration settings.
apb_driver m_driver
An instance of the APB driver. It is present only in the active mode.
new(string name="apb_agent", uvm_component parent=null)
Implements the default UVM component constructor.
Sequencer specialization for use with apb_driver.
apb_coverage_monitor m_fcov_monitor
An instance collecting functional coverage.
uvm_component_utils(apb_agent) apb_agent_config m_cfg
Agent configuration.
void build_phase(uvm_phase phase)
Builds individual components based on configured agent's settings.
Implements the UVC Agent component for Amba Peripheral Bus (APB).
uvm_analysis_port< apb_seq_item > ap
Analysis port exported from the agent's monitor component.
void connect_phase(uvm_phase phase)
Connects all the components that have been created suring the build phase.
Collects basic functional coverage information observed by an APB agent.
apb_monitor m_monitor
An instance of the APB monitor.
apb_sequencer m_sequencer
An instance of the APB sequencer. It is present only in the active mode.
Implements an APB bus master acting as the driver of an APB agent.