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

Base APB transaction. More...

+ Inheritance diagram for apb_agent_pkg::apb_seq_item:
+ Collaboration diagram for apb_agent_pkg::apb_seq_item:

Public Member Functions

constraint addr_alignment ()
 Constrains the randomized transactions for double-word alignment. More...
 
constraint delay_bounds ()
 
 new (string name="apb_seq_item")
 Conventional UVM object constructor. More...
 
void do_copy (uvm_object rhs)
 
bit do_compare (uvm_object rhs, uvm_comparer comparer)
 
string convert2string ()
 
void do_print (uvm_printer printer)
 
void do_record (uvm_recorder recorder)
 

Public Attributes

uvm_object_utils(apb_seq_item) rand logic< 31 rand logic< 31:0 > data
 Bus address. More...
 
rand logic we
 Read/write (=0/1) transaction type. More...
 
rand int delay
 Number of APB clock cycles since the apb_driver received the transaction to the actual start of the transaction on the APB bus. More...
 
bit error
 Indicates a failure to drive the item on the bus. More...
 

Detailed Description

Base APB transaction.

The transaction is used by both apb_driver and apb_monitor. For the driver, the transaction type works for request and response.

Implements the basic transaction attributes (address, data, read/write control). More advanced attributes (e.g. error injection, byte enables, etc.) are not supported.

Definition at line 31 of file apb_agent_pkg.sv.

Member Function Documentation

◆ addr_alignment()

constraint apb_agent_pkg::apb_seq_item::addr_alignment ( )

Constrains the randomized transactions for double-word alignment.

Definition at line 62 of file apb_agent_pkg.sv.

◆ convert2string()

string apb_seq_item::convert2string ( )

Definition at line 141 of file apb_agent_pkg.sv.

◆ delay_bounds()

constraint apb_agent_pkg::apb_seq_item::delay_bounds ( )

Definition at line 66 of file apb_agent_pkg.sv.

◆ do_compare()

bit apb_seq_item::do_compare ( uvm_object  rhs,
uvm_comparer  comparer 
)

Definition at line 127 of file apb_agent_pkg.sv.

◆ do_copy()

void apb_seq_item::do_copy ( uvm_object  rhs)

Definition at line 112 of file apb_agent_pkg.sv.

◆ do_print()

void apb_seq_item::do_print ( uvm_printer  printer)

Definition at line 151 of file apb_agent_pkg.sv.

◆ do_record()

void apb_seq_item::do_record ( uvm_recorder  recorder)

Definition at line 160 of file apb_agent_pkg.sv.

◆ new()

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

Conventional UVM object constructor.

Definition at line 108 of file apb_agent_pkg.sv.

Member Data Documentation

◆ data

uvm_object_utils (apb_seq_item) rand logic <31 rand logic<31:0> apb_agent_pkg::apb_seq_item::data

Bus address.

Read/write data.

Definition at line 35 of file apb_agent_pkg.sv.

◆ delay

rand int apb_agent_pkg::apb_seq_item::delay

Number of APB clock cycles since the apb_driver received the transaction to the actual start of the transaction on the APB bus.

Definition at line 52 of file apb_agent_pkg.sv.

◆ error

bit apb_agent_pkg::apb_seq_item::error

Indicates a failure to drive the item on the bus.

Definition at line 55 of file apb_agent_pkg.sv.

◆ we

rand logic apb_agent_pkg::apb_seq_item::we

Read/write (=0/1) transaction type.

Definition at line 48 of file apb_agent_pkg.sv.


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