summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_fixed_div.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/gfx/gfx_fixed_div.sv')
-rw-r--r--rtl/gfx/gfx_fixed_div.sv77
1 files changed, 0 insertions, 77 deletions
diff --git a/rtl/gfx/gfx_fixed_div.sv b/rtl/gfx/gfx_fixed_div.sv
deleted file mode 100644
index e562072..0000000
--- a/rtl/gfx/gfx_fixed_div.sv
+++ /dev/null
@@ -1,77 +0,0 @@
-`include "gfx/gfx_defs.sv"
-
-module gfx_fixed_div
-(
- input logic clk,
-
- input fixed z,
- d,
- input logic stall,
-
- output fixed q
-);
-
- localparam DIV_BITS = `FIXED_FRAC + $bits(fixed);
-
- fixed d_hold, z_hold;
- logic signed[DIV_BITS - 1:0] z_int, q_int;
-
- assign q = q_int[$bits(q) - 1:0];
- assign z_int = {z_hold, {`FIXED_FRAC{1'b0}}};
-
-`ifndef VERILATOR
- lpm_divide div
- (
- .aclr(0),
- .clock(clk),
- .clken(!stall),
- .numer(z_int),
- .denom(d_hold),
- .remain(),
- .quotient(q_int)
- );
-
- defparam
- div.lpm_widthn = DIV_BITS,
- div.lpm_widthd = $bits(fixed),
- div.lpm_nrepresentation = "SIGNED",
- div.lpm_drepresentation = "SIGNED",
- div.lpm_pipeline = `FIXED_DIV_STAGES - `FIXED_DIV_PIPES,
- div.maximize_speed = 6;
-
- gfx_pipes #(.WIDTH($bits(z)), .DEPTH(`FIXED_DIV_PIPES)) z_pipes
- (
- .in(z),
- .out(z_hold),
- .*
- );
-
- gfx_pipes #(.WIDTH($bits(d)), .DEPTH(`FIXED_DIV_PIPES)) d_pipes
- (
- .in(d),
- .out(d_hold),
- .*
- );
-`else
- logic signed[DIV_BITS - 1:0] d_int_hold, z_int_hold;
-
- assign q_int = z_int_hold / d_int_hold;
- assign z_hold = z;
- assign d_int_hold = {{`FIXED_FRAC{d_hold[$bits(d_hold) - 1]}}, d_hold};
-
- gfx_pipes #(.WIDTH($bits(z_int)), .DEPTH(`FIXED_DIV_STAGES)) z_int_pipes
- (
- .in(z_int),
- .out(z_int_hold),
- .*
- );
-
- gfx_pipes #(.WIDTH($bits(d)), .DEPTH(`FIXED_DIV_STAGES)) d_pipes
- (
- .in(d),
- .out(d_hold),
- .*
- );
-`endif
-
-endmodule