← Design Verification Interviews
Interview Question · Concept
Merging Coverage and Ranking Tests
The Question
The interviewer asks
How do you merge coverage across a nightly regression of 3000 tests? What is test ranking for, and what is it not for?
You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Merge only runs that passed, built from the same RTL and the same coverage model, and take the union of bin hits. Coverage from a failing run is discarded, because the design misbehaved there. Ranking orders tests by how much new coverage each adds, so a small set reaches the same number. Use that set as a fast check-in regression. Don't delete the rest; random seeds still find bugs the model never named.
Read the diagram as text
- Nightly regression: 3000 tests with random seeds
- Failing runs: Discarded: the design misbehaved there
- Runs that count: Passed, same RTL, same coverage model
- Merged database: Union of every bin hit
- Test ranking: Order tests by the new bins each adds
- Ranked set: Same coverage, a fraction of the time
- Nightly regression → Runs that count: filter
- Nightly regression → Failing runs: thrown away
- Runs that count → Merged database: merge
- Merged database → Test ranking
- Test ranking → Ranked set: smallest set
The ranked set runs at every check-in. The full random regression keeps running too, because new seeds find bugs the model never named.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Senior)
A good senior answer states the three merge rules: passing runs, same RTL, same model. It keeps the full random regression running beside the ranked set.
What Interviewers Listen For (Staff)
A good staff answer sets the policy for the whole chip. It says which builds feed sign-off, when old data expires after an RTL change, and when to re-rank.
Cross-Questions
Where the interviewer goes next. Open a node to practise that follow-up.
WhyWhat IfCompareScale It
- Merging Coverage and Ranking Tests
-
WhyWhy Failing Runs Don't CountL2 Mid-Level
Why is coverage from failing runs thrown away before merging?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
A failing run shows the design did not behave as the spec says in that run. The bins it hit describe cases that ran, but were not shown to work. Counting them would mark features as verified while their bug is still open. Once the bug is fixed, rerun the test and count the new, passing coverage.
Self-Check
Tick each key point you covered in your answer.
Half-Truth
"Only the failing check is affected; the rest of that run's coverage is fine."
After the first error, the design state may already be wrong, so later bins were reached from a broken state.
Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p362)
-
CompareA Ranked Test Set vs the Full RegressionL3 Senior
Compare running the ranked set with running the full regression. When do you use each?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
The ranked set reaches the same coverage in a fraction of the time, so it suits every check-in and quick bug-fix checks. Its seeds are fixed, so it repeats the same stimulus every time. The full regression keeps exploring with new seeds and finds bugs the coverage model never described. Run the ranked set often and the full regression nightly or weekly.
Ranked set Full regression Run time A fraction of the full run Hours Seeds Fixed, so the same stimulus every time New seeds every run Finds Breaks in what was already covered New bugs the model never described Run it At every check-in Nightly or weekly Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Senior)
A good senior answer re-ranks the tests after every change to the coverage model. It still tracks the bugs that only the full regression finds.
Half-Truth
"The ranked set is enough once it reaches full coverage."
It repeats the same seeds, so it explores nothing new. Bugs outside the model's bins stay hidden.
Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p361)
-
What IfMerged Coverage After an RTL ChangeL3 Senior
What if one block's RTL changes after coverage has been merged? Do you keep the old data?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Look at the size of the change first. For a local fix, rerun the tests that touch the changed logic, and replace that block's coverage with the new runs. For a broad change, such as a new feature or changed timing, start that block's merge from scratch. Sign-off coverage must come from runs on the RTL that tapes out.
Self-Check
Tick each key point you covered in your answer.
Misconception
"Coverage is about the tests, so it survives RTL changes."
A bin records what the design did in a run. Change the design, and the old record no longer describes it.
Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p362)
-
Scale ItCoverage Across IP ReleasesL4 Staff
An IP block is reused in three chips, each with a new release. How do you manage its coverage?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Sign off coverage per IP release, stored with the release, on the configurations each chip uses. A new chip reuses that result for unchanged logic, and closes coverage only for new configurations and changed code. At chip level, cover the integration, not the IP's internals again. Keep a list of which configurations were never verified, so nobody assumes they were.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Staff)
A good staff answer ties each coverage result to one IP release and one configuration. It makes the configurations nobody verified visible to every chip team.
Wrong Altitude
"The IP was verified once; reuse needs no coverage work."
A new parameter set or a new mode is a new design as far as coverage is concerned. Only the configurations that were closed are verified.
Source Mehta, ASIC/SoC Functional Design Verification, §4.9 (PDF p87)
What People Get Wrong
Common wrong answers and why they fail.
Missed Corner
"Merge the whole month of runs to get the highest number."
Bins hit on last month's RTL say little about today's. Merge within one RTL version, or rerun after significant changes.
Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p362)
Misconception
"Tests that ranking drops add nothing, so delete them."
Ranking measures only what the model counts. Random walks also create combinations nobody planned, which is where unexpected bugs live.
Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p361)
Misconception
"Merged coverage is the average of each test's percentage."
Merging takes the union of hits: a bin hit by any passing test is covered. Averaging percentages would understate it badly.
Source Spear & Tumbush, SystemVerilog for Verification (3rd ed.), §9.1 (PDF p361)