RE: [sv-ac] 928 Proposal Updated

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Thu Jun 29 2006 - 06:02:40 PDT
Hi John,

no, I was thinking that if we leave the pass-by-value args out, then all
is treated as substitution, because even if it is an int or logic, by
substituting the epxression in the property you will get as if passed by
reference.  

ed


> -----Original Message-----
> From: John Havlicek [mailto:john.havlicek@freescale.com] 
> Sent: Thursday, June 29, 2006 7:32 AM
> To: Eduard.Cerny@synopsys.COM
> Cc: john.havlicek@freescale.com; piper@cadence.com; 
> Bassam.Tabbara@synopsys.COM; Eduard.Cerny@synopsys.COM; 
> dmitry.korchemny@intel.com; Brad.Pierce@synopsys.COM; 
> sv-ac@eda-stds.org
> Subject: Re: [sv-ac] 928 Proposal Updated
> 
> Hi Ed:
> 
> I think that sequence, property, and void arguments, as well
> as untyped, are passed by substitution.
> 
> For other typed arguments, I think that we need to use the 
> current LRM mechanism, which applies the assignement rules.
> I think of this like having an implicit wire for the formal
> argument in the declared sequence or property and assigning
> the actual argument expression to that wire.  As a result, 
> the assignment rules for type coercion are used (e.g., truncation,
> padding).  If the type of the actual argument expression cannot 
> be coerced to the type of the formal argument, then the compiler
> should reject the code.
> 
> Is this what you have in mind?
> 
> J.H.
> 
> > X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0
> > Content-class: urn:content-classes:message
> > Date: Wed, 28 Jun 2006 14:15:30 -0700
> > Thread-Topic: [sv-ac] 928 Proposal Updated
> > Thread-Index: Acaaq6WsLvdJK0zbS2C0VCj1KFg/3wAQrspA
> > From: "Eduard Cerny" <Eduard.Cerny@synopsys.com>
> > Cc: <Bassam.Tabbara@synopsys.com>, <Eduard.Cerny@synopsys.com>,
> >         <dmitry.korchemny@intel.com>, <Brad.Pierce@synopsys.com>,
> >         <sv-ac@eda-stds.org>
> > X-OriginalArrivalTime: 28 Jun 2006 21:15:31.0187 (UTC) 
> FILETIME=[FC952430:01C69AF7]
> > 
> > Hi,
> > 
> > It seems to me that the definition of what is const, pass 
> by value, pass
> > by substitution and pass by reference (isn't that the same as
> > substitution?) will make it quite complicated. Yet, pass by 
> value will
> > anyway introduce a local variable, but implicitly. Perhaps 
> that could be
> > left to the user - explicit user-defined local var if by value is
> > needed. Therefore, adding sequence, property and void as a type (in
> > addition to untyped with the restriction that is already in the
> > proposal) might be ok. All is still passed by substitution, 
> the types
> > are only used to make sure that a type error is not 
> detected only once
> > the actual arg is substituted in the use context.
> > 
> > so... leaving aside the 3 new types, it seems to me that 
> the proposal as
> > it stands now on Mantis is sufficient... and I'd vote yes for that
> > one...
> > 
> > ed
> > 
> 
Received on Thu Jun 29 06:02:46 2006

This archive was generated by hypermail 2.1.8 : Thu Jun 29 2006 - 06:02:58 PDT