RE: [sv-bc] Mantis 2097

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Thu Dec 13 2007 - 02:04:43 PST
Hi, 

> Following Matt's comments that the last paragraph in 10.6.2 
> in the proposal was unclear, I reworked it. Please review now. 

Brad had previously written:

Is 'singular' being used in the usual LMR meaning here, and, if so, why
wouldn't a concatenation of variables need to be a concatenation of
singular variables in the following "The left-hand side of the
assignment in the assign statement shall be a singular variable
reference or a concatenation of variables."? And apparently,
{{a,b},{c,d}} would not be a legal target of a procedural continuous
assign?


Steven wrote:

Some wording in this proposal seems to be allowing forces of parts of
variables, and I have problems with that. Examples of such wording
include the removal of "unpacked array reference" from the things that
shall not be forced, and the sentence that refers to a force being
applied to "the selected part of a variable".

Such a change would have severe consequences, and I would oppose it. It
definitely should not be slipped in as part of the wording of this
proposal.


I responded:

I don't think the proposal allows forces of parts of variables.

The removal of "unpacked array reference" is handled by adding the word
'singular' in "The left-hand side of the assignment can be a reference
to singular variable, a net, a constant bit-select of a vector net, a
constant part-select of a vector net, or a concatenation of these."

That sentence also seems to make clear that a force to part of a
variable is not allowed. 

I agree that the sentence about "A single force or release statement
shall not be applied to the whole or the selected part of a variable
that is being assigned by a mixture of continuous and procedural
assignments," looks wrong.

But that looks like an error in 1800-2005, which says essentially the
same, "A single force or release statement shall not be applied to a
whole or part of a variable that is being assigned by a mixture of
continuous and procedural assignments," and it goes back to SV 3.1. 

[ This was changed in the latest version of the proposal. ]


Jim Vellenga wrote:

I disagree with Shalom's interpretation that "a singular variable" does
not include a reference to a member of an unpacked array variable. In
fact, "6.4 Singular and aggregate types" says that "some functions
recursively descend into an aggregate variable until reaching a singular
value and then perform an operation on each singular value." Since the
preceding paragraph identifies an unpacked array as belonging to an
aggregate type, and any integral type as inherently "singular", this
implies that a singular variable includes members of arrays when the
member is of an integral type. Thus, as Steve Sharp noted, this allows a
member of an array to serve as the left-hand side of a force, release,
assign, or deassign, and is a major change to currently supported
functionality.

In fact, if we read it carefully, it also allows members of structs and
unions to serve as the left-hand side of such statements.


Any comments on what Jim wrote?

Thanks,
Shalom
---------------------------------------------------------------------
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 Dec 13 02:48:07 2007

This archive was generated by hypermail 2.1.8 : Thu Dec 13 2007 - 02:48:52 PST