From d6dcfc10f26056485cb260af93027047a6aa8d30 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Fri, 3 May 2024 12:01:36 -0600 Subject: platform/wavelet3d: implement sched domain crossbar --- platform/wavelet3d/gfx_top.sv | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'platform/wavelet3d/gfx_top.sv') diff --git a/platform/wavelet3d/gfx_top.sv b/platform/wavelet3d/gfx_top.sv index b6538d7..8f453a0 100644 --- a/platform/wavelet3d/gfx_top.sv +++ b/platform/wavelet3d/gfx_top.sv @@ -41,13 +41,13 @@ import gfx::*; output word raster_tdata ); + logic srst_n; + gfx_wb fpint_wb(); gfx_axib insn_mem(); - gfx_axil sched_axi(); gfx_pkts geometry(), coverage(); gfx_regfile_io fpint_io(); - - axi4lite_intf #(.ADDR_WIDTH(4)) core_sched(); + gfx_axil bootrom_axi(), sched_axi(), shader_0_axi(); assign q = fpint_wb.rx.lanes; assign out_valid = fpint_wb.rx.valid; @@ -87,6 +87,13 @@ import gfx::*; assign fpint_io.regs.a = a; assign fpint_io.regs.b = b; + gfx_rst_sync rst_sync + ( + .clk, + .rst_n, + .srst_n + ); + gfx_fpint fpint ( .clk, @@ -102,24 +109,41 @@ import gfx::*; ( .clk, .rst_n, + .srst_n, .irq(0), .axim(sched_axi.m) ); - gfx_raster raster + gfx_bootrom bootrom ( .clk, .rst_n, - .geometry(geometry.rx), - .coverage(coverage.tx) + .axis(bootrom_axi.s) ); - gfx_shader shader + gfx_shader shader_0 ( .clk, .rst_n, - .sched(core_sched.slave), + .sched(shader_0_axi.s), .insn_mem(insn_mem.m) ); + gfx_xbar_sched xbar + ( + .clk, + .srst_n, + .sched(sched_axi.s), + .bootrom(bootrom_axi.m), + .shader_0(shader_0_axi.m) + ); + + gfx_raster raster + ( + .clk, + .rst_n, + .geometry(geometry.rx), + .coverage(coverage.tx) + ); + endmodule -- cgit v1.2.3