[an error occurred while processing this directive]
День добрый знатоки VHDL просвятите как в нем делаеться репликация ?
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено des00 13 мая 2005 г. 07:53

Раньше я писал на верилоге, теперь вот сел за ВХДЛ,
например нужно доопределить знаковый разряд-> Пример:
sum[15:0] <= {5{a(10)}, a[10:0]} + {b[14],b[14:0]};
а как сделать это на ВХДЛ ?
sum(15 downto 0) <= (others => a(a'high)) & a(10 downto 0) + b(b'high) & b(14 downto 0);
не прокатывает, а возможности репликации в ВХДЛ я не нашел. Не расписывать же нужное кол-во бит руками ? :((
И еще есть в ВХДЛ такой аналог верилога как
reg[15:0] <= reg[15:0] ^ {16{reg[15]}};
если делаю
reg <= reg xor (others => reg(reg'high));
говорит про ошибку, но если вести доп.переменную то нормально есть:
temp = (others => reg(reg'high));
reg <= reg xor temp;
???
ЗЫ сильно не пинайте если в что, я только учюсь.


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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru