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

  • How to Use This Puzzle Bank
  • SystemVerilog Language Puzzles25
  • Difficulty Guide
  • Full Topic Map
  • Interview-Day Tips
  • OOP & Testbench Puzzles25
  • Concurrency & Timing Puzzles25
  • Randomization & Constraint Puzzles25
  • SVA Assertion Puzzles25
    • Sequence Puzzles
      • Exact Delay Then Bounded Hold
      • Goto Repetition With Sparse Events
      • Nonconsecutive Repetition [=2]
      • Sequence and Operator
      • Intersect End-Time Mismatch
      • within and Alternative Windows
    • Implication Puzzles
    • Temporal Corner Puzzles
    • Assertion Debug Puzzles
    • SVA Assertion Puzzles: Tricky Q&A
  • Functional Coverage Puzzles25
  • Logic & Aptitude Puzzles25
  • Scenario & Debug Puzzles25
  • Interview Prep: Puzzle Rounds5
  • DV Puzzle Cheatsheet
Loading lesson

‹Sequence Puzzles
  1. Topics
  2. DV Interview Puzzles
  3. SVA Assertion Puzzles
  4. Sequence Puzzles
  5. Exact Delay Then Bounded Hold

VLSI DV Interview Puzzles · All levels

Exact Delay Then Bounded Hold

Property intent: after req, gnt must arrive exactly 2 cycles later, then busy must stay high for 2 to 3 cycles. Timeline: C10 req=1, C12 gnt=1, C13 busy=1, C14 busy=0. Determine the verdict.

On this page

    Puzzle

    Difficulty: Medium · Puzzle 1 of 6 · Topic: Sequence Puzzles

    Property intent: after req, gnt must arrive exactly 2 cycles later, then busy must stay high for 2 to 3 cycles. Timeline: C10 req=1, C12 gnt=1, C13 busy=1, C14 busy=0. Determine the verdict.

    Code

    design.sv
    property p_seq_range;
      @(posedge clk) req |-> ##2 gnt ##1 busy[*2:3];
    endproperty

    Hint

    Check consecutive repetition semantics of [*2:3].

    Step-by-step solution

    Diagram
    1) Antecedent req triggers at C10.
    2) Consequent requires gnt at C12, which is satisfied.
    3) Then busy[*2:3] starts at C13 and needs at least C13 and C14 high.
    4) busy drops at C14, so only one high cycle is seen.

    Answer

    Answer: FAIL - grant timing is correct, but busy does not satisfy the minimum 2-cycle consecutive hold required by [*2:3].

    Why candidates get it wrong

    Many candidates correctly check ##2 but forget that [*2:3] is consecutive repetition, not two observations with gaps.

    Interviewer follow-up

    If busy were high at C13 and C14 and dropped at C15, would the same property pass or fail?

    Related topics

    • Back to Sequence Puzzles

    • SVA Assertion Puzzles section

    Previous

    105 / 210

    Next: Goto Repetition With Sparse Events

    Up next

    Up nextGoto Repetition With Sparse Events

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Nonconsecutive Repetition [=2]
    • Sequence and Operator
    • Intersect End-Time Mismatch