Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: picoblaze
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
picodebug
Всем, привет.
Есть несколько ядер picoblaze, если в ISE (v.13.4) Keep Hierarchy = NO, то всё нормально разводится.
При Keep Hierarchy = YES - ошибка

Pack:2811 - Directed packing was unable to obey the user design constraints (BLKNM=M1/M1/KCPSM6_SANDR) which requires the combination of the symbols listed below to be packed into a single SLICE component.
The directed pack was not possible because: The top reasons for failure were:
-> A legal placement was never found for register symbol "M1/M1/data_path_loop[7].low_hwbuild.shift_rotate_flop".
-> A legal placement was never found for register symbol "M1/M1/data_path_loop[6].low_hwbuild.shift_rotate_flop".
-> Function generator M1/M1/data_path_loop[4].mid_shift_rotate.shift_rotate_lut/LUT6 is the LUT6 portion of the LUT6_2 and can only go into a LUT6 site.
-> Function generator M1/M1/data_path_loop[6].msb_shift_rotate.shift_rotate_lut/LUT6 is the LUT6 portion of the LUT...
NOTE: This message is very long (~3 K) and has been shortened to a maximum of 1000 characters for viewing in this context.
Please refer to the corresponding ASCII report for the full message.

Pack:2811 - Directed packing was unable to obey the user design constraints (BLKNM=M2/M1/KCPSM6_SANDR) which requires the combination of the symbols listed below to be packed into a single SLICE component.
The directed pack was not possible because: The top reasons for failure were:
-> A legal placement was never found for register symbol "M2/M1/data_path_loop[7].low_hwbuild.shift_rotate_flop".
-> A legal placement was never found for register symbol "M2/M1/data_path_loop[6].low_hwbuild.shift_rotate_flop".
-> Function generator M2/M1/data_path_loop[4].mid_shift_rotate.shift_rotate_lut/LUT6 is the LUT6 portion of the LUT6_2 and can only go into a LUT6 site.
-> Function generator M2/M1/data_path_loop[6].msb_shift_rotate.shift_rotate_lut/LUT6 is the LUT6 portion of the LUT...
NOTE: This message is very long (~3 K) and has been shortened to a maximum of 1000 characters for viewing in this context.
Please refer to the corresponding ASCII report for the full message.

что поправить в ядре, чтобы не было ошибки?
Opex
Оба ядра пытаются развестись в одни и те же блоки, поэтому и не разводятся.
Нужно скопировать файл и поменять все имена блоков (* HBLKNM = "kcpsm6_sandr" *) => (* HBLKNM = "kcpsm6_2_sandr" *) и т.д.
picodebug
Спасибо.
Думал, автоматизировать, теперь пару десятков надо делать разных ядер.... :-(
Вот похожая тема
https://forums.xilinx.com/t5/Implementation...tic/td-p/558865
Opex
Эти атрибуты вообще можно удалить, все будет работать.
Только разводка займет больше времени, и, возможно, будут хуже результаты по максимальной частоте и ресурсам.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.