Skip to question
SystemVerilogDesignVerificationFirmwareArchitectureASIC Interview Questions→
/Interview questions/How SVA disable iff Handles Reset

Q011·Free·Design Verification

How SVA disable iff Handles Reset

Difficulty
Easy
Topic
Temporal Checks
Language
SV
Interview prompt

Question

A request is sampled high, but rst_n goes low before the next edge where gnt would be checked. What happens to that pending assertion attempt?

Provided context

Code to inspect

assert property (@(posedge clk) disable iff (!rst_n) req |=> gnt);
Choose one

Answer choices

  1. A. It fails because gnt was not checked
  2. B. It passes nonvacuously
  3. C. It is asynchronously disabled and produces neither pass nor failure for that attempt
  4. D. It remains pending until rst_n rises
Answer framework

Short answer

The pending attempt is canceled as soon as `rst_n` becomes low. It is not counted as a pass or failure and does not wait to resume. `disable iff` acts independently of the assertion’s sampling edge, so reset between edges still aborts it.

Why this reasoning works

When `req` is sampled high, the nonoverlapped implication creates an obligation to examine `gnt` at the following rising edge. Before that check arrives, `!rst_n` becomes true. The disable condition terminates the live property evaluation, removing the outstanding obligation rather than evaluating a missing grant as a failure for that attempt.

This behavior differs from placing reset only inside a clocked antecedent, which samples reset at assertion events. It is useful when reset should invalidate in-flight protocol checks immediately. Once reset is released, future clock edges may launch new attempts, but the canceled attempt is gone; it is neither paused nor restarted.

Interview takeaways

  • Reset aborts the live attempt
  • Abort is neither pass nor fail
  • New attempts begin after reset
Exact question handoffPractice Q011

Solve it in the question bank, keep your progress, and reveal the reviewed solution when your access allows.

Open in question bank →
Solution accessEach time you open this Solution, one Practice Credit is used; it is not permanently unlocked. Premium Solution content also uses one credit per opening.
Continue learning

SVA Proof and Reset

Review reset aborts, assumptions, vacuity, safety, liveness, and meaningful proof.

  • Temporal Checks
  • SystemVerilog
  • Assertion timing
SVA Proof and Reset →
Continue practicing

Related questions

Q046 · Temporal ChecksProve an elastic one-hot checkerHard→Q390 · Temporal ChecksVacuityMediumP→Q308 · Assertions and FormalAbort an assertion during resetEasyP→Q065 · Formal VerificationProve an arbiter avoids deadlock and livelockHard→Q1049 · Assertions and FormalProve a fair round-robin arbiterHardP→
ASIC.FYI · Learn silicon end to end.info@asic.fyi