146 lines
5.6 KiB
Systemverilog
146 lines
5.6 KiB
Systemverilog
module axi_ram_wrapper #(
|
|
parameter DATA_WIDTH = 32,
|
|
parameter ADDR_WIDTH = 16,
|
|
parameter ID_WIDTH = 8,
|
|
parameter PIPELINE_OUTPUT = 0
|
|
)(
|
|
input wire clk,
|
|
input wire rst,
|
|
|
|
axi4_if.slaver s_axi
|
|
);
|
|
|
|
wire [ID_WIDTH-1:0] ram_s_axi_awid;
|
|
wire [ADDR_WIDTH-1:0] ram_s_axi_awaddr;
|
|
wire [7:0] ram_s_axi_awlen;
|
|
wire [2:0] ram_s_axi_awsize;
|
|
wire [1:0] ram_s_axi_awburst;
|
|
wire ram_s_axi_awlock;
|
|
wire [3:0] ram_s_axi_awcache;
|
|
wire [2:0] ram_s_axi_awprot;
|
|
wire ram_s_axi_awvalid;
|
|
wire ram_s_axi_awready;
|
|
wire [DATA_WIDTH-1:0] ram_s_axi_wdata;
|
|
wire [STRB_WIDTH-1:0] ram_s_axi_wstrb;
|
|
wire ram_s_axi_wlast;
|
|
wire ram_s_axi_wvalid;
|
|
wire ram_s_axi_wready;
|
|
wire [ID_WIDTH-1:0] ram_s_axi_bid;
|
|
wire [1:0] ram_s_axi_bresp;
|
|
wire ram_s_axi_bvalid;
|
|
wire ram_s_axi_bready;
|
|
wire [ID_WIDTH-1:0] ram_s_axi_arid;
|
|
wire [ADDR_WIDTH-1:0] ram_s_axi_araddr;
|
|
wire [7:0] ram_s_axi_arlen;
|
|
wire [2:0] ram_s_axi_arsize;
|
|
wire [1:0] ram_s_axi_arburst;
|
|
wire ram_s_axi_arlock;
|
|
wire [3:0] ram_s_axi_arcache;
|
|
wire [2:0] ram_s_axi_arprot;
|
|
wire ram_s_axi_arvalid;
|
|
wire ram_s_axi_arready;
|
|
wire [ID_WIDTH-1:0] ram_s_axi_rid;
|
|
wire [DATA_WIDTH-1:0] ram_s_axi_rdata;
|
|
wire [1:0] ram_s_axi_rresp;
|
|
wire ram_s_axi_rlast;
|
|
wire ram_s_axi_rvalid;
|
|
wire ram_s_axi_rready;
|
|
|
|
axi4_if_to_flat #(
|
|
.ADDR_W (ADDR_WIDTH),
|
|
.DATA_W (DATA_WIDTH)
|
|
) i_axi4_if_to_flat (
|
|
.s_axi (s_axi),
|
|
.m_axi_awid (ram_s_axi_awid),
|
|
.m_axi_awaddr (ram_s_axi_awaddr),
|
|
.m_axi_awlen (ram_s_axi_awlen),
|
|
.m_axi_awsize (ram_s_axi_awsize),
|
|
.m_axi_awburst (ram_s_axi_awburst),
|
|
.m_axi_awlock (ram_s_axi_awlock),
|
|
.m_axi_awcache (ram_s_axi_awcache),
|
|
.m_axi_awprot (ram_s_axi_awprot),
|
|
.m_axi_awqos (ram_s_axi_awqos),
|
|
.m_axi_awregion (ram_s_axi_awregion),
|
|
.m_axi_awuser (ram_s_axi_awuser),
|
|
.m_axi_awvalid (ram_s_axi_awvalid),
|
|
.m_axi_awready (ram_s_axi_awready),
|
|
.m_axi_wdata (ram_s_axi_wdata),
|
|
.m_axi_wstrb (ram_s_axi_wstrb),
|
|
.m_axi_wlast (ram_s_axi_wlast),
|
|
.m_axi_wuser (ram_s_axi_wuser),
|
|
.m_axi_wvalid (ram_s_axi_wvalid),
|
|
.m_axi_wready (ram_s_axi_wready),
|
|
.m_axi_bid (ram_s_axi_bid),
|
|
.m_axi_bresp (ram_s_axi_bresp),
|
|
.m_axi_buser (ram_s_axi_buser),
|
|
.m_axi_bvalid (ram_s_axi_bvalid),
|
|
.m_axi_bready (ram_s_axi_bready),
|
|
.m_axi_arid (ram_s_axi_arid),
|
|
.m_axi_araddr (ram_s_axi_araddr),
|
|
.m_axi_arlen (ram_s_axi_arlen),
|
|
.m_axi_arsize (ram_s_axi_arsize),
|
|
.m_axi_arburst (ram_s_axi_arburst),
|
|
.m_axi_arlock (ram_s_axi_arlock),
|
|
.m_axi_arcache (ram_s_axi_arcache),
|
|
.m_axi_arprot (ram_s_axi_arprot),
|
|
.m_axi_arqos (ram_s_axi_arqos),
|
|
.m_axi_arregion (ram_s_axi_arregion),
|
|
.m_axi_aruser (ram_s_axi_aruser),
|
|
.m_axi_arvalid (ram_s_axi_arvalid),
|
|
.m_axi_arready (ram_s_axi_arready),
|
|
.m_axi_rid (ram_s_axi_rid),
|
|
.m_axi_rdata (ram_s_axi_rdata),
|
|
.m_axi_rresp (ram_s_axi_rresp),
|
|
.m_axi_rlast (ram_s_axi_rlast),
|
|
.m_axi_ruser (ram_s_axi_ruser),
|
|
.m_axi_rvalid (ram_s_axi_rvalid),
|
|
.m_axi_rready (ram_s_axi_rready)
|
|
);
|
|
|
|
axi_ram #
|
|
(
|
|
.DATA_WIDTH (DATA_WIDTH),
|
|
.ADDR_WIDTH (ADDR_WIDTH),
|
|
.ID_WIDTH (ID_WIDTH),
|
|
.PIPELINE_OUTPUT (PIPELINE_OUTPUT)
|
|
) i_axi_ram (
|
|
.clk (clk),
|
|
.rst (rst),
|
|
.s_axi_awid (ram_s_axi_awid),
|
|
.s_axi_awaddr (ram_s_axi_awaddr),
|
|
.s_axi_awlen (ram_s_axi_awlen),
|
|
.s_axi_awsize (ram_s_axi_awsize),
|
|
.s_axi_awburst (ram_s_axi_awburst),
|
|
.s_axi_awlock (ram_s_axi_awlock),
|
|
.s_axi_awcache (ram_s_axi_awcache),
|
|
.s_axi_awprot (ram_s_axi_awprot),
|
|
.s_axi_awvalid (ram_s_axi_awvalid),
|
|
.s_axi_awready (ram_s_axi_awready),
|
|
.s_axi_wdata (ram_s_axi_wdata),
|
|
.s_axi_wstrb (ram_s_axi_wstrb),
|
|
.s_axi_wlast (ram_s_axi_wlast),
|
|
.s_axi_wvalid (ram_s_axi_wvalid),
|
|
.s_axi_wready (ram_s_axi_wready),
|
|
.s_axi_bid (ram_s_axi_bid),
|
|
.s_axi_bresp (ram_s_axi_bresp),
|
|
.s_axi_bvalid (ram_s_axi_bvalid),
|
|
.s_axi_bready (ram_s_axi_bready),
|
|
.s_axi_arid (ram_s_axi_arid),
|
|
.s_axi_araddr (ram_s_axi_araddr),
|
|
.s_axi_arlen (ram_s_axi_arlen),
|
|
.s_axi_arsize (ram_s_axi_arsize),
|
|
.s_axi_arburst (ram_s_axi_arburst),
|
|
.s_axi_arlock (ram_s_axi_arlock),
|
|
.s_axi_arcache (ram_s_axi_arcache),
|
|
.s_axi_arprot (ram_s_axi_arprot),
|
|
.s_axi_arvalid (ram_s_axi_arvalid),
|
|
.s_axi_arready (ram_s_axi_arready),
|
|
.s_axi_rid (ram_s_axi_rid),
|
|
.s_axi_rdata (ram_s_axi_rdata),
|
|
.s_axi_rresp (ram_s_axi_rresp),
|
|
.s_axi_rlast (ram_s_axi_rlast),
|
|
.s_axi_rvalid (ram_s_axi_rvalid),
|
|
.s_axi_rready (ram_s_axi_rready)
|
|
);
|
|
|
|
endmodule |