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

Forever running sequence that setups up responder *ready toggle patterns, then receives TLM packet from monitor and sends to responder. More...

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

Public Member Functions

uvm_object_utils(axi_responder_seq) uvm_declare_p_sequencer(axi_sequencer) logic<7 new (string name="axi_responder_seq")
 Constructor. More...
 
task body ()
 Does all the work. More...
 
 uvm_object_utils (axi_seq) const int clearmemory=0
 
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

Forever running sequence that setups up responder *ready toggle patterns, then receives TLM packet from monitor and sends to responder.

Definition at line 31 of file axi_responder_seq.svh.

Member Function Documentation

task axi_responder_seq::body ( )

Does all the work.

  1. Creates constrained random awready toggle pattern
  2. Sends it
  3. Creates constrained random wready toggle pattern
  4. Sends it
  5. Creates constrained random arready toggle pattern
  6. Sends it
  7. In a forever loop, waits for TLM packets from monitor sends them on to responder

Definition at line 64 of file axi_responder_seq.svh.

References axi_seq_item::convert2string().

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

Constructor.

Doesn't actually do anything except call parent constructor

Definition at line 48 of file axi_responder_seq.svh.

References new().

Referenced by new(), and axi_base_test::new().

Here is the call graph for this function:

Here is the caller graph for this function:

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

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
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: