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.