summaryrefslogtreecommitdiff
path: root/rtl/gfx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--rtl/gfx/gfx_fp_inv.sv33
-rw-r--r--rtl/gfx/gfx_perspective.sv69
-rw-r--r--rtl/gfx/gfx_perspective_flow.sv50
3 files changed, 0 insertions, 152 deletions
diff --git a/rtl/gfx/gfx_fp_inv.sv b/rtl/gfx/gfx_fp_inv.sv
deleted file mode 100644
index 33f7bf8..0000000
--- a/rtl/gfx/gfx_fp_inv.sv
+++ /dev/null
@@ -1,33 +0,0 @@
-`include "gfx/gfx_defs.sv"
-
-module gfx_fp_inv
-(
- input logic clk,
-
- input fp a,
- input logic stall,
-
- output fp q
-);
-
-`ifndef VERILATOR
- ip_fp_inv ip_inv
- (
- .en(!stall),
- .areset(0),
- .*
- );
-`else
- fp a_pop;
-
- assign q = $c("taller::fp_inv(", a_pop, ")");
-
- gfx_pipes #(.WIDTH($bits(a)), .DEPTH(`FP_INV_STAGES)) a_pipes
- (
- .in(a),
- .out(a_pop),
- .*
- );
-`endif
-
-endmodule
diff --git a/rtl/gfx/gfx_perspective.sv b/rtl/gfx/gfx_perspective.sv
deleted file mode 100644
index 6af1724..0000000
--- a/rtl/gfx/gfx_perspective.sv
+++ /dev/null
@@ -1,69 +0,0 @@
-`include "gfx/gfx_defs.sv"
-
-module gfx_perspective
-(
- input logic clk,
-
- input attr4 clip_attr,
- input logic stall,
- in_start,
- out_start,
-
- output attr4 ndc_attr,
- output fp w_inv
-);
-
- fp selected_w_inv, next_w_inv, vertex_w_inv, w_inv_pipes[`FP_MUL_STAGES];
- vec4 in_pipes[`FP_INV_STAGES], div_q;
-
- assign w_inv = w_inv_pipes[`FP_MUL_STAGES - 1];
- assign selected_w_inv = in_start ? next_w_inv : vertex_w_inv;
-
- gfx_fp_inv inv
- (
- .a(clip_attr.w),
- .q(next_w_inv),
- .*
- );
-
- genvar i;
- generate
- for (i = 0; i < `FLOATS_PER_VEC; ++i) begin: divs
- gfx_fp_mul div
- (
- .a(in_pipes[`FP_INV_STAGES - 1][i]),
- .b(selected_w_inv),
- .q(div_q[i]),
- .*
- );
- end
-
- for (i = 1; i < `FP_INV_STAGES; ++i) begin: in
- always_ff @(posedge clk)
- if (!stall)
- in_pipes[i] <= in_pipes[i - 1];
- end
-
- for (i = 1; i < `FP_MUL_STAGES; ++i) begin: out
- always_ff @(posedge clk)
- if (!stall)
- w_inv_pipes[i] <= w_inv_pipes[i - 1];
- end
- endgenerate
-
- always_comb begin
- ndc_attr = div_q;
- if (out_start)
- ndc_attr.w = `FP_UNIT;
- end
-
- always_ff @(posedge clk)
- if (!stall) begin
- if (in_start)
- vertex_w_inv <= next_w_inv;
-
- in_pipes[0] <= clip_attr;
- w_inv_pipes[0] <= selected_w_inv;
- end
-
-endmodule
diff --git a/rtl/gfx/gfx_perspective_flow.sv b/rtl/gfx/gfx_perspective_flow.sv
deleted file mode 100644
index e94f584..0000000
--- a/rtl/gfx/gfx_perspective_flow.sv
+++ /dev/null
@@ -1,50 +0,0 @@
-`include "gfx/gfx_defs.sv"
-
-module gfx_perspective_flow
-(
- input logic clk,
- rst_n,
-
- input logic vertex_start,
- output logic stall,
- in_start,
- out_start,
-
- input logic in_valid,
- out_ready,
-
- output logic in_ready,
- out_valid
- stall
-);
-
- localparam STAGES = `FP_INV_STAGES + `FP_MUL_STAGES;
-
- logic[STAGES - 1:0] start_pipes;
-
- assign in_start = start_pipes[`FP_INV_STAGES - 1];
- assign out_start = start_pipes[STAGES - 1];
-
- gfx_pipeline_flow #(.STAGES(STAGES)) flow
- (
- .*
- );
-
- always_ff @(posedge clk or negedge rst_n)
- if (!rst_n)
- start_pipes[0] <= 0;
- else if (!stall)
- start_pipes[0] <= in_valid && vertex_start;
-
- genvar i;
- generate
- for (i = 1; i < STAGES; ++i) begin: pipeline
- always_ff @(posedge clk or negedge rst_n)
- if (!rst_n)
- start_pipes[i] <= 0;
- else if (!stall)
- start_pipes[i] <= start_pipes[i - 1];
- end
- endgenerate
-
-endmodule