Hi Arturo, Thanks for your reply. So, essentially, if a coverpoint has only got declaration of ignore_bins/illegal_bins, it is equivalent to automatic bin declaration with extra filtering provided by ignore_bins/illegal_bins construct. I think this clarification can be added to the LRM. I have another question regarding the non automatic case. Consider the following example: coverpoint a { bins b1[] = {0, 1, 2, 3}; ignore_bins ig_bins = {0, 1} iff x+y; // Note guard expression } Now, as per LRM, bins are effective only when guard expression evaluates to true. I believe this will apply for ignore_bins. If that is the case, values 0 & 1 will only be ignored iff "x+y" is true while sampling. Now, it may happen that value 0 is ignored during one sampling event (x+y true) and not ignored (x+y false) during another sampling event. In such scenario, LRM does not specify how to calculate the final coverage. Regards, Swapnajit. Arturo Salz wrote: > > Swapnajit, > > An ignored coverbin does not modify the coverage space, it only indicates > that the specified bins not be counted. > Thus, your example would do the following: > - Create 7 auto-bins (0..6). > - Bins 0, 1, and 2 never take a hit. > And, if the sampled "a" takes on all values 0-7, the coverage is 4/7 => 57.1% > > Answer > > ----- Original Message ----- > From: "Swapnajit Chakraborti" <swapnaj@cadence.com> > To: <sv-ec@eda.org> > Sent: Friday, April 29, 2005 7:17 AM > Subject: [sv-ec] Query on illegal/ignore_bins > > If the user specifies only ignore_bins with a coverpoint, what will > be the behavior? Consider the following example: > > reg [2:0] a; > coverpoint a { > ignore_bins ig_bins = {0, 1, 2}; > } > > LRM clearly says that (section 20.4.4) values 0, 1 & 2 will not > be considered(ignored) during sampling. What LRM does not clarify > is what happens for the values which are not ignored, e.g. 3, 4, > 5, 6 & 7. > Should we interpret the above declaration as an automatic bin > declaration for coverpoint a and create bins for the values which > are not ignored. This implies we create auto[3], auto[4] etc. > depending on whether these values occurred during simulation > and were sampled. This makes sense since if we do not create auto > bins, specifying ignore_bins doesn't serve any purpose. But this > is in contradiction with how automatic bins are specified. For your > convenience, I have given a couple of examples of how automatic > bins are specified. > > coverpoint a; > coverpoint b { > option.auto_bin_max = 7; > } > coverpoint c { > type_option.weight = 7; > } > > In all the above three cases, automatic bins are created. > Note that the basic criteria is that no user-defined bins are > specified. > > Now as soon as user specifies a bin with ignore_bins keyword, as per > LRM its an user-defined bin. So if we create an automatic bin in this > case, it may be confusing. This applies to illegal_bins as well. > > I believe this needs to be clarified in LRM. > > Thx, > Swapnajit.Received on Tue May 3 00:30:14 2005
This archive was generated by hypermail 2.1.8 : Tue May 03 2005 - 00:31:28 PDT