APB UVM Agent  0.0.1
Public Member Functions | Public Attributes | List of all members
apb_monitor Class Reference

Implements an APB bus transaction monitor. More...

+ Inheritance diagram for apb_monitor:
+ Collaboration diagram for apb_monitor:

Public Member Functions

 uvm_component_utils (apb_monitor)
 
 new (string name="apb_monitor", uvm_component parent=null)
 Conventional UVM component constructor. More...
 
void build_phase (uvm_phase phase)
 Instantiates the analysis port. More...
 
task run_phase (uvm_phase phase)
 Forks off a forever loop that monitors APB transactions for slave selected by ::apb_index. More...
 
void report_phase (uvm_phase phase)
 Presently a stub function. More...
 

Public Attributes

virtual apb_if APB
 Reference to the APB bus interface. More...
 
int apb_index = 0
 Identifies which PSEL line is this monitor connected to. More...
 
uvm_analysis_port< apb_seq_itemap
 Analysis port through which to broadcast observed APB transactions. More...
 

Detailed Description

Implements an APB bus transaction monitor.

The monitor can snoop transactions for a single slave (i.e. single PSEL) at a time. Observed transactions are passed to subscribers through an analysis port.

The monitor transacrion type, apb_seq_item, is shared with the apb_driver implementation.

Normally the APB monitor is a part of an APB agent.

Definition at line 32 of file apb_monitor.svh.

Member Function Documentation

◆ build_phase()

void apb_monitor::build_phase ( uvm_phase  phase)

Instantiates the analysis port.

Definition at line 82 of file apb_monitor.svh.

References ap.

◆ new()

apb_monitor::new ( string  name = "apb_monitor",
uvm_component  parent = null 
)

Conventional UVM component constructor.

Definition at line 78 of file apb_monitor.svh.

◆ report_phase()

void apb_monitor::report_phase ( uvm_phase  phase)

Presently a stub function.

Definition at line 115 of file apb_monitor.svh.

◆ run_phase()

task apb_monitor::run_phase ( uvm_phase  phase)

Forks off a forever loop that monitors APB transactions for slave selected by ::apb_index.

Definition at line 86 of file apb_monitor.svh.

References ap, APB, apb_index, apb_seq_item::data, and apb_seq_item::we.

◆ uvm_component_utils()

apb_monitor::uvm_component_utils ( apb_monitor  )

Member Data Documentation

◆ ap

uvm_analysis_port<apb_seq_item> apb_monitor::ap

Analysis port through which to broadcast observed APB transactions.

Definition at line 50 of file apb_monitor.svh.

Referenced by build_phase(), apb_agent::connect_phase(), and run_phase().

◆ APB

virtual apb_if apb_monitor::APB

Reference to the APB bus interface.

Definition at line 39 of file apb_monitor.svh.

Referenced by apb_agent::connect_phase(), and run_phase().

◆ apb_index

int apb_monitor::apb_index = 0

Identifies which PSEL line is this monitor connected to.

Definition at line 45 of file apb_monitor.svh.

Referenced by apb_agent::connect_phase(), and run_phase().


The documentation for this class was generated from the following file: