A scoreboard tells you whether a run was wrong. Coverage tells you whether the runs went anywhere interesting. For a coherence controller the interesting places are known in advance: every cell of the protocol table, and above all the cells where a conflicting message meets a transient state. This topic turns that table into a coverage model, shows why random traffic rarely reaches the race cells and how to force it, and defines the evidence, including waivers, that lets a team say the block is closed.
General coverage technique (covergroups, crosses, closure curves, holes) is taught in First Principles of Verification Strategy: Coverage. Here it is applied to the course's MSI controller.
Lesson | After it you can... |
|---|---|
Build the state x event matrix from the protocol table, cover every legal cell and assert the impossible ones. | |
Name the race crosses (Inv in SM^D, Fwd in MI^A, a Put crossing a forward) and estimate how often random traffic hits them. | |
Choose stimulus knobs (hot lines, tiny caches, class delays, back-pressure) that open each race window. | |
List the evidence for sign-off, write and review a waiver, and refuse one that hides a reachable race. |
Suggested order: the four lessons in sequence, after Transient States and Races and alongside the sibling topics on scoreboards and reference models and formal properties.
No. Hitting cells shows the stimulus reached them; it says nothing about whether the results were right (that needs a value checker with zero failures), whether the race crosses were reached in both orders, whether the impossible cells are asserted rather than merely unhit, or whether SWMR is proven on a small model. Cell coverage is one row of the sign-off checklist, not the whole of it.