[aes/dv] added idle assert check

Signed-off-by: Rasmus Madsen <rasmus.madsen@wdc.com>
diff --git a/hw/ip/aes/dv/sva/aes_bind.sv b/hw/ip/aes/dv/sva/aes_bind.sv
index fd4f1f7..4febb66 100644
--- a/hw/ip/aes/dv/sva/aes_bind.sv
+++ b/hw/ip/aes/dv/sva/aes_bind.sv
@@ -20,4 +20,12 @@
     .d2h    (tl_o)
   );
 
+  bind aes aes_idle_check idle_check (
+    .clk_i    (clk_i),
+    .rst_ni   (rst_ni),
+    .reg2hw   (reg2hw),
+    .idle_i   (idle_o)
+   );
+
+
 endmodule
diff --git a/hw/ip/aes/dv/sva/aes_idle_check.sv b/hw/ip/aes/dv/sva/aes_idle_check.sv
new file mode 100644
index 0000000..b810283
--- /dev/null
+++ b/hw/ip/aes/dv/sva/aes_idle_check.sv
@@ -0,0 +1,24 @@
+// Copyright lowRISC contributors.
+// Licensed under the Apache License, Version 2.0, see LICENSE for details.
+// SPDX-License-Identifier: Apache-2.0
+
+`include "prim_assert.sv"
+
+module aes_idle_check
+  import aes_reg_pkg::*;
+(
+ input logic               clk_i,
+ input logic               rst_ni,
+ input aes_reg2hw_t        reg2hw,
+ input logic               idle_i
+ );
+
+
+  logic                    is_running;
+  logic                    idle;
+
+  assign idle = (reg2hw.status.idle.q == 1'b1);
+
+  // make sure idle_i always matched the register idle state
+  `ASSERT(IdleNotIdle_A, idle == idle_i);
+endmodule
diff --git a/hw/ip/aes/dv/sva/aes_sva.core b/hw/ip/aes/dv/sva/aes_sva.core
index 9320f48..2db03f4 100644
--- a/hw/ip/aes/dv/sva/aes_sva.core
+++ b/hw/ip/aes/dv/sva/aes_sva.core
@@ -9,8 +9,10 @@
     depend:
       - lowrisc:tlul:headers
       - lowrisc:fpv:csr_assert_gen
+      - lowrisc:ip:aes
     files:
       - aes_bind.sv
+      - aes_idle_check.sv
     file_type: systemVerilogSource
 
   files_formal: