There are 3 errors in your code. Since vec is a 16-bit vector you cannot assign it to a 4-bit vector. When you assign a vector to an array of vectors you must specify an index. Also, you created the type arr, but did not declare a signal of that type. You can't make an assignment to a type. The following example may help.
Code:
type arr is array(0 to 3) of std_logic_vector(15 downto 0);
signal arr_a : arr;
signal vec_0, vec_1, vec_2, vec_3 : std_logic vector(15 downto 0);
....
arr_a(0) <= vec_0;
arr_a(1) <= vec_1;
....
I hope this helps.
Bookmarks