Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Xilinx, ISE, дублирующие регистры
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
bogaev_roman
Добрый вечер, возникла следующая проблема - из-за большого fan-out на некоторых регистрах появляются временные сбои. Каким образом в ISE в ucf файле, например, можно задать либо ограничение по fan-out для заданных регистров либо автоматически для них разрешить дублирование?
С уважением, Богаев Роман.
Bad0512
Цитата(bogaev_roman @ Mar 21 2013, 00:40) *
Добрый вечер, возникла следующая проблема - из-за большого fan-out на некоторых регистрах появляются временные сбои. Каким образом в ISE в ucf файле, например, можно задать либо ограничение по fan-out для заданных регистров либо автоматически для них разрешить дублирование?
С уважением, Богаев Роман.

Обычно эти директивы приписывают синтезатору. Для synplify это "syn_max_fan". Для XST уже не помню - надо доки смотреть.
bogaev_roman
Цитата(Bad0512 @ Mar 21 2013, 04:46) *
Обычно эти директивы приписывают синтезатору. Для synplify это "syn_max_fan". Для XST уже не помню - надо доки смотреть.

Да вот в доках на ограничения я этого и не нашел, в квартусе это просто прописывается в qsf файле
Код
set_instance_assignment -name REMOVE_DUPLICATE_REGISTERS OFF -to ""

Думал может что-то подобное в ucf есть.
TRILLER
Цитата(Bad0512 @ Mar 21 2013, 04:46) *
Обычно эти директивы приписывают синтезатору...

Полностью согласен.
Однако можно эту обязанность возложить на маппер, если предпочитаете не жёстко контролировать весь процесс:
Process -> Process Properties -> Map Properties -> Register Duplication.
Bad0512
Цитата(TRILLER @ Mar 21 2013, 18:35) *
Однако можно эту обязанность возложить на маппер, если предпочитаете не жёстко контролировать весь процесс:
Process -> Process Properties -> Map Properties -> Register Duplication.

Тут есть некоторые тонкости. Насколько я знаю, мапперу нельзя задать конкретный fanout для конкретной цепи. Либо общий на весь проект, либо он пользует какие-то свои соображения (не всегда очевидные ) для дупликации регистров. Настройки синтезатора же как раз позволяют рулить этим параметром для каждой цепи.
В принципе можно всё отдать на откуп мапперу, но результаты ИМХО будут хуже. Под результатами понимаем времянку естественно.

bogaev_roman
Цитата(TRILLER @ Mar 21 2013, 15:35) *
Полностью согласен.
Однако можно эту обязанность возложить на маппер, если предпочитаете не жёстко контролировать весь процесс:
Process -> Process Properties -> Map Properties -> Register Duplication.

Хотелось бы конкретные регистры, в ином случае он не будет удалять и ту дублирующую логику, котрая некритична и, соответственно, кол-во ресурсов увеличится.
RobFPGA
Приветствую!

Цитата(bogaev_roman @ Mar 21 2013, 12:27) *
Думал может что-то подобное в ucf есть.


Правильно мыслите !
Есть такой секретный документ от Xilinx ;-) UG625 Constraints Guide - там на странице 165-166 есть
прозрачные намеки как использовать max_fanout в UCF. sm.gif

Успехов! Rob.



Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.