aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/fpga_mkm.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtl/fpga_mkm.v')
-rw-r--r--src/rtl/fpga_mkm.v24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/rtl/fpga_mkm.v b/src/rtl/fpga_mkm.v
index 6dee64a..eb6172d 100644
--- a/src/rtl/fpga_mkm.v
+++ b/src/rtl/fpga_mkm.v
@@ -102,18 +102,26 @@ module fpga_mkm(
//----------------------------------------------------------------
// reg_update
//----------------------------------------------------------------
- always @ (posedge clk)
+ always @ (posedge clk or negedge tamper)
begin : reg_update
- alarm_counter_reg <= alarm_counter_reg + 1;
+ if (!tamper)
+ begin
+ // Zeroise the key material!
- if (alarm_we)
- alarm_reg <= alarm_new;
+ end
+ else
+ begin
+ alarm_counter_reg <= alarm_counter_reg + 1;
- if (key_loaded_we)
- key_loaded_reg <= key_loaded_new;
+ if (alarm_we)
+ alarm_reg <= alarm_new;
- if (fpga_mkm_ctrl_we)
- fpga_mkm_ctrl_reg <= fpga_mkm_ctrl_new;
+ if (key_loaded_we)
+ key_loaded_reg <= key_loaded_new;
+
+ if (fpga_mkm_ctrl_we)
+ fpga_mkm_ctrl_reg <= fpga_mkm_ctrl_new;
+ end
end