← Design Verification Interviews

Interview Question · Design

Closing the Last Eight Percent

L2 Mid-LevelL3 Seniorfunctional coveragecoverage closureplanning

The Question

The interviewer asks

Functional coverage has sat at 92% for two weeks. Tape-out is a month away. How do you close it?

Reveal the Model Answer

First list the holes and sort them by cause and by risk, not by count. Fix bench limits, such as wrong constraints or missing knobs, because one fix often clears many holes. Bias the constraints toward rare cases, and write directed tests only for cases random stimulus cannot reach in time. Prove unreachable holes with formal or a designer review, and exclude them with the reason. Report what remains as named risks.

Coverage of the FIFO Bench as the Run Goes On
012items sent32 random64 random+6 directedbins hit6 of 97 of 99 of 9write when fullreset with datadirected reset
  1. Cycle 0

    After 32 random items, 6 of 9 bins are hit. The holes are level 4, write when full and reset with data.

  2. Cycle 1

    32 more random items reach level 4. Write when full is still a hole, and no seed can produce the reset.

  3. Cycle 2

    Six directed items: the fifth write meets a full FIFO, then a reset finds data stored. All 9 bins are hit.

Measured on a FIFO bench. More random items could not reach the bins the constraints forbid. Six directed items closed them.

Self-Check

Tick each key point you covered in your answer.

What Interviewers Listen For (Mid-Level)

A good mid-level answer groups the holes by cause. It starts with the one fix that clears the most holes.

Cross-Questions

Where the interviewer goes next. Open a node to practise that follow-up.

WhyWhat IfCompareScale It

  1. Closing the Last Eight Percent
  2. WhyWhy the Last Few Percent Take the LongestL1 JuniorL2 Mid-Level

    Why does coverage rise fast at first and then crawl?

    Reveal the Model Answer

    Early samples land on empty bins, so almost every sample adds coverage. Later, most samples land on bins already hit, and only the rare ones add anything. Bins with low probability under the constraints may take thousands of samples each. Holes that cannot be reached never close, so they look like a crawl that never ends.

    Self-Check

    Tick each key point you covered in your answer.

    Half-Truth

    "Slow progress means the tests are bad."

    Some slowdown is normal arithmetic: the last empty bins are the hardest to hit by chance. A plateau, where progress stops, is the real warning.

    Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p361)

  3. Scale ItReporting Closure ProgressL3 Senior

    Your lead wants a weekly closure report for a subsystem. What goes in it besides one percentage?

    Reveal the Model Answer

    Show coverage per plan feature, not one total, with its trend over the weeks. Show how many new bins each regression adds, because a flat line means you need new work, not more runs. Add the open holes grouped by cause and owner, and the bug rate. A falling bug rate with flat coverage is the pattern you want before sign-off.

    Self-Check

    Tick each key point you covered in your answer.

    Wrong Altitude

    "One merged percentage is enough for management."

    One number hides which feature is behind and why. A 95% total can mean one critical feature at 40%.

    Source Mehta, SystemVerilog Assertions and Functional Coverage (3rd ed.), §25.5 (PDF p446)

  4. CompareBiasing Random Stimulus vs a Directed TestL2 Mid-Level

    Compare biasing the constraints toward a hole with writing a directed test for it.

    Reveal the Model Answer

    Biasing, for example with dist weights or a test-level constraint, keeps the other fields random. So the rare case also meets many neighbours. A directed test hits the case once, fast and repeatably. Bias first when the case is reachable but rare. Go directed when it needs a long exact sequence, such as an error during a full FIFO after reset.

    Find the Holes, Then Aim at ThemA loop finds the empty cells from its own hit counts. It then asks the solver for one packet per hole with an inline constraint, and the other fields stay random.
    Find the holes, then aim at themA loop finds the empty cells from its own hit counts. It then asks the solver for one packet per hole with an inline constraint, and the other fields stay random. process initial block round 1, then round 2 solver p.randomize() class constraintsonly solver p.randomize() with the kind and class ofone hole function record(p) cov.sample(p);hits[k][c]++ covergroup cov pkt_cross: 7 legalcells array hits[kind][class] the same cells,counted randomizeaimed randomizerecord(p)sample(p)countholes()
    Read the diagram as text
    • initial block: round 1, then round 2
    • p.randomize(): class constraints only
    • p.randomize() with: the kind and class of one hole
    • record(p): cov.sample(p); hits[k][c]++
    • cov: pkt_cross: 7 legal cells
    • hits[kind][class]: the same cells, counted
    • initial block → p.randomize(): randomize
    • initial block → p.randomize() with: aimed randomize
    • initial block → record(p): record(p)
    • record(p) → cov: sample(p)
    • record(p) → hits[kind][class]: count
    • hits[kind][class] → initial block: holes()

    The hole list comes from the counts, so each aimed packet goes exactly where coverage is missing, and nowhere else.

    Self-Check

    Tick each key point you covered in your answer.

    Wrong Altitude

    "Directed tests are old-fashioned; always bias."

    Some holes need a precise sequence of events that random stimulus almost never builds. A directed test is the cheapest way there.

    Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p362)

  5. What IfTape-Out with Coverage Holes LeftL3 SeniorL4 Staff

    What if tape-out is in a week and 3% is still open? What do you do?

    Reveal the Model Answer

    Go through each remaining hole with the designers and the project lead. For each, state what feature it covers, how likely the case is in real use, and what a bug there would cost. Close the high-risk ones with targeted tests or formal. For the rest, record an accepted risk with an owner, plus a plan for post-silicon tests or a software workaround.

    Self-Check

    Tick each key point you covered in your answer.

    What Interviewers Listen For (Staff)

    A good staff answer turns the hole list into a risk register that the lead signs. Each accepted item gets a post-silicon test plan.

    Delivery

    "Waive everything open; the date is fixed."

    A blanket waiver hides the one hole that matters. Each item needs a decision, even if most of them are accepted.

What People Get Wrong

Common wrong answers and why they fail.

Half-Truth

"Double the seeds in the nightly run."

That only helps holes that are rare but reachable. A plateau usually means the generator cannot reach them at all.

Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p362)

Misconception

"Lower option.goal to 90 and we are done."

The goal only changes when reports call the group finished. The holes, and any bugs in them, are still there.

Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.10.5 (PDF p394)

Delivery

Starts proposing fixes before asking what the holes are.

The right action depends on why each hole is empty. A good answer begins by reading the holes.

Learn It, Then Prove It