|
APB UVM Agent
0.0.1
|
Base APB transaction. More...
Inheritance diagram for apb_seq_item:
Collaboration diagram for 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... | |
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 30 of file apb_seq_item.svh.
| constraint apb_seq_item::addr_alignment | ( | ) |
Constrains the randomized transactions for double-word alignment.
Definition at line 61 of file apb_seq_item.svh.
| string apb_seq_item::convert2string | ( | ) |
Definition at line 140 of file apb_seq_item.svh.
References data, delay, and we.
Referenced by do_print().
| constraint apb_seq_item::delay_bounds | ( | ) |
Definition at line 65 of file apb_seq_item.svh.
References delay.
| bit apb_seq_item::do_compare | ( | uvm_object | rhs, |
| uvm_comparer | comparer | ||
| ) |
Definition at line 126 of file apb_seq_item.svh.
References data, do_compare(), and we.
Referenced by do_compare().
| void apb_seq_item::do_copy | ( | uvm_object | rhs | ) |
| void apb_seq_item::do_print | ( | uvm_printer | printer | ) |
Definition at line 150 of file apb_seq_item.svh.
References convert2string().
| void apb_seq_item::do_record | ( | uvm_recorder | recorder | ) |
Definition at line 159 of file apb_seq_item.svh.
| apb_seq_item::new | ( | string | name = "apb_seq_item" | ) |
Conventional UVM object constructor.
Definition at line 107 of file apb_seq_item.svh.
| uvm_object_utils (apb_seq_item) rand logic <31 rand logic<31:0> apb_seq_item::data |
Bus address.
Read/write data.
Definition at line 34 of file apb_seq_item.svh.
Referenced by apb_write_seq::body(), apb_read_seq::body(), convert2string(), do_compare(), do_copy(), do_record(), apb_monitor::run_phase(), and apb_driver::run_phase().
| rand int 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 51 of file apb_seq_item.svh.
Referenced by convert2string(), delay_bounds(), do_copy(), do_record(), and apb_driver::run_phase().
| bit apb_seq_item::error |
Indicates a failure to drive the item on the bus.
Definition at line 54 of file apb_seq_item.svh.
Referenced by apb_driver::run_phase().
| rand logic apb_seq_item::we |
Read/write (=0/1) transaction type.
Definition at line 47 of file apb_seq_item.svh.
Referenced by apb_coverage_monitor::apb_cov(), apb_write_seq::body(), apb_read_seq::body(), convert2string(), do_compare(), do_copy(), do_record(), apb_monitor::run_phase(), and apb_driver::run_phase().