// connects LSI master to external AXI slave and DMA slave module axi_lsu_dma_bridge #( parameter M_ID_WIDTH = 8, parameter S0_ID_WIDTH = 8 ) ( input clk, input reset_l, // master read bus input m_arvalid, input [M_ID_WIDTH-1:0] m_arid, input[31:0] m_araddr, output m_arready, output m_rvalid, input m_rready, output [63:0] m_rdata, output [M_ID_WIDTH-1:0] m_rid, output [1:0] m_rresp, output m_rlast, // master write bus input m_awvalid, input [M_ID_WIDTH-1:0] m_awid, input[31:0] m_awaddr, output m_awready, input m_wvalid, output m_wready, output[1:0] m_bresp, output m_bvalid, output[M_ID_WIDTH-1:0] m_bid, input m_bready, // slave 0 if general ext memory output s0_arvalid, input s0_arready, input s0_rvalid, input[S0_ID_WIDTH-1:0] s0_rid, input[1:0] s0_rresp, input[63:0] s0_rdata, input s0_rlast, output s0_rready, output s0_awvalid, input s0_awready, output s0_wvalid, input s0_wready, input[1:0] s0_bresp, input s0_bvalid, input[S0_ID_WIDTH-1:0] s0_bid, output s0_bready, // slave 1 if DMA port output s1_arvalid, input s1_arready, input s1_rvalid, input[1:0] s1_rresp, input[63:0] s1_rdata, input s1_rlast, output s1_rready, output s1_awvalid, input s1_awready, output s1_wvalid, input s1_wready, input[1:0] s1_bresp, input s1_bvalid, output s1_bready ); parameter ICCM_BASE = `RV_ICCM_BITS; // in LSBs localparam IDFIFOSZ = $clog2(`RV_DMA_BUF_DEPTH); bit[31:0] iccm_real_base_addr = `RV_ICCM_SADR ; wire ar_slave_select; wire aw_slave_select; wire w_slave_select; wire rresp_select; wire bresp_select; wire ar_iccm_select; wire aw_iccm_select; reg [1:0] wsel_iptr, wsel_optr; reg [2:0] wsel_count; reg [3:0] wsel; reg [M_ID_WIDTH-1:0] arid [1<