Pitonbl4 0 10 октября, 2019 Опубликовано 10 октября, 2019 (изменено) · Жалоба Добрый день! Есть два массива, скорее даже вектора размером 1024 * 16 signal arrayData : std_logic_vector((1024 * 16) - 1 downto 0) := (others => '0'); signal arrayC : std_logic_vector((length * 16) - 1 downto 0) := (others => '0'); По сути, происходит заполнение массивов 16-битными числами, а затем происходит свертка. Ничего особенного. В результате "задействованных" ресурсов fpga ~45000 LUT и 9 DSP. Деление делал через обратное умножение. Возведение в квадраты, тоже через умножение. Это столько ресурсов выжирают массивы? Сейчас хочу понять куда копать, чтобы ресурсы раза в 2 уменьшить. Спасибо) Изменено 10 октября, 2019 пользователем big_ben Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 10 октября, 2019 Опубликовано 10 октября, 2019 · Жалоба 3 минуты назад, big_ben сказал: Добрый день! Есть два массива, скорее даже вектора размером 1024 * 16 signal arrayData : std_logic_vector((1024 * 16) - 1 downto 0) := (others => '0'); signal arrayC : std_logic_vector((length * 16) - 1 downto 0) := (others => '0'); По сути, происходит заполнение массивов 16-битными числами, а затем происходит свертка. Ничего особенного. В результате "задействованных" ресурсов fpga ~45000 LUT и 9 DSP. Деление делал через обратное умножение. Это столько ресурсов выжирают массивы? Сейчас хочу понять куда копать, чтобы ресурсы раза в 2 уменьшить Потому-что надо использовать память, а не триггеры. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pitonbl4 0 10 октября, 2019 Опубликовано 10 октября, 2019 · Жалоба 1 minute ago, Flip-fl0p said: Потому-что надо использовать память, а не триггеры. Можно подробнее или ссылку Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 10 октября, 2019 Опубликовано 10 октября, 2019 · Жалоба Приветствую! Сколько это будет занимать зависит от того как вы с этими векторами работаете - как с обычными регистрами или как с памятью. Если как с регистрами то все предсказуемо - 2 x 16K плюс "мелочёвка" на mux от регистров к умножителям Вы бы полный код работы с векторами привели - чтобы в конце рабочего дня остаток манны на телепатию не тратить. Удачи! Rob. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 10 октября, 2019 Опубликовано 10 октября, 2019 · Жалоба 22 минуты назад, big_ben сказал: Можно подробнее или ссылку https://www.google.com/search?ei=41ufXYXYKIXKrgTauKrgAw&q=xilinx+block+ram&oq=xilinx+идщсл+к&gs_l=psy-ab.1.0.0i13l6j0i13i30l4.1713.2912..3576...0.0..0.57.358.7......0....1..gws-wiz.......0j0i22i30.mqH0DM3sq90 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pitonbl4 0 10 октября, 2019 Опубликовано 10 октября, 2019 · Жалоба Всем спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться