Number | 319
|
Category | errata
|
Synopsis | constant array element select as LHS of continuous assignment
|
State | closed
|
Class | duplicate
|
Arrival-Date | Apr 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