Assignments may also be made to vectors of signals. When a value is assigned to a vector, the following rules apply:
For example,
[x,y] := [1,1,0];
is equivalent to
x := 1;
y := 0;
That is, the leftmost (high order) bit is dropped to make the vectors the same length.
On the other hand
[x,y] := 1;
is equivalent to
x := 0;
y := 1;
since the integer is coerced to a vector, and then truncated to length 2.
The assignment
[x,y,z] := [1,0];
is equivalent to
x := 0;
y := 1;
z := 0;
since the vector on the right-hand-side is zero-extended.
Important note: A vector of signals may not be assigned a nondeterministic value.