diff --git a/rtl/soc_top.v b/rtl/soc_top.v index 5c71559..cefec8d 100644 --- a/rtl/soc_top.v +++ b/rtl/soc_top.v @@ -562,7 +562,7 @@ wire [4 :0] fft_bid ; wire [1 :0] fft_bresp ; wire fft_bvalid ; wire fft_bready ; -wire fft_finish = 1'b0; +wire fft_finish ; //slave 7 wire [4 :0] axiOut_7_arid ; @@ -602,53 +602,6 @@ wire [1 :0] axiOut_7_bresp ; wire axiOut_7_bvalid ; wire axiOut_7_bready ; -//slave 7 - matmul accelerator -matmul_axi_slave u_matmul_axi_slave ( - .clk (sys_clk), - .resetn (sys_resetn), - - .s_axi_awid (axiOut_7_awid ), - .s_axi_awaddr (axiOut_7_awaddr ), - .s_axi_awlen (axiOut_7_awlen ), - .s_axi_awsize (axiOut_7_awsize ), - .s_axi_awburst (axiOut_7_awburst), - .s_axi_awlock (axiOut_7_awlock ), - .s_axi_awcache (axiOut_7_awcache), - .s_axi_awprot (axiOut_7_awprot ), - .s_axi_awvalid (axiOut_7_awvalid), - .s_axi_awready (axiOut_7_awready), - - .s_axi_wid (axiOut_7_wid ), - .s_axi_wdata (axiOut_7_wdata ), - .s_axi_wstrb (axiOut_7_wstrb ), - .s_axi_wlast (axiOut_7_wlast ), - .s_axi_wvalid (axiOut_7_wvalid), - .s_axi_wready (axiOut_7_wready), - - .s_axi_bid (axiOut_7_bid ), - .s_axi_bresp (axiOut_7_bresp ), - .s_axi_bvalid (axiOut_7_bvalid), - .s_axi_bready (axiOut_7_bready), - - .s_axi_arid (axiOut_7_arid ), - .s_axi_araddr (axiOut_7_araddr ), - .s_axi_arlen (axiOut_7_arlen ), - .s_axi_arsize (axiOut_7_arsize ), - .s_axi_arburst (axiOut_7_arburst), - .s_axi_arlock (axiOut_7_arlock ), - .s_axi_arcache (axiOut_7_arcache), - .s_axi_arprot (axiOut_7_arprot ), - .s_axi_arvalid (axiOut_7_arvalid), - .s_axi_arready (axiOut_7_arready), - - .s_axi_rid (axiOut_7_rid ), - .s_axi_rdata (axiOut_7_rdata ), - .s_axi_rresp (axiOut_7_rresp ), - .s_axi_rlast (axiOut_7_rlast ), - .s_axi_rvalid (axiOut_7_rvalid), - .s_axi_rready (axiOut_7_rready) -); - wire confreg_int; AxiCrossbar_2x8 u_AxiCrossbar_2x8 ( @@ -1470,9 +1423,97 @@ axi_dvi u_axi_dvi ( .video_blue ( video_blue ) ); -assign fft_bid = 5'b0; -assign fft_bresp = 2'b0; -assign fft_bvalid = 1'b0; +fft_controller u_fft_controller( + .aclk (sys_clk ), + .aresetn (sys_resetn ), + .s_awid (fft_awid ), + .s_awaddr (fft_awaddr ), + .s_awlen (fft_awlen ), + .s_awsize (fft_awsize ), + .s_awburst (fft_awburst ), + .s_awlock (fft_awlock ), + .s_awcache (fft_awcache ), + .s_awprot (fft_awprot ), + .s_awvalid (fft_awvalid ), + .s_awready (fft_awready ), + .s_wid (fft_wid ), + .s_wdata (fft_wdata ), + .s_wstrb (fft_wstrb ), + .s_wlast (fft_wlast ), + .s_wvalid (fft_wvalid ), + .s_wready (fft_wready ), + .s_bid (fft_bid ), + .s_bresp (fft_bresp ), + .s_bvalid (fft_bvalid ), + .s_bready (fft_bready ), + .s_arid (fft_arid ), + .s_araddr (fft_araddr ), + .s_arlen (fft_arlen ), + .s_arsize (fft_arsize ), + .s_arburst (fft_arburst ), + .s_arlock (fft_arlock ), + .s_arcache (fft_arcache ), + .s_arprot (fft_arprot ), + .s_arvalid (fft_arvalid ), + .s_arready (fft_arready ), + .s_rid (fft_rid ), + .s_rdata (fft_rdata ), + .s_rresp (fft_rresp ), + .s_rlast (fft_rlast ), + .s_rvalid (fft_rvalid ), + .s_rready (fft_rready ), + .fft_finish (fft_finish ) +); + + +//slave 7 - matmul accelerator +matmul_axi_slave u_matmul_axi_slave ( + .clk (sys_clk), + .resetn (sys_resetn), + + .s_axi_awid (axiOut_7_awid ), + .s_axi_awaddr (axiOut_7_awaddr ), + .s_axi_awlen (axiOut_7_awlen ), + .s_axi_awsize (axiOut_7_awsize ), + .s_axi_awburst (axiOut_7_awburst), + .s_axi_awlock (axiOut_7_awlock ), + .s_axi_awcache (axiOut_7_awcache), + .s_axi_awprot (axiOut_7_awprot ), + .s_axi_awvalid (axiOut_7_awvalid), + .s_axi_awready (axiOut_7_awready), + + .s_axi_wid (axiOut_7_wid ), + .s_axi_wdata (axiOut_7_wdata ), + .s_axi_wstrb (axiOut_7_wstrb ), + .s_axi_wlast (axiOut_7_wlast ), + .s_axi_wvalid (axiOut_7_wvalid), + .s_axi_wready (axiOut_7_wready), + + .s_axi_bid (axiOut_7_bid ), + .s_axi_bresp (axiOut_7_bresp ), + .s_axi_bvalid (axiOut_7_bvalid), + .s_axi_bready (axiOut_7_bready), + + .s_axi_arid (axiOut_7_arid ), + .s_axi_araddr (axiOut_7_araddr ), + .s_axi_arlen (axiOut_7_arlen ), + .s_axi_arsize (axiOut_7_arsize ), + .s_axi_arburst (axiOut_7_arburst), + .s_axi_arlock (axiOut_7_arlock ), + .s_axi_arcache (axiOut_7_arcache), + .s_axi_arprot (axiOut_7_arprot ), + .s_axi_arvalid (axiOut_7_arvalid), + .s_axi_arready (axiOut_7_arready), + + .s_axi_rid (axiOut_7_rid ), + .s_axi_rdata (axiOut_7_rdata ), + .s_axi_rresp (axiOut_7_rresp ), + .s_axi_rlast (axiOut_7_rlast ), + .s_axi_rvalid (axiOut_7_rvalid), + .s_axi_rready (axiOut_7_rready) +); + +wire [31:0] cdma_s_awaddr; wire [2:0] cdma_s_awprot; wire cdma_s_awvalid; wire cdma_s_awready; @@ -1569,7 +1610,7 @@ snix_axil_cdma_mux #( .ID_WIDTH (4), // 匹配 Crossbar 的 Master ID 宽度 .USER_WIDTH (1), .PORTS (4), // 8 个通道 - .FIFO_DEPTH (128) + .FIFO_DEPTH (64) ) u_snix_axil_cdma_mux_8ch ( .clk (sys_clk), .rst_n (sys_resetn), // 低电平复位