axi_passthrough_mem_agent

AXI Passthrough Agent with memory model.

It inherits all the features of axi_passthough_agent and on top of that it has a memory model.

Refer PG267 for memory model structure and usage.

Information
class member

axi_monitor  `AXI_PARAM_ORDER monitor;

axi_slv_wr_driver  `AXI_PARAM_ORDER slv_wr_driver;

axi_slv_rd_driver  `AXI_PARAM_ORDER slv_rd_driver;

axi_mst_wr_driver  `AXI_PARAM_ORDER mst_wr_driver;

axi_mst_rd_driver  `AXI_PARAM_ORDER mst_rd_driver;

axi_vif_mem_proxy  `AXI_PARAM_ORDER vif_proxy;

xil_axi_slv_mem_model  `AXI_PARAM_ORDER  mem_model;

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

axi_passthrough_mem_agent
Functions
new
function new(
string name = "unnamed_axi_passthrough_mem_agent",
virtual interface axi_vip_if `AXI_PARAM_ORDER vif
);

Constructor to create an AXI Passsthrough 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_passthrough_mem_agent and all sub classes. If more than one VIPs(in passthrough memory mode) 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 the READ and WRITE drivers in this agent to start collecting data.  The drivers will only issue transactions when the send functions are called.