Sampling model
Reason from the sampled clock edge.
Separate simulation updates from assertion sampling, then explain exactly when a concurrent property observes, evaluates, and reports a result.
Preparing questions and your practice workspace.
SystemVerilog Assertions interview preparation
Learn the sampling model, temporal operators, proof controls, and reusable protocol patterns through six connected concepts.
Curated and reviewed by industry engineersUpdated July 2026IEEE 1800 SystemVerilog reference
The language bench / assertions
assert property (@(posedge clk) disable iff (!rst_n)
$rose(req) |-> ##[1:3] ack);
// ACK must be sampled 1, 2, or 3 cycles after REQ rises.Question directory
Open a question at its supporting explanation. The complete property reference stays directly above each answer set.
Sampling model
Separate simulation updates from assertion sampling, then explain exactly when a concurrent property observes, evaluates, and reports a result.
Assertion anatomy
Start with Boolean expressions, compose sequences across sampled clocks, turn them into properties, and finally choose assert, assume, or cover.
Implication and timing
Draw the trace first, mark the antecedent endpoint, and only then choose overlapped or nonoverlapped implication and any explicit delay.
Sequence operators
Distinguish consecutive, nonconsecutive, and goto repetition, then combine sequences only when their start and endpoint contracts are clear.
Reset and meaningful proof
Control attempt lifetime with reset, expose vacuity with coverage, and state the assumptions that separate useful formal proof from an overconstrained result.
Protocol patterns
Check causality, bounded response, stability, exclusivity, and ordering separately so a failure points to one broken rule instead of one dense property.