[an error occurred while processing this directive]
|
1.вводим промежуточную "переменую":
constant tmp:UNSIGNED(shift-1 downto 0):=(OTHERS=>'0');
и тогда:
Sum:=Sum(WidthOut-Shift-1 DOWNTO 0)&tmp(shift-1 downto 0);
2.вводим промежуточную переменую:
SIGNAL Mag_IQ_temp:UNSIGNED(15 DOWNTO 0);
и тогда:
Mag_IQ_temp<=Mag_IQ(14 DOWNTO 0)&'0';
Mag_Delay<=Mag_IQ_temp & Mag_Delay(0 TO Mag_Delay_Size-2);
То есть все это похоже на "дефекты" парсера VHDL при разборке сложных выражений. Приходится их разбивать на более простые.
E-mail: info@telesys.ru