Part 11 · Senior Prep · Intermediate
Coverage Merge & Closure Interview Q&A
Model answers on UCDB/VDB merge, plan traceability, hole triage, directed closure sequences, and waiver discipline.
Merge and plan traceability
Q: Why merge coverage across seeds instead of trusting one run?
[INT][SENIOR][UVM] MODEL ANSWER
Q: Why merge UCDB/VDB?
A:
MECHANISM: Each seed exercises different stimulus space; merge unions bin hits
across all regression runs into one closure database.
MOTIVATION: Single-run green coverage misleads — hole may be seed-dependent.
WHEN: Nightly and pre-tape-out closure reviews always use merged DB.
PITFALL: Declaring closure on best seed of the week — not statistically honest.
EXAMPLE: axi_cross_addr_len hits bin (4KB,INCR) only on seed 8821 — visible
only after merge of 200 seeds.Q: How do you map coverpoints to the verification plan?
[INT][SENIOR][UVM] MODEL ANSWER
Q: Plan traceability?
A:
MECHANISM: Each coverpoint/cross carries plan feature ID in name or comment;
hole report exports uncovered bins ↔ plan row.
MOTIVATION: Sign-off is plan compliance — not raw coverage percentage.
WHEN: Covergroup design phase — before writing closure tests.
PITFALL: Orphan bins with no plan row — cannot waive or close formally.
EXAMPLE: cg_axi_xfer::addr_align_x_len with comment "PLAN-FP-12" in report.covergroup cg_axi_xfer with function sample(axi_txn t);
option.per_instance = 1;
option.comment = "PLAN-FP-12 address alignment cross length";
addr_align: coverpoint t.addr[11:0] {
bins align_4K = {12'h000};
bins unaligned = default;
}
xfer_len: coverpoint t.len;
align_x_len: cross addr_align, xfer_len;
endgroup
class axi_cov_subscriber extends uvm_subscriber #(axi_txn);
cg_axi_xfer cg;
function void write(axi_txn t);
if (t.rsp_phase) cg.sample(t); // sample on response — DUT-visible
endfunction
endclassKey takeaways
Closure uses merged DB across seeds — never single-run sign-off.
Every bin maps to plan feature ID — orphan bins block formal closure.
Sample on monitor response phase — DUT-visible events only.
Common pitfalls
Sampling on driver stream — bins green while DUT path untested.
Merge without seed attribution — cannot write directed closure repro.
Hole triage and directed closure
Q: Uncovered bin — how do you triage root cause?
[INT][SENIOR][UVM] MODEL ANSWER
Q: Hole triage workflow?
A:
MECHANISM: Classify: stimulus gap, constraint too tight, unreachable per spec,
or checker/coverage bug.
MOTIVATION: Random reruns without analysis waste farm weeks.
STEPS: 1) Repro lowest seed that almost hits bin. 2) Relax one constraint.
3) Directed seq targeting bin preconditions. 4) Spec review if unreachable.
PITFALL: Waiving without design review on cross bins — post-silicon risk.
EXAMPLE: EXOKAY cross never hits — constraint forbids exclusive; relax in
closure_axi_exokay_seq, re-merge confirms hit.Q: When do you write a directed closure test vs tweak constraints?
[INT][SENIOR][UVM] MODEL ANSWER
Q: Directed closure vs constraint tweak?
A:
MECHANISM: Constraint tweak for broad random space expansion; directed test for
stubborn cross with rare precondition chain.
MOTIVATION: Directed is surgical — overuse replaces random exploration.
WHEN: Directed when 50+ seeds miss same cross and preconditions are known.
NOT WHEN: Simple single coverpoint hole — loosen random constraint first.
PITFALL: Directed test that disables scoreboard to force bin — false closure.
EXAMPLE: hole_FP_09: interrupt storm during DMA — dedicated vseq + 3 seeds.class hole_FP_09_vseq extends uvm_sequence;
`uvm_object_utils(hole_FP_09_vseq)
task body();
// preconditions: DMA active, IRQ unmasked, outstanding > 4
fork
dma_burst_seq.start(p_sequencer.dma_sqr);
irq_storm_seq.start(p_sequencer.irq_sqr);
join
endtask
endclass# merge nightly UCDBs and emit hole report
urg -dir nightly_run_*/cov.ucdb -format text -report merged_holes.rpt
grep UNCOVERED merged_holes.rpt | grep PLAN-FP > p0_holes.txt
wc -l p0_holes.txtQ: Waiver process — what evidence do you require?
[INT][SENIOR][UVM] MODEL ANSWER
Q: Coverage waiver criteria?
A:
MECHANISM: Documented unreachable proof or duplicate coverage elsewhere with
design + verification lead sign-off and audit trail.
MOTIVATION: Waivers are technical debt — must be searchable at tape-out review.
REQUIRED: plan ID, bin name, reason, approver, date, alternative evidence.
PITFALL: Verbal waiver "design said OK" — no audit at chip review.
EXAMPLE: PLAN-FP-44 waived: feature removed in rev C errata — spec cite attached.Key takeaways
Hole triage: classify root cause before writing closure stimulus.
Directed closure for stubborn crosses — not for every missing bin.
Waivers need audit trail — plan ID, approver, alternative evidence.
Common pitfalls
Disabling checkers in closure tests to hit bins — invalid sign-off.
Merging stale UCDB from old RTL — false green holes.