Advanced verification & UVM

coverage closure

Coverage closure is the endgame of a verification project: the grind of driving every coverage metric — functional bins, code lines, branches, assertions — up to its goal (usually 100%, or a justified waiver) so the team can credibly say 'we have tested everything the plan demanded.' It is the verification equivalent of clearing the last few percent of a video-game map: the easy 80% fell quickly to random tests, but the final stubborn holes are the dangerous corners where bugs love to hide, and each one must be deliberately hunted down.

The work is mostly detective work on coverage holes: a bin that never filled means a scenario never occurred, so you ask why — is the test missing, is the stimulus over-constrained, is the feature unreachable (and thus the coverage point itself wrong), or is there a real bug blocking that path? Each hole resolves into a new directed test, a constraint tweak, or a justified waiver signed off by a reviewer. Closure is the gate to tape-out: a chip ships not when the bugs stop coming, but when coverage proves you have looked everywhere you promised to look.

A waiver is not cheating — it is a documented engineering judgment that a coverage hole is unreachable or irrelevant, reviewed and signed, so that an honest 92% with sound waivers beats a forced 100% nobody believes.

Also called
coverage convergenceclosing coverage覆蓋率收尾