реклама на сайте
подробности

 
 
> Virtex4 to Virtex6, проблемы при переходе на Virtex6
zFoxx
сообщение Jul 1 2012, 21:09
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 3-10-07
Пользователь №: 31 045



Может кто сталкивался с такой проблемой?
Есть проект, который успешно транслируется (без временных ошибок) на кристалл Virtex4lx80.
При трансляции этого же проекта (без изменения логики и частоты) на Virtex6lx240 появляется куча временных ошибок.
Работаю в ISE 14.1.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Boris_TS
сообщение Jul 2 2012, 04:46
Сообщение #2


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Xilinx предупреждал, что что-то подобное может возникнуть.
Основной причиной называлось иное строение Slice'а (Virtex-5/6), которое требует иного подхода к созданию проекта. Раньше CE, Reset, PreSet распространялся на 2 триггера, теперь на 4/8,.. а в Virtex-6 PreSet вообще пропал. Поэтому Xilinx настоятельно рекомендовал пересмотреть весь проект и переделать его под Virtex-5/6 с учётом всех особенностей новых FPGA. Ну и RLOC может всякие гадости подкинуть...

А еще, ноавя ПЛИС, значительно больше, и маленький проект внутри неё может быть жеското натянут между крайними I/O ножками.
Go to the top of the page
 
+Quote Post
Eugenius
сообщение Jul 2 2012, 22:28
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 13-03-07
Из: Ленинград
Пользователь №: 26 139



Цитата(Boris_TS @ Jul 2 2012, 08:46) *
а в Virtex-6 PreSet вообще пропал.


Не совсем так. Если раньше было доступно два асинхронных входа одновременно: Preset и Clear, то в V6 остался только один на выбор. Поэтому, если в старом коде используются два асинхронных сигнала (и сброс и установка), это порождает комбинаторную петлю, с не всегда предсказуемым результатом. Как в плане корректности ковременных констрэйнов, так и в логике работы реальной схемы. Маппер и синтезатор об этом предупреждают.

От себя могу сказать, как действовал бы сам:
0. Внимательно прочитал все сообщения синтеза, трансляции и рутера для старого проекта. Вспомнил где были проблемы, если подставляли костыли, то где и какие.
1. Прочитал свежие: Constraints Guide, XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices, Synthesis and Simulation Design Guide, Virtex-6 Libraries Guide for HDL Designs.
2. Внимательно прочитал все сообщения синтеза, трансляции и рутера для нового проекта.
3. Если для синтеза используется Synplify, проверил, не остались ли включены по умолчанию опции "Autoconstraint" и "Write Vendor Constraint File".
4. Обратил внимание на IP и примитивы, используемые в схеме, особенно: память, тактовые буферы и генераторы (DCM, PLL), регистры (на предмет вышеуказанных особенностей), IODELAY, заменил на подходящие именно для V6.
5. Просмотрел временные констрэйны: всё ли задано, включая multipass, не перегружены ли sdc/ucf дублирующими констрэйнами и всякими натяжками (старыми костылями) - это может здорово замедлять и ухудшать трассировку. Для рутеров современных кристаллов сейчас достаточно указывать лишь входную частоту с пина, все последующие частоты на буферах и выходах PLL они определяют и вычисляют сами.
6. Открыл имеющуюся ucf через "Create Timing Constraints", удивился куче сообщений о некорректных назначениях, исправил их.
7. Как уже отметил Boris_TS, очень внимательно посмотрел на RLOC'и, если они есть - действительно ли они необходимы, грохнул всё необязательное.
8. Снова внимательно просмотрел репортажи, особенно рутера: все ли констрэйны прошли, всё ли правильно задано, ничего не забыто.
9. Дальше уже можно открывать Timing Analyzer и разбираться с временными ошибками.
Как-то так.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 22:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016