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
    • Covergroup and Coverpoint Puzzles
    • Cross Coverage Puzzles
      • Named cross bins that group tuples
      • Pure auto cross count
      • Explicit ignore_bins instead of a default catch-all
      • intersect filter removes one tuple
      • illegal cross tuple does not close coverage
      • Three-way cross with overlapping ignore_bins
    • Coverage Options Puzzles
    • Coverage Closure and Sampling Timing Puzzles
    • Functional Coverage Puzzles: Tricky Q&A
  • 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

←Cross Coverage Puzzles
  1. Topics
  2. DV Interview Puzzles
  3. Functional Coverage Puzzles
  4. Cross Coverage Puzzles
  5. Three-way cross with overlapping ignore_bins
On this page

    VLSI DV Interview PuzzlesAll levels

    Three-way cross with overlapping ignore_bins

    Find the scored denominator and percentage for this 3-D cross. Two ignore_bins overlap on one tuple. Options: none set (all defaults: at_least = 1, weight = 1, auto_bin_max = 64).

    Puzzle

    Difficulty: Medium · Puzzle 6 of 6 · Topic: Cross Coverage Puzzles

    Find the scored denominator and percentage for this 3-D cross. Two ignore_bins overlap on one tuple. Options: none set (all defaults: at_least = 1, weight = 1, auto_bin_max = 64).

    Code

    design.sv
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    covergroup cg with function sample(bit [1:0] port, bit prio, bit drop);
      cp_port: coverpoint port {
        bins p0 = {0};
        bins p1 = {1};
        bins p2 = {2};
      }
      cp_prio: coverpoint prio {
        bins lo = {0};
        bins hi = {1};
      }
      cp_drop: coverpoint drop {
        bins no  = {0};
        bins yes = {1};
      }
      x3: cross cp_port, cp_prio, cp_drop {
        ignore_bins lo_drop = binsof(cp_prio.lo) && binsof(cp_drop.yes);
        ignore_bins p2_drop = binsof(cp_port.p2) && binsof(cp_drop.yes);
      }
    endgroup
    
    initial begin
      cg c = new();
      c.sample(0,1,1);
      c.sample(1,0,0);
      c.sample(2,1,0);
      c.sample(2,0,1);
      c.sample(0,1,1);
      c.sample(1,1,1);
      c.sample(2,1,1);
    end

    Hint

    Auto space is 3 x 2 x 2 = 12 tuples. List the tuples each ignore_bins removes and take the union.

    Step-by-step solution

    Diagram
    1) 12 auto tuples.
    2) lo_drop removes (p0,lo,yes), (p1,lo,yes), (p2,lo,yes) -> 3 tuples.
    3) p2_drop removes (p2,lo,yes) and (p2,hi,yes). (p2,lo,yes) is already removed, so the union is 4 tuples, not 5 -> 8 scored tuples.
    4) Samples: (0,1,1)=(p0,hi,yes) hit, (1,0,0)=(p1,lo,no) hit, (2,1,0)=(p2,hi,no) hit, (2,0,1) ignored, (0,1,1) repeat, (1,1,1)=(p1,hi,yes) hit, (2,1,1) ignored.
    5) 4 distinct scored tuples hit -> 4/8 = 50%.

    Answer

    Answer: 8 tuples are scored and coverage is 50% (4 of 8).

    How this was checked

    Checked by running a model of the rule in a Python model. A model of the cross rule: the overlap is removed once, so 8 tuples are scored and 4 are hit.

    Why candidates get it wrong

    (2,0,1) is selected by both ignore_bins; the removed set is a union of 4 tuples, not 3 + 2 = 5. Subtracting 5 gives a wrong denominator of 7 and 4/7 = 57.14%.

    Interviewer follow-up

    If lo_drop is deleted and only p2_drop remains, what are the scored tuples and the percentage with the same samples? Model answer: Only (p2,lo,yes) and (p2,hi,yes) are removed, so 10 tuples are scored. The hit tuples are still (p0,hi,yes), (p1,lo,no), (p2,hi,no), (p1,hi,yes) = 4, so 4/10 = 40%.

    Say it out loud

    I would take the union of the ignored tuples, not the sum. The removed set is four tuples, because the tuple 2,0,1 is selected by both ignore_bins, so eight tuples are scored. Four of them are hit, giving 50 percent. The trap is subtracting five, which gives a denominator of seven and 57.14 percent. I would next check the overlap is intentional.

    Related topics

    • Pruning Crosses: ignore_bins & illegal_bins

    • Cross Coverage Patterns

    • Back to Cross Coverage Puzzles

    • Functional Coverage Puzzles section

    Previous

    147 / 293

    Next: Coverage Options Puzzles

    Up next

    Up nextCoverage Options Puzzles

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Named cross bins that group tuples
    • Pure auto cross count
    • Explicit ignore_bins instead of a default catch-all