[sv-bc] Table 10-6 Legal left-hand forms in assignment statements

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Mon Oct 01 2007 - 04:19:01 PDT
Table 10-6 pretends to list what are legal left-hand sides of continuous
and procedural assignments.

Even in 1364-2005, where it came from, this table was incomplete and
imprecise. Now it is even more so.

It currently says that the LHS of a continuous assignment can be

*	Net or variable (vector or scalar)
*	Constant bit-select of a vector net or packed variable
*	Constant part-select of a vector net or packed variable
*	Constant indexed part-select of a vector net or packed variable
*	Concatenation or nested concatenation of any of the above
left-hand sides

and the LHS procedural assignment can be

*	Variable (vector or scalar)
*	Bit-select of a packed variable
*	Constant part-select of a vector reg, integer, or time packed
variable
*	Indexed part-select of a packed variable
*	Memory word
*	Array
*	Array element select
*	Array slice
*	Concatenation or nested concatenation of any of the above
left-hand sides

I think, correct me if I'm wrong:

The LHS of a procedural assignment can also be an unpacked variable
(such as a struct or union).
No need to say 'memory word' because it is included in 'array element
select'.
Concatenation cannot include unpacked variable, unpacked array, or
slice.

The LHS of a continuous assignment is like a procedural assignment, but
with the following differences:

Can be net as well as variable
All selects (element, slice, bit, part) must be constant.

Based on a previous discussion of the list of operand types in 11.2, we
could also reformulate the list of procedural assignments LHS's as: 

*	Scalar or vector variable
*	Scalar or vector variable bit-select or part-select
*	Structure, packed or unpacked
*	Union, packed, unpacked or tagged
*	Structure or union member
*	Array, packed or unpacked
*	Packed array, structure or union bit-select, part-select,
element or slice
*	Unpacked array element bit-select or part-select, element or
slice
*	Concatenation or nested concatenation of any of the above except
unpacked aggregates or their slices.

See also Manti 1161, 1221, 1565.

Shalom Bresticker
Intel Jerusalem LAD DA
+972 2 589-6852
+972 54 721-1033

---------------------------------------------------------------------
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 Mon Oct 1 04:19:32 2007

This archive was generated by hypermail 2.1.8 : Mon Oct 01 2007 - 04:20:10 PDT