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
    • Four-Week Route: Week 1
    • Four-Week Route: Week 2
    • Four-Week Route: Week 3
    • Four-Week Route: Week 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
  • DV Puzzle Cheatsheet
Loading lesson

←Study Route: Four Weeks (Full Course)
  1. Topics
  2. DV Interview Puzzles
  3. Study Route: Four Weeks (Full Course)
  4. Four-Week Route: Week 2

VLSI DV Interview PuzzlesAll levels

Four-Week Route: Week 2

Week 2 of the full-course route, with every puzzle id by day.

Week 2

Day

Topics

Puzzles (by id)

Day 1

Concurrency & Timing Puzzles: Semaphore & Mailbox Puzzles; Randomization & Constraint Puzzles: Constraint Solving Order Puzzles

semaphore-mailbox-puzzles-1: Lock Held Across Blocking Response Wait (M); semaphore-mailbox-puzzles-2: Bounded Mailbox put Deadlock (M); semaphore-mailbox-puzzles-3: try_get Busy Spin at Time 0 (E); semaphore-mailbox-puzzles-4: Leaked Semaphore Token on Error Path (E); semaphore-mailbox-puzzles-5: Two Consumers Waiting on One Mailbox (M); semaphore-mailbox-puzzles-6: Deadlock-Free Request Loop with try_put/try_get (M); constraint-order-01-implication-vs-partition: Implication vs Partitioned Branches (M); constraint-order-02-bidirectional-sum: Bidirectional Solving of x+y==10 (E); constraint-order-03-overlapping-if-else: if-else with Overlap on One Value (E); constraint-order-04-implication-chain: randc Cycle with a Skipped Value (M); constraint-order-05-relational-counting: Width Wrap in a Sum Constraint (H); constraint-order-06-size-coupled-array: Array Size Coupled to Content (M)

Day 2

Randomization & Constraint Puzzles: Distribution Puzzles (dist, := vs :/); Randomization & Constraint Puzzles: solve...before Bias Puzzles; Randomization & Constraint Puzzles: randomize() with Puzzles

dist-01-operator-semantics-baseline: Case A vs Case B vs Trap Variant (M); dist-02-range-cardinality-skew: Small Range with := vs Large Range with :/ (E); dist-03-loaded-die: Soft Constraint Priority (a soft puzzle in the dist section) (M); dist-04-pruned-by-hard-constraint: dist After Hard Pruning (M); dist-05-branch-probability-to-value-probability: Boolean dist Cascading into Value dist (M); dist-06-zero-weight-value: Zero Weight Means Never Chosen (E); solve-before-01-classic-a-b: Classic a->b Bias Shift (E); solve-before-02-three-branch-kind: Three-Branch Kind Selection (M); solve-before-03-reverse-order-b-before-a: Reverse Bias with solve b before a (E); solve-before-04-m-less-than-n: m<n Cardinality Bias (E); solve-before-05-mode-dependent-collapse: Mode Branch Collapse Under Extra Relation (H); solve-before-06-redundant-with-explicit-dist: Three-Variable solve-before Chain (H); randomize-with-01-inline-conflict: Inline Implication That Looks Like a Conflict (H); randomize-with-02-inline-if-else: Constraint Override by Name in a Derived Class (M); randomize-with-03-foreach-inline-shape: unique and Array Element Counting (M); randomize-with-04-constraint-mode-toggle: constraint_mode Changes Pass/Fail (E); randomize-with-05-rand-mode-freeze: rand_mode(0) Freezes Value and Can Overconstrain (M); randomize-with-06-pre-post-lifecycle: pre_randomize Assignment vs Solver and post_randomize Call Count (H)

Day 3

SVA Assertion Puzzles: Sequence Puzzles; SVA Assertion Puzzles: Implication Puzzles; SVA Assertion Puzzles: Temporal Corner Puzzles

seq-001: Exact Delay Then Bounded Hold (M); seq-002: Goto Repetition With Sparse Events (M); seq-003: Nonconsecutive Repetition =2 (H); seq-004: Sequence and Operator (M); seq-005: first_match in an Antecedent (H); seq-006: within Window Length Off-By-One (H); imp-001: Overlap vs Non-Overlap (E); imp-002: Pure Vacuity (E); imp-003: Chained Consequent With ## (M); imp-004: Non-Overlapped Window (M); imp-005: throughout in Consequent (H); imp-006: OR Antecedent Trigger (E); temp-001: $past Startup History Hole (M); temp-002: $rose Sampled on Clock Edge (M); temp-003: $fell Is an Event, Not a Level (E); temp-004: $stable Repeated Hold Check (M); temp-005: $past After Reset Release (M); temp-006: Vector $rose Sampling Trap (H)

Day 4

SVA Assertion Puzzles: Assertion Debug Puzzles; Functional Coverage Puzzles: Covergroup and Coverpoint Puzzles; Functional Coverage Puzzles: Cross Coverage Puzzles

dbg-001: disable iff Reset Glitch Hides a Lost Grant (M); dbg-002: Multiclock Ack Visibility (H); dbg-003: Weak vs Strong at End of Simulation (H); dbg-004: Overlapping Attempts Share One Grant (M); dbg-005: $rose Consumed During Reset (M); dbg-006: Intersect Requirement in Dual Checks (M); cov-cg-001: Auto vs explicit bins with illegal transition context (M); cov-cg-002: Default bin is not scored (E); cov-cg-003: Bin array math with mixed declarations (M); cov-cg-004: Transition bin sequence counting (M); cov-cg-005: illegal_bins vs ignore_bins accounting (M); cov-cg-006: Same traffic, different denominator (M); cov-cross-001: Named cross bins that group tuples (M); cov-cross-002: Pure auto cross count (E); cov-cross-003: Explicit ignore_bins instead of a default catch-all (M); cov-cross-004: intersect filter removes one tuple (M); cov-cross-005: illegal cross tuple does not close coverage (M); cov-cross-006: Three-way cross with overlapping ignore_bins (M)

Day 5 (review)

Concurrency & Timing Puzzles Q&A; Randomization & Constraint Puzzles Q&A; SVA Assertion Puzzles Q&A; Functional Coverage Puzzles Q&A; Framework for any unseen puzzle; Re-do misses from weeks 1 and 2.

Re-do misses

Attempt every puzzle cold with the timer for its difficulty, score it 0 to 4, then read the solution, the checked-by line and the trap. See the difficulty guide.

E, M and H after a link mean easy, medium and hard. The plan is generated from the course data: if a section is added, the days re-balance.

Related topics

  • Four-week route overview

  • Week 1

  • Week 3

Previous

14 / 293

Next: Four-Week Route: Week 3

Up next

Up nextFour-Week Route: Week 3

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Four-Week Route: Week 1
  • Four-Week Route: Week 4