[Cryptech-Commits] [core/math/modexp] 02/02: Corrected suffixes and cleaned up product address generation.

git at cryptech.is git at cryptech.is
Wed Jun 24 12:33:22 UTC 2015


This is an automated email from the git hooks/post-receive script.

joachim at secworks.se pushed a commit to branch perfopt
in repository core/math/modexp.

commit 5c3a5cc2e38cc8680622d7a652e60567f716f897
Author: Joachim Strömbergson <joachim at secworks.se>
Date:   Wed Jun 24 14:33:13 2015 +0200

    Corrected suffixes and cleaned up product address generation.
---
 src/rtl/montprod.v | 43 ++++++++++++++++++++-----------------------
 1 file changed, 20 insertions(+), 23 deletions(-)

diff --git a/src/rtl/montprod.v b/src/rtl/montprod.v
index 7276b4b..4af1069 100644
--- a/src/rtl/montprod.v
+++ b/src/rtl/montprod.v
@@ -87,13 +87,6 @@ module montprod #(parameter OPW = 32, parameter ADW = 8)
   //----------------------------------------------------------------
   // Registers including update variables and write enable.
   //----------------------------------------------------------------
-  reg [(ADW - 1) : 0]  opa_addr_reg;
-  reg [(ADW - 1) : 0]  opb_addr_reg;
-  reg [(ADW - 1) : 0]  opm_addr_reg;
-
-  reg [(ADW - 1) : 0]  result_addr_reg;
-  reg [(OPW - 1) : 0]  result_data_reg;
-
   reg                  ready_reg;
   reg                  ready_new;
   reg                  ready_we;
@@ -139,8 +132,6 @@ module montprod #(parameter OPW = 32, parameter ADW = 8)
   reg                  inc_word_index;
   reg                  dec_word_index;
 
-  reg [(ADW - 1) : 0]  length_m1;
-
   reg                  add_carry_in_sa_reg;
   reg                  add_carry_in_sa_new;
   reg                  add_carry_in_sm_reg;
@@ -157,7 +148,6 @@ module montprod #(parameter OPW = 32, parameter ADW = 8)
   //----------------------------------------------------------------
   // Wires.
   //----------------------------------------------------------------
-  reg                  tmp_result_we;
   wire [(OPW - 1) : 0] add_result_sa;
   wire                 add_carry_out_sa;
   wire [(OPW - 1) : 0] add_result_sm;
@@ -167,10 +157,18 @@ module montprod #(parameter OPW = 32, parameter ADW = 8)
   wire                 shr_carry_out;
   wire [(OPW - 1) : 0] shr_data_out;
 
+  reg [(ADW - 1) : 0]  tmp_opa_addr;
+  reg [(ADW - 1) : 0]  tmp_opb_addr;
+  reg [(ADW - 1) : 0]  tmp_opm_addr;
+  reg [(ADW - 1) : 0]  tmp_result_addr;
+  reg [(OPW - 1) : 0]  tmp_result_data;
+  reg                  tmp_result_we;
 
   reg [(OPW - 1) : 0]  sa_adder_data_in;
   reg [(OPW - 1) : 0]  muxed_s_mem_read_data;
 
+  reg [(ADW - 1) : 0]  length_m1;
+
   // Temporary debug wires.
   reg b_js;
   reg pr_tt;
@@ -179,12 +177,12 @@ module montprod #(parameter OPW = 32, parameter ADW = 8)
   //----------------------------------------------------------------
   // Concurrent connectivity for ports etc.
   //----------------------------------------------------------------
-  assign opa_addr    = opa_addr_reg;
-  assign opb_addr    = opb_addr_reg;
-  assign opm_addr    = opm_addr_reg;
+  assign opa_addr    = tmp_opa_addr;
+  assign opb_addr    = tmp_opb_addr;
+  assign opm_addr    = tmp_opm_addr;
 
-  assign result_addr = result_addr_reg;
-  assign result_data = result_data_reg;
+  assign result_addr = tmp_result_addr;
+  assign result_data = tmp_result_data;
   assign result_we   = tmp_result_we;
 
   assign ready       = ready_reg;
@@ -303,17 +301,16 @@ module montprod #(parameter OPW = 32, parameter ADW = 8)
   //----------------------------------------------------------------
   always @*
     begin : prodcalc
-      opa_addr_reg  = word_index_reg;
-      opb_addr_reg  = b_word_index;
-      opm_addr_reg  = word_index_reg;
-      tmp_result_we = 1'b0;
-
-      result_addr_reg  = word_index_prev_reg;
-      result_data_reg  = s_mem_read_data;
+      tmp_opa_addr     = word_index_reg;
+      tmp_opb_addr     = b_word_index;
+      tmp_opm_addr     = word_index_reg;
+      tmp_result_addr  = word_index_prev_reg;
+      tmp_result_data  = s_mem_read_data;
+      tmp_result_we    = 1'b0;
 
       if (montprod_ctrl_reg == CTRL_LOOP_ITER)
         begin
-          opa_addr_reg = length_m1;
+          tmp_opa_addr = length_m1;
         end
 
       if (montprod_ctrl_reg == CTRL_EMIT_S)



More information about the Commits mailing list