aboutsummaryrefslogtreecommitdiff
path: root/rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v')
-rw-r--r--rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v41
1 files changed, 24 insertions, 17 deletions
diff --git a/rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v b/rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v
index fee8216..b8dcbce 100644
--- a/rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v
+++ b/rtl/modexpng_dsp_slice_addsub_wrapper_xilinx.v
@@ -30,13 +30,18 @@
//
//======================================================================
-module modexpng_dsp_slice_addsub_wrapper_xilinx
+module modexpng_dsp_slice_addsub_wrapper_xilinx #
+(
+ AB_REG = 1
+)
(
clk,
- ce_abc,
+ ce_ab1,
+ ce_ab2,
+ ce_c,
ce_p,
ce_ctrl,
- x, y, p,
+ ab, c, p,
op_mode,
alu_mode,
carry_in_sel,
@@ -48,11 +53,13 @@ module modexpng_dsp_slice_addsub_wrapper_xilinx
`include "modexpng_dsp48e1.vh"
input clk;
- input ce_abc;
+ input ce_ab1;
+ input ce_ab2;
+ input ce_c;
input ce_p;
input ce_ctrl;
- input [ DSP48E1_C_W -1:0] x;
- input [ DSP48E1_C_W -1:0] y;
+ input [ DSP48E1_C_W -1:0] ab;
+ input [ DSP48E1_C_W -1:0] c;
output [ DSP48E1_P_W -1:0] p;
input [ DSP48E1_OPMODE_W -1:0] op_mode;
input [ DSP48E1_ALUMODE_W -1:0] alu_mode;
@@ -67,22 +74,22 @@ module modexpng_dsp_slice_addsub_wrapper_xilinx
wire [ DSP48E1_P_W -1:0] p_int;
wire [DSP48E1_CARRYOUT_W -1:0] carry_out_int;
- assign {a_int, b_int} = {x};
- assign {c_int} = {y};
+ assign {a_int, b_int} = {ab};
+ assign {c_int} = {c};
assign {p} = {p_int};
assign {carry_out} = {carry_out_int[DSP48E1_CARRYOUT_W-1]};
DSP48E1 #
(
- .AREG (1),
- .BREG (1),
+ .AREG (AB_REG),
+ .BREG (AB_REG),
.CREG (1),
.DREG (0),
.ADREG (0),
.MREG (0),
.PREG (1),
- .ACASCREG (1),
- .BCASCREG (1),
+ .ACASCREG (AB_REG),
+ .BCASCREG (AB_REG),
.INMODEREG (0),
.OPMODEREG (1),
.ALUMODEREG (1),
@@ -108,12 +115,12 @@ module modexpng_dsp_slice_addsub_wrapper_xilinx
(
.CLK (clk),
- .CEA1 (1'b0),
- .CEB1 (1'b0),
- .CEA2 (ce_abc),
- .CEB2 (ce_abc),
+ .CEA1 (ce_ab1),
+ .CEB1 (ce_ab1),
+ .CEA2 (ce_ab2),
+ .CEB2 (ce_ab2),
.CEAD (1'b0),
- .CEC (ce_abc),
+ .CEC (ce_c),
.CED (1'b0),
.CEM (1'b0),
.CEP (ce_p),