aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/keywrap_core.v
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2018-07-03 13:03:13 +0200
committerJoachim StroĢˆmbergson <joachim@secworks.se>2018-07-03 13:03:13 +0200
commit558493b2791b034de0f34ec11f872ce2a5b008c4 (patch)
treef59cd3f94a180631cf3331b5061c665a67d81b2c /src/rtl/keywrap_core.v
parentc874d87b9a4c78a8dd42f4fe860d10a4461bb8b7 (diff)
Debugged a lot of minor errors and added a lot of debug functions. Things are starting to work. As in AES is actually initialized and used.
Diffstat (limited to 'src/rtl/keywrap_core.v')
-rw-r--r--src/rtl/keywrap_core.v22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/rtl/keywrap_core.v b/src/rtl/keywrap_core.v
index aa6f0df..d476152 100644
--- a/src/rtl/keywrap_core.v
+++ b/src/rtl/keywrap_core.v
@@ -79,10 +79,11 @@ module keywrap_core (
localparam CTRL_NEXT_START = 4'h4;
localparam CTRL_NEXT_LOOP = 4'h5;
- localparam CTRL_NEXT_WAIT = 4'h6;
- localparam CTRL_NEXT_UPDATE = 4'h7;
- localparam CTRL_NEXT_CHECK = 4'h8;
- localparam CTRL_NEXT_FINALIZE = 4'h9;
+ localparam CTRL_NEXT_WAIT0 = 4'h6;
+ localparam CTRL_NEXT_WAIT = 4'h7;
+ localparam CTRL_NEXT_UPDATE = 4'h9;
+ localparam CTRL_NEXT_CHECK = 4'h9;
+ localparam CTRL_NEXT_FINALIZE = 4'ha;
//----------------------------------------------------------------
@@ -195,8 +196,8 @@ module keywrap_core (
if (!reset_n)
begin
a_reg <= 64'h0;
- ready_reg <= 1'h0;
- valid_reg <= 1'h0;
+ ready_reg <= 1'h1;
+ valid_reg <= 1'h1;
api_addr_ctr_reg <= 14'h0;
block_ctr_reg <= 13'h0;
iteration_ctr_reg <= 3'h0;
@@ -386,6 +387,8 @@ module keywrap_core (
begin
ready_new = 1'h0;
ready_we = 1'h1;
+ valid_new = 1'h0;
+ valid_we = 1'h1;
keywrap_core_ctrl_new = CTRL_NEXT_START;
keywrap_core_ctrl_we = 1'h1;
end
@@ -430,6 +433,13 @@ module keywrap_core (
end
+ CTRL_NEXT_WAIT0:
+ begin
+ keywrap_core_ctrl_new = CTRL_NEXT_WAIT;
+ keywrap_core_ctrl_we = 1'h1;
+ end
+
+
CTRL_NEXT_WAIT:
begin
if (aes_ready)