Skip to content

SystemVerilog · Topic

SystemVerilog Functional Coverage — Covergroups & Crosses

Covergroups, coverpoints, bins, crosses and coverage options — measuring what a testbench actually reached, and the closure trap of counting the wrong thing.

Functional coverage measures reach, never correctness — a suite can close 100% of its coverage model and still miss every bug, because coverage only knows about the questions you thought to ask. The most consequential structure is the cross: a corner that is the intersection of two features can only be measured by crossing them, and closing each feature separately proves nothing about the corner where they meet. That is why so many escapes are found in a state the coverage report called covered.

Lessons in this topic(10)

Start hereIntroduction to Functional CoverageSystemVerilog Introduction to Functional Coverage
  1. 2Covergroups & Coverpoints
  2. 3Automatic Bins
  3. 4Named Bins — Explicit Coverage Partitions
  4. 5Wildcard, Illegal & Ignore Bins
  5. 6Transition Coverage
  6. 7Cross Coverage
  7. 8Coverage Options
  8. 9Sampling Events
  9. 10Instance vs Type Coverage