RE: [sv-ac] #966

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Jul 11 2006 - 07:32:58 PDT
I think the statement in 6.3.2.1 indeed intended to say that it can be
assigned ONLY to parameters of integer types.

 

Note that 4.3 defines "integer types" as shortint, int, longint, byte,
bit, logic, reg, integer, and time.

 

Since Manisha's example involved the byte and bit types as well as int,
I think Ed intended to restrict it further to type int only.

 

Shalom

 

________________________________

From: owner-sv-ac@server.eda-stds.org
[mailto:owner-sv-ac@server.eda-stds.org] On Behalf Of Lisa Piper
Sent: Tuesday, July 11, 2006 5:24 PM
To: Eduard Cerny; Kulshrestha, Manisha; sv-ac@server.eda-stds.org
Subject: RE: [sv-ac] #966

 

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:33:24 2006

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