The 'iff' clause is not guarding the existence of a bin, it just guards whether the bin get incremented on a sample. So according to your example, there would always be 3 bins participating in the coverage. If you are still counting ignored_bin values even without using it for final coverage, then the iff clause might still be useful. > -----Original Message----- > From: Abhishek Tiwari [mailto:atiwari@cadence.com] > Sent: Wednesday, June 21, 2006 12:18 AM > To: Rich, Dave > Cc: sv-ec@eda-stds.org > Subject: Re: [sv-ec] Query regarding illegal bins > > Hi Rich, > > Ignore_bins and illegal bins are part of the coverage calculation since > they reduce the total bin space. > The link you have sent explains this. For example consider below code > mentioned in your link. > > bit [2:0] a,b; > covergroup ct; > coverpoint b { > option.auto_bin_max = 4; > ignore_bins ig = { [0:1], [5:6] }; > } > > In this case there are total of 4 automatic bins > auto[0]= (0,1) > auto[1] = (2,3) > auto[2] = (4,5) > auto[3] = (6,7) > > if there would not have been any ignore bins then total bin space would > have been 4. > But due to presence of ignore bins total bin space is = 4 - 1 = 3 (since > 1 bin namely auto[0] became empty). > > Now my question was if ignore bin had an iff condition , which is true > sometimes and false sometimes then what will > be total bin sapce. For example in above case , if we have > ignore_bins ig = { [0:1], [5:6] } iff(x); > > and 'x' is false some times and true some times during sampling , then > total bin sapce will be 4 or 3. > > Thanks > Abhishek > > Rich, Dave wrote: > > >Abhishek, > > > >The bin guard expression only serves to prevent incrementing the bin > >counter, it does not change bin structure. Since ignore_bins and > >illegal_bins aren't part of the coverage calculation, the guard has no > >effect on the final coverage. You may want to look at > >http://www.eda-stds.org/svdb/bug_view_page.php?bug_id=0001237. > > > >Dave > > > > > > > > > >>-----Original Message----- > >>From: owner-sv-ec@server.eda-stds.org [mailto:owner-sv-ec@server.eda- > >>stds.org] On Behalf Of Abhishek Tiwari > >>Sent: Tuesday, June 20, 2006 8:41 AM > >>To: sv-ec@server.verilog.org > >>Subject: [sv-ec] Query regarding illegal bins > >> > >>Hi > >> > >>I have a query regarding 'iff' with illegal bins . > >> > >>Consider the following example: > >> > >>coverpoint a { > >> bins b1[] = {0, 1, 2, 3}; > >> illegal_bins il_bins = {0} 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 > >>illegal_bins/ignore_bins. If > >>that is the case, values 0 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. > >> > >>Thanks > >>Abhishek > >> > > > > > > > >Received on Wed Jun 21 07:29:33 2006
This archive was generated by hypermail 2.1.8 : Wed Jun 21 2006 - 07:29:53 PDT