ISSUE 319

Number 319
Category errata
Synopsis constant array element select as LHS of continuous assignment
State closed
Class duplicate
Arrival-DateApr 02 2003
Originator Shalom.Bresticker@motorola.com
Release 2001b: 6, 9.3.2, 12.3.9.2
Environment
Incorporated into 254.
Description

I sent a mail on this on Jan. 15 (I don't have the exact URL right now),
and aside from Gord who agreed with me, I did not get any responses.
I put the issue on the side, but the last new issue has prompted me to raise it
again.

The syntax net_lvalue appears in just a few places.

It appears as primitive inout_terminal and output_terminal instance connections,
and on the LHS of continuous assignments and force statements.

I think that covers all its appearances, but I am not 100% sure.

With the addition of multidimensional net arrays in 1364-2001
(in 1995, there were not even 1-D net arrays, just scalar and vector nets),
the BNF of net_value was also updated to incorporate them.

However, the text of the LRM was not updated, so that the text still tells you
that in these places, you can use a scalar or vector net, but it does not tell
you that you can use a constant bit-select or part-select of a net array
element, i.e., all the index selects are constant.

3.10.1 "Net arrays" says, "Arrays of nets can be used to connect ports of
generated instances. Each element of the array can be used in the same fashion
as a scalar or vector net." This text should be clarified to say that generated
instance port connections is only an example.

The places in the LRM that I found that need change, in my opinion, are:

Table 30
9.3.2, para. 1
12.3.9.2

Note, however, that currently not only may an array not be defined as a
port (i.e., the internal side of the port), but also a port definition may not
even be a constant array element or a constant bit-select or part-select of
one.

On the other hand, the external side of a port connection may be any legal
expression, syntactically.

Thus, in 12.3.2, the list defining port references, would NOT include array
elements.

But 12.3.9.2, which talks about signal sinks in a port connection, needs to
distinguish between an internal sink (in an input or inout port), where array
elements are not allowed, and an external sink (in an output or inout port),
where array elements ARE allowed.



Fix
Audit-Trail

From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/319: constant array element select as LHS of continuous
assignment
Date: Thu, 03 Apr 2003 15:03:42 +0300

#319 largely duplicates #254, so 319 should be closed and incorporated into 254.

Unformatted



Hosted by Boyd Technology