aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/aes.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtl/aes.v')
-rw-r--r--src/rtl/aes.v26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/rtl/aes.v b/src/rtl/aes.v
index 0d719d2..4f668bc 100644
--- a/src/rtl/aes.v
+++ b/src/rtl/aes.v
@@ -236,20 +236,23 @@ module aes(
begin
if (we)
begin
- if (address == ADDR_CTRL)
+ if (core_ready)
begin
- init_new = write_data[CTRL_INIT_BIT];
- next_new = write_data[CTRL_NEXT_BIT];
- end
+ if (address == ADDR_CTRL)
+ begin
+ init_new = write_data[CTRL_INIT_BIT];
+ next_new = write_data[CTRL_NEXT_BIT];
+ end
- if (address == ADDR_CONFIG)
- config_we = 1'b1;
+ if (address == ADDR_CONFIG)
+ config_we = 1'b1;
- if ((address >= ADDR_KEY0) && (address <= ADDR_KEY7))
- key_we = 1'b1;
+ if ((address >= ADDR_KEY0) && (address <= ADDR_KEY7))
+ key_we = 1'b1;
- if ((address >= ADDR_BLOCK0) && (address <= ADDR_BLOCK3))
- block_we = 1'b1;
+ if ((address >= ADDR_BLOCK0) && (address <= ADDR_BLOCK3))
+ block_we = 1'b1;
+ end
end // if (we)
else
@@ -267,7 +270,8 @@ module aes(
endcase // case (address)
if ((address >= ADDR_RESULT0) && (address <= ADDR_RESULT3))
- tmp_read_data = result_reg[(3 - (address - ADDR_RESULT0)) * 32 +: 32];
+ if (core_ready)
+ tmp_read_data = result_reg[(3 - (address - ADDR_RESULT0)) * 32 +: 32];
end
end
end // addr_decoder