[an error occurred while processing this directive]
|
я все про тот же злополучный оператор сдвига...
был случай когда в зависимости от сигнала системы ару с выхода фильтра из 40 разрядов выбиралось только определенные сигналом ару 12
.
стандарт на VHDL подразумевает операторы сдвига srl sll
я работаю в ISE, использую XST
даже в тексте программы они подсвечиваются как зарезервированные слова!!
но XST не синтезирует их!!!!
пришлось извратиться и написать
tmp <= din (CONV_INTEGER(coe_shift2)+16-1 downto CONV_INTEGER(coe_shift2));
coe_shift2 - это сигнал с ару
.
самое смешное что леонардо на такую конструкцию плюется и отказывается синтезировать... :(
.
потом.. был другой случай... знаковая арифметика, преобразования типов...
напр.:
dout <= STD_LOGIC_VECTOR(pp_tmp(25-2 downto 25-11-2));
pc05 <= pe05 * CONV_UNSIGNED( 46 ,6);
pe00 <= SIGNED(de31(w_hilb_trans-1)&de31) - SIGNED(de00(w_hilb_trans-1)&de00);
Лео на все это материться... возился с ним.. переделывал функции преобразования под его пакет exemplar - блин!.. терпения не хватило!.. так и не заставил его синтезировать :(
.
да, забыл.. больше всего мне понравился верилог именно отсутствие всяких там std_logic, bit, std_ulogic и прочих наборов типов требующих преобразований
E-mail: info@telesys.ru