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

  • Start Here6
  • SystemVerilog Language Foundations28
  • Object-Oriented SystemVerilog for Verification30
  • Constraint Randomization — Interview-Critical Deep Dive36
  • SystemVerilog Assertions — Interview-Critical Deep Dive40
  • Functional Coverage in SystemVerilog22
    • Covergroups & Coverpoints
    • Bins: Explicit, Auto, Illegal & Ignore
      • Auto Bins vs Explicit Bins
      • Transition Bins
      • Exclusions, Patterns & Filters
      • Bin Design Strategy
    • Cross Coverage
    • Coverage Options & Methods
    • Coverage Closure & Sign-Off
  • Testbench Architecture in SystemVerilog23
  • Advanced Language & Integration25
  • Senior & Interview Preparation21
  • Principal-Level Verification28
Loading lesson

‹Functional Coverage in SystemVerilog
  1. Topics
  2. SystemVerilog
  3. Functional Coverage in SystemVerilog
  4. Bins: Explicit, Auto, Illegal & Ignore

Part 5 · Functional Coverage · Intermediate

Bins: Explicit, Auto, Illegal & Ignore

Bins turn sampled values into named scenarios, violations and exclusions.

  • 4topics
  • 4lessons

A coverpoint names what is watched. Its bins decide which sampled values count as which scenario, which values are violations, and which values are out of scope.

Bin kind

It says

Coverage goal

bins name = {values}

This scenario must happen

In

bins name[] = {...}

Each of these must happen

In, one bin per value

bins name = (A => B)

This sequence must happen

In

bins other = default

Anything else, for bookkeeping

Out

ignore_bins

Out of scope, do not count

Removed

illegal_bins

Must never happen

Removed; a hit is a run-time error

wildcard bins = {pattern}

Values matching the pattern

In

bins ... with (expr)

Values where the expression holds

In

Coverage is hit goal bins divided by total goal bins.

Lesson

What it covers

Auto Bins vs Explicit Bins

The 64-bucket trap, named value bins, and one bin versus many.

Transition Bins

Sequences, repetition operators, and the FSM arc recipe.

Exclusions, Patterns & Filters

Illegal and ignore bins, wildcard patterns, and with filters.

Bin Design Strategy

Intent-driven bins, explosion control, and a worked redesign.

Check yourself A coverpoint declares 8 single-value bins m[] = {[0:7]}, with ignore_bins {6} and illegal_bins {7}. Four goal bins are hit. What is the coverage?

Four of six, 66.7%. Each excluded value was the only value of its bin, so both bins empty out and leave the goal: the denominator is 6, not 8. An exclusion removes a bin only when it empties it.

Interview

Interviewers ask what a coverage percentage actually divides. The answer is hit goal bins over total goal bins. Default bins, ignore_bins and illegal_bins sit outside that fraction.

PreviousNext: Auto Bins vs Explicit Bins

Up next

Up nextAuto Bins vs Explicit Bins

Sign in to save progress

Practice this lessonReport an error

See also

  • Covergroups & Coverpoints
  • Cross Coverage
  • Coverage Options & Methods