summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--platform/wavelet3d/w3d_top.sv60
-rw-r--r--rtl/gfx/gfx_top.sv73
2 files changed, 79 insertions, 54 deletions
diff --git a/platform/wavelet3d/w3d_top.sv b/platform/wavelet3d/w3d_top.sv
index a125107..ec19fd2 100644
--- a/platform/wavelet3d/w3d_top.sv
+++ b/platform/wavelet3d/w3d_top.sv
@@ -41,12 +41,8 @@ import gfx::*;
output word raster_tdata
);
- logic srst_n;
-
gfx_wb fpint_wb();
- if_axib insn_mem();
- if_axil bootrom_axi(), debug_axi(), sched_axi(), shader_0_axi();
- if_pkts geometry(), coverage();
+ if_pkts coverage(), geometry();
gfx_regfile_io fpint_io();
assign q = fpint_wb.rx.lanes;
@@ -87,13 +83,6 @@ 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_shader_fpint fpint
(
.clk,
@@ -106,55 +95,18 @@ import gfx::*;
.read_data(fpint_io.ab)
);
- gfx_sched sched
- (
- .clk,
- .rst_n,
- .srst_n,
- .irq(0),
- .axim(sched_axi.m)
- );
-
- gfx_bootrom bootrom
- (
- .clk,
- .rst_n,
- .axis(bootrom_axi.s)
- );
-
- gfx_sim_debug debug
- (
- .clk,
- .rst_n,
- .axis(debug_axi.s)
- );
-
- gfx_shader shader_0
+ gfx_raster raster
(
.clk,
.rst_n,
- .sched(shader_0_axi.s),
- .insn_mem(insn_mem.m)
- );
-
- gfx_xbar_sched xbar
- (
- .clk,
- .srst_n,
-
- .sched(sched_axi.s),
-
- .debug(debug_axi.m),
- .bootrom(bootrom_axi.m),
- .shader_0(shader_0_axi.m)
+ .geometry(geometry.rx),
+ .coverage(coverage.tx)
);
- gfx_raster raster
+ gfx_top gfx
(
.clk,
- .rst_n,
- .geometry(geometry.rx),
- .coverage(coverage.tx)
+ .rst_n
);
endmodule
diff --git a/rtl/gfx/gfx_top.sv b/rtl/gfx/gfx_top.sv
new file mode 100644
index 0000000..853468d
--- /dev/null
+++ b/rtl/gfx/gfx_top.sv
@@ -0,0 +1,73 @@
+module gfx_top
+import gfx::*;
+(
+ input logic clk,
+ rst_n
+);
+
+ logic srst_n;
+
+ if_axib insn_mem();
+ if_axil bootrom_axi(), debug_axi(), sched_axi(), shader_0_axi();
+
+ gfx_rst_sync rst_sync
+ (
+ .clk,
+ .rst_n,
+ .srst_n
+ );
+
+ gfx_sched sched
+ (
+ .clk,
+ .rst_n,
+ .srst_n,
+ .irq(0),
+ .axim(sched_axi.m)
+ );
+
+ gfx_bootrom bootrom
+ (
+ .clk,
+ .rst_n,
+ .axis(bootrom_axi.s)
+ );
+
+ gfx_sim_debug debug
+ (
+ .clk,
+ .rst_n,
+ .axis(debug_axi.s)
+ );
+
+ gfx_shader shader_0
+ (
+ .clk,
+ .rst_n,
+ .sched(shader_0_axi.s),
+ .insn_mem(insn_mem.m)
+ );
+
+ gfx_xbar_sched xbar
+ (
+ .clk,
+ .srst_n,
+
+ .sched(sched_axi.s),
+
+ .debug(debug_axi.m),
+ .bootrom(bootrom_axi.m),
+ .shader_0(shader_0_axi.m)
+ );
+
+ /*TODO
+ gfx_raster raster
+ (
+ .clk,
+ .rst_n,
+ .geometry(TODO),
+ .coverage(TODO)
+ );
+ */
+
+endmodule