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

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Puzzle Bank
  • SystemVerilog Language Puzzles25
  • Difficulty Guide
  • Full Topic Map
  • Interview-Day Tips
  • Study Route: One Week Before the Interview
  • Study Route: Two Weeks
  • Study Route: Four Weeks (Full Course)4
  • OOP & Testbench Puzzles25
  • Concurrency & Timing Puzzles25
  • Randomization & Constraint Puzzles25
  • SVA Assertion Puzzles25
  • Functional Coverage Puzzles25
  • Logic & Aptitude Puzzles25
  • Scenario & Debug Puzzles25
  • UVM Testbench Puzzles25
  • Clock, Reset & CDC Puzzles25
  • Bus and Interface Protocol Puzzles25
  • Interview Prep: Puzzle Rounds7
    • Framework for Any Unseen Puzzle
    • Scenario: Testbench Hang
    • Scenario: Constraint No-Solution
    • Scenario: Vacuous Assertion Pass
    • Scenario: Coverage Not Closing
    • Scenario: Race That Only Shows on Silicon-Like Gate-Level Timing
    • Scenario: Coverage Closed at 100 Percent but a Bug Escaped
  • DV Puzzle Cheatsheet
Loading lesson

←Interview Prep: Puzzle Rounds
  1. Topics
  2. DV Interview Puzzles
  3. Interview Prep: Puzzle Rounds
  4. Scenario: Vacuous Assertion Pass
On this page

    VLSI DV Interview PuzzlesAll levels

    Scenario: Vacuous Assertion Pass

    An SVA check reports clean passes in dashboard summaries, yet silicon-like stress traces reveal protocol behavior that should violate intent under burst corner conditions.

    The setup

    An SVA check reports clean passes in dashboard summaries, yet silicon-like stress traces reveal protocol behavior that should violate intent under burst corner conditions.

    The signal you would look at: High assertion pass rate paired with low antecedent hit coverage in failing workload classes.

    What the interviewer is measuring

    • Whether you know that a pass can be vacuous, and what evidence separates a real pass from an empty one.

    • Whether you can find the reason an antecedent never fires: reset masking, a wrong sampled value, or a trigger that is an event, not a level.

    • Whether you propose the guard (a cover property on the antecedent), not just a rewrite.

    Structure of a strong answer

    Follow these steps in order. The order matters: each step narrows the search so that the next one is cheap.

    1. Ask for the antecedent hit count for the failing workload. A pass count with a zero or tiny hit count is the first red flag.

    2. Write the cover property for the antecedent and look at whether it is ever hit in the burst traffic.

    3. If it is never hit, find why: is the antecedent an event ($rose, $fell) that cannot happen on the sampled values, is disable iff aborting the attempt, or is a vector $rose looking only at its least significant bit?

    4. If it is hit, check overlapping attempts: one response can satisfy several attempts, so a green log does not prove every request was answered.

    5. Fix the property or the stimulus, show the assertion now fails on the known-bad trace, and keep the cover property in the signoff list.

    Model answer: the conversation

    A model transcript of the first part of the round. Do not memorise the words; copy the order of the moves.

    Diagram
    Interviewer: The dashboard says the grant assertion passed a million times, and silicon still showed a missing grant. What is your first question?
    
    Candidate: How many of those passes were non-vacuous? I want the antecedent hit count, or I add a cover property on the antecedent and rerun the failing workload.
    
    Interviewer: The cover property never hits in the burst test.
    
    Candidate: Then every attempt passed vacuously. I would check what the antecedent is: if it uses $rose on a vector, it only looks at the least significant bit, and if it is an event it will not fire when the signal stays high.
    
    Interviewer: It is $rose(req) and in the burst traffic req stays high.
    
    Candidate: Right, $rose is an event, it fires on the transition only. A level condition would have started an attempt every cycle. I would change the trigger to match the protocol rule, and then confirm the property now fails on the known-bad trace.
    
    Interviewer: What if the cover hits but you still miss bugs?
    
    Candidate: Then I check disable iff and overlapping attempts. A reset glitch can abort the attempt, and one grant can satisfy two overlapping requests, so the log is green while a request goes unanswered.
    
    Interviewer: What do you put in signoff?
    
    Candidate: Assertion status together with the cover property for each antecedent, so a pass only counts when the property was actually exercised.

    Traps

    • Treating pass counts as proof of behavior without checking antecedent activation.

    • Using overly restrictive disable conditions that prevent property engagement.

    • Closing signoff on assertion status alone instead of correlating with cover properties.

    • Forgetting that $rose and $fell are events, so a signal that stays high starts no attempt.

    Puzzles that rehearse the same skills

    Work these cold, with the timer, before you rehearse the conversation.

    • imp-002: Pure Vacuity (E)

    • dbg-004: Overlapping Attempts Share One Grant (M)

    • dbg-001: disable iff Reset Glitch Hides a Lost Grant (M)

    • temp-006: Vector $rose Sampling Trap (H)

    • dbg-005: $rose Consumed During Reset (M)

    Related topics

    • Back to Interview Prep

    • Framework for any unseen puzzle

    • Interview-day tips

    Previous

    289 / 293

    Next: Scenario: Coverage Not Closing

    Up next

    Up nextScenario: Coverage Not Closing

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Framework for Any Unseen Puzzle
    • Scenario: Testbench Hang
    • Scenario: Race That Only Shows on Silicon-Like Gate-Level Timing