Re: [sv-ac] another small flaw in 1549 Annex F

From: John Havlicek <john.havlicek_at_.....>
Date: Mon Oct 01 2007 - 04:30:01 PDT
Hi Manisha:

There is not general agreement on how to cast $ into a type
or whether to treat it as a "special value" that is not 
really cast.  There has been criticism of the example of 
assigning $ to an int parameter.

See the discussion in the description and notes of Mantis 
items 1982, 1350, and 0966.

I don't think we have time to converge on these questions for
this revision of the LRM.

By restricting the way $ is passed, we can avoid having to
solve these problems now without creating any additional backward 
compatibility traps.

J.H.

> X-MimeOLE: Produced By Microsoft Exchange V6.5
> Content-class: urn:content-classes:message
> Date: Mon, 1 Oct 2007 02:52:35 -0700
> X-MS-Has-Attach: 
> X-MS-TNEF-Correlator: 
> Thread-Topic: [sv-ac] another small flaw in 1549 Annex F
> Thread-Index: AcgDiDeu8sCpBG9hQg+pTFSsK1U6SwAatbtA
> From: "Kulshrestha, Manisha" <Manisha_Kulshrestha@mentor.com>
> X-OriginalArrivalTime: 01 Oct 2007 09:52:37.0157 (UTC) FILETIME=[CC2D5550:01C80410]
> 
> Hi John,
> 
> I was just wondering why we are putting this restriction about having
> untyped arg for passing '$'. In general in the LRM '$' can be assign to
> int types. Here is an example for $isunbounded in 19.6.3:
> 
> parameter int foo =3D $;
> 
> "The terminal $ may be an actual argument in an instance of a named
> sequence, either declared as a default actual argument or passed in the
> list of arguments of the instance.  If $ is an actual argument, then the
> corresponding formal argument shall be untyped and each of its
> references either shall be an upper bound in a
> cycle_delay_const_range_expression or shall itself be an actual argument
> in an instance of a named sequence."
> 
> Thanks.
> Manisha
> 
> -----Original Message-----
> From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org] On
> Behalf Of John Havlicek
> Sent: Sunday, September 30, 2007 11:04 PM
> To: sv-ac@server.eda-stds.org
> Subject: [sv-ac] another small flaw in 1549 Annex F
> 
> Hi Folks:
> 
> I am really trying to finish with 1549 Annex F changes.
> 
> I found another small flaw.  It amazes me how troublesome parentheses
> are.
> 
> The flatten_property function returns a parenthesis-enclosed
> expression.  If a "disable iff" appears inside the declaration of a
> named property that is instantiated as the top-level property in an
> assertion directive, then the result is that the "disable iff" is
> enclosed in an extra set of parentheses.
> 
> On this point, we need to use the abstract syntax to judge what is
> legal because the extra parentheses are not allowed in the Annex A
> syntax.
> 
> The extra parentheses are already allowed in the abstract syntax if
> there is a local variable declaration, but they are not allowed if
> there is no local variable declaration.
> 
> I have puzzled about how to fix this easily.  The best way I have
> thought of is to add a "parenthesis" form for the top-level property
> grammars for T and U.  This means adding some trivial cases to the
> top-level satisfaction relations, but that is not hard.  I just have
> to go find that other Mantis item that is already fixing the
> descriptions of those relations to ensure that the changes are
> aligned.
> 
> Comments or alternative suggestions?
> 
> J.H.
> 
> --=20
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Oct 1 04:30:35 2007

This archive was generated by hypermail 2.1.8 : Mon Oct 01 2007 - 04:30:56 PDT