Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Start Here6
  • SystemVerilog Language Foundations28
  • Object-Oriented SystemVerilog for Verification30
  • Constraint Randomization — Interview-Critical Deep Dive36
  • SystemVerilog Assertions — Interview-Critical Deep Dive40
    • SVA Fundamentals
    • Sequences: Temporal Building Blocks
    • Implication and Property Operators
    • Sampled Value Functions
    • Protocol Assertion Cookbook
    • Advanced SVA: Local Variables, Multiclock & More
    • Assertion Debug & Methodology
    • SVA Interview Drills
      • Handshake Drills
      • Pulse & Stability Drills
      • Ordering & Counting Drills
      • Data & Reset Drills
      • FSM & Arbiter Drills
      • Q&A: Assertion Fundamentals
      • Q&A: Operators & Semantics
      • Q&A: Vacuity, Debug & Formal
  • Functional Coverage in SystemVerilog22
  • Testbench Architecture in SystemVerilog23
  • Advanced Language & Integration25
  • Senior & Interview Preparation21
  • Principal-Level Verification28
Loading lesson

‹SystemVerilog Assertions — Interview-Critical Deep Dive
  1. Topics
  2. SystemVerilog
  3. SystemVerilog Assertions — Interview-Critical Deep Dive
  4. SVA Interview Drills

Part 4 · Assertions (SVA) · Intermediate

SVA Interview Drills

Write-the-assertion drills graded on a real simulator, and SVA Q&A revision with runnable proof.

  • 8topics
  • 8lessons

SVA interviews have two rounds. The whiteboard round states a protocol rule in English and asks for the assertion. The verbal round asks what the operators mean and why an assertion disagrees with a waveform.

Each drill page gives three prompts and one starter bench. You write the assertions, run the bench, and read the grader before you see any answer. The grader runs legal traffic, where your assertions must stay silent, then one planted bug per drill, which yours must report: an answer that is too strict and an answer that is too loose both fail.

Every drill in this topic follows one discipline. Restate the rule with cycle numbers, choose edge or level aloud, pick the implication, then step the property through a pass trace and a fail trace.

  1. Restate the rule with explicit cycle numbers: if req rises at cycle T, ack is high at cycle T+3 exactly.

  2. Declare the antecedent edge or level choice out loud and why.

  3. Write the property, then draw a pass trace and a fail trace and step through both.

  4. State what the assertion does not check: vacuous cases, reset, overlapping requests.

The sentence says

Family

Tools

X happens, then Y within N cycles

Handshake and delay

##N, ##[M:N]

X is high for exactly or at least K cycles

Pulse width

Written-out runs, [*K]

Y must not change while X

Stability

$stable, throughout

A, then B, then C

Ordering

until, [->1], ##

No more than N outstanding, or N in a row

Counting

A counter in modeling code

Output equals input N cycles ago

Data integrity

$past, or data kept by tag

After reset, ...

Reset

Modeling flops that reset with the design

Only legal transitions, one grant

FSM and arbiter

inside, $onehot0

Then decide four things aloud: edge or level antecedent ($rose or the raw level), same cycle or next (|-> or |=>), bounded or unbounded (##[1:N] for simulation), and disable iff on reset (almost always).

Lesson

You will drill…

Handshake Drills

Exact and windowed req/ack latency, stability until ack, no re-request, no orphan ack.

Pulse & Stability Drills

Single-cycle pulses, bounded widths, stable-while-enabled data, glitch windows, mutex rules.

Ordering & Counting Drills

Bounded A-then-B ordering, goto versus nonconsecutive repetition, windowed counts, aux counters.

Data & Reset Drills

Pipeline delay checks, tag matching, write-readback rules, reset values, X contracts.

FSM & Arbiter Drills

Legal transitions, onehot state, per-bit grant rules, round-robin ordering.

Q&A: Assertion Fundamentals

Immediate versus concurrent, sampling, attempts, assert/assume/cover, naming.

Q&A: Operators & Semantics

Implication anchors, delay ranges, repetition endpoints, window operators, first_match.

Q&A: Vacuity, Debug & Formal

Vacuous passes, cover pairing, weak versus strong, debug triage, formal semantics.

When an assertion fails on good RTL, or passes on broken RTL, one of seven classic mistakes is usually behind it.

  1. Fails a known-good design at txn end, off by one cycle: implication off-by-one.

  2. One pass then N-1 fails per transaction (a fail for every extra cycle the level stays high), attempt counts explode: level retrigger.

  3. Failures clustered at reset events: missing disable iff.

  4. Dead handshake but regression green: weak unbounded liveness.

  5. Late event accepted silently: [=N] absorbing the slack.

  6. False fail when the trigger window has several matches: missing first_match.

  7. False fail right after reset or between beats: ungated $past.

Check yourself The interviewer says ack arrives exactly 3 cycles after req rises. Which three decisions do you state before writing anything?

Edge or level for the antecedent ($rose, since one rise is one obligation), the implication (|-> with ##3, since the rise cycle plus 3 is the target), and the reset clause (disable iff, since this is a functional check).

Interview

“Write the assertion, then break your own answer” is the standard format. Candidates who volunteer the pass trace, the fail trace, and what is not checked finish strongest.

PreviousNext: Handshake Drills

Up next

Up nextHandshake Drills

Sign in to save progress

Practice this lessonReport an error

See also

  • SVA Fundamentals
  • Sequences: Temporal Building Blocks
  • Implication and Property Operators