
Limitations on Sets
If you have a set assigned to a single value, the value is padded with 0s and
then applied to the set. For example,
[A1,A2,A3] = 1
is equivalent to
A1 = 0
A2 = 0
A3 = 1
which may not be the intended result. If you want 1 assigned to each member
of the set, you'd need binary 111 or decimal 7. Since the widths of expression
arguments are determined from context, there are some cases where the results
are not as you might expect. For example, define count as a 3-bit set:
count = [a,b,c]
Then the following expression has a width of one since relational operators
evaluate to a single-bit result:
9 & (count == 0)
It is expanded as follows:
9 & ( !a & !b & !c )
1 & !a & !b & !c