Отправлено
andrew_b 28 февраля 2008 г. 13:26
В ответ на: Ответ: отправлено
Kolobok 28 февраля 2008 г. 12:07
> а) Использовать двойное преобразование типов: a:=std_logic_vector(SHIFT_LEFT(SIGNED(b),i));
Да.
> б) Просто скопировать текст функции XSLL в мой VHDL-файл и вызывать ее для сдвига.
Можно и так. А смысл? Есть стандартная функция...
> в) Дописать в декларативной части пакета NUMERIC_STD фукцию XSLL, чтобы ее было видно из моего VHDL-файла. И как в прежнем примере, вызывать для сдвига ее.
Однозначно нет. Пакет numeric_std определён и описан стандартом языка, поэтому модифицировать его нельзя. Иначе вы получаете несовместимую с остальными версию.