diff --git a/designs/full_new_reflectometer/tests/reflectometer_and_dma/axi_ram_wrapper.sv b/designs/full_new_reflectometer/tests/reflectometer_and_dma/axi_ram_wrapper.sv new file mode 100644 index 0000000..ca840a1 --- /dev/null +++ b/designs/full_new_reflectometer/tests/reflectometer_and_dma/axi_ram_wrapper.sv @@ -0,0 +1,67 @@ +module axi_ram_wrapper +#( + parameter int unsigned DATA_WIDTH = 32, + parameter int unsigned ADDR_WIDTH = 16, + parameter int unsigned ID_WIDTH = 8, + parameter int unsigned PIPELINE_OUTPUT = 0 +) +( + input logic clk, + input logic rst, + axi4_if.slave s_axi +); + +logic [1:0] ram_bresp; +logic [1:0] ram_rresp; + + +assign s_axi.resp.b.resp = axi_pkg::axi_resp_t'(ram_bresp); +assign s_axi.resp.r.resp = axi_pkg::axi_resp_t'(ram_rresp); + +axi_ram +#( + .DATA_WIDTH(DATA_WIDTH), + .ADDR_WIDTH(ADDR_WIDTH), + .ID_WIDTH(ID_WIDTH), + .PIPELINE_OUTPUT(PIPELINE_OUTPUT) +) axi_ram_inst +( + .clk(clk), + .rst(rst), + .s_axi_awid(s_axi.req.aw.id), + .s_axi_awaddr(s_axi.req.aw.addr), + .s_axi_awlen(s_axi.req.aw.len), + .s_axi_awsize(s_axi.req.aw.size), + .s_axi_awburst(s_axi.req.aw.burst), + .s_axi_awlock(s_axi.req.aw.lock), + .s_axi_awcache(s_axi.req.aw.cache), + .s_axi_awprot(s_axi.req.aw.prot), + .s_axi_awvalid(s_axi.req.aw.valid), + .s_axi_awready(s_axi.resp.aw_ready), + .s_axi_wdata(s_axi.req.w.data), + .s_axi_wstrb(s_axi.req.w.strb), + .s_axi_wlast(s_axi.req.w.last), + .s_axi_wvalid(s_axi.req.w.valid), + .s_axi_wready(s_axi.resp.w_ready), + .s_axi_bid(s_axi.resp.b.id), + .s_axi_bresp(ram_bresp), + .s_axi_bvalid(s_axi.resp.b.valid), + .s_axi_bready(s_axi.req.b_ready), + .s_axi_arid(s_axi.req.ar.id), + .s_axi_araddr(s_axi.req.ar.addr), + .s_axi_arlen(s_axi.req.ar.len), + .s_axi_arsize(s_axi.req.ar.size), + .s_axi_arburst(s_axi.req.ar.burst), + .s_axi_arlock(s_axi.req.ar.lock), + .s_axi_arcache(s_axi.req.ar.cache), + .s_axi_arprot(s_axi.req.ar.prot), + .s_axi_arvalid(s_axi.req.ar.valid), + .s_axi_arready(s_axi.resp.ar_ready), + .s_axi_rid(s_axi.resp.r.id), + .s_axi_rdata(s_axi.resp.r.data), + .s_axi_rresp(ram_rresp), + .s_axi_rlast(s_axi.resp.r.last), + .s_axi_rvalid(s_axi.resp.r.valid), + .s_axi_rready(s_axi.req.r_ready) +); +endmodule \ No newline at end of file