The team responsible for a memory-controller block (scheduler, refresh, ECC, a register interface) presents its tape-out package. The project manager wants a decision today; the next mask slot is in a week. You are on the board.
Your task: read the evidence, write the questions you would ask, and decide: go, go with conditions, or not yet. Write your decision and residual-risk statement before opening the model answer.
Item | Status reported by the team |
|---|---|
Plan | 64 features, 61 with evidence; 3 marked "low risk, deferred": refresh during self-test, ECC scrub with a pending write, register access during reset |
Functional coverage | 96.8%; 41 bins excluded as "unreachable" by the block lead |
Code coverage | 99.1% line, 94% branch; uncovered branches reviewed |
Formal | Scheduler arbitration proved; refresh timing bounded to depth 40, not proved; ECC not attempted |
Planted bugs | 28 of 30 caught; the 2 missed are in ECC scrub |
Open bugs | One major: under one rare ordering a read can return stale data after a refresh; root cause understood, fix ready, not yet regressed |
Bug trend | See below |
Week | Bugs found | Regression CPU-hours | Bugs per 1,000 CPU-hours |
|---|---|---|---|
1 | 14 | 9,000 | 1.56 |
2 | 11 | 9,500 | 1.16 |
3 | 9 | 9,200 | 0.98 |
4 | 6 | 9,400 | 0.64 |
5 | 4 | 6,100 | 0.66 |
6 | 3 | 4,000 | 0.75 |
7 | 2 | 3,900 | 0.51 |
8 | 2 | 4,100 | 0.49 |
Before deciding, list what you would ask. A board's questions are its main tool (lesson 14.5).
Why did regression effort fall from week 5, to less than half by week 6, and does the bug rate per CPU-hour still fall? (It barely moves: between 0.49 and 0.75 per 1,000 CPU-hours from week 4 on, so the falling count is mostly falling effort.) Who reviewed the 41 "unreachable" exclusions, and were any proved unreachable? Are the 3 deferred features really low risk: refresh during self-test and scrub with a pending write are interaction features, the class that escapes. Why were the two missed planted bugs both in ECC scrub, and is that the same gap as the deferred scrub feature and the absent ECC formal? What is the stale-read bug's fix, and when will it be regressed with what? Could the refresh bound of depth 40 miss a refresh interval longer than 40 cycles?
Item | Decision |
|---|---|
Outcome | Not yet; re-review in five days, still inside the mask slot if conditions are met |
Blocking 1 | Stale-read fix regressed with the reproducing test plus the full nightly; the bug is a data-integrity failure |
Blocking 2 | ECC scrub: the two missed planted bugs caught by new checks, and the scrub-with-pending-write feature given evidence |
Blocking 3 | Regression effort restored to weeks 1-4 levels for the remaining days; the bug rate per CPU-hour reported |
Conditions for go | Exclusions reviewed by someone other than the block lead; refresh-during-self-test and access-during-reset either tested or waived with owners |
Residual risk to state at go | ECC has no formal proof; refresh timing bounded at 40 cycles, not proved; exclusions reviewed but not all proved unreachable |
Why not go with conditions: an open data-integrity bug with an unregressed fix, and a cluster of evidence gaps (missed planted bugs, deferred feature, no formal) in one area, ECC scrub, is a pattern, not noise.
Why not a long delay: the gaps are specific and closable in days; the decision names exactly what changes it.
What the curve really says: the count fell from 14 to 2, but after week 4 bugs per 1,000 CPU-hours barely moved; most of the drop came with the effort cut. Lesson 12.2's trap, in a real-looking package.
Regression effort fell by more than half at the same time; the bug rate per 1,000 CPU-hours barely moved after week 4, so the drop reflects less testing, not fewer bugs.
Missed planted bugs, a deferred interaction feature and no formal in the same area point to an area whose checks are weak, where real bugs are likely to remain.
Normalise bug trends by effort before trusting them.
Look for clusters of gaps in one area, and question exclusions and deferrals.
Decide with specific blocking items and a stated residual risk.