aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/keywrap_core.v
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2018-07-05 09:58:39 +0200
committerJoachim StroĢˆmbergson <joachim@secworks.se>2018-07-05 09:58:39 +0200
commit6b15816bff4c0c3ab22bf6d8185da48a263f7727 (patch)
tree0679fd463f258dde0a56cb19fcb6256b4d3a695e /src/rtl/keywrap_core.v
parent84164cf6ae48923dfd0bd8a4d818642cd39a4e93 (diff)
Fixed memory word order. Fixed a number of bugs. First block encrypted correctly. A state is wrong and memory is read too far.
Diffstat (limited to 'src/rtl/keywrap_core.v')
-rw-r--r--src/rtl/keywrap_core.v18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/rtl/keywrap_core.v b/src/rtl/keywrap_core.v
index e7b7749..07a079b 100644
--- a/src/rtl/keywrap_core.v
+++ b/src/rtl/keywrap_core.v
@@ -127,6 +127,7 @@ module keywrap_core (
reg aes_init;
reg aes_next;
wire aes_ready;
+ wire aes_valid;
reg [127 : 0] aes_block;
wire [127 : 0] aes_result;
@@ -170,7 +171,7 @@ module keywrap_core (
.ready(aes_ready),
.result(aes_result),
- .result_valid()
+ .result_valid(aes_valid)
);
@@ -351,7 +352,10 @@ module keywrap_core (
ready_we = 1'h1;
valid_new = 1'h0;
valid_we = 1'h1;
- keywrap_core_ctrl_new = CTRL_NEXT_START;
+ init_a = 1'h1;
+ block_ctr_rst = 1'h1;
+ iteration_ctr_rst = 1'h1;
+ keywrap_core_ctrl_new = CTRL_NEXT_LOOP;
keywrap_core_ctrl_we = 1'h1;
end
end
@@ -376,16 +380,6 @@ module keywrap_core (
end
- CTRL_NEXT_START:
- begin
- init_a = 1'h1;
- block_ctr_rst = 1'h1;
- iteration_ctr_rst = 1'h1;
- keywrap_core_ctrl_new = CTRL_NEXT_LOOP;
- keywrap_core_ctrl_we = 1'h1;
- end
-
-
CTRL_NEXT_LOOP:
begin
aes_next = 1'h1;