From: Shalom Bresticker (shalom@msil.sps.mot.com)
Date: Wed Jul 12 2000 - 03:47:34 PDT
Patrick and IEEE 1364:
Patrick Doane wrote:
> So far, I've noticed one additional major problem:
>
> wire [0:3] x;
> integer i;
>
> assign x[i] = 1'b0; // <-- this is illegal
> assign {x[i]} = 1'b0; // <-- this is legal!
>
> Note that this is just from a syntactic level, and I have not had a chance
> to review the language document to see if it makes any additional semantic
> requirements that would disallow it.
>
> It is however a little disconerning to see that using a concatenation in
> an net_lvalue changes whether or not a range_expression is legal for use
> on a hierarchical_net_identifier.
Hi, Patrick.
It took me a while to figure out what is going on.
Your second example is not legal - see Table 6-1 on p. 73.
It is true that the grammar appears to allow it, but that was unintended.
( net_lvalue may be net_concatenation and net_concatenation allows non-constant range expressions.)
Apparently the following happened: net_concatenation and variable_concatenation
were defined for general use. In the end, they found use only in net_lvalue and variable_lvalue.
However, we forgot that net_concatenation allows non-constant ranges whereas net_lvalue
is restricted to constant ranges. This problem does not arise in variable_lvalue.
So: the definition of net_lvalue must be fixed, and net_concatenation and net_concatenation_value are without use.
> As a more minor comment, the rule for variable_concatenation_value could
> be:
>
> variable_concatenation_value ::= variable_lvalue
>
> since they share the same productions.
Correct, but it should be reversed: variable_lvalue ::= variable_concatenation_value .
In related issues, the production of net_lvalue should be copied or moved from Syntax 9-3 to Syntax 6-1.
Also, variable_concatenation is referenced in Syntax 9-1, 9-2, 9-3, but not defined there, only in App. A.
Thanks again, Patrick !
Shalom
--************************************************************************ Shalom Bresticker email: shalom@msil.sps.mot.com Motorola Semiconductor Israel, Ltd. Tel #: +972 9 9522268 P.O.B. 2208, Herzlia 46120, ISRAEL Fax #: +972 9 9522890 http://www.motorola-semi.co.il/ ************************************************************************
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:54:13 PDT
and
sponsored by Boyd Technology, Inc.