VLSI DV Interview Puzzles · All levels

Unreachable cross tuple from protocol rules

Cross closure is stuck at 75% despite long regressions. Explain mathematically and propose model correction.

Puzzle

Difficulty: Hard · Puzzle 5 of 6 · Topic: Coverage Closure and Sampling Timing Puzzles

Cross closure is stuck at 75% despite long regressions. Explain mathematically and propose model correction.

Code

systemverilog
covergroup cg with function sample(bit opcode, bit resp);
  cp_opcode: coverpoint opcode {
    bins rd = {0};
    bins wr = {1};
  }
  cp_resp: coverpoint resp {
    bins ok    = {0};
    bins slverr = {1};
  }
  x: cross cp_opcode, cp_resp;
endgroup

// Protocol guarantee: rd always returns ok, never slverr

Hint

Auto cross has 4 tuples, but one is forbidden by protocol semantics.

Step-by-step solution

diagram
1) Cross denominator is 2*2 = 4 tuples.
2) Tuple (rd,slverr) is unreachable by protocol.
3) Maximum realizable hits are 3 tuples -> closure ceiling 3/4 = 75%.
4) Corrective action is to ignore/illegalize unreachable tuple with rationale tied to spec.

Answer

Answer: Stall at 75% is expected because rd+slverr cannot happen legally. Model must encode protocol reachability.

Why candidates get it wrong

Blindly trusting auto cross can create fake gaps and wasted closure effort.

Interviewer follow-up

Would you model rd+slverr as ignore_bins or illegal_bins, and what trade-off drives that choice?

Related topics