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.

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.