[dv/pwrmgr] Fix assertion for usb_clk_en_active

Compare usb_clk_en against the captured value of usb_clk_en_active_i
since the latter value can change anytime.

Signed-off-by: Guillermo Maturana <maturana@google.com>
diff --git a/hw/ip/pwrmgr/dv/sva/pwrmgr_clock_enables_if.sv b/hw/ip/pwrmgr/dv/sva/pwrmgr_clock_enables_if.sv
index dc7b0c8..9d3d8c8 100644
--- a/hw/ip/pwrmgr/dv/sva/pwrmgr_clock_enables_if.sv
+++ b/hw/ip/pwrmgr/dv/sva/pwrmgr_clock_enables_if.sv
@@ -31,15 +31,21 @@
 
   sequence transitionDown_S; state == pwrmgr_pkg::SlowPwrStatePwrClampOn; endsequence
 
+  sequence usbActiveTransition_S;
+    logic prev_en;
+    (1'b1, prev_en = usb_clk_en_active_i) ##1 usb_clk_en == prev_en;
+  endsequence
+
   `ASSERT(CoreClkPwrUp_A, transitionUp_S |=> core_clk_en == 1'b1, clk_i, reset_or_disable)
   `ASSERT(IoClkPwrUp_A, transitionUp_S |=> io_clk_en == 1'b1, clk_i, reset_or_disable)
   `ASSERT(UsbClkPwrUp_A, transitionUp_S |=> usb_clk_en == usb_clk_en_active_i, clk_i,
           reset_or_disable)
 
+  // This deals with transitions while the fast fsm is active.
   `ASSERT(UsbClkActive_A,
           state == pwrmgr_pkg::SlowPwrStateIdle && $changed(
               usb_clk_en_active_i
-          ) |=> usb_clk_en == usb_clk_en_active_i,
+          ) |-> usbActiveTransition_S,
           clk_i, reset_or_disable)
 
   `ASSERT(CoreClkPwrDown_A, transitionDown_S |=> core_clk_en == core_clk_en_i, clk_i,