AXI muckbucket
Public Member Functions | Public Attributes | List of all members
axi_sequential_writes_seq Class Referenceabstract

Writes to memory over AXI, backdoor memory readback and verify. More...

Inheritance diagram for axi_sequential_writes_seq:
Inheritance graph
[legend]
Collaboration diagram for axi_sequential_writes_seq:
Collaboration graph
[legend]

Public Member Functions

 uvm_object_utils (axi_sequential_writes_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
 

Detailed Description

Writes to memory over AXI, backdoor memory readback and verify.

miscompares are flagged.

Definition at line 33 of file axi_sequential_writes_seq.svh.

Member Function Documentation

task axi_sequential_writes_seq::body ( )

Does all the work.

  1. Creates constrained random AXI write packet
  2. Sends it
  3. Backdoor read of memory to verify correctly written

Definition at line 59 of file axi_sequential_writes_seq.svh.

References ADDR_WIDTH, axi_seq_item::convert2string(), e_WRITE, ID_WIDTH, axi_seq::m_memory, memory::seq_item_check(), axi_seq::valid, axi_seq_item::valid, axi_seq::window_size, memory::write(), and axi_seq::xfers_to_send.

Here is the call graph for this function:

bit axi_seq::compare_items ( ref axi_seq_item  write_item,
ref axi_seq_item  read_item 
)
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.

Parameters
write_item- the original item
read_item- the item after memory readback
Returns
True if no miscompares, false if miscompares

........................

Definition at line 115 of file axi_seq.svh.

References e_FIXED, e_INCR, e_WRAP, and axi_seq::max_burst_size.

axi_seq::new ( string  name = "axi_seq")
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.

void axi_seq::set_transaction_count ( int  count)
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

Parameters
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().

Here is the caller graph for this function:

axi_seq::uvm_object_utils ( axi_seq  ) const
pure virtualinherited
axi_sequential_writes_seq::uvm_object_utils ( axi_sequential_writes_seq  )
new

Member Data Documentation

memory axi_seq::m_memory
inherited
bit<2:0> axi_seq::max_burst_size
inherited

Definition at line 44 of file axi_seq.svh.

Referenced by axi_seq::compare_items(), and axi_seq::new().

bit axi_seq::valid[]
inherited

Definition at line 42 of file axi_seq.svh.

Referenced by body(), axi_pipelined_reads_seq::body(), and axi_pipelined_writes_seq::body().

const int axi_seq::window_size = 0x1_0000
inherited
int axi_seq::xfers_done =0
inherited
int axi_seq::xfers_to_send = 1
inherited

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