[an error occurred while processing this directive]
Если есть здесь VHDL гуру - помогите понять несколько строчек чужого кода - нужно сделать ре-дезайн, а эти строки делают проблемы.
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено major 12 октября 2004 г. 18:39

Дело в том, что нижеприведеные фрагменты кода не понимаются или
симулятором (Алдек) или синтезаторами (Леонардо, Синплифай).
Нужно бы заменить их на эквивалентные. Поняв до конца что они делают.
1.Эта строка не понимается Алдеком:
Sum := Sum(WidthOut-Shift-1 DOWNTO 0) & (OTHERS => '0');
где:
VARIABLE Sum:UNSIGNED(WidthOut-1 downto 0);
WidthOut:NATURAL:=4;
Shift:NATURAL := 0;
Может быть эта строка делает то же самое ? :
Sum := Sum(WidthOut-Shift-1 DOWNTO 0)*(2**Shift);
2. А что делает эта строка ? :
Mag_Delay<=(Mag_IQ(14 DOWNTO 0)&'0')&Mag_Delay(0 TO Mag_Delay_Size-2);
где:
TYPE Shift16UType IS ARRAY (NATURAL RANGE <>) OF UNSIGNED(15 DOWNTO 0);
SIGNAL Mag_Delay:Shift16UType(0 TO Mag_Delay_Size-1):=(OTHERS=>(OTHERS=>'0'));
CONSTANT Mag_Delay_Size:Positive:=Div_Pipeline_Size+(Mult_Pipeline_Size/2);
CONSTANT Div_Pipeline_Size:Positive:=12;
CONSTANT Mult_Pipeline_Size:Positive:=4;
Может быть эта строка делает то же самое ? :
Mag_Delay<=(Mag_IQ(14 DOWNTO 0)*2)&Mag_Delay(0 TO Mag_Delay_Size-2);
Первую строку не понимает Синплифай, вторую - ЛС.
Заранее благодарен.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru