AXI muckbucket
|
Writes to memory over AXI, backdoor readback, then AXI readback. More...
Public Member Functions | |
uvm_object_utils (axi_sequential_reads_seq) new(string name | |
task | body () |
Does all the work. More... | |
uvm_object_utils (axi_seq) const int clearmemory=0 | |
new (string name="axi_seq") | |
Constructor. More... | |
void | set_transaction_count (int count) |
How many transactions? More... | |
bit | compare_items (ref axi_seq_item write_item, ref axi_seq_item read_item) |
Compares the write-item with the corresponding read_item. More... | |
Public Attributes | |
const int | window_size = 0x1_0000 |
int | xfers_to_send = 1 |
bit | valid [] |
bit< 2:0 > | max_burst_size |
int | xfers_done =0 |
memory | m_memory |
Writes to memory over AXI, backdoor readback, then AXI readback.
miscompares are flagged.
Definition at line 33 of file axi_sequential_reads_seq.svh.
task axi_sequential_reads_seq::body | ( | ) |
Does all the work.
Verifies read back data with written data.
two modes: Serial, Write_addr, then write, then resp. Repeat Parallel - Multiple write_adr, then multiple write_data, then multiple resp, repeat
Definition at line 64 of file axi_sequential_reads_seq.svh.
References axi_seq_item::addr, ADDR_WIDTH, axi_seq_item::burst_size, axi_seq_item::burst_type, calculate_axlen(), axi_seq_item::convert2string(), e_FIXED, e_INCR, e_READ, e_WRAP, ID_WIDTH, axi_seq_item::len, axi_seq::m_memory, memory::seq_item_check(), axi_seq::window_size, memory::write(), axi_seq::xfers_done, and axi_seq::xfers_to_send.
|
inherited |
Compares the write-item with the corresponding read_item.
THis isn't the same as a do_compare() method in the axi_seq_item because the readback is depenent on which burst_type Although it could probably exist as aseperate method in the seqitem.
write_item | - the original item |
read_item | - the item after memory readback |
........................
Definition at line 115 of file axi_seq.svh.
References e_FIXED, e_INCR, e_WRAP, and axi_seq::max_burst_size.
|
inherited |
Constructor.
Doesn't actually do anything except call parent constructor
Definition at line 62 of file axi_seq.svh.
References axi_seq::max_burst_size.
|
inherited |
How many transactions?
This method sets how many transactions to send (Write Address, Write Data, Write Response) is one traction (Read Address, Read Data) is one transaction
count | - how many transactions to send |
Definition at line 92 of file axi_seq.svh.
References axi_seq::xfers_to_send.
Referenced by axi_base_test::build_phase().
|
pure virtualinherited |
|
new |
|
inherited |
Definition at line 48 of file axi_seq.svh.
Referenced by body(), axi_sequential_writes_seq::body(), axi_pipelined_reads_seq::body(), axi_pipelined_writes_seq::body(), axi_pipelined_reads_seq::response_handler(), and axi_pipelined_writes_seq::response_handler().
|
inherited |
Definition at line 44 of file axi_seq.svh.
Referenced by axi_seq::compare_items(), and axi_seq::new().
|
inherited |
Definition at line 42 of file axi_seq.svh.
Referenced by axi_sequential_writes_seq::body(), axi_pipelined_reads_seq::body(), and axi_pipelined_writes_seq::body().
|
inherited |
Definition at line 39 of file axi_seq.svh.
Referenced by body(), axi_sequential_writes_seq::body(), axi_pipelined_reads_seq::body(), and axi_pipelined_writes_seq::body().
|
inherited |
Definition at line 46 of file axi_seq.svh.
Referenced by body(), axi_pipelined_reads_seq::body(), axi_pipelined_writes_seq::body(), axi_pipelined_reads_seq::response_handler(), and axi_pipelined_writes_seq::response_handler().
|
inherited |
Definition at line 40 of file axi_seq.svh.
Referenced by body(), axi_sequential_writes_seq::body(), axi_pipelined_reads_seq::body(), axi_pipelined_writes_seq::body(), axi_pipelined_reads_seq::response_handler(), axi_pipelined_writes_seq::response_handler(), and axi_seq::set_transaction_count().