[aes/otbn/kmac] block specific dv changes to support mubi idle
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/aes/dv/sva/aes_idle_check.sv b/hw/ip/aes/dv/sva/aes_idle_check.sv
index b810283..c33ee1c 100644
--- a/hw/ip/aes/dv/sva/aes_idle_check.sv
+++ b/hw/ip/aes/dv/sva/aes_idle_check.sv
@@ -10,7 +10,7 @@
input logic clk_i,
input logic rst_ni,
input aes_reg2hw_t reg2hw,
- input logic idle_i
+ input prim_mubi_pkg::mubi4_t idle_i
);
@@ -20,5 +20,5 @@
assign idle = (reg2hw.status.idle.q == 1'b1);
// make sure idle_i always matched the register idle state
- `ASSERT(IdleNotIdle_A, idle == idle_i);
+ `ASSERT(IdleNotIdle_A, prim_mubi_pkg::mubi4_bool_to_mubi(idle) == idle_i);
endmodule
diff --git a/hw/ip/kmac/dv/env/kmac_if.sv b/hw/ip/kmac/dv/env/kmac_if.sv
index 1eaf93c..d62fc4a 100644
--- a/hw/ip/kmac/dv/env/kmac_if.sv
+++ b/hw/ip/kmac/dv/env/kmac_if.sv
@@ -6,7 +6,7 @@
lc_ctrl_pkg::lc_tx_t lc_escalate_en_i;
- logic idle_o;
+ prim_mubi_pkg::mubi4_t idle_o;
logic en_masking_o;
logic [kmac_pkg::NumAppIntf-1:0] app_err_o;
diff --git a/hw/ip/kmac/dv/env/seq_lib/kmac_base_vseq.sv b/hw/ip/kmac/dv/env/seq_lib/kmac_base_vseq.sv
index abc71e5..3532816 100644
--- a/hw/ip/kmac/dv/env/seq_lib/kmac_base_vseq.sv
+++ b/hw/ip/kmac/dv/env/seq_lib/kmac_base_vseq.sv
@@ -280,7 +280,7 @@
virtual task kmac_init(bit wait_init = 1);
// Wait for KMAC to reach idle state
if (wait_init) begin
- wait (cfg.kmac_vif.idle_o == 1);
+ wait (cfg.kmac_vif.idle_o == prim_mubi_pkg::MuBi4True);
`uvm_info(`gfn, "reached idle state", UVM_HIGH)
end
diff --git a/hw/ip/otbn/dv/uvm/sva/otbn_idle_checker.sv b/hw/ip/otbn/dv/uvm/sva/otbn_idle_checker.sv
index 1be69f5..64b19cb 100644
--- a/hw/ip/otbn/dv/uvm/sva/otbn_idle_checker.sv
+++ b/hw/ip/otbn/dv/uvm/sva/otbn_idle_checker.sv
@@ -14,7 +14,7 @@
input otbn_hw2reg_t hw2reg,
input logic done_i,
- input logic idle_o_i
+ input prim_mubi_pkg::mubi4_t idle_o_i
);
// Detect writes of CmdExecute to CMD. They only take effect if we are in state IDLE
@@ -41,6 +41,6 @@
// Check that we've modelled the running/not-running logic correctly. The idle_o pin from OTBN
// should be true iff running is false
- `ASSERT(IdleIfNotRunning_A, idle_o_i ^ running_q)
+ `ASSERT(IdleIfNotRunning_A, (idle_o_i == prim_mubi_pkg::MuBi4True) ^ running_q)
endmodule
diff --git a/hw/ip/otbn/dv/uvm/tb.sv b/hw/ip/otbn/dv/uvm/tb.sv
index 4296ada..9b01346 100644
--- a/hw/ip/otbn/dv/uvm/tb.sv
+++ b/hw/ip/otbn/dv/uvm/tb.sv
@@ -127,8 +127,6 @@
.tl_o(tl_if.d2h),
.idle_o(idle),
- // TODO: Once this signal's behaviour is specified, check that it behaves as we expect.
- .idle_otp_o (),
.intr_done_o(intr_done),