Skip to Bins + crosses questions

Part 2 · Bins and crosses

Bins + crossesCovergroups, bins, transitions, and scalable crosses

Partition behavior into intentional bins, control Cartesian growth, and distinguish missing stimulus from an incorrect or unreachable coverage model.

Question directory

Questions for Bins + crosses

Open an authored answer, then connect it to the evidence diagram and the related practice-bank prompt.

  1. Functional modelHow should a coverpoint’s bins be chosen?Coverage and closure
  2. Functional modelWhat is the difference between unsized and fixed-count bin arrays?Coverage and closure
  3. Functional modelHow do illegal_bins and ignore_bins differ?Coverage and closure
  4. Combination spaceWhy use a cross when each coverpoint is already complete?Coverage and closure
  5. Combination spaceHow can cross-coverage explosion be reduced?Coverage and closure
  6. Combination spaceWhen is a missing cross bin a stimulus problem versus a model problem?Coverage and closure

Functional modelMake every bin encode intent

A maintainable covergroup partitions sampled behavior by verification consequence: legal classes, boundaries, transitions, errors, and deliberately excluded space.

Concept model

Classify a stable transaction before incrementing a counter

  1. Sampleaccepted txn
  2. Expressiontxn.opcode
  3. Partitionnormal · error
  4. Counterhit count
Scalarbins idle = {0};
Range arraybins op[] = {[1:4]};
Fixed countbins band[4] = {[0:31]};
Transitionbins wake = (0 => 1);
Wildcardwildcard bins err = {4'b1??1};
Excludedignore_bins rsvd = {[12:15]};
Unsized array
bins name[]Creates fine-grained bins from a finite declared set.
Fixed count
bins name[N]Distributes the value set across at most N bins.
Transition
(a => b)Measures ordered sampled changes, not just endpoint values.
Residue
defaultCollects otherwise unclassified values for model review.

SystemVerilog bins can collect a scalar, range, distributed set, wildcard pattern, or transition. Resolution should follow the specification rather than the raw width of the field.

Strong answer

Partition values by behavioral consequence: normal classes, boundaries, modes, errors, and meaningful transitions. Numeric convenience is secondary to verification intent.

Reason it through

  • Give distinct bins to values whose behavior or risk differs.
  • Group values only when one representative observation provides equivalent evidence.
  • Keep the model readable enough that an unhit bin leads to an actionable test or decision.
Practice a related question in the bank
Strong answer

An unsized bin array expands a finite value set into fine-grained bins, while a fixed-count array distributes that set across the requested bounded number of bins.

Reason it through

  • Empty brackets emphasize per-value or otherwise fine-grained partitioning of the declared set.
  • A numeric size caps report resolution and simulator bookkeeping.
  • When the values do not divide evenly, inspect the language and tool allocation rules at the boundaries.
Practice a related question in the bank
Strong answer

Ignored values are intentionally removed from the coverage goal. Illegal-bin hits identify forbidden observations and are reported, but assertions and protocol checkers should remain the primary correctness mechanism.

Reason it through

  • An ignored value changes the denominator because it is outside the modeled goal.
  • An illegal hit carries diagnostic meaning and should not silently disappear.
  • Do not use illegal bins as the only check for temporal or protocol rules.
Practice a related question in the bank

Combination spaceControl cross coverage before it controls you

Marginal coverpoints can each be complete while required combinations remain unseen. Cross only behaviorally important dimensions and make the legal denominator explicit.

Concept model

A complete row and column can still hide an empty cell

Raw dimensions4 × 8 × 396 binsSemantic groups2 × 4 × 324 bins
Hit
Unhit
Ignored
Forbidden
Raw product
4 × 8 × 3 = 96Small dimensions multiply quickly.
Group first
2 × 4 × 3 = 24Merge values only when behavior is equivalent.
Condition
sample validExclude cycles that are outside the transaction contract.
Disposition
hit / prove / waiveEvery remaining cell needs evidence, not hope.

The matrix distinguishes hit, unhit, ignored, and forbidden combinations. Semantic grouping and justified filtering keep the cross aligned with useful, reachable behavior.

Strong answer

Individual completion proves each value occurred somewhere. A cross reveals whether requirement-critical values occurred together in the same valid sample.

Reason it through

  • Two two-bin coverpoints form four starting cross bins, not two.
  • A complete row and complete column do not guarantee every matrix cell is hit.
  • Cross only relationships whose joint occurrence changes behavior or risk.
Practice a related question in the bank
Strong answer

Cross fewer dimensions, group behaviorally equivalent values before crossing, sample only valid contexts, and remove combinations only when their irrelevance or impossibility is justified.

Reason it through

  • Estimate the bin product before implementing the model.
  • Use semantic abstraction instead of relying on large automatic partitions.
  • Keep an auditable distinction among ignored, forbidden, and unreachable combinations.
Practice a related question in the bank
Strong answer

Confirm the combination is required and reachable first, then inspect constraints, generated transactions, monitor reconstruction, sampling conditions, and bin definitions before adding tests.

Reason it through

  • A legal-looking bin can still contradict protocol or configuration dependencies.
  • A reachable transaction may be generated but never sampled because the acceptance condition is wrong.
  • Random seed volume helps only after the legal model and observation path are correct.
Practice a related question in the bank