contents.gifindex.gif

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