Split CDMA matmul endpoint engines

This commit is contained in:
2026-07-04 20:42:31 +08:00
parent 2725f6eb57
commit d3a08b1f9d
3 changed files with 408 additions and 315 deletions

View File

@@ -1619,16 +1619,22 @@ wire [1:0] cdma_bridge_rresp;
wire cdma_bridge_rvalid;
wire cdma_bridge_rready;
wire bridge_cdma_req_valid;
wire bridge_cdma_req_ready;
wire [1:0] bridge_cdma_req_mode;
wire [31:0] bridge_cdma_req_src;
wire [31:0] bridge_cdma_req_dst;
wire [31:0] bridge_cdma_req_bytes;
wire [3:0] bridge_cdma_req_ep_id;
wire [3:0] bridge_cdma_req_ep_bank;
wire [7:0] bridge_cdma_req_ep_word_off;
wire bridge_cdma_req_done;
wire bridge_cdma_rd_req_valid;
wire bridge_cdma_rd_req_ready;
wire [31:0] bridge_cdma_rd_req_src;
wire [31:0] bridge_cdma_rd_req_bytes;
wire [3:0] bridge_cdma_rd_req_ep_id;
wire [3:0] bridge_cdma_rd_req_ep_bank;
wire [7:0] bridge_cdma_rd_req_ep_word_off;
wire bridge_cdma_rd_req_done;
wire bridge_cdma_wr_req_valid;
wire bridge_cdma_wr_req_ready;
wire [31:0] bridge_cdma_wr_req_dst;
wire [31:0] bridge_cdma_wr_req_bytes;
wire [3:0] bridge_cdma_wr_req_ep_id;
wire [3:0] bridge_cdma_wr_req_ep_bank;
wire [7:0] bridge_cdma_wr_req_ep_word_off;
wire bridge_cdma_wr_req_done;
wire cdma_axil_wr_bridge = (cdma_s_awaddr[11:8] == 4'h2);
wire cdma_axil_rd_bridge = (cdma_s_araddr[11:8] == 4'h2);
@@ -1781,16 +1787,23 @@ cdma_matmul_bridge #(
.s_axil_rvalid (cdma_bridge_rvalid),
.s_axil_rready (cdma_bridge_rready),
.cdma_req_valid (bridge_cdma_req_valid),
.cdma_req_ready (bridge_cdma_req_ready),
.cdma_req_mode (bridge_cdma_req_mode),
.cdma_req_src (bridge_cdma_req_src),
.cdma_req_dst (bridge_cdma_req_dst),
.cdma_req_bytes (bridge_cdma_req_bytes),
.cdma_req_ep_id (bridge_cdma_req_ep_id),
.cdma_req_ep_bank (bridge_cdma_req_ep_bank),
.cdma_req_ep_word_off(bridge_cdma_req_ep_word_off),
.cdma_req_done (bridge_cdma_req_done),
.cdma_rd_req_valid (bridge_cdma_rd_req_valid),
.cdma_rd_req_ready (bridge_cdma_rd_req_ready),
.cdma_rd_req_src (bridge_cdma_rd_req_src),
.cdma_rd_req_bytes (bridge_cdma_rd_req_bytes),
.cdma_rd_req_ep_id (bridge_cdma_rd_req_ep_id),
.cdma_rd_req_ep_bank (bridge_cdma_rd_req_ep_bank),
.cdma_rd_req_ep_word_off(bridge_cdma_rd_req_ep_word_off),
.cdma_rd_req_done (bridge_cdma_rd_req_done),
.cdma_wr_req_valid (bridge_cdma_wr_req_valid),
.cdma_wr_req_ready (bridge_cdma_wr_req_ready),
.cdma_wr_req_dst (bridge_cdma_wr_req_dst),
.cdma_wr_req_bytes (bridge_cdma_wr_req_bytes),
.cdma_wr_req_ep_id (bridge_cdma_wr_req_ep_id),
.cdma_wr_req_ep_bank (bridge_cdma_wr_req_ep_bank),
.cdma_wr_req_ep_word_off(bridge_cdma_wr_req_ep_word_off),
.cdma_wr_req_done (bridge_cdma_wr_req_done),
.mat_start_valid (matmul_direct_start_valid),
.mat_start_bank (matmul_direct_start_bank),
@@ -1891,16 +1904,23 @@ snix_axil_cdma_mux #(
.ep_rd_data (matmul_ep_rd_data),
.ep_rd_ready (matmul_ep_rd_ready),
.ext_req_valid (bridge_cdma_req_valid),
.ext_req_ready (bridge_cdma_req_ready),
.ext_req_mode (bridge_cdma_req_mode),
.ext_req_src (bridge_cdma_req_src),
.ext_req_dst (bridge_cdma_req_dst),
.ext_req_bytes (bridge_cdma_req_bytes),
.ext_req_ep_id (bridge_cdma_req_ep_id),
.ext_req_ep_bank (bridge_cdma_req_ep_bank),
.ext_req_ep_word_off(bridge_cdma_req_ep_word_off),
.ext_req_done (bridge_cdma_req_done),
.ext_rd_req_valid (bridge_cdma_rd_req_valid),
.ext_rd_req_ready (bridge_cdma_rd_req_ready),
.ext_rd_req_src (bridge_cdma_rd_req_src),
.ext_rd_req_bytes (bridge_cdma_rd_req_bytes),
.ext_rd_req_ep_id (bridge_cdma_rd_req_ep_id),
.ext_rd_req_ep_bank (bridge_cdma_rd_req_ep_bank),
.ext_rd_req_ep_word_off(bridge_cdma_rd_req_ep_word_off),
.ext_rd_req_done (bridge_cdma_rd_req_done),
.ext_wr_req_valid (bridge_cdma_wr_req_valid),
.ext_wr_req_ready (bridge_cdma_wr_req_ready),
.ext_wr_req_dst (bridge_cdma_wr_req_dst),
.ext_wr_req_bytes (bridge_cdma_wr_req_bytes),
.ext_wr_req_ep_id (bridge_cdma_wr_req_ep_id),
.ext_wr_req_ep_bank (bridge_cdma_wr_req_ep_bank),
.ext_wr_req_ep_word_off(bridge_cdma_wr_req_ep_word_off),
.ext_wr_req_done (bridge_cdma_wr_req_done),
// 全局中断输出
.dma_finish (cdma_dma_finish)