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