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

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Wed Oct 03 2007 - 05:50:33 PDT
I think that this has to be also considered together with 966.
ed 

> -----Original Message-----
> From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On 
> Behalf Of John Havlicek
> Sent: Wednesday, October 03, 2007 7:44 AM
> To: Manisha_Kulshrestha@mentor.com
> Cc: john.havlicek@freescale.com; shalom.bresticker@intel.com; 
> sv-ac@eda-stds.org
> Subject: Re: [sv-ac] another small flaw in 1549 Annex F
> 
> Hi Manisha:
> 
> O.k., then we need a technical proposal for how to treat
> $ as a typed entity.  What value will represent $?  How
> will it behave in comparisons?  What are the casting 
> rules for $?  Into what data containers can $ be placed?
> 
> J.H.
> 
> > X-MimeOLE: Produced By Microsoft Exchange V6.5
> > Content-class: urn:content-classes:message
> > Date: Tue, 2 Oct 2007 22:58:42 -0700
> > X-MS-Has-Attach: 
> > X-MS-TNEF-Correlator: 
> > Thread-Topic: [sv-ac] another small flaw in 1549 Annex F
> > Thread-Index: AcgENOS+kRL47cPnTLiU4rFfO5L6+ABSn+Gg
> > From: "Kulshrestha, Manisha" <Manisha_Kulshrestha@mentor.com>
> > Cc: <sv-ac@eda-stds.org>
> > X-OriginalArrivalTime: 03 Oct 2007 05:58:45.0317 (UTC) 
> FILETIME=[755FF750:01C80582]
> > 
> > Hi John,
> > 
> > I feel that by putting this limitation we are encouraging usage of
> > untyped formals (now with the introduction of more typed formals it
> > should be other way around). Since a property writer may not know
> > whether a user will ever pass a '$' for the range, he/she 
> is forced to
> > keep the upper bounds for these as untyped args.=20
> > 
> > Thanks.
> > Manisha
> > 
> > -----Original Message-----
> > From: John Havlicek [mailto:john.havlicek@freescale.com]=20
> > Sent: Monday, October 01, 2007 7:41 PM
> > To: shalom.bresticker@intel.com
> > Cc: john.havlicek@freescale.com; Kulshrestha, Manisha;
> > sv-ac@eda-stds.org
> > Subject: Re: [sv-ac] another small flaw in 1549 Annex F
> > 
> > Hi Shalom:
> > 
> > Maybe there has not been criticism of the example of assigning $ to
> > an int parameter. =20
> > 
> > However, I still do not think that there is agreement on 
> how to cast $
> > into a type or whether to treat it as a "special value" that is not
> > really cast. =20
> > 
> > We discussed this in a recent SV-AC meeting and my recollection is
> > that people did not think it was worth trying to define passing $ as
> > actual argument to a typed sequence or property formal argument at
> > this time.
> > 
> > Below are some comments from Gord in one of the notes on 1350.
> > 
> > J.H.
> > 
> > ----------------------------
> > 
> > 
> > From Gord (Mar 13):
> > 
> > This note is a summary of some issues that were discussed today in
> > SV-BC. Since this impact EC and AC issues, BC agreed this should go
> > out for general discussion.
> > 
> > There are numerous issues with the current descriptions regarding
> > passing $ as a parameter value. In particular, in 6.3.2.1, we have:
> > 
> >       The value $ can be assigned to parameters of integer types.
> >       A parameter to which $ is assigned shall only be used
> >       wherever $ can be specified as a literal constant.
> > 
> > A minor issue is that "integer" was likely meant to be "integral".
> > 
> > In the first example in 6.3.2.1, there is a generate condition:
> > 
> >       if ( max_quiet =3D=3D 0) begin
> > 
> > with an instantiation of the module where "max_quiet" is $.
> > 
> > 
> > There are numerous questions regarding this and other contexts for
> > parameters which denote $.
> > 
> > 1) Is a parameter denoting $ valid in a comparison expression? The
> >     example indicates that it is, but there are no semantics.
> > 
> > 2) Is a parameter denoting $ valid as an operand in other 
> expressions?
> >     For example would "max_quiet + 1" be valid if max_quiet is $?
> > 
> > 3) Do $right, $left, $bits, etc have defined results for a
> >     parameter which denotes $?
> > 
> > 4) The intent of $ appears to be to allow $ to be used in 
> assertions.
> >     But there are other contexts where $ is valid but means 
> different
> >     things. For example, $ is used to denote a dynamic array
> > declaration,
> >     the last element of a queue, and range bounds of covergroup
> >     bins expressions. Was the intent to allow parameters that denote
> >     $ in all such scenarios? There are some implementation impacts
> >     of such a generalization that were likely not considered
> >     originally.
> > 
> > 5) Can a parameter which denotes $ propagate down through other
> >     parameters?
> > 
> > 6) What is the meaning of $ if it propagates through a typed
> >     parameter? Is it the "last value of the range" or is it
> >     a special value which retains the $ meaning? In particular,
> >     if $ propagates from a 32-bit parameter to an 8-bit and then
> >     back to a 32-bit parameter, does it still represent the
> >     "last value in a 32-bit range" when used in a range context
> >     (such as a covergroup bins).
> > 
> > 7) Depending on some of the above, the discussion of "$" as
> >     "unbounded" is problematic since in some contexts it really
> >     means "last value" or has other meanings.
> > 
> > 
> > 
> > My personal suggestion is that some of the issues could be 
> resolved by
> > the rule such as:
> > 
> >     A parameter that denotes $ may only be used in the following
> > contexts:
> >        a) a context in which $ is valid as a primary
> >        b) as an actual to $unbounded
> >        c) as the parameter value in a parameter assignment 
> or override
> >     A parameter which denotes $ continues to denote $ without regard
> >     to the type of the integral parameter to which it is assigned.
> > 
> > This does not address the other meanings of $ in array and queue
> > contexts.
> > 
> > Personally, I would very much prefer to disallow use of a parameter
> > which denotes $ in array and queue contexts. Such use is much too
> > close to a "macro substitution" view and can change the "natural"
> > meaning of a type from a parametrically determined array size to a
> > dynamic array.
> > 
> > I would like to see a restriction that a parameter denoting $ should
> > only be legal in a range expression which admits $. This 
> would involve
> > assertion sequences and covergroups. This, I think, covers the
> > original intent without introducing issues that we haven't thought
> > about and that might be somewhat problematic in terms of
> > implementation.
> > 
> > 
> > > X-ExtLoop1: 1
> > > X-IronPort-AV: E=3DSophos;i=3D"4.21,217,1188802800";=20
> > >    d=3D"scan'208";a=3D"290369526"
> > > X-MimeOLE: Produced By Microsoft Exchange V6.5
> > > Content-class: urn:content-classes:message
> > > Date: Mon, 1 Oct 2007 15:56:31 +0200
> > > X-MS-Has-Attach:=20
> > > X-MS-TNEF-Correlator:=20
> > > Thread-Topic: [sv-ac] another small flaw in 1549 Annex F
> > > Thread-Index: AcgEHoGKPwLMry4NRDWs9SPp9KpLeQAEL5zg
> > > From: "Bresticker, Shalom" <shalom.bresticker@intel.com>
> > > Cc: <sv-ac@eda-stds.org>
> > > X-OriginalArrivalTime: 01 Oct 2007 13:56:32.0311 (UTC)
> > FILETIME=3D[DF689C70:01C80432]
> > >=20
> > > John,=3D20
> > >=20
> > > > There is not general agreement on how to cast $ into a type=3D20
> > > > or whether to treat it as a "special value" that is not=3D20
> > > > really cast.  There has been criticism of the example of=3D20
> > > > assigning $ to an int parameter.
> > >=20
> > > I think the situation was the reverse.
> > >=20
> > > 6=3D2E20.2.1 says explicitly, "The value $ can be assigned to =
> > parameters
> > of
> > > integer types."
> > >=20
> > > The question would be about other types.
> > >=20
> > > Shalom
> > > 
> ---------------------------------------------------------------------
> > > Intel Israel (74) Limited
> > >=20
> > > This e-mail and any attachments may contain confidential 
> material for
> > > the sole use of the intended recipient(s). Any review or 
> distribution
> > > by others is strictly prohibited. If you are not the intended
> > > recipient, please contact the sender and delete all copies.
> 
> -- 
> 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 Wed Oct 3 05:51:05 2007

This archive was generated by hypermail 2.1.8 : Wed Oct 03 2007 - 05:51:37 PDT