Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.7k views
in Technique[技术] by (71.8m points)

verilog - Functional Coverage - bin that collects all values that are not collected in other bins

ipv6_hdr__f_next_header_cp: coverpoint  this.ipv6_hdr.ipv6_f_next_header iff (this.has_ipv6_header){
    bins ipsec_33 = {'h33};
    bins tcp_06 = {'h06};
    bins udp_11 = {'h11};
    bins done_3b = {'h3b};
    bins ipv6_ext_any_other [3] = {[0:'h5], ['h7:'h10], ['h12:'h3a], ['h3c:$]};
}

ipv6_ext_any_other bin should collect all vals that are not collected by other bins.

default might be used, but the problem is that default is not an active bin, I mean, it is not a part of the func cov metrics.

Is there any other way of defining the ipv6_ext_any_other bin? Alternatively, is there a way of making the default an active bin?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can do

bins ipv6_ext_any_other [3] = {[0:$]} with (!(item inside {'h33,'h06,'h11,'h3b}));

Also see https://accellera.mantishub.io/view.php?id=4698


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...