diff options
Diffstat (limited to 'src/rtl/chacha_core.v')
-rw-r--r-- | src/rtl/chacha_core.v | 20 |
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; |