summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_sp_stream.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-05-05 17:34:22 -0600
committerAlejandro Soto <alejandro@34project.org>2024-05-05 17:38:27 -0600
commit081a8a3ba8bfe036f31da53f9c041a2caa30fce2 (patch)
tree7d712b67d3dc1ad3d37041562774ba3c4e5a7f49 /rtl/gfx/gfx_sp_stream.sv
parente5b64ea353678baabd16d245fcfaa3384e1acf8f (diff)
rtl/legacy_gfx: rename gfx -> legacy_gfx
Diffstat (limited to 'rtl/gfx/gfx_sp_stream.sv')
-rw-r--r--rtl/gfx/gfx_sp_stream.sv66
1 files changed, 0 insertions, 66 deletions
diff --git a/rtl/gfx/gfx_sp_stream.sv b/rtl/gfx/gfx_sp_stream.sv
deleted file mode 100644
index 7901028..0000000
--- a/rtl/gfx/gfx_sp_stream.sv
+++ /dev/null
@@ -1,66 +0,0 @@
-`include "gfx/gfx_defs.sv"
-
-module gfx_sp_stream
-(
- input logic clk,
- rst_n,
-
- input mat4 a,
- input insn_deco deco,
- input logic in_valid,
- output logic in_ready,
-
- input logic wb_ready,
- output logic wb_valid,
- output wb_op wb,
-
- input lane_word recv_data,
- input lane_mask recv_mask,
- input logic recv_valid,
- output logic recv_ready,
-
- input logic send_ready,
- output logic send_valid,
- output lane_word send_data,
- output lane_mask send_mask
-);
-
- logic active, recv;
- vreg_num wb_reg;
-
- assign in_ready = !active;
- assign recv_ready = active && recv && wb_ready;
-
- assign wb_valid = active && recv && recv_valid;
- assign send_valid = active && !recv;
-
- assign wb.dst = wb_reg;
- assign wb.data = recv_data;
-
- always_ff @(posedge clk or negedge rst_n)
- if (!rst_n) begin
- active <= 0;
- send_mask <= 0;
- end else begin
- if (!active)
- active <= in_valid && (deco.writeback || |send_mask);
- else if (recv)
- active <= !wb_ready || !recv_valid;
- else
- active <= !send_ready;
-
- if (recv_ready && recv_valid)
- send_mask <= send_mask & recv_mask;
-
- if (in_ready && in_valid && deco.clear_lanes)
- send_mask <= {($bits(send_mask)){1'b1}};
- end
-
- always_ff @(posedge clk)
- if (!active) begin
- recv <= deco.writeback;
- wb_reg <= deco.dst;
- send_data <= a;
- end
-
-endmodule