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.