Altera® AXI4 Bus Functional Model User Guides

ID 838773
Date 5/19/2025
Public
Document Table of Contents

1.3.10. Altera® AXI4 Inline Monitor Interface

interface altera_axi4_inline_monitor #(
	  parameter int ADDR_WIDTH = 64,
	  parameter int DATA_WIDTH = 32,
	  parameter int ID_WIDTH = 8, 
	  parameter int USER_WIDTH = 32,
	  parameter int USE_AXI4LITE = 0,
	  parameter int USE_AWID = 1,
      parameter int USE_AWREGION = 1,
      parameter int USE_AWLEN = 1,
      parameter int USE_AWSIZE = 1,
      parameter int USE_AWBURST = 1,
      parameter int USE_AWLOCK = 1,
      parameter int USE_AWCACHE = 1,
      parameter int USE_AWQOS = 1,
      parameter int USE_WSTRB = 1,
      parameter int USE_BID = 1,
      parameter int USE_AWPROT = 1,
      parameter int USE_WLAST = 1,
      parameter int USE_BRESP = 1,
      parameter int USE_ARID = 1,
      parameter int USE_ARREGION = 1,
      parameter int USE_ARLEN = 1,
      parameter int USE_ARSIZE = 1,
      parameter int USE_ARBURST = 1,
      parameter int USE_ARLOCK = 1,
      parameter int USE_ARCACHE = 1,
      parameter int USE_ARQOS = 1,
      parameter int USE_RID = 1,
      parameter int USE_ARPROT = 1,
      parameter int USE_RRESP = 1,
      parameter int USE_RLAST = 1,
      parameter int USE_AWUSER = 1,
      parameter int USE_ARUSER = 1,
      parameter int USE_WUSER = 1,
      parameter int USE_RUSER = 1,
      parameter int USE_BUSER = 1
)(
	  input ACLK, 
	  input ARESETn,

	  //Subordinate facing signals
	  output    [ID_WIDTH-1:0]           m_awid,
	  output    [ADDR_WIDTH-1:0]         m_awaddr,
	  output    [7:0]                    m_awlen,
	  output    [2:0]                    m_awsize,
	  output    [1:0]                    m_awburst,
	  output    [0:0]                    m_awlock,
	  output    [3:0]                    m_awcache,
	  output    [2:0]                    m_awprot,
	  output    [3:0]                    m_awqos,
	  output    [3:0]                    m_awregion,
	  output    [USER_WIDTH-1:0]         m_awuser,
	  output    [0:0]                    m_awvalid,
	  input     [0:0]                    m_awready,
	  output    [DATA_WIDTH-1:0]         m_wdata, 
      output    [((DATA_WIDTH/8)-1):0]   m_wstrb,	
      output    [0:0]                    m_wlast,	
      output    [USER_WIDTH-1:0]         m_wuser, 
      output    [0:0]                    m_wvalid,
	  input     [0:0]                    m_wready,
      input     [ID_WIDTH-1:0]           m_bid,	  
      input     [1:0]                    m_bresp, 
      input     [USER_WIDTH-1:0]         m_buser, 
      input     [0:0]                    m_bvalid,
	  output    [0:0]                    m_bready,	
      output    [ID_WIDTH-1:0]           m_arid,		
      output    [ADDR_WIDTH-1:0]         m_araddr, 	
      output    [7:0]                    m_arlen, 	
      output    [2:0]                    m_arsize, 	
      output    [1:0]                    m_arburst, 	
      output    [0:0]                    m_arlock,	
      output    [3:0]                    m_arcache, 	
      output    [2:0]                    m_arprot,	
      output    [3:0]                    m_arqos,   	
      output    [3:0]                    m_arregion,	
      output    [USER_WIDTH-1:0]         m_aruser,  	
      output    [0:0]                    m_arvalid,	
	  input     [0:0]                    m_arready, 	
      input     [ID_WIDTH-1:0]           m_rid,		
      input     [DATA_WIDTH-1:0]         m_rdata, 	
      input     [1:0]                    m_rresp, 	
      input     [0:0]                    m_rlast, 	
      input     [USER_WIDTH-1:0]         m_ruser, 	
      input     [0:0]                    m_rvalid,	
	  output    [0:0]                    m_rready,

	  //Manager facing signals 
	  input     [ID_WIDTH-1:0]           s_awid,
	  input     [ADDR_WIDTH-1:0]         s_awaddr,
	  input     [7:0]                    s_awlen,
	  input     [2:0]                    s_awsize,
	  input     [1:0]                    s_awburst,
	  input     [0:0]                    s_awlock,
	  input     [3:0]                    s_awcache,
	  input     [2:0]                    s_awprot,
	  input     [3:0]                    s_awqos,
	  input     [3:0]                    s_awregion,
	  input     [USER_WIDTH-1:0]         s_awuser,
	  input     [0:0]                    s_awvalid,
	  output    [0:0]                    s_awready,
	  input     [DATA_WIDTH-1:0]         s_wdata, 
      input     [((DATA_WIDTH/8)-1):0]   s_wstrb,	
      input     [0:0]                    s_wlast,	
      input     [USER_WIDTH-1:0]         s_wuser, 
      input     [0:0]                    s_wvalid,
	  output    [0:0]                    s_wready,
      output    [ID_WIDTH-1:0]           s_bid,	  
      output    [1:0]                    s_bresp, 
      output    [USER_WIDTH-1:0]         s_buser, 
      output    [0:0]                    s_bvalid,
	  input     [0:0]                    s_bready,	
      input     [ID_WIDTH-1:0]           s_arid,		
      input     [ADDR_WIDTH-1:0]         s_araddr, 	
      input     [7:0]                    s_arlen, 	
      input     [2:0]                    s_arsize, 	
      input     [1:0]                    s_arburst, 	
      input     [0:0]                    s_arlock,	
      input     [3:0]                    s_arcache, 	
      input     [2:0]                    s_arprot,	
      input     [3:0]                    s_arqos,   	
      input     [3:0]                    s_arregion,	
      input     [USER_WIDTH-1:0]         s_aruser,  	
      input     [0:0]                    s_arvalid,	
	  output    [0:0]                    s_arready, 	
      output    [ID_WIDTH-1:0]           s_rid,		
      output    [DATA_WIDTH-1:0]         s_rdata, 	
      output    [1:0]                    s_rresp, 	
      output    [0:0]                    s_rlast, 	
      output    [USER_WIDTH-1:0]         s_ruser, 	
      output    [0:0]                    s_rvalid,	
	  input     [0:0]                    s_rready
	);