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 Foundations35
  • Object-Oriented SystemVerilog for Verification35
  • Constraint Randomization — Interview-Critical Deep Dive66
  • SystemVerilog Assertions — Interview-Critical Deep Dive63
    • 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
    • Interview SVA Patterns — Write-the-Assertion Drills
      • Handshake Drills
      • Pulse & Stability Drills
      • Sequence Pattern Drills
      • Counting & Window Drills
      • Data Integrity Drills
      • Reset & X-Checking Drills
      • FSM & Arbiter Drills
      • SVA Anti-Patterns Review
    • SVA Interview Drills
    • SVA Interview Q&A — Deep Answers
  • Functional Coverage in SystemVerilog28
  • Testbench Architecture in SystemVerilog38
  • Advanced Language & Integration30
  • Senior & Interview Preparation34
  • Principal-Level Verification28
Loading lesson

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

Part 4 · Assertions (SVA) · Intermediate

Interview SVA Patterns — Write-the-Assertion Drills

Hub — the eight families of write-the-assertion interview problems: handshakes, pulses, sequences, counting, data integrity, reset/X, FSM/arbiter, and anti-patterns.

  • 8topics
  • 8lessons

Topics in this section

  1. 1Handshake Drills1 lesson
  2. 2Pulse & Stability Drills1 lesson
  3. 3Sequence Pattern Drills1 lesson
  4. 4Counting & Window Drills1 lesson
  5. 5Data Integrity Drills1 lesson
  6. 6Reset & X-Checking Drills1 lesson
  7. 7FSM & Arbiter Drills1 lesson
  8. 8SVA Anti-Patterns Review1 lesson
On this page

    Overview

    Nearly every design-verification interview contains a write-the-assertion round: the interviewer states a protocol rule in English and watches you translate it into SVA on a whiteboard. The rules come from a small set of recurring families. If you can recognize the family, you already know which operators the solution needs — the rest is careful bookkeeping about edges, cycle counts, and reset.

    Every drill in this topic follows the same discipline: restate the requirement precisely, decide edge or level for the antecedent, decide |-> vs |=>, pick the repetition/delay operators, add disable iff, then check the assertion against a pass trace and a fail trace cycle by cycle. Interviewers care more about that checking step than about getting the operator right on the first try.

    Sub-topics

    1. Handshake Drills — req/ack timing, stability until ack, no re-request, no orphan ack.

    2. Pulse & Stability Drills — one-cycle pulses, min/max width, stability windows, mutual exclusion.

    3. Sequence Pattern Drills — A-then-B-then-C, counted occurrences, B-before-C ordering, bit patterns.

    4. Counting & Window Drills — outstanding-transaction bounds, grant latency, events-per-window, stall runs.

    5. Data Integrity Drills — delayed-equality pipelines, FIFO matching with local variables, tag matching, write-readback.

    6. Reset & X-Checking Drills — reset values, X-freedom after reset, deassertion deadlines, init ordering.

    7. FSM & Arbiter Drills — legal transitions, onehot state, grant rules, fairness and starvation bounds.

    8. SVA Anti-Patterns Review — the classic interviewer-bait mistakes, each with broken code, failing trace, and fix.

    Diagram
    Legend: [SVA] [INTERVIEW]
    
      PICKING THE FAMILY FROM THE ENGLISH SENTENCE
    
      "X happens, then Y within N cycles"        ──► handshake / delay      ##N, ##[M:N]
      "X is high for exactly/at least K cycles"  ──► pulse width            [*K], [*M:N]
      "Y must not change while X"                ──► stability              $stable, throughout
      "A then B then C"                          ──► sequence ordering      [->1], ##, until
      "no more than N outstanding / in a row"    ──► counting               aux counter, [*N+1], not
      "output equals input N cycles ago"         ──► data integrity         $past, local vars
      "after reset, ..."                         ──► reset/X family         $rose(rst_n), $isunknown
      "only legal transitions / one grant"       ──► FSM & arbiter          inside, $onehot
    
      Then ALWAYS:
        edge or level antecedent?   ($rose vs raw level)
        same cycle or next?         (|-> vs |=>)
        bounded or unbounded?       (##[1:N] vs ##[1:$] — sim vs formal)
        disable iff (!rst_n)        (almost always yes)

    How to answer at the whiteboard

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

    2. Declare your antecedent edge/level choice out loud and why — this is where most candidates silently go wrong.

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

    4. State what the assertion does NOT check (vacuous cases, reset, overlapping requests) before the interviewer asks.

    Key takeaways

    • Interview assertions come from ~8 recurring families — recognize the family, and the operators follow.

    • Always make the edge-vs-level and |-> vs |=> decisions explicitly; they are the two most common error sources.

    • Verifying your own assertion against a hand-drawn pass and fail trace is the skill being graded.

    PreviousNext: SVA Interview Drills

    Up next

    Up nextSVA Interview Drills

    Sign in to save progress

    Practice this lessonReport an error

    See also

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