A waiver without evidence is an opinion with a signature. Every waiver carries the same five fields, each answering one question the reviewer will ask. The template below is the minimum: a waiver missing any row is incomplete, and an incomplete waiver is rejected without technical discussion.
Field | Question it answers | What good looks like |
|---|---|---|
Finding reference | Which exact finding is waived? | Instance path, check class, and the run it was reported in — never a count or a pattern |
Written protocol argument | Why is this safe? | A short paragraph: what is guaranteed, by which mechanism, under which conditions |
Assertion or simulation proof | Where is it demonstrated? | Named assertions covering the assumed condition, or a simulation result showing the assumed behaviour |
Constraint reference | How is the assumption enforced in implementation? | The timing exception or delay bound that carries the assumption, reviewed per the constraint topic |
Owner and expiry | Who stands behind this, and until when? | A named owner, the design revision it applies to, and the change that re-opens it |
The protocol argument is the core: it states the invariant (“this signal is stable whenever the destination samples”) and the mechanism that maintains it (“loaded under reset, qualified by a synchronised enable”). Assertions or simulation then demonstrate the mechanism operates as claimed. Neither element works alone — an argument without demonstration is theory, and a passing test without an argument proves only the tested cases.
Assertions deserve emphasis because they are re-checkable: an assertion that the quasi-static net only changes under reset keeps proving the waiver on every regression, long after the waiver meeting is forgotten. Prefer evidence that keeps working over evidence that was true once.
The statement of what was actually shown. Without the argument, nobody knows which conditions the simulation covered, so a later change can invalidate the result silently.
Assertions re-check the assumed condition on every regression run, so the waiver stays proven as the design evolves. A stored simulation result only proves the revision it ran on.