RE: [sv-ac] RE: minor comments on 1549

From: Arturo Salz <Arturo.Salz_at_.....>
Date: Thu Sep 07 2006 - 11:20:52 PDT
The same thought occurred to me, but that would also be inconsistent
with the rest of the language - other elements don't allow mixing ports
and arguments.

I sympathize with Dmitry's concern. That's why before considering const
or parameter for this purpose, I think it might be useful to understand
if such a modifier is needed at all. I feel that using const in this
context is unnecessary and somewhat confusing. As Lisa stated earlier,
the use of const is optional, and passing a variable will result in an
error. If I were to extend this further, one could say that in general,
property arguments are passed by reference, but we don't require the ref
modifier.

	Arturo

-----Original Message-----
From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of
Bresticker, Shalom
Sent: Thursday, September 07, 2006 4:06 AM
To: Korchemny, Dmitry
Cc: sv-ac@eda-stds.org
Subject: RE: [sv-ac] RE: minor comments on 1549

Could the keyword 'parameter' be used instead of 'const'?

Shalom

> -----Original Message-----
> From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org]
On
> Behalf Of Korchemny, Dmitry
> Sent: Thursday, September 07, 2006 1:57 PM
> To: Arturo Salz; john.havlicek@freescale.com
> Cc: piper@cadence.com; sv-ac@server.eda-stds.org
> Subject: RE: [sv-ac] RE: minor comments on 1549
> 
> Hi Arturo,
> 
> Using parameters is indeed consistent with other SV areas, but the
> property usage becomes more difficult: the end-users will have to
> distinguish between parameters and ports. E.g. instead of writing
> 
> assert property (triggers(.cond(a), .impl(b), .delay(c));
> 
> The user will have to write:
> 
> assert property (triggers#(.delay(c))(.cond(a), .impl(b));
> 
> For the end-user the first form is more intuitive. Therefore when in
> this approach the library properties will always have wrappers. E.g.,
> 
> property triggers(cond, impl, delay);
> 	lib_triggers#(delay)(cond, impl);
> endproperty
> 
> property lib_triggers#(shortint delay = 1) (cond, impl);
> 	a |-> ##delay b;
> endproperty
> 
> Using const would save one wrapper.
> 
> Regards,
> Dmitry
Received on Thu Sep 7 11:21:08 2006

This archive was generated by hypermail 2.1.8 : Thu Sep 07 2006 - 11:21:30 PDT