[Cryptech-Commits] [core/pkey/ecdsa256] 02/05: Ported microcode "worker" module
git at cryptech.is
git at cryptech.is
Tue Apr 13 14:21:05 UTC 2021
This is an automated email from the git hooks/post-receive script.
meisterpaul1 at yandex.ru pushed a commit to branch test_dpa_fix
in repository core/pkey/ecdsa256.
commit fdb28203d517dc646908b71e6f5de52bddb51ccc
Author: Pavel V. Shatov (Meister) <meisterpaul1 at yandex.ru>
AuthorDate: Mon Apr 12 17:32:34 2021 +0300
Ported microcode "worker" module
---
rtl/ecdsa256_uop_worker.v | 43 +++++++++++++++++--------------------------
1 file changed, 17 insertions(+), 26 deletions(-)
diff --git a/rtl/ecdsa256_uop_worker.v b/rtl/ecdsa256_uop_worker.v
index a754796..ac2a35c 100644
--- a/rtl/ecdsa256_uop_worker.v
+++ b/rtl/ecdsa256_uop_worker.v
@@ -42,8 +42,7 @@ module ecdsa256_uop_worker
ena, rdy,
uop_offset,
output_now,
- flagz_sz, flagz_rz,
- flagz_e, flagz_f,
+ flagz_r0z, flagz_r1z,
xy_addr, xy_dout, x_wren, y_wren
);
@@ -67,10 +66,8 @@ module ecdsa256_uop_worker
input output_now; // produce output
- output flagz_sz; // SZ is zero
- output flagz_rz; // RZ is zero
- output flagz_e; // E is zero
- output flagz_f; // F is zero
+ output flagz_r0z; // R0Z is zero
+ output flagz_r1z; // R1Z is zero
output [ 2: 0] xy_addr;
output [31: 0] xy_dout;
@@ -320,15 +317,11 @@ module ecdsa256_uop_worker
//
// Comparison Flags
//
- reg flagz_sz_reg;
- reg flagz_rz_reg;
- reg flagz_e_reg;
- reg flagz_f_reg;
+ reg flagz_r0z_reg;
+ reg flagz_r1z_reg;
- assign flagz_sz = flagz_sz_reg;
- assign flagz_rz = flagz_rz_reg;
- assign flagz_e = flagz_e_reg;
- assign flagz_f = flagz_f_reg;
+ assign flagz_r0z = flagz_r0z_reg;
+ assign flagz_r1z = flagz_r1z_reg;
reg mw_comp_rdy_dly = 1'b1;
@@ -339,12 +332,9 @@ module ecdsa256_uop_worker
if (mw_comp_rdy && !mw_comp_rdy_dly)
//
case (uop_data_operand_src1)
- UOP_OPERAND_CYCLE_SZ: flagz_sz_reg <= mw_comp_cmp_e;
- UOP_OPERAND_CYCLE_RZ: flagz_rz_reg <= mw_comp_cmp_e;
- UOP_OPERAND_CYCLE_E: flagz_e_reg <= mw_comp_cmp_e;
- UOP_OPERAND_CYCLE_F: flagz_f_reg <= mw_comp_cmp_e;
+ UOP_OPERAND_CYCLE_R0Z: flagz_r0z_reg <= mw_comp_cmp_e;
+ UOP_OPERAND_CYCLE_R1Z: flagz_r1z_reg <= mw_comp_cmp_e;
endcase
-
//
@@ -575,7 +565,7 @@ module ecdsa256_uop_worker
if (ena)
xy_phase <= 1'b0;
- else if (!mw_mover_ena && mw_mover_rdy && (fsm_state == FSM_STATE_BUSY))
+ else if (!mod_mul_ena && mod_mul_rdy && (fsm_state == FSM_STATE_BUSY))
xy_phase <= 1'b1;
end
@@ -583,18 +573,19 @@ module ecdsa256_uop_worker
always @(posedge clk)
//
- if (output_now && mw_mover_y_wren) xy_addr_reg <= mw_mover_y_addr;
- else xy_addr_reg <= 3'b000;
+ if (output_now && mod_mul_p_wren) xy_addr_reg <= mod_mul_p_addr;
+ else xy_addr_reg <= 3'b000;
always @(posedge clk)
//
- if (output_now && mw_mover_y_wren) xy_dout_reg <= mw_mover_y_dout;
- else xy_dout_reg <= 32'h00000000;
+ if (output_now && mod_mul_p_wren) xy_dout_reg <= mod_mul_p_dout;
+ else xy_dout_reg <= 32'h00000000;
always @(posedge clk)
//
- if (output_now && mw_mover_y_wren) {y_wren_reg, x_wren_reg} <= {xy_phase, ~xy_phase};
- else {y_wren_reg, x_wren_reg} <= 2'b00;
+ if (output_now && mod_mul_p_wren) {y_wren_reg, x_wren_reg} <= {xy_phase, ~xy_phase};
+ else {y_wren_reg, x_wren_reg} <= 2'b00;
+
endmodule
More information about the Commits
mailing list