سلام .
توي برنامه نياز داشتم که که دو مقدار را به يک ماتريس6×1 اضافه کنم و اونا به يک ماتريس 8×1 ارتقا بدم اين دو ماتريس در يک package تعريف شده اند که به عنوان ورودي 2 بلوک مالتي پلکسر هستند
اين package تعريف شده مي باشد
کد:
package observer is      -- define package
  type matrix8x1 is array (1 to 8) of integer; 
  type matrix7x1 is array (1 to 7) of integer;
  type matrix6x1 is array (1 to 6) of integer;
  type matrix4x1 is array (1 to 4) of integer;
  type matrix2x1 is array (1 to 2) of integer;
  type time_simulation is range 0 to 1E5
  units 
  ps;
  ns=1000 ps;
  us=1000 ns;
  ms=1000 us;
  s=1000 ms;
 end units;
 --function Now return Time;
 
end observer;
و از اين دستور براي اضافه کردن استفاده کردم
کد:
port (in_o:in matrix6x1;

...

signal s:matrix2x1;
signal newinput:matrix8x1;
...

begin 

 ...

  s<=(1000,1000);
  newinput<= matrix8x1(in_o & s) ;
و هنگان run کردن اين خطا را مي دهد :
no feasible entries for indix operator "&"


بعد اي نها را جايگزين کردم
کد:
subtype m2x1 is matrix6x1(1 to 2);
signal s:m2x1;
و خطاي زير را داد ؟
index constraint cannot be applied to already_constrained type work.observer.matrix6x1