Ray, There is still some confusion, I believe. On one hand, the LRM says that "A wildcard bin definition only considers 2-state values; sampled values containing X or Z are excluded.". But if we use '==?' operator, you have shown that potentially we are allowing sampled values with 'x' and 'z' to increment the bin count. So following points need to be clarified: - Should we use '==?' operator while sampling wildcard bins? - How should we calculate the ranges (you aleady raised the issue)? Thx, Swapnajit. >-----Original Message----- >From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On >Behalf Of Ryan, Ray >Sent: Thursday, May 11, 2006 1:12 AM >To: Bresticker, Shalom; sv-ec@eda.org >Subject: RE: [sv-ec] semantics of wildcard bins > >Hi Shalom, > > >For #2 the sample exclusion is different from the semantics of '==?'. > >The '==?' operator is asymmetric. The '?', 'x' or 'z' values >are wildcards in the right operand. An 'x' in the right >operand matches any value in the left operand (including 'x' or 'z'). >An 'x' in the left operand only matches a wildcard ('x' 'z' or >'?') in the right operand. > >When applied to the context of bin matching, the bin value >correspond to the right operand (wildcards recognized) and the >sample value is the left operand. If the sample value contains >an 'x', and the corresponding bit of the bin value is '?' (as >in my example) application of 'sample ==? bin_value' >would yield TRUE - indicating a match and presumably the bin >should be incremented. > >However, the LRM text seems to state that if the SAMPLED value >contains an 'x' or 'z' value, the sample value is excluded - >and thus the bin would NOT be incremented. > >I would expect the behavior to be that of the '==?' operator >and the bin should be incremented. That is, a wildcard matches >any value not just 1 or 0. > >Ray > >> -----Original Message----- >> From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] >> Sent: Wednesday, May 10, 2006 4:15 AM >> To: Ryan, Ray; sv-ec@server.eda.org >> Subject: RE: [sv-ec] semantics of wildcard bins >> >> Hi, Ray. >> >> As a user reading this section for the first time, here are the >> interpretations I would come to as answers to your questions: >> >> >> > -----Original Message----- >> > From: owner-sv-ec@server.eda.org >[mailto:owner-sv-ec@server.eda.org] >> On >> > Behalf Of Ryan, Ray >> > Sent: Wednesday, May 10, 2006 3:49 AM >> > To: sv-ec@server.eda.org >> > Subject: [sv-ec] semantics of wildcard bins >> > >> > The last last paragraph of the section on wildcard bins (18.4.3) >> states: >> > >> > "A wildcard bin definition only considers 2-state values; sampled >> values >> > containing X or Z are excluded. Thus, the range of values >> covered by a >> > wildcard bin is established by replacing every wildcard >> digit by 0 to >> > compute the low bound and 1 to compute the high bound." >> > >> > >> > 1) The statement about the range of values is not right or is >> confusing. >> > >> > For example: >> > wildcard bins bx = { 4'b?0?0 }; >> > This does not cover the values in the range 0000 to 1010. It >> doesn't >> > cover 0001. >> > >> >> [Shalom] Agree. >> >> >> > 2) What does it mean that sampled values containing X or Z are >> excluded. >> > >> > For example: >> > wildcard bins bx = { 4'b?0?0 }; >> > I would expect that if the sample value is: >> > 0000 - increment the bin count >> > 1000 - increment the bin count >> > 0001 - don't increment >> > 000X - don't increment >> > 0010 - increment >> > 00X0 - increment >> > 00Z0 - increment >> > However, the text seems to indicate that the last two sample >> values >> > are excluded and >> > so don't increment the bin count. >> > >> >> [Shalom] Yes, they are excluded. The text explicitly says that the ? >> is a wildcard for 0 and 1 and that it works like ==?. >> >> >> > 3) How many bins are created for >> > wildcard bins bx[] = { 4'b?0?0, 4'b?000, 4'b00?0 } >> > I would expect that 3 bins are created. >> > >> >> [Shalom] Agree. >> >> >> > 4) How are wildcard ignore_bins handled? >> > For example: >> > bins BA[2] = { 2'b00, 2'b1x }; >> > bins BB[2] = { 2'b10, 2'b0x }; >> > wildcard bins BC = { 2'b0?, 2'b11 } >> > wildcard ignore_bins ivals = { 2'b00, 2'b?0, 2'b0? }; >> > ignore_bins vals = { 2'b01, 2'b00, 2'b0x, 2'b0z }; >> > >> > The ignore value 2'b00 will be removed from the first BA bin >> causing >> > the >> > bin to be ignored. >> > Will the ignore value 2'b?0 remove the 2'b10 value from BB ? >> >> [Shalom] Yes. >> >> >> > Will the list of values in the last ignore_bins remove the >> wildcard >> > value 2'b0 from BC ? >> >> [Shalom] Yes. >> >> Two more editorial quibbles: >> >> The first example in this section is called g12_16 and increments >> "when the sampled value is between 12 and 16". >> Actually the range is only 12-15. >> >> Also, the first and third paragraphs in this section refer to >> "wildcard bins", with both in Courier font. As a reader, I >would be in >> doubt whether or not this implies that 'wildcard' >> may only be used with 'bins' >> and not with 'ignore_bins' and 'illegal_bins' (going back to >the rule >> that the BNF does not contain all the information and the text >> supplements it). The simplest correction would be to de-Courierize >> "bins' in those two places. >> >> Shalom >> >> > >Received on Wed May 10 23:15:44 2006
This archive was generated by hypermail 2.1.8 : Wed May 10 2006 - 23:16:01 PDT