diff options
author | Pavel V. Shatov (Meister) <meisterpaul1@yandex.ru> | 2020-02-03 22:41:22 +0300 |
---|---|---|
committer | Pavel V. Shatov (Meister) <meisterpaul1@yandex.ru> | 2020-02-03 22:41:22 +0300 |
commit | 2500312ba55ed31c1a4c49c5797d13220d2925cc (patch) | |
tree | d04d7ecf107b0c184b02b5f97ee6c1c3e88b1406 | |
parent | c5d210149af3e40170fcd01047d3b844ed65871c (diff) |
Added new DSP slice OPMODEs for the new recombination algorithm.
-rw-r--r-- | rtl/modexpng_dsp48e1.vh | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/rtl/modexpng_dsp48e1.vh b/rtl/modexpng_dsp48e1.vh index 8140917..304e8d9 100644 --- a/rtl/modexpng_dsp48e1.vh +++ b/rtl/modexpng_dsp48e1.vh @@ -51,6 +51,7 @@ localparam DSP48E1_OPMODE_Y_C = 2'b11; localparam DSP48E1_OPMODE_Z_DNC = 3'bXXX; localparam DSP48E1_OPMODE_Z_0 = 3'b000; +localparam DSP48E1_OPMODE_Z_PCIN = 3'b001; localparam DSP48E1_OPMODE_Z_P17 = 3'b110; localparam DSP48E1_OPMODE_Z_PCIN17 = 3'b101; localparam DSP48E1_OPMODE_Z_P = 3'b010; @@ -58,14 +59,19 @@ localparam DSP48E1_OPMODE_Z_C = 3'b011; localparam DSP48E1_OPMODE_DNC = {DSP48E1_OPMODE_Z_DNC, DSP48E1_OPMODE_Y_DNC, DSP48E1_OPMODE_X_DNC}; +localparam DSP48E1_OPMODE_Z0_YC_X0 = {DSP48E1_OPMODE_Z_0, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_0}; +localparam DSP48E1_OPMODE_Z0_Y0_XAB = {DSP48E1_OPMODE_Z_0, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; localparam DSP48E1_OPMODE_Z0_YC_XAB = {DSP48E1_OPMODE_Z_0, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZC_Y0_XAB = {DSP48E1_OPMODE_Z_C, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZP_Y0_XAB = {DSP48E1_OPMODE_Z_P, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZP_YC_X0 = {DSP48E1_OPMODE_Z_P, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_0}; +localparam DSP48E1_OPMODE_ZP_YC_XAB = {DSP48E1_OPMODE_Z_P, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZP17_Y0_XAB = {DSP48E1_OPMODE_Z_P17, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; localparam DSP48E1_OPMODE_ZP17_YC_XAB = {DSP48E1_OPMODE_Z_P17, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_AB}; -localparam DSP48E1_OPMODE_Z0_Y0_XAB = {DSP48E1_OPMODE_Z_0, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; -localparam DSP48E1_OPMODE_ZPCIN17_YC_XAB = {DSP48E1_OPMODE_Z_PCIN17, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_AB}; -localparam DSP48E1_OPMODE_Z0_YC_X0 = {DSP48E1_OPMODE_Z_0, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_0}; localparam DSP48E1_OPMODE_ZP17_YC_X0 = {DSP48E1_OPMODE_Z_P17, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_0}; -localparam DSP48E1_OPMODE_ZP_YC_X0 = {DSP48E1_OPMODE_Z_P, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_0}; -localparam DSP48E1_OPMODE_ZC_Y0_XAB = {DSP48E1_OPMODE_Z_C, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZPCIN17_YC_XAB = {DSP48E1_OPMODE_Z_PCIN17, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZPCIN_Y0_XAB = {DSP48E1_OPMODE_Z_PCIN, DSP48E1_OPMODE_Y_0, DSP48E1_OPMODE_X_AB}; +localparam DSP48E1_OPMODE_ZPCIN_YC_XAB = {DSP48E1_OPMODE_Z_PCIN, DSP48E1_OPMODE_Y_C, DSP48E1_OPMODE_X_AB}; localparam DSP48E1_CARRYINSEL_DNC = 3'bXXX; localparam DSP48E1_CARRYINSEL_CARRYIN = 3'b000; |