Altera® AXI4 Bus Functional Model User Guides

ID 838773
Date 3/19/2025
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

1.3.4. Altera® AXI4 Memory-Mapped Subordinate BFM Interface

interface altera_axi4_mm_subordinate #(
      parameter int ADDR_WIDTH = 64,
	  parameter int DATA_WIDTH = 32,
	  parameter int ID_WIDTH = 8, 
	  parameter int USER_WIDTH = 32,

      parameter int USE_AWREGION = 1,
      parameter int USE_AWLOCK = 1,
      parameter int USE_AWCACHE = 1,
      parameter int USE_AWQOS = 1,
      parameter int USE_AWPROT = 1,
      parameter int USE_WLAST = 1,
      parameter int USE_BRESP = 1,
      parameter int USE_ARREGION = 1,
      parameter int USE_ARLOCK = 1,
      parameter int USE_ARCACHE = 1,
      parameter int USE_ARQOS = 1,
      parameter int USE_ARPROT = 1,
      parameter int USE_RRESP = 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 				          clk, 
input 				          rstn,
input    [ID_WIDTH-1:0] 		awid,
input    [ADDR_WIDTH-1:0] 	  awaddr,
input    [7:0] 			     awlen,
input    [2:0] 			     awsize,
input    [1:0] 			     awburst,
input    [0:0] 			     awlock,
input    [3:0] 			     awcache,
input    [2:0] 			     awprot,
input    [3:0] 			     awqos,
input    [3:0] 			     awregion,
input    [USER_WIDTH-1:0] 	  awuser,
input    [0:0] 			     awvalid,
output   [0:0] 			     awready,
input    [DATA_WIDTH-1:0] 	  wdata, 
input    [((DATA_WIDTH/8)-1):0] wstrb,	
input    [0:0] 			     wlast,	
input    [USER_WIDTH-1:0] 	  wuser, 
input    [0:0] 			     wvalid,
output   [0:0] 			     wready,
output   [ID_WIDTH-1:0] 		bid,	  
output   [1:0] 			     bresp, 
output   [USER_WIDTH-1:0] 	  buser, 
output   [0:0] 			     bvalid,
input    [0:0] 			     bready,	
input    [ID_WIDTH-1:0] 		arid,		
input    [ADDR_WIDTH-1:0] 	  araddr, 	
input    [7:0] 			     arlen, 	
input    [2:0] 			     arsize, 	
input    [1:0] 			     arburst, 	
input    [0:0] 			     arlock,	
input    [3:0] 			     arcache, 	
input    [2:0] 			     arprot,	
input    [3:0] 			     arqos,   	
input    [3:0] 			     arregion,	
input    [USER_WIDTH-1:0] 	  aruser,  	
input    [0:0] 			     arvalid,	
output   [0:0] 			     arready, 	
output   [ID_WIDTH-1:0] 		rid,		
output   [DATA_WIDTH-1:0] 	  rdata, 	
output   [1:0] 			     rresp, 	
output   [0:0] 			     rlast, 	
output   [USER_WIDTH-1:0] 	  ruser, 	
output   [0:0] 			     rvalid,	
input    [0:0] 			     rready
);