My coverage contains lot of complex crosses , so I built some coverpoints that I don't really care about them when they stand alone. The coverpoints are appearing on the final report and affecting the coverage percentage. Is there a way to include tree leaves only in coverage report? ( i.e crosses , and coverpoints that are not included in a cross ) Is it done when writing the code? Or is there a way to change the options and settings of what is shown? ( I'm using DVE. If you are familiar with something else, it would be helpful too. )
1 Answers
For all the coverpoints, you can use option.weight
feature:
From IEEE 1800-2012, Table 19-3:
weight = constant_number
Default = 1
Comment = If set at the covergroup syntactic level, it specifies the weight of this covergroup for computing the overall cumulative (or type) coverage of the saved database. If set at the coverpoint (or cross) syntactic level, it specifies the weight of a coverpoint (or cross) for computing the cumulative (or type) coverage of the enclosing covergroup. The specified weight shall be a nonnegative integral value.
You can set weight to zero for all the coverpoints that you want to mask. Just add the following line in coverpoints:
option.weight = 0;
Further, from example in same section:
a : coverpoint a_var
{
// Use weight 2 to compute the coverage of each instance
option.weight = 2;
// Use weight 3 to compute the cumulative (type) coverage for g1
type_option.weight = 3;
// NOTE: type_option.weight = w would cause syntax error.
}
Using zero weight shall not count coverpoint individual coverage hit, but it shall be counted in calculation of cross coverage.