apb_monitor

class apb_monitor extends uvm_component

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.

Summary
apb_monitorImplements an APB bus transaction monitor.
Variables
apb_ifReference to the APB bus interface
apb_indexIdentifies which PSEL line is this monitor connected to.
apAnalysis port through which to broadcast observed APB transactions.
Functions
newConventional UVM component constructor.
build_phaseInstantiates the analysis port.
run_phaseForks off a forever loop that monitors APB transactions for slave selected by ::apb_index.
report_phasePresently a stub function.

Variables

apb_if

virtual apb_if APB

Reference to the APB bus interface

apb_index

int apb_index

Identifies which PSEL line is this monitor connected to.

ap

uvm_analysis_port #(apb_seq_item) ap

Analysis port through which to broadcast observed APB transactions.

Functions

new

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

Conventional UVM component constructor.

build_phase

extern function void build_phase(uvm_phase phase)

Instantiates the analysis port.

run_phase

extern task run_phase(uvm_phase phase)

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

report_phase

extern function void report_phase(uvm_phase phase)

Presently a stub function.

class apb_monitor extends uvm_component
Implements an APB bus transaction monitor.
virtual apb_if APB
Reference to the APB bus interface
int apb_index
Identifies which PSEL line is this monitor connected to.
uvm_analysis_port #(apb_seq_item) ap
Analysis port through which to broadcast observed APB transactions.
extern function new(string name =  "apb_monitor",
uvm_component parent =  null)
Conventional UVM component constructor.
extern function void build_phase(uvm_phase phase)
Instantiates the analysis port.
extern task run_phase(uvm_phase phase)
Forks off a forever loop that monitors APB transactions for slave selected by ::apb_index.
extern function void report_phase(uvm_phase phase)
Presently a stub function.
class apb_seq_item extends uvm_sequence_item
Base APB transaction.