aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/chacha_core.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtl/chacha_core.v')
-rw-r--r--src/rtl/chacha_core.v20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/rtl/chacha_core.v b/src/rtl/chacha_core.v
index 32f37f5..6cb1e51 100644
--- a/src/rtl/chacha_core.v
+++ b/src/rtl/chacha_core.v
@@ -82,8 +82,10 @@ module chacha_core(
localparam CTRL_INIT = 3'h1;
localparam CTRL_ROUNDS0 = 3'h2;
localparam CTRL_ROUNDS1 = 3'h3;
- localparam CTRL_FINALIZE = 3'h4;
- localparam CTRL_DONE = 3'h5;
+ localparam CTRL_ROUNDS2 = 3'h4;
+ localparam CTRL_ROUNDS3 = 3'h5;
+ localparam CTRL_FINALIZE = 3'h6;
+ localparam CTRL_DONE = 3'h7;
//----------------------------------------------------------------
@@ -666,6 +668,20 @@ module chacha_core(
CTRL_ROUNDS1:
begin
+ update_state = 1;
+ chacha_ctrl_new = CTRL_ROUNDS2;
+ chacha_ctrl_we = 1;
+ end
+
+ CTRL_ROUNDS2:
+ begin
+ update_state = 1;
+ chacha_ctrl_new = CTRL_ROUNDS3;
+ chacha_ctrl_we = 1;
+ end
+
+ CTRL_ROUNDS3:
+ begin
state_we = 1;
update_state = 1;
qr_ctr_inc = 1;