axi_slv_mem_agent

AXI Slave Agent with Memory model.

It inherits all the features of axi_slv_agent and adds a memory model.

Information
class member

axi_monitor `AXI_PARAM_ORDER monitor;

axi_slv_wr_driver `AXI_PARAM_ORDER wr_driver;

axi_slv_rd_driver `AXI_PARAM_ORDER rd_driver;

axi_vif_mem_proxy `AXI_PARAM_ORDER vif_proxy;

xil_axi_slv_mem_model `AXI_PARAM_ORDER mem_model;

axi_slv_mem_agent includes a monitor, a read driver, a write driver and vif_proxy and a memory model. Please refer below picture for more details about axi_slv_mem_agent.

Functions
new

function new( |
| string | name | = | "unnamed_axi_slv_mem_agent",
virtual interface axi_vip_if ` | AXI_PARAM_ORDER | vif |  |
| );

Constructor to create an AXI Slave Agent with memory model,~name~ is the instance name and axi_vip_if is the interface in the design. Please see PG267 for how to find the interface in design hierarchy.

set_agent_tag

virtual function void set_agent_tag( |
string | updated
| );

Sets the tag of the axi_slv_mem_agent and all sub classes. If more than one VIPs(in slave mode with memory model) being used in the same testbench, User can use set_agent_tag with different tag to tell where exactly the log message comes from.

start_slave
virtual task start_slave();

Enables READ and WRITE drivers in this agent.

Start monitor to collect data.

The drivers will only issue ready when the send functions are called.