diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-05-03 12:01:36 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-05-03 12:01:36 -0600 |
| commit | d6dcfc10f26056485cb260af93027047a6aa8d30 (patch) | |
| tree | 358a7e69c13fe51f7348bba893c2489db9b022fc /platform/wavelet3d/gfx_top.sv | |
| parent | 405c0287c80c34b0e9dfb9d9326b86d12433b4c4 (diff) | |
platform/wavelet3d: implement sched domain crossbar
Diffstat (limited to 'platform/wavelet3d/gfx_top.sv')
| -rw-r--r-- | platform/wavelet3d/gfx_top.sv | 40 |
1 files changed, 32 insertions, 8 deletions
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 |
