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
    • Implication Puzzles
    • Temporal Corner Puzzles
      • $past Startup History Hole
      • $rose Sampled on Clock Edge
      • $fell With Non-Overlapped Consequent
      • $stable Repeated Hold Check
      • Cross-Cycle Correlation With $past Depth
      • Vector $rose Sampling Trap
    • 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

‹Temporal Corner Puzzles
  1. Topics
  2. DV Interview Puzzles
  3. SVA Assertion Puzzles
  4. Temporal Corner Puzzles
  5. Cross-Cycle Correlation With $past Depth

VLSI DV Interview Puzzles · All levels

Cross-Cycle Correlation With $past Depth

Property intent: when done is high, req must have been high 2 cycles earlier and ack 1 cycle earlier. Timeline: C90 req=1, C91 ack=1, C92 d1. Determine the verdict.

On this page

    Puzzle

    Difficulty: Hard · Puzzle 5 of 6 · Topic: Temporal Corner Puzzles

    Property intent: when done is high, req must have been high 2 cycles earlier and ack 1 cycle earlier. Timeline: C90 req=1, C91 ack=1, C92 done=1. Determine the verdict.

    Code

    design.sv
    property p_history_pair;
      @(posedge clk) done |-> ($past(req, 2) && $past(ack, 1));
    endproperty

    Hint

    Evaluate both $past expressions at the done sample edge.

    Step-by-step solution

    Diagram
    1) done at C92 triggers check.
    2) $past(req,2) reads C90 and is 1.
    3) $past(ack,1) reads C91 and is 1.
    4) Conjunction is true.

    Answer

    Answer: PASS - both history requirements line up exactly with req at C90 and ack at C91 before done at C92.

    Why candidates get it wrong

    Candidates sometimes off-by-one the depth argument and read C91 for both terms.

    Interviewer follow-up

    Would this become VACUOUS-PASS or FAIL if done never asserted?

    Related topics

    • Back to Temporal Corner Puzzles

    • SVA Assertion Puzzles section

    Previous

    121 / 210

    Next: Vector $rose Sampling Trap

    Up next

    Up nextVector $rose Sampling Trap

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • $past Startup History Hole
    • $rose Sampled on Clock Edge
    • $fell With Non-Overlapped Consequent