diff options
Diffstat (limited to 'rtl')
| -rw-r--r-- | rtl/gfx/gfx_bootrom.sv | 6 | ||||
| -rw-r--r-- | rtl/gfx/gfx_fifo.sv | 8 | ||||
| -rw-r--r-- | rtl/gfx/gfx_raster.sv | 127 | ||||
| -rw-r--r-- | rtl/gfx/gfx_sched.sv | 10 | ||||
| -rw-r--r-- | rtl/gfx/gfx_shader.sv | 10 | ||||
| -rw-r--r-- | rtl/gfx/gfx_shader_back.sv | 12 | ||||
| -rw-r--r-- | rtl/gfx/gfx_shader_front.sv | 8 | ||||
| -rw-r--r-- | rtl/gfx/gfx_shader_group.sv | 2 | ||||
| -rw-r--r-- | rtl/gfx/gfx_shader_mem.sv | 2 | ||||
| -rw-r--r-- | rtl/gfx/gfx_shader_sfu.sv | 2 | ||||
| -rw-r--r-- | rtl/gfx/gfx_sim_debug.sv | 6 | ||||
| -rw-r--r-- | rtl/gfx/gfx_xbar_sched.sv | 12 | ||||
| -rw-r--r-- | rtl/gfx/mod.mk | 2 | ||||
| -rw-r--r-- | rtl/if_common/if_axib.sv (renamed from rtl/gfx/gfx_axib.sv) | 41 | ||||
| -rw-r--r-- | rtl/if_common/if_axil.sv (renamed from rtl/gfx/gfx_axil.sv) | 28 | ||||
| -rw-r--r-- | rtl/if_common/if_axil2regblock.sv (renamed from rtl/gfx/gfx_axil2regblock.sv) | 4 | ||||
| -rw-r--r-- | rtl/if_common/if_beats.sv (renamed from rtl/gfx/gfx_beats.sv) | 4 | ||||
| -rw-r--r-- | rtl/if_common/if_pkts.sv (renamed from rtl/gfx/gfx_pkts.sv) | 12 | ||||
| -rw-r--r-- | rtl/if_common/if_shake.sv (renamed from rtl/gfx/gfx_shake.sv) | 2 | ||||
| -rw-r--r-- | rtl/if_common/mod.mk | 3 | ||||
| -rw-r--r-- | rtl/mod.mk | 2 |
21 files changed, 149 insertions, 154 deletions
diff --git a/rtl/gfx/gfx_bootrom.sv b/rtl/gfx/gfx_bootrom.sv index 2c4581e..a8f3b74 100644 --- a/rtl/gfx/gfx_bootrom.sv +++ b/rtl/gfx/gfx_bootrom.sv @@ -1,10 +1,10 @@ module gfx_bootrom import gfx::*; ( - input logic clk, - rst_n, + input logic clk, + rst_n, - gfx_axil.s axis + if_axil.s axis ); localparam ROM_WORDS_LOG = 8; diff --git a/rtl/gfx/gfx_fifo.sv b/rtl/gfx/gfx_fifo.sv index 7174e4d..ae8b6f7 100644 --- a/rtl/gfx/gfx_fifo.sv +++ b/rtl/gfx/gfx_fifo.sv @@ -2,11 +2,11 @@ module gfx_fifo #(int WIDTH = 0, int DEPTH = 0) ( - input logic clk, - rst_n, + input logic clk, + rst_n, - gfx_beats.rx in, - gfx_beats.tx out + if_beats.rx in, + if_beats.tx out ); logic do_read, do_write, full_if_eq, in_stall, out_stall, diff --git a/rtl/gfx/gfx_raster.sv b/rtl/gfx/gfx_raster.sv index a57a672..6ade6ef 100644 --- a/rtl/gfx/gfx_raster.sv +++ b/rtl/gfx/gfx_raster.sv @@ -1,15 +1,14 @@ module gfx_raster +import gfx::*; ( - input logic clk, - rst_n, + input logic clk, + rst_n, - gfx_pkts.rx geometry, + if_pkts.rx geometry, - gfx_pkts.tx coverage + if_pkts.tx coverage ); - import gfx::*; - gfx_raster_bounds setup_bounds ( .clk, @@ -104,22 +103,21 @@ module gfx_raster endmodule module gfx_raster_bounds +import gfx::*; ( - input logic clk, - rst_n, + input logic clk, + rst_n, - gfx_pkts.rx geometry, + if_pkts.rx geometry, - input logic edges_ready, - output logic edges_valid, - output gfx::word edges_geom_id, - output gfx::fixed_xy edges_ref, - output gfx::raster_prec_xy edges_span, - output gfx::vtx_xy edges_vtx + input logic edges_ready, + output logic edges_valid, + output word edges_geom_id, + output fixed_xy edges_ref, + output raster_prec_xy edges_span, + output vtx_xy edges_vtx ); - import gfx::*; - enum int unsigned { IN_GEOM_ID, @@ -300,28 +298,27 @@ module gfx_raster_bounds endmodule module gfx_raster_edges +import gfx::*; ( - input logic clk, - rst_n, - - input logic bounds_valid, - input gfx::word bounds_geom_id, - input gfx::fixed_xy bounds_ref, - input gfx::raster_prec_xy bounds_span, - input gfx::vtx_xy bounds_vtx, - output logic bounds_ready, - - input logic coarse_ready, - output logic coarse_valid, - output gfx::word coarse_geom_id, - output gfx::fixed_xy coarse_ref, - output gfx::raster_prec_xy coarse_span, - output gfx::fixed coarse_base, - output gfx::raster_offsets_xy coarse_offsets + input logic clk, + rst_n, + + input logic bounds_valid, + input word bounds_geom_id, + input fixed_xy bounds_ref, + input raster_prec_xy bounds_span, + input vtx_xy bounds_vtx, + output logic bounds_ready, + + input logic coarse_ready, + output logic coarse_valid, + output word coarse_geom_id, + output fixed_xy coarse_ref, + output raster_prec_xy coarse_span, + output fixed coarse_base, + output raster_offsets_xy coarse_offsets ); - import gfx::*; - enum int unsigned { EDGE_AB, @@ -455,28 +452,27 @@ module gfx_raster_edges endmodule module gfx_raster_coarse +import gfx::*; ( - input logic clk, - rst_n, - - input logic edges_valid, - input gfx::word edges_geom_id, - input gfx::fixed_xy edges_ref, - input gfx::raster_prec_xy edges_span, - input gfx::fixed edges_base, - input gfx::raster_offsets_xy edges_offsets, - output logic edges_ready, - - input logic fine_ready, - output logic fine_valid, - output gfx::word fine_geom_id, - output gfx::fixed_xy fine_ref, - output gfx::fixed fine_corner, - output gfx::raster_offsets_xy fine_offsets + input logic clk, + rst_n, + + input logic edges_valid, + input word edges_geom_id, + input fixed_xy edges_ref, + input raster_prec_xy edges_span, + input fixed edges_base, + input raster_offsets_xy edges_offsets, + output logic edges_ready, + + input logic fine_ready, + output logic fine_valid, + output word fine_geom_id, + output fixed_xy fine_ref, + output fixed fine_corner, + output raster_offsets_xy fine_offsets ); - import gfx::*; - enum int unsigned { SETUP, @@ -668,22 +664,21 @@ module gfx_raster_coarse endmodule module gfx_raster_fine +import gfx::*; ( - input logic clk, - rst_n, + input logic clk, + rst_n, - input logic coarse_valid, - input gfx::word coarse_geom_id, - input gfx::fixed_xy coarse_ref, - input gfx::fixed coarse_corner, - input gfx::raster_offsets_xy coarse_offsets, - output logic coarse_ready, + input logic coarse_valid, + input word coarse_geom_id, + input fixed_xy coarse_ref, + input fixed coarse_corner, + input raster_offsets_xy coarse_offsets, + output logic coarse_ready, - gfx_pkts.tx coverage + if_pkts.tx coverage ); - import gfx::*; - enum int unsigned { IN_C, diff --git a/rtl/gfx/gfx_sched.sv b/rtl/gfx/gfx_sched.sv index 0ffaecd..03498e4 100644 --- a/rtl/gfx/gfx_sched.sv +++ b/rtl/gfx/gfx_sched.sv @@ -1,13 +1,13 @@ module gfx_sched import gfx::*; ( - input logic clk, - rst_n, - srst_n, + input logic clk, + rst_n, + srst_n, - gfx_axil.m axim, + if_axil.m axim, - input irq_lines irq + input irq_lines irq ); // verilator tracing_off diff --git a/rtl/gfx/gfx_shader.sv b/rtl/gfx/gfx_shader.sv index 322ffb5..6b81b41 100644 --- a/rtl/gfx/gfx_shader.sv +++ b/rtl/gfx/gfx_shader.sv @@ -2,17 +2,17 @@ module gfx_shader import gfx::*; import gfx_shader_schedif_pkg::*; ( - input logic clk, - rst_n, + input logic clk, + rst_n, - gfx_axib.m insn_mem, + if_axib.m insn_mem, - gfx_axil.s sched + if_axil.s sched ); axi4lite_intf #(.ADDR_WIDTH(GFX_SHADER_SCHEDIF_MIN_ADDR_WIDTH)) regblock(); - gfx_axil2regblock axil2regblock + if_axil2regblock axil2regblock ( .axis(sched), .axim(regblock.master) diff --git a/rtl/gfx/gfx_shader_back.sv b/rtl/gfx/gfx_shader_back.sv index 4929192..968a34b 100644 --- a/rtl/gfx/gfx_shader_back.sv +++ b/rtl/gfx/gfx_shader_back.sv @@ -15,7 +15,7 @@ import gfx::*; logic abort; gfx_wb out_wb(), p0_wb(), p1_wb(), p2_wb(), p3_wb(); - gfx_shake p1_shake(), p2_shake(), p3_shake(); + if_shake p1_shake(), p2_shake(), p3_shake(); gfx_shader_abort p0_abort ( @@ -97,13 +97,13 @@ endmodule module gfx_shader_abort ( - input logic clk, + input logic clk, - gfx_shake.peek p1, - p2, - p3, + if_shake.peek p1, + p2, + p3, - output logic abort + output logic abort ); always_ff @(posedge clk) diff --git a/rtl/gfx/gfx_shader_front.sv b/rtl/gfx/gfx_shader_front.sv index 52074fd..0a2b8b8 100644 --- a/rtl/gfx/gfx_shader_front.sv +++ b/rtl/gfx/gfx_shader_front.sv @@ -34,7 +34,7 @@ import gfx::*; input logic clk, rst_n, - gfx_axib.m fetch_mem, + if_axib.m fetch_mem, input logic icache_flush, @@ -101,7 +101,7 @@ import gfx::*; input logic clk, rst_n, - gfx_axib.m mem, + if_axib.m mem, input logic icache_flush, @@ -116,7 +116,7 @@ import gfx::*; localparam int ICACHE_STAGES = 6; localparam int BIND_STAGES = REGFILE_STAGES + ICACHE_STAGES; - gfx_beats #($bits(group_id)) runnable_in(), runnable_out(); + if_beats #($bits(group_id)) runnable_in(), runnable_out(); logic ar_stall, request_ready, request_valid, valids[BIND_STAGES]; group_id groups[BIND_STAGES]; @@ -251,7 +251,7 @@ import gfx::*; oword data; } cache[1 << $bits(icache_line_num)], read, read_hold; - gfx_beats #($bits(icache_line_tag)) pending_in(), pending_out(); + if_beats #($bits(icache_line_tag)) pending_in(), pending_out(); logic accessed_write, accessed_write_enable, burst, fetch_done, hit_write, in_flush, hit_commit, hit_write_enable, retry_4, retry_5, rollback, diff --git a/rtl/gfx/gfx_shader_group.sv b/rtl/gfx/gfx_shader_group.sv index e668877..4a602a8 100644 --- a/rtl/gfx/gfx_shader_group.sv +++ b/rtl/gfx/gfx_shader_group.sv @@ -9,7 +9,7 @@ import gfx::*; gfx_regfile_io.ab read_data, - gfx_shake.rx in_shake, + if_shake.rx in_shake, gfx_wb.tx wb ); diff --git a/rtl/gfx/gfx_shader_mem.sv b/rtl/gfx/gfx_shader_mem.sv index 403c9e4..d9e4ff4 100644 --- a/rtl/gfx/gfx_shader_mem.sv +++ b/rtl/gfx/gfx_shader_mem.sv @@ -9,7 +9,7 @@ import gfx::*; gfx_regfile_io.ab read_data, - gfx_shake.rx in_shake, + if_shake.rx in_shake, gfx_wb.tx wb ); diff --git a/rtl/gfx/gfx_shader_sfu.sv b/rtl/gfx/gfx_shader_sfu.sv index d65e522..f15ff04 100644 --- a/rtl/gfx/gfx_shader_sfu.sv +++ b/rtl/gfx/gfx_shader_sfu.sv @@ -9,7 +9,7 @@ import gfx::*; gfx_regfile_io.ab read_data, - gfx_shake.rx in_shake, + if_shake.rx in_shake, gfx_wb.tx wb ); diff --git a/rtl/gfx/gfx_sim_debug.sv b/rtl/gfx/gfx_sim_debug.sv index 4b4622a..c618636 100644 --- a/rtl/gfx/gfx_sim_debug.sv +++ b/rtl/gfx/gfx_sim_debug.sv @@ -1,10 +1,10 @@ module gfx_sim_debug import gfx::*; ( - input logic clk, - rst_n, + input logic clk, + rst_n, - gfx_axil.s axis + if_axil.s axis ); enum int unsigned diff --git a/rtl/gfx/gfx_xbar_sched.sv b/rtl/gfx/gfx_xbar_sched.sv index 95e4afb..5661012 100644 --- a/rtl/gfx/gfx_xbar_sched.sv +++ b/rtl/gfx/gfx_xbar_sched.sv @@ -1,14 +1,14 @@ module gfx_xbar_sched import gfx::*; ( - input logic clk, - srst_n, + input logic clk, + srst_n, - gfx_axil.s sched, + if_axil.s sched, - gfx_axil.m debug, - gfx_axil.m bootrom, - gfx_axil.m shader_0 + if_axil.m debug, + if_axil.m bootrom, + if_axil.m shader_0 ); localparam word BOOTROM_MASK = 32'hfff0_0000; diff --git a/rtl/gfx/mod.mk b/rtl/gfx/mod.mk index 7525276..3c27a4a 100644 --- a/rtl/gfx/mod.mk +++ b/rtl/gfx/mod.mk @@ -1,7 +1,7 @@ cores := gfx_shader_schedif define core - $(this)/deps := axixbar gfx_shader_schedif picorv32 + $(this)/deps := axixbar gfx_shader_schedif if_common picorv32 $(this)/rtl_top := gfx_top $(this)/rtl_dirs := . diff --git a/rtl/gfx/gfx_axib.sv b/rtl/if_common/if_axib.sv index 7b3cbdc..6db8518 100644 --- a/rtl/gfx/gfx_axib.sv +++ b/rtl/if_common/if_axib.sv @@ -1,32 +1,31 @@ // AXI4 con burst -interface gfx_axib; +interface if_axib +#(int WIDTH = 32); - import gfx::word; + logic awvalid, + awready; + logic[7:0] awlen; + logic[1:0] awburst; + logic[WIDTH - 1:0] awaddr; - logic awvalid, - awready; - logic[7:0] awlen; - logic[1:0] awburst; - word awaddr; - - logic wlast; - logic wvalid; - logic wready; - word wdata; + logic wlast; + logic wvalid; + logic wready; + logic[WIDTH - 1:0] wdata; logic bvalid; logic bready; - logic arvalid, - arready; - logic[7:0] arlen; - logic[1:0] arburst; - word araddr; + logic arvalid, + arready; + logic[7:0] arlen; + logic[1:0] arburst; + logic[WIDTH - 1:0] araddr; - logic rlast; - logic rvalid; - logic rready; - word rdata; + logic rlast; + logic rvalid; + logic rready; + logic[WIDTH - 1:0] rdata; modport m ( diff --git a/rtl/gfx/gfx_axil.sv b/rtl/if_common/if_axil.sv index c254e26..cf67e3f 100644 --- a/rtl/gfx/gfx_axil.sv +++ b/rtl/if_common/if_axil.sv @@ -1,25 +1,25 @@ // AXI4-Lite, sin wstrb ni axprot -interface gfx_axil; - import gfx::*; +interface if_axil +#(int WIDTH = 32); - logic awvalid; - logic awready; - word awaddr; + logic awvalid; + logic awready; + logic[WIDTH - 1:0] awaddr; - logic wvalid; - logic wready; - word wdata; + logic wvalid; + logic wready; + logic[WIDTH - 1:0] wdata; logic bvalid; logic bready; - logic arvalid; - logic arready; - word araddr; + logic arvalid; + logic arready; + logic[WIDTH - 1:0] araddr; - logic rvalid; - logic rready; - word rdata; + logic rvalid; + logic rready; + logic[WIDTH - 1:0] rdata; modport m ( diff --git a/rtl/gfx/gfx_axil2regblock.sv b/rtl/if_common/if_axil2regblock.sv index 2449b05..d3c20d9 100644 --- a/rtl/gfx/gfx_axil2regblock.sv +++ b/rtl/if_common/if_axil2regblock.sv @@ -1,6 +1,6 @@ -module gfx_axil2regblock +module if_axil2regblock ( - gfx_axil.s axis, + if_axil.s axis, axi4lite_intf.master axim ); diff --git a/rtl/gfx/gfx_beats.sv b/rtl/if_common/if_beats.sv index fcbb091..f9e58e9 100644 --- a/rtl/gfx/gfx_beats.sv +++ b/rtl/if_common/if_beats.sv @@ -1,5 +1,5 @@ -interface gfx_beats -#(int WIDTH = $bits(gfx::word)); +interface if_beats +#(int WIDTH = 32); logic[WIDTH - 1:0] data; logic ready; diff --git a/rtl/gfx/gfx_pkts.sv b/rtl/if_common/if_pkts.sv index 41399ce..b6e5b0b 100644 --- a/rtl/gfx/gfx_pkts.sv +++ b/rtl/if_common/if_pkts.sv @@ -1,11 +1,9 @@ -interface gfx_pkts -#(parameter int WIDTH = $bits(gfx::word)); +interface if_pkts +#(int WIDTH = 32); - import gfx::*; - - logic tlast; - logic tready; - logic tvalid; + logic tlast; + logic tready; + logic tvalid; logic[WIDTH - 1:0] tdata; modport tx diff --git a/rtl/gfx/gfx_shake.sv b/rtl/if_common/if_shake.sv index baae0c3..8ec5a73 100644 --- a/rtl/gfx/gfx_shake.sv +++ b/rtl/if_common/if_shake.sv @@ -1,4 +1,4 @@ -interface gfx_shake; +interface if_shake; logic ready; logic valid; diff --git a/rtl/if_common/mod.mk b/rtl/if_common/mod.mk new file mode 100644 index 0000000..e60abc4 --- /dev/null +++ b/rtl/if_common/mod.mk @@ -0,0 +1,3 @@ +define core + $(this)/rtl_dirs := . +endef @@ -1,5 +1,5 @@ cores := config debounce intc -subdirs := cache core dma_axi32 fpu gfx legacy_gfx perf picorv32 pkt_switch smp top wb2axip +subdirs := cache core dma_axi32 if_common fpu gfx legacy_gfx perf picorv32 pkt_switch smp top wb2axip define core/config $(this)/rtl_include_dirs := . |
