APB UVM Agent  0.0.1
Public Member Functions | Public Attributes | List of all members
apb_agent_pkg::apb_agent_config Class Reference

Encapsulates APB agent configuration settings. More...

+ Inheritance diagram for apb_agent_pkg::apb_agent_config:
+ Collaboration diagram for apb_agent_pkg::apb_agent_config:

Public Member Functions

 uvm_object_utils (apb_agent_config) virtual apb_if APB
 Reference to the physical APB bus interface. More...
 
 new (string name="apb_agent_config")
 Conventional constructor for UVM objects. More...
 

Public Attributes

uvm_active_passive_enum active = UVM_ACTIVE
 Identifies the usage mode of the agent. More...
 
bit has_functional_coverage = 0
 Makes the agent collect the functional coverage. More...
 
bit has_scoreboard = 0
 Sets the agent to include an APB RAM based scoreboard. More...
 
int no_select_lines = 1
 Identifies the number of select lines used in the APB bus interface. More...
 
int apb_index = 0
 Identifies the select line used by an APB slave controlled and/or observed by the APB agent. More...
 
logic< 31:0 > start_address [15:0]
 Identifies the base address of an APB slave controlled and/or observed by the APB agent. More...
 
logic< 31:0 > range [15:0]
 

Detailed Description

Encapsulates APB agent configuration settings.

The configuration settings include the usual UVC knobs (active mode, coverage collection status) and knobs specific to APB arbitration. An important part of the configuration instance is a refernce to the APB bus interface.

The configuration instance is to be created during the build phase of the agent's parent component, which is typically an environment and associated with an agent instance through a keyword lookup in the UVM Configuration DB.

Definition at line 32 of file apb_agent_pkg.sv.

Member Function Documentation

◆ new()

apb_agent_config::new ( string  name = "apb_agent_config")

Conventional constructor for UVM objects.

Parameters
nameName to be associated with the configuration instance in the UVM Configuration DB.

Definition at line 80 of file apb_agent_pkg.sv.

◆ uvm_object_utils()

apb_agent_pkg::apb_agent_config::uvm_object_utils ( apb_agent_config  )

Reference to the physical APB bus interface.

Member Data Documentation

◆ active

uvm_active_passive_enum apb_agent_pkg::apb_agent_config::active = UVM_ACTIVE

Identifies the usage mode of the agent.

In the UVM_ACTIVE state, the agent provides all the components for full control and monitoring of the APB bus. In the UVM_PASSIVE mode, the agent provides only the bus monitoring functions.

Definition at line 47 of file apb_agent_pkg.sv.

◆ apb_index

int apb_agent_pkg::apb_agent_config::apb_index = 0

Identifies the select line used by an APB slave controlled and/or observed by the APB agent.

Definition at line 57 of file apb_agent_pkg.sv.

◆ has_functional_coverage

bit apb_agent_pkg::apb_agent_config::has_functional_coverage = 0

Makes the agent collect the functional coverage.

Definition at line 49 of file apb_agent_pkg.sv.

◆ has_scoreboard

bit apb_agent_pkg::apb_agent_config::has_scoreboard = 0

Sets the agent to include an APB RAM based scoreboard.

Definition at line 51 of file apb_agent_pkg.sv.

◆ no_select_lines

int apb_agent_pkg::apb_agent_config::no_select_lines = 1

Identifies the number of select lines used in the APB bus interface.

Definition at line 54 of file apb_agent_pkg.sv.

◆ range

logic<31:0> apb_agent_pkg::apb_agent_config::range[15:0]
Todo:
Missing description.

Definition at line 62 of file apb_agent_pkg.sv.

◆ start_address

logic<31:0> apb_agent_pkg::apb_agent_config::start_address[15:0]

Identifies the base address of an APB slave controlled and/or observed by the APB agent.

Definition at line 60 of file apb_agent_pkg.sv.


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