Files
rtl_libs/axi/axi_crossbar_wrapper.sv
2026-05-29 15:30:24 +03:00

1046 lines
52 KiB
Systemverilog

module axi_crossbar_wrapper #(
parameter int SLAVE_QTY = 3,
parameter int MASTER_QTY = 3,
parameter int ADDR_WIDTH = 32,
parameter int DATA_WIDTH = 32,
parameter int STRB_WIDTH = (DATA_WIDTH/8)
)(
input wire clk,
input wire rst,
axi4_if.slave s_axi [SLAVE_QTY],
axi4_if.master m_axi [MASTER_QTY]
);
localparam CROSSBAR_DATA_WIDTH = DATA_WIDTH;
localparam CROSSBAR_ADDR_WIDTH = ADDR_WIDTH;
localparam CROSSBAR_STRB_WIDTH = (CROSSBAR_DATA_WIDTH/8);
localparam CROSSBAR_S_ID_WIDTH = 8;
localparam CROSSBAR_M_ID_WIDTH = S_ID_WIDTH+$clog2(S_COUNT);
localparam CROSSBAR_AWUSER_ENABLE = 0;
localparam CROSSBAR_AWUSER_WIDTH = 1;
localparam CROSSBAR_WUSER_ENABLE = 0;
localparam CROSSBAR_WUSER_WIDTH = 1;
localparam CROSSBAR_BUSER_ENABLE = 0;
localparam CROSSBAR_BUSER_WIDTH = 1;
localparam CROSSBAR_ARUSER_ENABLE = 0;
localparam CROSSBAR_ARUSER_WIDTH = 1;
localparam CROSSBAR_RUSER_ENABLE = 0;
localparam CROSSBAR_RUSER_WIDTH = 1;
localparam CROSSBAR_S00_THREADS = 2;
localparam CROSSBAR_S00_ACCEPT = 16;
localparam CROSSBAR_S01_THREADS = 2;
localparam CROSSBAR_S01_ACCEPT = 16;
localparam CROSSBAR_S02_THREADS = 2;
localparam CROSSBAR_S02_ACCEPT = 16;
localparam CROSSBAR_M_REGIONS = 1;
localparam CROSSBAR_M00_BASE_ADDR = 0;
localparam CROSSBAR_M00_ADDR_WIDTH = {M_REGIONS{32'd24}};
localparam CROSSBAR_M00_CONNECT_READ = 3'b111;
localparam CROSSBAR_M00_CONNECT_WRITE = 3'b111;
localparam CROSSBAR_M00_ISSUE = 4;
localparam CROSSBAR_M00_SECURE = 0;
localparam CROSSBAR_M01_BASE_ADDR = 32'h00001000;
localparam CROSSBAR_M01_ADDR_WIDTH = {M_REGIONS{32'd24}};
localparam CROSSBAR_M01_CONNECT_READ = 3'b111;
localparam CROSSBAR_M01_CONNECT_WRITE = 3'b111;
localparam CROSSBAR_M01_ISSUE = 4;
localparam CROSSBAR_M01_SECURE = 0;
localparam CROSSBAR_M02_BASE_ADDR = 32'h00002000;
localparam CROSSBAR_M02_ADDR_WIDTH = {M_REGIONS{32'd24}};
localparam CROSSBAR_M02_CONNECT_READ = 3'b111;
localparam CROSSBAR_M02_CONNECT_WRITE = 3'b111;
localparam CROSSBAR_M02_ISSUE = 4;
localparam CROSSBAR_M02_SECURE = 0;
localparam CROSSBAR_S00_AW_REG_TYPE = 0;
localparam CROSSBAR_S00_W_REG_TYPE = 0;
localparam CROSSBAR_S00_B_REG_TYPE = 1;
localparam CROSSBAR_S00_AR_REG_TYPE = 0;
localparam CROSSBAR_S00_R_REG_TYPE = 2;
localparam CROSSBAR_S01_AW_REG_TYPE = 0;
localparam CROSSBAR_S01_W_REG_TYPE = 0;
localparam CROSSBAR_S01_B_REG_TYPE = 1;
localparam CROSSBAR_S01_AR_REG_TYPE = 0;
localparam CROSSBAR_S01_R_REG_TYPE = 2;
localparam CROSSBAR_S02_AW_REG_TYPE = 0;
localparam CROSSBAR_S02_W_REG_TYPE = 0;
localparam CROSSBAR_S02_B_REG_TYPE = 1;
localparam CROSSBAR_S02_AR_REG_TYPE = 0;
localparam CROSSBAR_S02_R_REG_TYPE = 2;
localparam CROSSBAR_M00_AW_REG_TYPE = 1;
localparam CROSSBAR_M00_W_REG_TYPE = 2;
localparam CROSSBAR_M00_B_REG_TYPE = 0;
localparam CROSSBAR_M00_AR_REG_TYPE = 1;
localparam CROSSBAR_M00_R_REG_TYPE = 0;
localparam CROSSBAR_M01_AW_REG_TYPE = 1;
localparam CROSSBAR_M01_W_REG_TYPE = 2;
localparam CROSSBAR_M01_B_REG_TYPE = 0;
localparam CROSSBAR_M01_AR_REG_TYPE = 1;
localparam CROSSBAR_M01_R_REG_TYPE = 0;
localparam CROSSBAR_M02_AW_REG_TYPE = 1;
localparam CROSSBAR_M02_W_REG_TYPE = 2;
localparam CROSSBAR_M02_B_REG_TYPE = 0;
localparam CROSSBAR_M02_AR_REG_TYPE = 1;
localparam CROSSBAR_M02_R_REG_TYPE = 0;
wire crossbar_clk;
wire crossbar_rst;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s00_axi_awid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_s00_axi_awaddr;
wire [7:0] crossbar_s00_axi_awlen;
wire [2:0] crossbar_s00_axi_awsize;
wire [1:0] crossbar_s00_axi_awburst;
wire crossbar_s00_axi_awlock;
wire [3:0] crossbar_s00_axi_awcache;
wire [2:0] crossbar_s00_axi_awprot;
wire [3:0] crossbar_s00_axi_awqos;
wire [CROSSBAR_AWUSER_WIDTH-1:0] crossbar_s00_axi_awuser;
wire crossbar_s00_axi_awvalid;
wire crossbar_s00_axi_awready;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_s00_axi_wdata;
wire [CROSSBAR_STRB_WIDTH-1:0] crossbar_s00_axi_wstrb;
wire crossbar_s00_axi_wlast;
wire [CROSSBAR_WUSER_WIDTH-1:0] crossbar_s00_axi_wuser;
wire crossbar_s00_axi_wvalid;
wire crossbar_s00_axi_wready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s00_axi_bid;
wire [1:0] crossbar_s00_axi_bresp;
wire [CROSSBAR_BUSER_WIDTH-1:0] crossbar_s00_axi_buser;
wire crossbar_s00_axi_bvalid;
wire crossbar_s00_axi_bready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s00_axi_arid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_s00_axi_araddr;
wire [7:0] crossbar_s00_axi_arlen;
wire [2:0] crossbar_s00_axi_arsize;
wire [1:0] crossbar_s00_axi_arburst;
wire crossbar_s00_axi_arlock;
wire [3:0] crossbar_s00_axi_arcache;
wire [2:0] crossbar_s00_axi_arprot;
wire [3:0] crossbar_s00_axi_arqos;
wire [CROSSBAR_ARUSER_WIDTH-1:0] crossbar_s00_axi_aruser;
wire crossbar_s00_axi_arvalid;
wire crossbar_s00_axi_arready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s00_axi_rid;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_s00_axi_rdata;
wire [1:0] crossbar_s00_axi_rresp;
wire crossbar_s00_axi_rlast;
wire [CROSSBAR_RUSER_WIDTH-1:0] crossbar_s00_axi_ruser;
wire crossbar_s00_axi_rvalid;
wire crossbar_s00_axi_rready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s01_axi_awid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_s01_axi_awaddr;
wire [7:0] crossbar_s01_axi_awlen;
wire [2:0] crossbar_s01_axi_awsize;
wire [1:0] crossbar_s01_axi_awburst;
wire crossbar_s01_axi_awlock;
wire [3:0] crossbar_s01_axi_awcache;
wire [2:0] crossbar_s01_axi_awprot;
wire [3:0] crossbar_s01_axi_awqos;
wire [CROSSBAR_AWUSER_WIDTH-1:0] crossbar_s01_axi_awuser;
wire crossbar_s01_axi_awvalid;
wire crossbar_s01_axi_awready;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_s01_axi_wdata;
wire [CROSSBAR_STRB_WIDTH-1:0] crossbar_s01_axi_wstrb;
wire crossbar_s01_axi_wlast;
wire [CROSSBAR_WUSER_WIDTH-1:0] crossbar_s01_axi_wuser;
wire crossbar_s01_axi_wvalid;
wire crossbar_s01_axi_wready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s01_axi_bid;
wire [1:0] crossbar_s01_axi_bresp;
wire [CROSSBAR_BUSER_WIDTH-1:0] crossbar_s01_axi_buser;
wire crossbar_s01_axi_bvalid;
wire crossbar_s01_axi_bready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s01_axi_arid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_s01_axi_araddr;
wire [7:0] crossbar_s01_axi_arlen;
wire [2:0] crossbar_s01_axi_arsize;
wire [1:0] crossbar_s01_axi_arburst;
wire crossbar_s01_axi_arlock;
wire [3:0] crossbar_s01_axi_arcache;
wire [2:0] crossbar_s01_axi_arprot;
wire [3:0] crossbar_s01_axi_arqos;
wire [CROSSBAR_ARUSER_WIDTH-1:0] crossbar_s01_axi_aruser;
wire crossbar_s01_axi_arvalid;
wire crossbar_s01_axi_arready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s01_axi_rid;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_s01_axi_rdata;
wire [1:0] crossbar_s01_axi_rresp;
wire crossbar_s01_axi_rlast;
wire [CROSSBAR_RUSER_WIDTH-1:0] crossbar_s01_axi_ruser;
wire crossbar_s01_axi_rvalid;
wire crossbar_s01_axi_rready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s02_axi_awid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_s02_axi_awaddr;
wire [7:0] crossbar_s02_axi_awlen;
wire [2:0] crossbar_s02_axi_awsize;
wire [1:0] crossbar_s02_axi_awburst;
wire crossbar_s02_axi_awlock;
wire [3:0] crossbar_s02_axi_awcache;
wire [2:0] crossbar_s02_axi_awprot;
wire [3:0] crossbar_s02_axi_awqos;
wire [CROSSBAR_AWUSER_WIDTH-1:0] crossbar_s02_axi_awuser;
wire crossbar_s02_axi_awvalid;
wire crossbar_s02_axi_awready;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_s02_axi_wdata;
wire [CROSSBAR_STRB_WIDTH-1:0] crossbar_s02_axi_wstrb;
wire crossbar_s02_axi_wlast;
wire [CROSSBAR_WUSER_WIDTH-1:0] crossbar_s02_axi_wuser;
wire crossbar_s02_axi_wvalid;
wire crossbar_s02_axi_wready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s02_axi_bid;
wire [1:0] crossbar_s02_axi_bresp;
wire [CROSSBAR_BUSER_WIDTH-1:0] crossbar_s02_axi_buser;
wire crossbar_s02_axi_bvalid;
wire crossbar_s02_axi_bready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s02_axi_arid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_s02_axi_araddr;
wire [7:0] crossbar_s02_axi_arlen;
wire [2:0] crossbar_s02_axi_arsize;
wire [1:0] crossbar_s02_axi_arburst;
wire crossbar_s02_axi_arlock;
wire [3:0] crossbar_s02_axi_arcache;
wire [2:0] crossbar_s02_axi_arprot;
wire [3:0] crossbar_s02_axi_arqos;
wire [CROSSBAR_ARUSER_WIDTH-1:0] crossbar_s02_axi_aruser;
wire crossbar_s02_axi_arvalid;
wire crossbar_s02_axi_arready;
wire [CROSSBAR_S_ID_WIDTH-1:0] crossbar_s02_axi_rid;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_s02_axi_rdata;
wire [1:0] crossbar_s02_axi_rresp;
wire crossbar_s02_axi_rlast;
wire [CROSSBAR_RUSER_WIDTH-1:0] crossbar_s02_axi_ruser;
wire crossbar_s02_axi_rvalid;
wire crossbar_s02_axi_rready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m00_axi_awid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_m00_axi_awaddr;
wire [7:0] crossbar_m00_axi_awlen;
wire [2:0] crossbar_m00_axi_awsize;
wire [1:0] crossbar_m00_axi_awburst;
wire crossbar_m00_axi_awlock;
wire [3:0] crossbar_m00_axi_awcache;
wire [2:0] crossbar_m00_axi_awprot;
wire [3:0] crossbar_m00_axi_awqos;
wire [3:0] crossbar_m00_axi_awregion;
wire [CROSSBAR_AWUSER_WIDTH-1:0] crossbar_m00_axi_awuser;
wire crossbar_m00_axi_awvalid;
wire crossbar_m00_axi_awready;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_m00_axi_wdata;
wire [CROSSBAR_STRB_WIDTH-1:0] crossbar_m00_axi_wstrb;
wire crossbar_m00_axi_wlast;
wire [CROSSBAR_WUSER_WIDTH-1:0] crossbar_m00_axi_wuser;
wire crossbar_m00_axi_wvalid;
wire crossbar_m00_axi_wready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m00_axi_bid;
wire [1:0] crossbar_m00_axi_bresp;
wire [CROSSBAR_BUSER_WIDTH-1:0] crossbar_m00_axi_buser;
wire crossbar_m00_axi_bvalid;
wire crossbar_m00_axi_bready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m00_axi_arid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_m00_axi_araddr;
wire [7:0] crossbar_m00_axi_arlen;
wire [2:0] crossbar_m00_axi_arsize;
wire [1:0] crossbar_m00_axi_arburst;
wire crossbar_m00_axi_arlock;
wire [3:0] crossbar_m00_axi_arcache;
wire [2:0] crossbar_m00_axi_arprot;
wire [3:0] crossbar_m00_axi_arqos;
wire [3:0] crossbar_m00_axi_arregion;
wire [CROSSBAR_ARUSER_WIDTH-1:0] crossbar_m00_axi_aruser;
wire crossbar_m00_axi_arvalid;
wire crossbar_m00_axi_arready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m00_axi_rid;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_m00_axi_rdata;
wire [1:0] crossbar_m00_axi_rresp;
wire crossbar_m00_axi_rlast;
wire [CROSSBAR_RUSER_WIDTH-1:0] crossbar_m00_axi_ruser;
wire crossbar_m00_axi_rvalid;
wire crossbar_m00_axi_rready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m01_axi_awid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_m01_axi_awaddr;
wire [7:0] crossbar_m01_axi_awlen;
wire [2:0] crossbar_m01_axi_awsize;
wire [1:0] crossbar_m01_axi_awburst;
wire crossbar_m01_axi_awlock;
wire [3:0] crossbar_m01_axi_awcache;
wire [2:0] crossbar_m01_axi_awprot;
wire [3:0] crossbar_m01_axi_awqos;
wire [3:0] crossbar_m01_axi_awregion;
wire [CROSSBAR_AWUSER_WIDTH-1:0] crossbar_m01_axi_awuser;
wire crossbar_m01_axi_awvalid;
wire crossbar_m01_axi_awready;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_m01_axi_wdata;
wire [CROSSBAR_STRB_WIDTH-1:0] crossbar_m01_axi_wstrb;
wire crossbar_m01_axi_wlast;
wire [CROSSBAR_WUSER_WIDTH-1:0] crossbar_m01_axi_wuser;
wire crossbar_m01_axi_wvalid;
wire crossbar_m01_axi_wready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m01_axi_bid;
wire [1:0] crossbar_m01_axi_bresp;
wire [CROSSBAR_BUSER_WIDTH-1:0] crossbar_m01_axi_buser;
wire crossbar_m01_axi_bvalid;
wire crossbar_m01_axi_bready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m01_axi_arid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_m01_axi_araddr;
wire [7:0] crossbar_m01_axi_arlen;
wire [2:0] crossbar_m01_axi_arsize;
wire [1:0] crossbar_m01_axi_arburst;
wire crossbar_m01_axi_arlock;
wire [3:0] crossbar_m01_axi_arcache;
wire [2:0] crossbar_m01_axi_arprot;
wire [3:0] crossbar_m01_axi_arqos;
wire [3:0] crossbar_m01_axi_arregion;
wire [CROSSBAR_ARUSER_WIDTH-1:0] crossbar_m01_axi_aruser;
wire crossbar_m01_axi_arvalid;
wire crossbar_m01_axi_arready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m01_axi_rid;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_m01_axi_rdata;
wire [1:0] crossbar_m01_axi_rresp;
wire crossbar_m01_axi_rlast;
wire [CROSSBAR_RUSER_WIDTH-1:0] crossbar_m01_axi_ruser;
wire crossbar_m01_axi_rvalid;
wire crossbar_m01_axi_rready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m02_axi_awid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_m02_axi_awaddr;
wire [7:0] crossbar_m02_axi_awlen;
wire [2:0] crossbar_m02_axi_awsize;
wire [1:0] crossbar_m02_axi_awburst;
wire crossbar_m02_axi_awlock;
wire [3:0] crossbar_m02_axi_awcache;
wire [2:0] crossbar_m02_axi_awprot;
wire [3:0] crossbar_m02_axi_awqos;
wire [3:0] crossbar_m02_axi_awregion;
wire [CROSSBAR_AWUSER_WIDTH-1:0] crossbar_m02_axi_awuser;
wire crossbar_m02_axi_awvalid;
wire crossbar_m02_axi_awready;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_m02_axi_wdata;
wire [CROSSBAR_STRB_WIDTH-1:0] crossbar_m02_axi_wstrb;
wire crossbar_m02_axi_wlast;
wire [CROSSBAR_WUSER_WIDTH-1:0] crossbar_m02_axi_wuser;
wire crossbar_m02_axi_wvalid;
wire crossbar_m02_axi_wready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m02_axi_bid;
wire [1:0] crossbar_m02_axi_bresp;
wire [CROSSBAR_BUSER_WIDTH-1:0] crossbar_m02_axi_buser;
wire crossbar_m02_axi_bvalid;
wire crossbar_m02_axi_bready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m02_axi_arid;
wire [CROSSBAR_ADDR_WIDTH-1:0] crossbar_m02_axi_araddr;
wire [7:0] crossbar_m02_axi_arlen;
wire [2:0] crossbar_m02_axi_arsize;
wire [1:0] crossbar_m02_axi_arburst;
wire crossbar_m02_axi_arlock;
wire [3:0] crossbar_m02_axi_arcache;
wire [2:0] crossbar_m02_axi_arprot;
wire [3:0] crossbar_m02_axi_arqos;
wire [3:0] crossbar_m02_axi_arregion;
wire [CROSSBAR_ARUSER_WIDTH-1:0] crossbar_m02_axi_aruser;
wire crossbar_m02_axi_arvalid;
wire crossbar_m02_axi_arready;
wire [CROSSBAR_M_ID_WIDTH-1:0] crossbar_m02_axi_rid;
wire [CROSSBAR_DATA_WIDTH-1:0] crossbar_m02_axi_rdata;
wire [1:0] crossbar_m02_axi_rresp;
wire crossbar_m02_axi_rlast;
wire [CROSSBAR_RUSER_WIDTH-1:0] crossbar_m02_axi_ruser;
wire crossbar_m02_axi_rvalid;
wire crossbar_m02_axi_rready;
assign crossbar_clk = clk;
assign crossbar_rst = rst;
axi4_if_to_flat #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_if_to_flat_00 (
.axi (s_axi[0]),
.m_axi_awid (crossbar_s00_axi_awid),
.m_axi_awaddr (crossbar_s00_axi_awaddr),
.m_axi_awlen (crossbar_s00_axi_awlen),
.m_axi_awsize (crossbar_s00_axi_awsize),
.m_axi_awburst (crossbar_s00_axi_awburst),
.m_axi_awlock (crossbar_s00_axi_awlock),
.m_axi_awcache (crossbar_s00_axi_awcache),
.m_axi_awprot (crossbar_s00_axi_awprot),
.m_axi_awqos (crossbar_s00_axi_awqos),
.m_axi_awregion (crossbar_s00_axi_awregion),
.m_axi_awuser (crossbar_s00_axi_awuser),
.m_axi_awvalid (crossbar_s00_axi_awvalid),
.m_axi_awready (crossbar_s00_axi_awready),
.m_axi_wdata (crossbar_s00_axi_wdata),
.m_axi_wstrb (crossbar_s00_axi_wstrb),
.m_axi_wlast (crossbar_s00_axi_wlast),
.m_axi_wuser (crossbar_s00_axi_wuser),
.m_axi_wvalid (crossbar_s00_axi_wvalid),
.m_axi_wready (crossbar_s00_axi_wready),
.m_axi_bid (crossbar_s00_axi_bid),
.m_axi_bresp (crossbar_s00_axi_bresp),
.m_axi_buser (crossbar_s00_axi_buser),
.m_axi_bvalid (crossbar_s00_axi_bvalid),
.m_axi_bready (crossbar_s00_axi_bready),
.m_axi_arid (crossbar_s00_axi_arid),
.m_axi_araddr (crossbar_s00_axi_araddr),
.m_axi_arlen (crossbar_s00_axi_arlen),
.m_axi_arsize (crossbar_s00_axi_arsize),
.m_axi_arburst (crossbar_s00_axi_arburst),
.m_axi_arlock (crossbar_s00_axi_arlock),
.m_axi_arcache (crossbar_s00_axi_arcache),
.m_axi_arprot (crossbar_s00_axi_arprot),
.m_axi_arqos (crossbar_s00_axi_arqos),
.m_axi_arregion (crossbar_s00_axi_arregion),
.m_axi_aruser (crossbar_s00_axi_aruser),
.m_axi_arvalid (crossbar_s00_axi_arvalid),
.m_axi_arready (crossbar_s00_axi_arready),
.m_axi_rid (crossbar_s00_axi_rid),
.m_axi_rdata (crossbar_s00_axi_rdata),
.m_axi_rresp (crossbar_s00_axi_rresp),
.m_axi_rlast (crossbar_s00_axi_rlast),
.m_axi_ruser (crossbar_s00_axi_ruser),
.m_axi_rvalid (crossbar_s00_axi_rvalid),
.m_axi_rready (crossbar_s00_axi_rready)
);
axi4_if_to_flat #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_if_to_flat_01 (
.axi (s_axi[1]),
.m_axi_awid (crossbar_s01_axi_awid),
.m_axi_awaddr (crossbar_s01_axi_awaddr),
.m_axi_awlen (crossbar_s01_axi_awlen),
.m_axi_awsize (crossbar_s01_axi_awsize),
.m_axi_awburst (crossbar_s01_axi_awburst),
.m_axi_awlock (crossbar_s01_axi_awlock),
.m_axi_awcache (crossbar_s01_axi_awcache),
.m_axi_awprot (crossbar_s01_axi_awprot),
.m_axi_awqos (crossbar_s01_axi_awqos),
.m_axi_awregion (crossbar_s01_axi_awregion),
.m_axi_awuser (crossbar_s01_axi_awuser),
.m_axi_awvalid (crossbar_s01_axi_awvalid),
.m_axi_awready (crossbar_s01_axi_awready),
.m_axi_wdata (crossbar_s01_axi_wdata),
.m_axi_wstrb (crossbar_s01_axi_wstrb),
.m_axi_wlast (crossbar_s01_axi_wlast),
.m_axi_wuser (crossbar_s01_axi_wuser),
.m_axi_wvalid (crossbar_s01_axi_wvalid),
.m_axi_wready (crossbar_s01_axi_wready),
.m_axi_bid (crossbar_s01_axi_bid),
.m_axi_bresp (crossbar_s01_axi_bresp),
.m_axi_buser (crossbar_s01_axi_buser),
.m_axi_bvalid (crossbar_s01_axi_bvalid),
.m_axi_bready (crossbar_s01_axi_bready),
.m_axi_arid (crossbar_s01_axi_arid),
.m_axi_araddr (crossbar_s01_axi_araddr),
.m_axi_arlen (crossbar_s01_axi_arlen),
.m_axi_arsize (crossbar_s01_axi_arsize),
.m_axi_arburst (crossbar_s01_axi_arburst),
.m_axi_arlock (crossbar_s01_axi_arlock),
.m_axi_arcache (crossbar_s01_axi_arcache),
.m_axi_arprot (crossbar_s01_axi_arprot),
.m_axi_arqos (crossbar_s01_axi_arqos),
.m_axi_arregion (crossbar_s01_axi_arregion),
.m_axi_aruser (crossbar_s01_axi_aruser),
.m_axi_arvalid (crossbar_s01_axi_arvalid),
.m_axi_arready (crossbar_s01_axi_arready),
.m_axi_rid (crossbar_s01_axi_rid),
.m_axi_rdata (crossbar_s01_axi_rdata),
.m_axi_rresp (crossbar_s01_axi_rresp),
.m_axi_rlast (crossbar_s01_axi_rlast),
.m_axi_ruser (crossbar_s01_axi_ruser),
.m_axi_rvalid (crossbar_s01_axi_rvalid),
.m_axi_rready (crossbar_s01_axi_rready)
);
axi4_if_to_flat #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_if_to_flat_00 (
.axi (s_axi[2]),
.m_axi_awid (crossbar_s02_axi_awid),
.m_axi_awaddr (crossbar_s02_axi_awaddr),
.m_axi_awlen (crossbar_s02_axi_awlen),
.m_axi_awsize (crossbar_s02_axi_awsize),
.m_axi_awburst (crossbar_s02_axi_awburst),
.m_axi_awlock (crossbar_s02_axi_awlock),
.m_axi_awcache (crossbar_s02_axi_awcache),
.m_axi_awprot (crossbar_s02_axi_awprot),
.m_axi_awqos (crossbar_s02_axi_awqos),
.m_axi_awregion (crossbar_s02_axi_awregion),
.m_axi_awuser (crossbar_s02_axi_awuser),
.m_axi_awvalid (crossbar_s02_axi_awvalid),
.m_axi_awready (crossbar_s02_axi_awready),
.m_axi_wdata (crossbar_s02_axi_wdata),
.m_axi_wstrb (crossbar_s02_axi_wstrb),
.m_axi_wlast (crossbar_s02_axi_wlast),
.m_axi_wuser (crossbar_s02_axi_wuser),
.m_axi_wvalid (crossbar_s02_axi_wvalid),
.m_axi_wready (crossbar_s02_axi_wready),
.m_axi_bid (crossbar_s02_axi_bid),
.m_axi_bresp (crossbar_s02_axi_bresp),
.m_axi_buser (crossbar_s02_axi_buser),
.m_axi_bvalid (crossbar_s02_axi_bvalid),
.m_axi_bready (crossbar_s02_axi_bready),
.m_axi_arid (crossbar_s02_axi_arid),
.m_axi_araddr (crossbar_s02_axi_araddr),
.m_axi_arlen (crossbar_s02_axi_arlen),
.m_axi_arsize (crossbar_s02_axi_arsize),
.m_axi_arburst (crossbar_s02_axi_arburst),
.m_axi_arlock (crossbar_s02_axi_arlock),
.m_axi_arcache (crossbar_s02_axi_arcache),
.m_axi_arprot (crossbar_s02_axi_arprot),
.m_axi_arqos (crossbar_s02_axi_arqos),
.m_axi_arregion (crossbar_s02_axi_arregion),
.m_axi_aruser (crossbar_s02_axi_aruser),
.m_axi_arvalid (crossbar_s02_axi_arvalid),
.m_axi_arready (crossbar_s02_axi_arready),
.m_axi_rid (crossbar_s02_axi_rid),
.m_axi_rdata (crossbar_s02_axi_rdata),
.m_axi_rresp (crossbar_s02_axi_rresp),
.m_axi_rlast (crossbar_s02_axi_rlast),
.m_axi_ruser (crossbar_s02_axi_ruser),
.m_axi_rvalid (crossbar_s02_axi_rvalid),
.m_axi_rready (crossbar_s02_axi_rready)
);
axi4_flat_to_if_slave #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_if_to_flat_master_00 (
.axi (s_axi[0]),
.m_axi_awid (crossbar_s00_axi_awid),
.m_axi_awaddr (crossbar_s00_axi_awaddr),
.m_axi_awlen (crossbar_s00_axi_awlen),
.m_axi_awsize (crossbar_s00_axi_awsize),
.m_axi_awburst (crossbar_s00_axi_awburst),
.m_axi_awlock (crossbar_s00_axi_awlock),
.m_axi_awcache (crossbar_s00_axi_awcache),
.m_axi_awprot (crossbar_s00_axi_awprot),
.m_axi_awqos (crossbar_s00_axi_awqos),
.m_axi_awregion (crossbar_s00_axi_awregion),
.m_axi_awuser (crossbar_s00_axi_awuser),
.m_axi_awvalid (crossbar_s00_axi_awvalid),
.m_axi_awready (crossbar_s00_axi_awready),
.m_axi_wdata (crossbar_s00_axi_wdata),
.m_axi_wstrb (crossbar_s00_axi_wstrb),
.m_axi_wlast (crossbar_s00_axi_wlast),
.m_axi_wuser (crossbar_s00_axi_wuser),
.m_axi_wvalid (crossbar_s00_axi_wvalid),
.m_axi_wready (crossbar_s00_axi_wready),
.m_axi_bid (crossbar_s00_axi_bid),
.m_axi_bresp (crossbar_s00_axi_bresp),
.m_axi_buser (crossbar_s00_axi_buser),
.m_axi_bvalid (crossbar_s00_axi_bvalid),
.m_axi_bready (crossbar_s00_axi_bready),
.m_axi_arid (crossbar_s00_axi_arid),
.m_axi_araddr (crossbar_s00_axi_araddr),
.m_axi_arlen (crossbar_s00_axi_arlen),
.m_axi_arsize (crossbar_s00_axi_arsize),
.m_axi_arburst (crossbar_s00_axi_arburst),
.m_axi_arlock (crossbar_s00_axi_arlock),
.m_axi_arcache (crossbar_s00_axi_arcache),
.m_axi_arprot (crossbar_s00_axi_arprot),
.m_axi_arqos (crossbar_s00_axi_arqos),
.m_axi_arregion (crossbar_s00_axi_arregion),
.m_axi_aruser (crossbar_s00_axi_aruser),
.m_axi_arvalid (crossbar_s00_axi_arvalid),
.m_axi_arready (crossbar_s00_axi_arready),
.m_axi_rid (crossbar_s00_axi_rid),
.m_axi_rdata (crossbar_s00_axi_rdata),
.m_axi_rresp (crossbar_s00_axi_rresp),
.m_axi_rlast (crossbar_s00_axi_rlast),
.m_axi_ruser (crossbar_s00_axi_ruser),
.m_axi_rvalid (crossbar_s00_axi_rvalid),
.m_axi_rready (crossbar_s00_axi_rready)
);
axi_crossbar_core_wrapper #
(
.DATA_WIDTH = (CROSSBAR_DATA_WIDTH),
.ADDR_WIDTH = (CROSSBAR_ADDR_WIDTH),
.STRB_WIDTH = (CROSSBAR_STRB_WIDTH),
.S_ID_WIDTH = (CROSSBAR_S_ID_WIDTH),
.M_ID_WIDTH = (CROSSBAR_M_ID_WIDTH),
.AWUSER_ENABLE = (CROSSBAR_AWUSER_ENABLE),
.AWUSER_WIDTH = (CROSSBAR_AWUSER_WIDTH),
.WUSER_ENABLE = (CROSSBAR_WUSER_ENABLE),
.WUSER_WIDTH = (CROSSBAR_WUSER_WIDTH),
.BUSER_ENABLE = (CROSSBAR_BUSER_ENABLE),
.BUSER_WIDTH = (CROSSBAR_BUSER_WIDTH),
.ARUSER_ENABLE = (CROSSBAR_ARUSER_ENABLE),
.ARUSER_WIDTH = (CROSSBAR_ARUSER_WIDTH),
.RUSER_ENABLE = (CROSSBAR_RUSER_ENABLE),
.RUSER_WIDTH = (CROSSBAR_RUSER_WIDTH),
.S00_THREADS = (CROSSBAR_S00_THREADS),
.S00_ACCEPT = (CROSSBAR_S00_ACCEPT),
.S01_THREADS = (CROSSBAR_S01_THREADS),
.S01_ACCEPT = (CROSSBAR_S01_ACCEPT),
.S02_THREADS = (CROSSBAR_S02_THREADS),
.S02_ACCEPT = (CROSSBAR_S02_ACCEPT),
.M_REGIONS = (CROSSBAR_M_REGIONS),
.M00_BASE_ADDR = (CROSSBAR_M00_BASE_ADDR),
.M00_ADDR_WIDTH = (CROSSBAR_M00_ADDR_WIDTH),
.M00_CONNECT_READ = (CROSSBAR_M00_CONNECT_READ),
.M00_CONNECT_WRITE = (CROSSBAR_M00_CONNECT_WRITE),
.M00_ISSUE = (CROSSBAR_M00_ISSUE),
.M00_SECURE = (CROSSBAR_M00_SECURE),
.M01_BASE_ADDR = (CROSSBAR_M01_BASE_ADDR),
.M01_ADDR_WIDTH = (CROSSBAR_M01_ADDR_WIDTH),
.M01_CONNECT_READ = (CROSSBAR_M01_CONNECT_READ),
.M01_CONNECT_WRITE = (CROSSBAR_M01_CONNECT_WRITE),
.M01_ISSUE = (CROSSBAR_M01_ISSUE),
.M01_SECURE = (CROSSBAR_M01_SECURE),
.M02_BASE_ADDR = (CROSSBAR_M02_BASE_ADDR),
.M02_ADDR_WIDTH = (CROSSBAR_M02_ADDR_WIDTH),
.M02_CONNECT_READ = (CROSSBAR_M02_CONNECT_READ),
.M02_CONNECT_WRITE = (CROSSBAR_M02_CONNECT_WRITE),
.M02_ISSUE = (CROSSBAR_M02_ISSUE),
.M02_SECURE = (CROSSBAR_M02_SECURE),
.S00_AW_REG_TYPE = (CROSSBAR_S00_AW_REG_TYPE),
.S00_W_REG_TYPE = (CROSSBAR_S00_W_REG_TYPE),
.S00_B_REG_TYPE = (CROSSBAR_S00_B_REG_TYPE),
.S00_AR_REG_TYPE = (CROSSBAR_S00_AR_REG_TYPE),
.S00_R_REG_TYPE = (CROSSBAR_S00_R_REG_TYPE),
.S01_AW_REG_TYPE = (CROSSBAR_S01_AW_REG_TYPE),
.S01_W_REG_TYPE = (CROSSBAR_S01_W_REG_TYPE),
.S01_B_REG_TYPE = (CROSSBAR_S01_B_REG_TYPE),
.S01_AR_REG_TYPE = (CROSSBAR_S01_AR_REG_TYPE),
.S01_R_REG_TYPE = (CROSSBAR_S01_R_REG_TYPE),
.S02_AW_REG_TYPE = (CROSSBAR_S02_AW_REG_TYPE),
.S02_W_REG_TYPE = (CROSSBAR_S02_W_REG_TYPE),
.S02_B_REG_TYPE = (CROSSBAR_S02_B_REG_TYPE),
.S02_AR_REG_TYPE = (CROSSBAR_S02_AR_REG_TYPE),
.S02_R_REG_TYPE = (CROSSBAR_S02_R_REG_TYPE),
.M00_AW_REG_TYPE = (CROSSBAR_M00_AW_REG_TYPE),
.M00_W_REG_TYPE = (CROSSBAR_M00_W_REG_TYPE),
.M00_B_REG_TYPE = (CROSSBAR_M00_B_REG_TYPE),
.M00_AR_REG_TYPE = (CROSSBAR_M00_AR_REG_TYPE),
.M00_R_REG_TYPE = (CROSSBAR_M00_R_REG_TYPE),
.M01_AW_REG_TYPE = (CROSSBAR_M01_AW_REG_TYPE),
.M01_W_REG_TYPE = (CROSSBAR_M01_W_REG_TYPE),
.M01_B_REG_TYPE = (CROSSBAR_M01_B_REG_TYPE),
.M01_AR_REG_TYPE = (CROSSBAR_M01_AR_REG_TYPE),
.M01_R_REG_TYPE = (CROSSBAR_M01_R_REG_TYPE),
.M02_AW_REG_TYPE = (CROSSBAR_M02_AW_REG_TYPE),
.M02_W_REG_TYPE = (CROSSBAR_M02_W_REG_TYPE),
.M02_B_REG_TYPE = (CROSSBAR_M02_B_REG_TYPE),
.M02_AR_REG_TYPE = (CROSSBAR_M02_AR_REG_TYPE),
.M02_R_REG_TYPE = (CROSSBAR_M02_R_REG_TYPE)
) i_axi_crossbar_core_wrapper (
.clk (crossbar_clk),
.rst (crossbar_rst),
.s00_axi_awid (crossbar_s00_axi_awid),
.s00_axi_awaddr (crossbar_s00_axi_awaddr),
.s00_axi_awlen (crossbar_s00_axi_awlen),
.s00_axi_awsize (crossbar_s00_axi_awsize),
.s00_axi_awburst (crossbar_s00_axi_awburst),
.s00_axi_awlock (crossbar_s00_axi_awlock),
.s00_axi_awcache (crossbar_s00_axi_awcache),
.s00_axi_awprot (crossbar_s00_axi_awprot),
.s00_axi_awqos (crossbar_s00_axi_awqos),
.s00_axi_awuser (crossbar_s00_axi_awuser),
.s00_axi_awvalid (crossbar_s00_axi_awvalid),
.s00_axi_awready (crossbar_s00_axi_awready),
.s00_axi_wdata (crossbar_s00_axi_wdata),
.s00_axi_wstrb (crossbar_s00_axi_wstrb),
.s00_axi_wlast (crossbar_s00_axi_wlast),
.s00_axi_wuser (crossbar_s00_axi_wuser),
.s00_axi_wvalid (crossbar_s00_axi_wvalid),
.s00_axi_wready (crossbar_s00_axi_wready),
.s00_axi_bid (crossbar_s00_axi_bid),
.s00_axi_bresp (crossbar_s00_axi_bresp),
.s00_axi_buser (crossbar_s00_axi_buser),
.s00_axi_bvalid (crossbar_s00_axi_bvalid),
.s00_axi_bready (crossbar_s00_axi_bready),
.s00_axi_arid (crossbar_s00_axi_arid),
.s00_axi_araddr (crossbar_s00_axi_araddr),
.s00_axi_arlen (crossbar_s00_axi_arlen),
.s00_axi_arsize (crossbar_s00_axi_arsize),
.s00_axi_arburst (crossbar_s00_axi_arburst),
.s00_axi_arlock (crossbar_s00_axi_arlock),
.s00_axi_arcache (crossbar_s00_axi_arcache),
.s00_axi_arprot (crossbar_s00_axi_arprot),
.s00_axi_arqos (crossbar_s00_axi_arqos),
.s00_axi_aruser (crossbar_s00_axi_aruser),
.s00_axi_arvalid (crossbar_s00_axi_arvalid),
.s00_axi_arready (crossbar_s00_axi_arready),
.s00_axi_rid (crossbar_s00_axi_rid),
.s00_axi_rdata (crossbar_s00_axi_rdata),
.s00_axi_rresp (crossbar_s00_axi_rresp),
.s00_axi_rlast (crossbar_s00_axi_rlast),
.s00_axi_ruser (crossbar_s00_axi_ruser),
.s00_axi_rvalid (crossbar_s00_axi_rvalid),
.s00_axi_rready (crossbar_s00_axi_rready),
.s01_axi_awid (crossbar_s01_axi_awid),
.s01_axi_awaddr (crossbar_s01_axi_awaddr),
.s01_axi_awlen (crossbar_s01_axi_awlen),
.s01_axi_awsize (crossbar_s01_axi_awsize),
.s01_axi_awburst (crossbar_s01_axi_awburst),
.s01_axi_awlock (crossbar_s01_axi_awlock),
.s01_axi_awcache (crossbar_s01_axi_awcache),
.s01_axi_awprot (crossbar_s01_axi_awprot),
.s01_axi_awqos (crossbar_s01_axi_awqos),
.s01_axi_awuser (crossbar_s01_axi_awuser),
.s01_axi_awvalid (crossbar_s01_axi_awvalid),
.s01_axi_awready (crossbar_s01_axi_awready),
.s01_axi_wdata (crossbar_s01_axi_wdata),
.s01_axi_wstrb (crossbar_s01_axi_wstrb),
.s01_axi_wlast (crossbar_s01_axi_wlast),
.s01_axi_wuser (crossbar_s01_axi_wuser),
.s01_axi_wvalid (crossbar_s01_axi_wvalid),
.s01_axi_wready (crossbar_s01_axi_wready),
.s01_axi_bid (crossbar_s01_axi_bid),
.s01_axi_bresp (crossbar_s01_axi_bresp),
.s01_axi_buser (crossbar_s01_axi_buser),
.s01_axi_bvalid (crossbar_s01_axi_bvalid),
.s01_axi_bready (crossbar_s01_axi_bready),
.s01_axi_arid (crossbar_s01_axi_arid),
.s01_axi_araddr (crossbar_s01_axi_araddr),
.s01_axi_arlen (crossbar_s01_axi_arlen),
.s01_axi_arsize (crossbar_s01_axi_arsize),
.s01_axi_arburst (crossbar_s01_axi_arburst),
.s01_axi_arlock (crossbar_s01_axi_arlock),
.s01_axi_arcache (crossbar_s01_axi_arcache),
.s01_axi_arprot (crossbar_s01_axi_arprot),
.s01_axi_arqos (crossbar_s01_axi_arqos),
.s01_axi_aruser (crossbar_s01_axi_aruser),
.s01_axi_arvalid (crossbar_s01_axi_arvalid),
.s01_axi_arready (crossbar_s01_axi_arready),
.s01_axi_rid (crossbar_s01_axi_rid),
.s01_axi_rdata (crossbar_s01_axi_rdata),
.s01_axi_rresp (crossbar_s01_axi_rresp),
.s01_axi_rlast (crossbar_s01_axi_rlast),
.s01_axi_ruser (crossbar_s01_axi_ruser),
.s01_axi_rvalid (crossbar_s01_axi_rvalid),
.s01_axi_rready (crossbar_s01_axi_rready),
.s02_axi_awid (crossbar_s02_axi_awid),
.s02_axi_awaddr (crossbar_s02_axi_awaddr),
.s02_axi_awlen (crossbar_s02_axi_awlen),
.s02_axi_awsize (crossbar_s02_axi_awsize),
.s02_axi_awburst (crossbar_s02_axi_awburst),
.s02_axi_awlock (crossbar_s02_axi_awlock),
.s02_axi_awcache (crossbar_s02_axi_awcache),
.s02_axi_awprot (crossbar_s02_axi_awprot),
.s02_axi_awqos (crossbar_s02_axi_awqos),
.s02_axi_awuser (crossbar_s02_axi_awuser),
.s02_axi_awvalid (crossbar_s02_axi_awvalid),
.s02_axi_awready (crossbar_s02_axi_awready),
.s02_axi_wdata (crossbar_s02_axi_wdata),
.s02_axi_wstrb (crossbar_s02_axi_wstrb),
.s02_axi_wlast (crossbar_s02_axi_wlast),
.s02_axi_wuser (crossbar_s02_axi_wuser),
.s02_axi_wvalid (crossbar_s02_axi_wvalid),
.s02_axi_wready (crossbar_s02_axi_wready),
.s02_axi_bid (crossbar_s02_axi_bid),
.s02_axi_bresp (crossbar_s02_axi_bresp),
.s02_axi_buser (crossbar_s02_axi_buser),
.s02_axi_bvalid (crossbar_s02_axi_bvalid),
.s02_axi_bready (crossbar_s02_axi_bready),
.s02_axi_arid (crossbar_s02_axi_arid),
.s02_axi_araddr (crossbar_s02_axi_araddr),
.s02_axi_arlen (crossbar_s02_axi_arlen),
.s02_axi_arsize (crossbar_s02_axi_arsize),
.s02_axi_arburst (crossbar_s02_axi_arburst),
.s02_axi_arlock (crossbar_s02_axi_arlock),
.s02_axi_arcache (crossbar_s02_axi_arcache),
.s02_axi_arprot (crossbar_s02_axi_arprot),
.s02_axi_arqos (crossbar_s02_axi_arqos),
.s02_axi_aruser (crossbar_s02_axi_aruser),
.s02_axi_arvalid (crossbar_s02_axi_arvalid),
.s02_axi_arready (crossbar_s02_axi_arready),
.s02_axi_rid (crossbar_s02_axi_rid),
.s02_axi_rdata (crossbar_s02_axi_rdata),
.s02_axi_rresp (crossbar_s02_axi_rresp),
.s02_axi_rlast (crossbar_s02_axi_rlast),
.s02_axi_ruser (crossbar_s02_axi_ruser),
.s02_axi_rvalid (crossbar_s02_axi_rvalid),
.s02_axi_rready (crossbar_s02_axi_rready),
.m00_axi_awid (crossbar_m00_axi_awid),
.m00_axi_awaddr (crossbar_m00_axi_awaddr),
.m00_axi_awlen (crossbar_m00_axi_awlen),
.m00_axi_awsize (crossbar_m00_axi_awsize),
.m00_axi_awburst (crossbar_m00_axi_awburst),
.m00_axi_awlock (crossbar_m00_axi_awlock),
.m00_axi_awcache (crossbar_m00_axi_awcache),
.m00_axi_awprot (crossbar_m00_axi_awprot),
.m00_axi_awqos (crossbar_m00_axi_awqos),
.m00_axi_awregion (crossbar_m00_axi_awregion),
.m00_axi_awuser (crossbar_m00_axi_awuser),
.m00_axi_awvalid (crossbar_m00_axi_awvalid),
.m00_axi_awready (crossbar_m00_axi_awready),
.m00_axi_wdata (crossbar_m00_axi_wdata),
.m00_axi_wstrb (crossbar_m00_axi_wstrb),
.m00_axi_wlast (crossbar_m00_axi_wlast),
.m00_axi_wuser (crossbar_m00_axi_wuser),
.m00_axi_wvalid (crossbar_m00_axi_wvalid),
.m00_axi_wready (crossbar_m00_axi_wready),
.m00_axi_bid (crossbar_m00_axi_bid),
.m00_axi_bresp (crossbar_m00_axi_bresp),
.m00_axi_buser (crossbar_m00_axi_buser),
.m00_axi_bvalid (crossbar_m00_axi_bvalid),
.m00_axi_bready (crossbar_m00_axi_bready),
.m00_axi_arid (crossbar_m00_axi_arid),
.m00_axi_araddr (crossbar_m00_axi_araddr),
.m00_axi_arlen (crossbar_m00_axi_arlen),
.m00_axi_arsize (crossbar_m00_axi_arsize),
.m00_axi_arburst (crossbar_m00_axi_arburst),
.m00_axi_arlock (crossbar_m00_axi_arlock),
.m00_axi_arcache (crossbar_m00_axi_arcache),
.m00_axi_arprot (crossbar_m00_axi_arprot),
.m00_axi_arqos (crossbar_m00_axi_arqos),
.m00_axi_arregion (crossbar_m00_axi_arregion),
.m00_axi_aruser (crossbar_m00_axi_aruser),
.m00_axi_arvalid (crossbar_m00_axi_arvalid),
.m00_axi_arready (crossbar_m00_axi_arready),
.m00_axi_rid (crossbar_m00_axi_rid),
.m00_axi_rdata (crossbar_m00_axi_rdata),
.m00_axi_rresp (crossbar_m00_axi_rresp),
.m00_axi_rlast (crossbar_m00_axi_rlast),
.m00_axi_ruser (crossbar_m00_axi_ruser),
.m00_axi_rvalid (crossbar_m00_axi_rvalid),
.m00_axi_rready (crossbar_m00_axi_rready),
.m01_axi_awid (crossbar_m01_axi_awid),
.m01_axi_awaddr (crossbar_m01_axi_awaddr),
.m01_axi_awlen (crossbar_m01_axi_awlen),
.m01_axi_awsize (crossbar_m01_axi_awsize),
.m01_axi_awburst (crossbar_m01_axi_awburst),
.m01_axi_awlock (crossbar_m01_axi_awlock),
.m01_axi_awcache (crossbar_m01_axi_awcache),
.m01_axi_awprot (crossbar_m01_axi_awprot),
.m01_axi_awqos (crossbar_m01_axi_awqos),
.m01_axi_awregion (crossbar_m01_axi_awregion),
.m01_axi_awuser (crossbar_m01_axi_awuser),
.m01_axi_awvalid (crossbar_m01_axi_awvalid),
.m01_axi_awready (crossbar_m01_axi_awready),
.m01_axi_wdata (crossbar_m01_axi_wdata),
.m01_axi_wstrb (crossbar_m01_axi_wstrb),
.m01_axi_wlast (crossbar_m01_axi_wlast),
.m01_axi_wuser (crossbar_m01_axi_wuser),
.m01_axi_wvalid (crossbar_m01_axi_wvalid),
.m01_axi_wready (crossbar_m01_axi_wready),
.m01_axi_bid (crossbar_m01_axi_bid),
.m01_axi_bresp (crossbar_m01_axi_bresp),
.m01_axi_buser (crossbar_m01_axi_buser),
.m01_axi_bvalid (crossbar_m01_axi_bvalid),
.m01_axi_bready (crossbar_m01_axi_bready),
.m01_axi_arid (crossbar_m01_axi_arid),
.m01_axi_araddr (crossbar_m01_axi_araddr),
.m01_axi_arlen (crossbar_m01_axi_arlen),
.m01_axi_arsize (crossbar_m01_axi_arsize),
.m01_axi_arburst (crossbar_m01_axi_arburst),
.m01_axi_arlock (crossbar_m01_axi_arlock),
.m01_axi_arcache (crossbar_m01_axi_arcache),
.m01_axi_arprot (crossbar_m01_axi_arprot),
.m01_axi_arqos (crossbar_m01_axi_arqos),
.m01_axi_arregion (crossbar_m01_axi_arregion),
.m01_axi_aruser (crossbar_m01_axi_aruser),
.m01_axi_arvalid (crossbar_m01_axi_arvalid),
.m01_axi_arready (crossbar_m01_axi_arready),
.m01_axi_rid (crossbar_m01_axi_rid),
.m01_axi_rdata (crossbar_m01_axi_rdata),
.m01_axi_rresp (crossbar_m01_axi_rresp),
.m01_axi_rlast (crossbar_m01_axi_rlast),
.m01_axi_ruser (crossbar_m01_axi_ruser),
.m01_axi_rvalid (crossbar_m01_axi_rvalid),
.m01_axi_rready (crossbar_m01_axi_rready),
.m02_axi_awid (crossbar_m02_axi_awid),
.m02_axi_awaddr (crossbar_m02_axi_awaddr),
.m02_axi_awlen (crossbar_m02_axi_awlen),
.m02_axi_awsize (crossbar_m02_axi_awsize),
.m02_axi_awburst (crossbar_m02_axi_awburst),
.m02_axi_awlock (crossbar_m02_axi_awlock),
.m02_axi_awcache (crossbar_m02_axi_awcache),
.m02_axi_awprot (crossbar_m02_axi_awprot),
.m02_axi_awqos (crossbar_m02_axi_awqos),
.m02_axi_awregion (crossbar_m02_axi_awregion),
.m02_axi_awuser (crossbar_m02_axi_awuser),
.m02_axi_awvalid (crossbar_m02_axi_awvalid),
.m02_axi_awready (crossbar_m02_axi_awready),
.m02_axi_wdata (crossbar_m02_axi_wdata),
.m02_axi_wstrb (crossbar_m02_axi_wstrb),
.m02_axi_wlast (crossbar_m02_axi_wlast),
.m02_axi_wuser (crossbar_m02_axi_wuser),
.m02_axi_wvalid (crossbar_m02_axi_wvalid),
.m02_axi_wready (crossbar_m02_axi_wready),
.m02_axi_bid (crossbar_m02_axi_bid),
.m02_axi_bresp (crossbar_m02_axi_bresp),
.m02_axi_buser (crossbar_m02_axi_buser),
.m02_axi_bvalid (crossbar_m02_axi_bvalid),
.m02_axi_bready (crossbar_m02_axi_bready),
.m02_axi_arid (crossbar_m02_axi_arid),
.m02_axi_araddr (crossbar_m02_axi_araddr),
.m02_axi_arlen (crossbar_m02_axi_arlen),
.m02_axi_arsize (crossbar_m02_axi_arsize),
.m02_axi_arburst (crossbar_m02_axi_arburst),
.m02_axi_arlock (crossbar_m02_axi_arlock),
.m02_axi_arcache (crossbar_m02_axi_arcache),
.m02_axi_arprot (crossbar_m02_axi_arprot),
.m02_axi_arqos (crossbar_m02_axi_arqos),
.m02_axi_arregion (crossbar_m02_axi_arregion),
.m02_axi_aruser (crossbar_m02_axi_aruser),
.m02_axi_arvalid (crossbar_m02_axi_arvalid),
.m02_axi_arready (crossbar_m02_axi_arready),
.m02_axi_rid (crossbar_m02_axi_rid),
.m02_axi_rdata (crossbar_m02_axi_rdata),
.m02_axi_rresp (crossbar_m02_axi_rresp),
.m02_axi_rlast (crossbar_m02_axi_rlast),
.m02_axi_ruser (crossbar_m02_axi_ruser),
.m02_axi_rvalid (crossbar_m02_axi_rvalid),
.m02_axi_rready (crossbar_m02_axi_rready)
);
axi4_flat_to_if #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_flat_to_if_00(
.s_axi_awid (crossbar_m00_axi_awid),
.s_axi_awaddr (crossbar_m00_axi_awaddr),
.s_axi_awlen (crossbar_m00_axi_awlen),
.s_axi_awsize (crossbar_m00_axi_awsize),
.s_axi_awburst (crossbar_m00_axi_awburst),
.s_axi_awlock (crossbar_m00_axi_awlock),
.s_axi_awcache (crossbar_m00_axi_awcache),
.s_axi_awprot (crossbar_m00_axi_awprot),
.s_axi_awqos (crossbar_m00_axi_awqos),
.s_axi_awregion (crossbar_m00_axi_awregion),
.s_axi_awuser (crossbar_m00_axi_awuser),
.s_axi_awvalid (crossbar_m00_axi_awvalid),
.s_axi_awready (crossbar_m00_axi_awready),
.s_axi_wdata (crossbar_m00_axi_wdata),
.s_axi_wstrb (crossbar_m00_axi_wstrb),
.s_axi_wlast (crossbar_m00_axi_wlast),
.s_axi_wuser (crossbar_m00_axi_wuser),
.s_axi_wvalid (crossbar_m00_axi_wvalid),
.s_axi_wready (crossbar_m00_axi_wready),
.s_axi_bid (crossbar_m00_axi_bid),
.s_axi_bresp (crossbar_m00_axi_bresp),
.s_axi_buser (crossbar_m00_axi_buser),
.s_axi_bvalid (crossbar_m00_axi_bvalid),
.s_axi_bready (crossbar_m00_axi_bready),
.s_axi_arid (crossbar_m00_axi_arid),
.s_axi_araddr (crossbar_m00_axi_araddr),
.s_axi_arlen (crossbar_m00_axi_arlen),
.s_axi_arsize (crossbar_m00_axi_arsize),
.s_axi_arburst (crossbar_m00_axi_arburst),
.s_axi_arlock (crossbar_m00_axi_arlock),
.s_axi_arcache (crossbar_m00_axi_arcache),
.s_axi_arprot (crossbar_m00_axi_arprot),
.s_axi_arqos (crossbar_m00_axi_arqos),
.s_axi_arregion (crossbar_m00_axi_arregion),
.s_axi_aruser (crossbar_m00_axi_aruser),
.s_axi_arvalid (crossbar_m00_axi_arvalid),
.s_axi_arready (crossbar_m00_axi_arready),
.s_axi_rid (crossbar_m00_axi_rid),
.s_axi_rdata (crossbar_m00_axi_rdata),
.s_axi_rresp (crossbar_m00_axi_rresp),
.s_axi_rlast (crossbar_m00_axi_rlast),
.s_axi_ruser (crossbar_m00_axi_ruser),
.s_axi_rvalid (crossbar_m00_axi_rvalid),
.s_axi_rready (crossbar_m00_axi_rready),
.m_axi (m_axi[0])
);
axi4_flat_to_if #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_flat_to_if_01(
.s_axi_awid (crossbar_m01_axi_awid),
.s_axi_awaddr (crossbar_m01_axi_awaddr),
.s_axi_awlen (crossbar_m01_axi_awlen),
.s_axi_awsize (crossbar_m01_axi_awsize),
.s_axi_awburst (crossbar_m01_axi_awburst),
.s_axi_awlock (crossbar_m01_axi_awlock),
.s_axi_awcache (crossbar_m01_axi_awcache),
.s_axi_awprot (crossbar_m01_axi_awprot),
.s_axi_awqos (crossbar_m01_axi_awqos),
.s_axi_awregion (crossbar_m01_axi_awregion),
.s_axi_awuser (crossbar_m01_axi_awuser),
.s_axi_awvalid (crossbar_m01_axi_awvalid),
.s_axi_awready (crossbar_m01_axi_awready),
.s_axi_wdata (crossbar_m01_axi_wdata),
.s_axi_wstrb (crossbar_m01_axi_wstrb),
.s_axi_wlast (crossbar_m01_axi_wlast),
.s_axi_wuser (crossbar_m01_axi_wuser),
.s_axi_wvalid (crossbar_m01_axi_wvalid),
.s_axi_wready (crossbar_m01_axi_wready),
.s_axi_bid (crossbar_m01_axi_bid),
.s_axi_bresp (crossbar_m01_axi_bresp),
.s_axi_buser (crossbar_m01_axi_buser),
.s_axi_bvalid (crossbar_m01_axi_bvalid),
.s_axi_bready (crossbar_m01_axi_bready),
.s_axi_arid (crossbar_m01_axi_arid),
.s_axi_araddr (crossbar_m01_axi_araddr),
.s_axi_arlen (crossbar_m01_axi_arlen),
.s_axi_arsize (crossbar_m01_axi_arsize),
.s_axi_arburst (crossbar_m01_axi_arburst),
.s_axi_arlock (crossbar_m01_axi_arlock),
.s_axi_arcache (crossbar_m01_axi_arcache),
.s_axi_arprot (crossbar_m01_axi_arprot),
.s_axi_arqos (crossbar_m01_axi_arqos),
.s_axi_arregion (crossbar_m01_axi_arregion),
.s_axi_aruser (crossbar_m01_axi_aruser),
.s_axi_arvalid (crossbar_m01_axi_arvalid),
.s_axi_arready (crossbar_m01_axi_arready),
.s_axi_rid (crossbar_m01_axi_rid),
.s_axi_rdata (crossbar_m01_axi_rdata),
.s_axi_rresp (crossbar_m01_axi_rresp),
.s_axi_rlast (crossbar_m01_axi_rlast),
.s_axi_ruser (crossbar_m01_axi_ruser),
.s_axi_rvalid (crossbar_m01_axi_rvalid),
.s_axi_rready (crossbar_m01_axi_rready),
.m_axi (m_axi[1])
);
axi4_flat_to_if #(
.ADDR_W (ADDR_WIDTH),
.DATA_W (DATA_WIDTH)
) i_axi4_flat_to_if_02(
.s_axi_awid (crossbar_m02_axi_awid),
.s_axi_awaddr (crossbar_m02_axi_awaddr),
.s_axi_awlen (crossbar_m02_axi_awlen),
.s_axi_awsize (crossbar_m02_axi_awsize),
.s_axi_awburst (crossbar_m02_axi_awburst),
.s_axi_awlock (crossbar_m02_axi_awlock),
.s_axi_awcache (crossbar_m02_axi_awcache),
.s_axi_awprot (crossbar_m02_axi_awprot),
.s_axi_awqos (crossbar_m02_axi_awqos),
.s_axi_awregion (crossbar_m02_axi_awregion),
.s_axi_awuser (crossbar_m02_axi_awuser),
.s_axi_awvalid (crossbar_m02_axi_awvalid),
.s_axi_awready (crossbar_m02_axi_awready),
.s_axi_wdata (crossbar_m02_axi_wdata),
.s_axi_wstrb (crossbar_m02_axi_wstrb),
.s_axi_wlast (crossbar_m02_axi_wlast),
.s_axi_wuser (crossbar_m02_axi_wuser),
.s_axi_wvalid (crossbar_m02_axi_wvalid),
.s_axi_wready (crossbar_m02_axi_wready),
.s_axi_bid (crossbar_m02_axi_bid),
.s_axi_bresp (crossbar_m02_axi_bresp),
.s_axi_buser (crossbar_m02_axi_buser),
.s_axi_bvalid (crossbar_m02_axi_bvalid),
.s_axi_bready (crossbar_m02_axi_bready),
.s_axi_arid (crossbar_m02_axi_arid),
.s_axi_araddr (crossbar_m02_axi_araddr),
.s_axi_arlen (crossbar_m02_axi_arlen),
.s_axi_arsize (crossbar_m02_axi_arsize),
.s_axi_arburst (crossbar_m02_axi_arburst),
.s_axi_arlock (crossbar_m02_axi_arlock),
.s_axi_arcache (crossbar_m02_axi_arcache),
.s_axi_arprot (crossbar_m02_axi_arprot),
.s_axi_arqos (crossbar_m02_axi_arqos),
.s_axi_arregion (crossbar_m02_axi_arregion),
.s_axi_aruser (crossbar_m02_axi_aruser),
.s_axi_arvalid (crossbar_m02_axi_arvalid),
.s_axi_arready (crossbar_m02_axi_arready),
.s_axi_rid (crossbar_m02_axi_rid),
.s_axi_rdata (crossbar_m02_axi_rdata),
.s_axi_rresp (crossbar_m02_axi_rresp),
.s_axi_rlast (crossbar_m02_axi_rlast),
.s_axi_ruser (crossbar_m02_axi_ruser),
.s_axi_rvalid (crossbar_m02_axi_rvalid),
.s_axi_rready (crossbar_m02_axi_rready),
.m_axi (m_axi[2])
);
endmodule