RE: [sv-ac] #966

From: Lisa Piper <piper_at_.....>
Date: Tue Jul 11 2006 - 07:24:03 PDT
Isn't this already a requirement?  Section 6.3.2.1:

 

6.3.2.1 $ as a parameter value

 

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.

 

Or maybe you are saying the wording needs to be stronger to say that
when assigned to a parameter, the value $ can ONLY be assigned to
parameters of integer types.

 

Lisa

 

 

 

-----Original Message-----
From: owner-sv-ac@eda-stds.org [mailto:owner-sv-ac@eda-stds.org] On
Behalf Of Eduard Cerny
Sent: Tuesday, July 11, 2006 9:08 AM
To: Kulshrestha, Manisha; sv-ac@eda-stds.org
Subject: RE: [sv-ac] #966

 

Perhaps $ should be allowed only with type int. 

ed 

 

> -----Original Message-----

> From: owner-sv-ac@eda-stds.org 

> [mailto:owner-sv-ac@eda-stds.org] On Behalf Of Kulshrestha, Manisha

> Sent: Monday, July 10, 2006 7:42 PM

> To: sv-ac@eda-stds.org

> Subject: [sv-ac] #966

> 

> Hi,

> 

> I think this proposal should also clarify how '$' gets propagated in

> case parameters are typed:

> 

>    module #(parameter byte p = 1) child;

>       child2 #(p) c2;

>    endmodule

> 

>    module #(parameter int p = 1) child2;

>    endmodule

> 

>    module top;

>       child2 #($) c2;

>    endmodule

> 

> Does "$" propagate as a special value here?

> 

> I think that there needs to be some sort of statement that either:

> 

> 1) "The special value "$" is retained through parameter assignment

>      irrespective of the type of the parameter.  The value "$" is

>      considered to be a value and therefore shall not be legal to

>      associate with a type parameter."

> 

> OR

> 

> 2) "The special value "$" shall only be used with an untyped 

> parameter.

>      Any association with an explicitly typed parameter shall be

> illegal."

> 

> 

> This distinction is important if I start adding localparams to the

> mix:

> 

>    module #(parameter byte p = 1) child;

>       localparam bit p2 = p;

>       child2 #(p)  c2a;    // are these different if "p" is "$" ?

>       child2 #(p2) c2b;

>    endmodule

> 

> Manisha

> 

> 

 
Received on Tue Jul 11 07:24:13 2006

This archive was generated by hypermail 2.1.8 : Tue Jul 11 2006 - 07:24:18 PDT