class apb_seq_item extends uvm_sequence_item
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.
apb_seq_item | Base APB transaction. |
Variables | |
addr | Bus address. |
data | Read/write data. |
we | Read/write (=0/1) transaction type. |
delay | Number of APB clock cycles since the apb_driver received the transaction to the actual start of the transaction on the APB bus. |
error | Indicates a failure to drive the item on the bus. |
Functions | |
new | Conventional UVM object constructor. |
do_copy | Implements a class specific deep copy. |
do_compare | Implements a class specific comparison. |
convert2string | Implements a class specific string conversion. |
do_print | Implements a class specific printing. |
do_record | Implements a class specific recording. |
Base APB transaction.
class apb_seq_item extends uvm_sequence_item
Bus address.
rand logic[31:0] addr
Read/write data.
rand logic[31:0] data
Read/write (=0/1) transaction type.
rand logic we
Number of APB clock cycles since the apb_driver received the transaction to the actual start of the transaction on the APB bus.
rand int delay
Indicates a failure to drive the item on the bus.
bit error
Conventional UVM object constructor.
extern function new( string name = "apb_seq_item" )
Implements a class specific deep copy.
extern function void do_copy( uvm_object rhs )
Implements a class specific comparison.
extern function bit do_compare( uvm_object rhs, uvm_comparer comparer )
Implements a class specific string conversion.
extern function string convert2string()
Implements a class specific printing.
extern function void do_print( uvm_printer printer )
Implements a class specific recording.
extern function void do_record( uvm_recorder recorder )
Implements an APB bus master acting as the driver of an APB agent.
class apb_driver extends uvm_driver #( apb_seq_item, apb_seq_item )
Implements an APB bus transaction monitor.
class apb_monitor extends uvm_component