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
  • Functional Coverage Puzzles25
  • Logic & Aptitude Puzzles25
  • Scenario & Debug Puzzles25
    • Testbench Debug Puzzles: Why Did the Test Hang?
    • Deadlock Scenario Puzzles: Objection and Phase Stalls
    • Scoreboard Puzzles: Mismatch or Ordering Bug?
      • Out-of-Order Responses Miscompared as Corruption
      • Missing First Transaction After Reset
      • Duplicate Transactions from Handle Reuse
      • Mismatch Cascade from Incorrect Pop Policy
      • End-of-Test Draining Missing
      • Duplicate Expected Entries from Predictor Retry Path
    • Real Interview Rounds: End-to-End Debug Walkthrough
    • Scenario & Debug Puzzles: Tricky Q&A
  • Interview Prep: Puzzle Rounds5
  • DV Puzzle Cheatsheet
Loading lesson

‹Scoreboard Puzzles: Mismatch or Ordering Bug?
  1. Topics
  2. DV Interview Puzzles
  3. Scenario & Debug Puzzles
  4. Scoreboard Puzzles: Mismatch or Ordering Bug?
  5. Missing First Transaction After Reset

VLSI DV Interview Puzzles · All levels

Missing First Transaction After Reset

Scoreboard reports one missing response per test, always near reset release. DUT waveform shows the response is produced.

On this page

    Puzzle

    Difficulty: Medium · Puzzle 2 of 6 · Topic: Scoreboard Puzzles: Mismatch or Ordering Bug?

    Scoreboard reports one missing response per test, always near reset release. DUT waveform shows the response is produced.

    Code

    design.sv
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function void mon::write_rsp(bus_rsp r);
      if (!vif.rst_n)
        return;
      if (r.valid)
        rsp_ap.write(r);
    endfunction
    
    always @(posedge vif.clk) begin
      if (vif.rst_n && dut_rsp_valid)
        sampled_rsp.valid <= 1'b1; // first post-reset cycle is valid
    end

    Hint

    Reset gating in monitor can be off-by-one relative to interface sampling.

    Step-by-step solution

    Diagram
    1) Correlate first missing transaction timestamp with reset deassertion edge.
    2) Compare monitor sampling phase to DUT valid generation phase.
    3) Observe monitor return condition drops first legal post-reset response.
    4) Align reset gating with sampled protocol validity (clocking block or one-cycle grace).
    5) Add reset-boundary directed test to prevent reintroduction.

    Answer

    Answer: Bug: monitor reset filter drops a valid first post-reset response, causing scoreboard missing-item error. Fix: align reset gating/sampling so legal boundary response is captured.

    Why candidates get it wrong

    Teams often blame predictor or DUT queue depth while monitor gating is the true source.

    Interviewer follow-up

    Would you solve this with clocking block skew, sampled reset, or protocol-state machine in monitor?

    Related topics

    • Back to Scoreboard Puzzles: Mismatch or Ordering Bug?

    • Scenario & Debug Puzzles section

    Previous

    193 / 210

    Next: Duplicate Transactions from Handle Reuse

    Up next

    Up nextDuplicate Transactions from Handle Reuse

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Mismatch Cascade from Incorrect Pop Policy
    • End-of-Test Draining Missing
    • Duplicate Expected Entries from Predictor Retry Path