Functional Coverage : Difference between ignore bins and default bins?

Hi All,

What is the Difference between ignore bins and default bins?
Both bins are not considered in % of coverage .
Ignore bins we need to define explicitly
Default bins : No need to define explicit bins

Is there any other difference apart from this? & how do we know which default bins values got hit?

Thank you.

In reply to gani:

A default bin specification is a debugging aid that tells the tool you want a sample count of values that were left unspecified. If you write

bins bad[] = default;

The unspecified bin values get distributed across the bad bins the same as if you had explictly ignored the unspecified values.

The ignore_bins construct is useful when it intersects another bin specification

coverpoint a {
  bins range[]= {[0:100]};
  ignore_bins bad_values = {46,77};

is easier to write than

coverpoint a {
  bins range[]= {[0:45],47:76],[78:100]};

Trust me, in a more complex example, it is easier to use ignore_bins.