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
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 slverrHint
Auto cross has 4 tuples, but one is forbidden by protocol semantics.
Step-by-step solution
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?