RE: [sv-ec] semantics of wildcard bins

From: Swapnajit Chakraborti <swapnaj_at_.....>
Date: Wed May 10 2006 - 23:15:41 PDT
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