[otbn,rtl] Fix timing of locking signal from controller

Commit 2aa877f *still* didn't quite get the timing of the locking
signal right. It squashed the single-cycle glitch at the start of the
secure wipe, but left another one at the end. This simple patch sorts
things out at both ends.

Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/otbn/rtl/otbn_controller.sv b/hw/ip/otbn/rtl/otbn_controller.sv
index d8d139c..1f10ff1 100644
--- a/hw/ip/otbn/rtl/otbn_controller.sv
+++ b/hw/ip/otbn/rtl/otbn_controller.sv
@@ -288,12 +288,14 @@
 
   logic [4:0] insn_bignum_rd_addr_a_q, insn_bignum_rd_addr_b_q, insn_bignum_wr_addr_q;
 
-  logic secure_wipe_running_q;
+  logic secure_wipe_running_q, secure_wipe_running_d;
+  assign secure_wipe_running_d = (start_secure_wipe_o |
+                                  (secure_wipe_running_q & ~secure_wipe_done_i));
   always_ff @(posedge clk_i or negedge rst_ni) begin
     if (!rst_ni) begin
       secure_wipe_running_q <= 1'b0;
     end else begin
-      secure_wipe_running_q <= start_secure_wipe_o | (secure_wipe_running_q & ~secure_wipe_done_i);
+      secure_wipe_running_q <= secure_wipe_running_d;
     end
   end
 
@@ -322,7 +324,7 @@
   assign executing = (state_q == OtbnStateRun) ||
                      (state_q == OtbnStateStall);
 
-  assign locking_o = (state_d == OtbnStateLocked) & ~(start_secure_wipe_o | secure_wipe_running_q);
+  assign locking_o = (state_d == OtbnStateLocked) & ~secure_wipe_running_d;
   assign start_secure_wipe_o = executing & (done_complete | err) & ~secure_wipe_running_q;
 
   assign jump_or_branch = (insn_valid_i &