Part 6 answers: How do we know we have tested enough?
Coverage measures what the tests exercised. It cannot say whether the checks were right, only whether the situations in the plan occurred. Used well it is the main evidence that testing is complete; used badly it is a number that looks reassuring and means little.
This part covers code and functional coverage, coverage models and crosses, closure curves and what their plateaus mean, holes and unreachable bins, steering stimulus to close coverage, and mutation testing, which measures the testbench itself.
Write a functional coverage model from a verification plan.
Read a closure curve and decide what to do at a plateau.
Measure testbench quality with mutation testing.
Answer each in your head before opening it. If two or more feel shaky, revisit Part 5: Checking first.
An assertion: it is a local, cycle-level rule at one interface.
An expected packet is never matched; the end-of-test check finds it left over.
A test that passes because its check never ran or checked nothing, such as a vacuous assertion.
# | Lesson | Level | Status |
|---|---|---|---|
6.1 | W · Working | Ready | |
6.2 | W · Working | Ready | |
6.3 | S · Senior | Ready | |
6.4 | S · Senior | Ready | |
6.5 | S · Senior | Ready | |
6.6 | S · Senior | Ready | |
6.7 | S · Senior | Ready | |
6.8 | P · Principal | Ready | |
6.9 | S · Senior | Ready | |
— | all levels | Ready |
Every lesson in this part is ready. Work through them in order: each one sets up the problem the next one solves.
This course teaches the decisions behind verification. These lessons teach the tools and syntax that carry them out, so this part links to them instead of repeating them.