Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • Meet DCRouter
  • Glossary
  • Part 0: What Verification Is8
  • Part 1: What Can Go Wrong11
  • Part 2: Specifications as Checkable Rules8
  • Part 3: Observability and Controllability7
  • Part 4: Stimulus11
  • Part 5: Checking11
  • Part 6: Coverage10
    • What Coverage Measures
    • Code Coverage
    • Functional Coverage Models
    • Crosses and the Combinatorial Explosion
    • Closure Curves
    • Holes and Unreachable Bins
    • Coverage-Driven Stimulus
    • Mutation Testing
    • A Coverage Model for DCRouter
    • Drills: Coverage
  • Part 7: Formal and Simulation10
  • Part 8: Verification Levels and Reuse8
  • Part 9: Planning and Risk9
  • Part 10: Emulation and Prototyping8
  • Part 11: Post-Silicon Validation8
  • Part 12: Bug Economics8
  • Part 13: Debug7
  • Part 14: Sign-Off7
  • Part 15: Verification in Context8
  • Part 16: Case Studies5
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹First Principles of Verification Strategy
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 6: Coverage

Part 6 · Coverage · All levels

Part 6: Coverage

How do we know we have tested enough? Write a functional coverage model from a verification plan.

  • 10topics
  • 10lessons
On this page

    Part 6 answers: How do we know we have tested enough?

    Where Part 6 sits among the sixteen questions of the course.

    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.

    After this part you can

    • 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.

    Warm-up: three questions from Part 5

    Answer each in your head before opening it. If two or more feel shaky, revisit Part 5: Checking first.

    Check yourself Assertion or scoreboard for "data is stable while stalled"?

    An assertion: it is a local, cycle-level rule at one interface.

    Check yourself How does a scoreboard catch a lost packet?

    An expected packet is never matched; the end-of-test check finds it left over.

    Check yourself What is a false pass?

    A test that passes because its check never ran or checked nothing, such as a vacuous assertion.

    Lessons

    #

    Lesson

    Level

    Status

    6.1

    What Coverage Measures

    W · Working

    Ready

    6.2

    Code Coverage

    W · Working

    Ready

    6.3

    Functional Coverage Models

    S · Senior

    Ready

    6.4

    Crosses and the Combinatorial Explosion

    S · Senior

    Ready

    6.5

    Closure Curves

    S · Senior

    Ready

    6.6

    Holes and Unreachable Bins

    S · Senior

    Ready

    6.7

    Coverage-Driven Stimulus

    S · Senior

    Ready

    6.8

    Mutation Testing

    P · Principal

    Ready

    6.9

    A Coverage Model for DCRouter

    S · Senior

    Ready

    —

    Drills and checkpoint

    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.

    Tip

    DCRouter in this part. Step 8: a coverage model for DCRouter; correlate coverage holes with uncaught zoo bugs. DCRouter is the small router you verify across the course, with 24 planted bugs; see Meet DCRouter.

    Where other courses go deeper

    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.

    • SystemVerilog course: Coverage

    • VIP and compliance course: Coverage Modelling

    • DV interview puzzles: Coverage Puzzles

    Related topics

    • Course hub

    • Previous: Part 5 · Checking

    • Next: Part 7 · Formal and Simulation

    PreviousNext: What Coverage Measures

    Up next

    Up nextWhat Coverage Measures

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • How to Use This Course
    • Reading Paths
    • Concept Map