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

Encapsulates APB agent configuration settings. More...

+ Inheritance diagram for apb_agent_config:
+ Collaboration diagram for 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 31 of file apb_agent_config.svh.

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 79 of file apb_agent_config.svh.

◆ uvm_object_utils()

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_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 46 of file apb_agent_config.svh.

◆ apb_index

int 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 56 of file apb_agent_config.svh.

◆ has_functional_coverage

bit apb_agent_config::has_functional_coverage = 0

Makes the agent collect the functional coverage.

Definition at line 48 of file apb_agent_config.svh.

◆ has_scoreboard

bit apb_agent_config::has_scoreboard = 0

Sets the agent to include an APB RAM based scoreboard.

Definition at line 50 of file apb_agent_config.svh.

◆ no_select_lines

int apb_agent_config::no_select_lines = 1

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

Definition at line 53 of file apb_agent_config.svh.

Referenced by apb_driver::sel_lookup().

◆ range

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

Definition at line 61 of file apb_agent_config.svh.

Referenced by apb_driver::sel_lookup().

◆ start_address

logic<31:0> 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 59 of file apb_agent_config.svh.

Referenced by apb_driver::sel_lookup().


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