Hi All:
I've been away from this process for a while. My comments here are based on my knowledge of the original intention of 2506 and a quick review of a recent draft of the LRM.
The answer to Brad's original question is "yes". Semantically, a select_expression denotes a set of bin tuples. Given a set of B of bin tuples, I can choose a subset B' of B as
B' = B with (E) matches (M)
To determine B' I look at each candidate bin tuple b from B and test each constituent value tuple v of b against E. I put b into B' iff at least M of these tests return true.
Once I have rendered B' as a set of bin tuples, I can, if I like, iterate and form something like
B'' = B' with (E') matches (M')
At the level of sets of bin tuples, "&&" and "||" are semantically just set intersection and set union. Because these all make sense as denotations of sets of bin tuples, they can be intermixed freely. "with (E) matches (M)" does not, in general, distribute over "&&" or "||", though, so the structure of the select expression is important.
Select conditions can also be understood as special cases where the match expression is "1".
One clunky thing is that one may want to specify the "matches" selection criterion in terms of individual factors of the cross product, but the semantics as defined currently is in terms of the fully expanded value tuples (i.e., across all the factors of the cross).
It will take me some more time to create an example, but I will send that along later.
Best regards,
John H.
-----Original Message-----
From: Steven Sharp
Sent: Monday, July 09, 2012 5:01 PM
To: Little, Scott; Brad Pierce; sv-ec@eda.org
Cc: John Havlicek
Subject: RE: Can a bins_selection contain multiple matches clauses?
This example does not have multiple matches clauses.
-----Original Message-----
From: Little, Scott [mailto:scott.little@intel.com]
Sent: Monday, July 09, 2012 5:56 PM
To: Steven Sharp; Brad Pierce; sv-ec@eda.org
Cc: John Havlicek
Subject: RE: Can a bins_selection contain multiple matches clauses?
I presume you are asking about the first question. Let's use the example from the mantis and change it slightly.
covergroup cg (input int val);
coverpoint a
{
bins low[] = {[0:127]};
bins high = {[128:255]};
}
coverpoint b
{
bins two[] = b with (item % 2 == 0)
bins three[] = b with (item % 3 == 0)
}
X: cross a,b
{
bins apple = X with (a+b < 257) matches (127 + val);
}
endgroup
Thanks,
Scott
-----Original Message-----
From: Steven Sharp [mailto:sharp@cadence.com]
Sent: Monday, July 09, 2012 2:39 PM
To: Little, Scott; Brad Pierce; sv-ec@eda.org
Subject: RE: Can a bins_selection contain multiple matches clauses?
Can you give an example of what you are talking about, along with what you think it would mean?
-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of Little, Scott
Sent: Monday, July 09, 2012 5:27 PM
To: Brad Pierce; sv-ec@eda.org
Subject: [sv-ec] RE: Can a bins_selection contain multiple matches clauses?
Yes, that was the intention. It could be more than && and || couldn't it? Couldn't it be things like + and -?
In reading the mantis 4129 I noticed a typo that I believe needs to be fixed. It was introduced due to an inconsistency in the mantis 2506 proposal (see ProposalforMantis2506_v19.pdf at http://www.eda.org/mantis/view.php?id=2506). Originally, the BNF item was integer_expression but was later changed to integer_covergroup_expression. I did a search and replace that missed an instance of integer_expression on page 22 with an extra space. The BNF on page 12 is correct (two integer_covergroup_expression items). When the mantis was implemented the integer_expression from page 22 was used and propagated into Clause 19. This should be fixed by changing all integer_expression items to integer_covergroup_expression. integer_expression isn't a valid BNF item as mentioned in the discussion on mantis 4129.
Thanks,
Scott
-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of Brad Pierce
Sent: Monday, July 09, 2012 10:03 AM
To: sv-ec@eda.org
Subject: [sv-ec] Can a bins_selection contain multiple matches clauses?
Regarding ballot issue, http://www.eda.org/svdb/view.php?id=4129 , and the production
select_expression ::= ...
| select_expression with ( with_covergroup_expression ) [ matches integer_covergroup_expression ]
| ...
was it really intended, as the BNF indicates, that a select expression can contain many matches clauses by combining the smaller select_expressions that use them into larger ones with && and || ?
-- Brad
Received on Mon Jul 9 16:09:21 2012
This archive was generated by hypermail 2.1.8 : Mon Jul 09 2012 - 16:09:24 PDT