Hi, Paul. There need to be two syntaxes, one for concatenations, one for array literals. Yes 4.5.1 and analog_filter_function_concatenations have the same problem. See 4.5.11.5 for an example of the latter. Most of A.8.1 is the old concatenations. New syntaxes should be defined for the array literals. They should be based on the 1800-2005 BNF. Regards, Shalom > -----Original Message----- > From: owner-verilog-ams@server.eda.org > [mailto:owner-verilog-ams@server.eda.org] On Behalf Of Paul Floyd > Sent: Wednesday, July 02, 2008 6:18 PM > To: Verilog-AMS LRM Committee > Subject: Re: Clause 4 > > Bresticker, Shalom wrote: > > Shalom, > > >If I understand you, you are referring to use of concatenation for > >array literals. > > > > > > Yes, mostly. > > >I had previously commented (on a previous draft) that in SV, > such forms > >require the brackets to be prefixed by an apostrophe and are > not called > >concatenations. > > > >On Clause 3, I commented thus: > > > >"The BNF non-terminal constant_concatenation is used for array > >initialization, as in real_type and variable_type in Syntax 3-1, > >param_assignment in Syntax 3-2, net_assignment in Syntax 3-6, for > >example. > > > >That non-terminal is missing the apostrophe preceding the curly > >brackets that 3.4 says is needed: "For parameters defined as arrays, > >the initializer shall be a constant_param_arrayinit > expression which is > >a list of constant expressions containing only constant numbers and > >previously defined parameters within '{ and } delimiters." > > > >And the "constant_param_arrayinit" mentioned there does not appear > >anywhere." > > > > > > I go along with this, as a change from the 2.2 LRM. > > >And 4.2.13 itself says, > > > >"The concatenation shall be expressed using the brace > characters { and > >}, with commas separating the expressions within. It should not be > >confused with the array literal syntax '{ } which is array of values. > >Confusion can arise because { } is the array literal syntax in the C > >language whereas it means something very different in the > Verilog HDL > >and Verilog-AMS HDL languages." > > > > > > How does this fit in with 4.5.1 Vector or array arguments to > analog operators? This says that an array can be passed as an > array_identifier (no problem with that) or an > analog_constant_concatenation (and > analog_constant_concatenation has no mention other than in > this subclause). A.8.1 describes > analog_filter_function_concatenation, which sounds like the > same thing. And it looks to me like 2.2 LRM style array > concatenation. So should analog filters also be using '{} as well? > > It would make sense to me if A.8.1 were renamed "Array > literals", and used the tick before opening curly braces. > Plus a new description of concatenations (no tick, concerning > bitwise concatenations and strings). Otherwise we seem to > have two different rules for the syntax of defaults for array > parameters and for analog filters. > > Regards > Paul Floyd > -- > Dr Paul Floyd > Mentor Graphics Corporation --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu Jul 3 01:32:29 2008
This archive was generated by hypermail 2.1.8 : Thu Jul 03 2008 - 01:33:21 PDT