Functional coverage measures scenarios from the specification, while code coverage measures structure from the RTL. This part builds covergroups, bins and crosses, then closes the loop from holes to sign-off.
Closure in one page: Coverage Closure & Sign-Off shows the whole loop on one page: plan from the spec, run, find the holes, fix each one, sign off with evidence. You can read it first, then come back to build the parts.
Topic | Path | Lessons | What it covers | Time |
|---|---|---|---|---|
Required | 7 | Structure, sampling, expressions, a first model with a real report, and the bins model the benches count with. | 45 min | |
Required | 4 | Bins turn sampled values into named scenarios, violations and exclusions. | 30 min | |
Recommended | 5 | Cross coverage from product bins to spec-driven patterns, with pruning and explosion control. | 40 min | |
Optional | 4 | Per-instance options, weights, goals, sampling methods and covergroup arguments. | 30 min | |
Required | 5 | Triage holes, steer stimulus, waive the unreachable, and sign off with evidence. | 40 min |
Required is the core first pass for this part. Recommended is for most learners. Optional is reference, a specialist topic or revision.
Your First Coverage Model: three bins and a report that names the hole.
Auto Bins vs Explicit Bins and Exclusions, Patterns & Filters: what a bin says, and what an exclusion can hide.
Cross Basics: why two full coverpoints do not make a full cross.
Hole Analysis and Triage: what to do with a hole.
Options and methods: Instance Options, Coverage Methods and Parameterizing Covergroups, when a report has several instances. Weights, Goals & at_least is worth a read when a goal is not 100.
Cross Coverage Patterns and Bin Design Strategy, when you design a model for a real block.
Sign-Off Needs Both and the waiver and sign-off lessons, before a review.
The open simulators do not count covergroups: Verilator 5.048 ignores the bins and Icarus 13 has none. The lessons teach the real covergroup syntax and count with The Bins Model, a small set of plain classes that prints a simulator-shaped report. Its page lists the source and maps each method to the covergroup syntax it stands for.
Code coverage records which lines, branches and toggles ran. Only a covergroup with a planned bin records that a specified scenario happened. Taught in Sign-Off Needs Both: Code and Functional Coverage.
With many values, auto bins share buckets, so hits on 1, 2 or 3 can fill the bucket that also holds 0. Name the value in its own bin. Taught in Auto Bins vs Explicit Bins.
No. Each point proves its values occurred somewhere, not in the same sample. The cross counts combinations. Taught in Cross Basics.
The type-level number merges the instances, so three busy ports hide an idle fourth. Per-instance rows show each one. Taught in option.per_instance & Instance Options.
Whether the bin itself is right, then whether the hole is reachable, before writing any test or exclusion. Taught in Hole Analysis and Triage.