Re: [Fwd: LRM items]

From: Shalom Bresticker (Shalom.Bresticker@motorola.com)
Date: Mon Mar 19 2001 - 03:57:48 PST


<x-html>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Regarding the following:
<p>Adam Krolnik wrote:
<blockquote TYPE=CITE>Subject: LRM items
<br>Date: Tue, 20 Feb 2001 08:15:54 -0700
<br>From: Dennis Marsa &lt;drm@xilinx.com>
<br>To: Adam Krolnik &lt;krolnik@lsil.com>
<p>2) In the BNF, section A.8.5 shows the rule for "net_lvalue"
<br> which only allows constant_expressions in any memory
<br> or bit indices.
<p> However, the last alternative for net_lvalue is net_concatenation.
<br> (its only use in the entire BNF). net_concatenations
consist
<br> of a list of net_concatenation_values, and (section A.8.1)
<br> plain expressions are allowed in any memory or bit indices
<br> within the net_concatenation_values
<p> This would imply the following is illegal:
<p> assign a[i] = 1'b0;
<p> but the following (semantically equivalent) form was legal:
<p> assign {a[i]} = 1'b0;
<p> since a concatenation was used.
<p> It seems either the rule for net_concatenation_value shold
use
<br> constant_expression, or net_lvalue should use expression.
<p>Dennis</blockquote>
I sent the attached mail on this subject on July 12, 2000.
<br>However, it does not seem to have been fixed, at least in Draft 6.
<p>Subject:
<br>
Re: IEEE 1364-2000 Draft 5
<br> Date:
<br>
Wed, 12 Jul 2000 13:47:34 +0300
<br> From:
<br>
Shalom Bresticker &lt;shalom@msil.sps.mot.com>
<br> Organization:
<br>
Motorola Semiconductor Israel, Ltd.
<br> To:
<br>
Patrick Doane &lt;patrick@ibmoto.com>, 1364core@ovi.org, btf@boyd.com
<br> References:
<br>
1
<br>
<br>
<br>
<p>Patrick and IEEE 1364:
<p>Patrick Doane wrote:
<p>> So far, I've noticed one additional major problem:
<br>>
<br>> wire [0:3] x;
<br>> integer i;
<br>>
<br>> assign x[i] = 1'b0; // &lt;-- this is illegal
<br>> assign {x[i]} = 1'b0; // &lt;-- this is legal!
<br>>
<br>> Note that this is just from a syntactic level, and I have not had
a chance
<br>> to review the language document to see if it makes any additional
semantic
<br>> requirements that would disallow it.
<p>>
<br>> It is however a little disconerning to see that using a concatenation
in
<br>> an net_lvalue changes whether or not a range_expression is legal
for use
<br>> on a hierarchical_net_identifier.
<p>Hi, Patrick.
<p>It took me a while to figure out what is going on.
<p>Your second example is not legal - see Table 6-1 on p. 73.
<p>It is true that the grammar appears to allow it, but that was unintended.
<p>( net_lvalue may be net_concatenation and net_concatenation allows non-constant
range expressions.)
<p>Apparently the following happened: net_concatenation and variable_concatenation
<br>were defined for general use. In the end, they found use only
in net_lvalue and variable_lvalue.
<br>However, we forgot that net_concatenation allows non-constant ranges
whereas net_lvalue
<br>is restricted to constant ranges. This problem does not arise in variable_lvalue.
<p>So: the definition of net_lvalue must be fixed, and net_concatenation
and net_concatenation_value are without
<br>use.
<p>> As a more minor comment, the rule for variable_concatenation_value
could
<br>> be:
<br>>
<br>> variable_concatenation_value ::= variable_lvalue
<br>>
<br>> since they share the same productions.
<p>Correct, but it should be reversed: variable_lvalue ::=
variable_concatenation_value .
<p>In related issues, the production of net_lvalue should be copied or
moved from Syntax 9-3 to Syntax 6-1.
<br>Also, variable_concatenation is referenced in Syntax 9-1, 9-2, 9-3,
but not defined there, only in App. A.
<p>Thanks again, Patrick !
<p>Shalom
<p>--
<p>************************************************************************
<br>Shalom Bresticker
email: shalom@msil.sps.mot.com
<br>Motorola Semiconductor Israel, Ltd. Tel #:
+972 9 9522268
<br>P.O.B. 2208, Herzlia 46120, ISRAEL Fax
#: +972 9 9522890
<br>http://www.motorola-semi.co.il/>
<br>************************************************************************
<br>
<br>
<br>
<br>
<br>
<pre>--
**************************************************************************
Shalom Bresticker
Shalom.Bresticker@motorola.com
Motorola Semiconductor Israel, Ltd. Tel #: +972 9 9522268
P.O.B. 2208, Herzlia 46120, ISRAEL Fax #: +972 9 9522890
**************************************************************************</pre>
 </html>

</x-html>



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:54:40 PDT and
sponsored by Boyd Technology, Inc.