In reply to dave_59:
worst case scenario if a is 7 and b is 7 . cover-point output should it be 14 or cover-point will reduce the resultant bits based on its operand’s number of bits?
(1) Typically range is [low:high] , so I were to write [high:low] **would the bounds be changed from low to high internally ? .
**
(2) If I were to write ::
// Coverpoint2
sum_a_b_range : coverpoint (a + b + 4'b0 ) // 4-bit precision
{
less_than_7 = {[0:6]};
equal_to_7 = {7};
greater_than_7 = {[8:$]}; // Doubt here !!
}
Will bin greater_than_7 cover range [8:14] ( i.e 7 + 7 ) OR [8:15] ( due to 4-bit precision ) ?
It is an error if you write the range [high:low]. This helps catch errors in any calculations you might have.
The LEM does not specify how the max value is specified, but I think assume (and it’s easy to verify) it is based on the type of the expression (4-bit precsion), not the maximum value the expression could yield.