Jump to content

    
Sign in to follow this  
jojo

Vivado 2015.2 и RLOC

Recommended Posts

Товарищи, нужно перетащить в Vivado IP ядро.

Оно сделано в ISE 14 и сохранено с размещением в NGC через EDIF+UCF.

Размещение задано с помощью RLOC в сетке GRID.

 

В общем, в ISE оно всё работает.

В Vivado это IP я затащил через добавление NGC как исходника.

 

Но в Vivado что-то произошло с сеткой координат, и, главное, (* RLOC= *) не перемещает IP по кристаллу.

Короче, IP ядро стало в 2 раза шире и не перемещается.

 

Если кто-то работал с RLOC, прошу ответить.

Пересобирать ядро не вариант, в Vivado оно хуже получатся, что критично.

Share this post


Link to post
Share on other sites
Товарищи, нужно перетащить в Vivado IP ядро.

Оно сделано в ISE 14 и сохранено с размещением в NGC через EDIF+UCF.

Размещение задано с помощью RLOC в сетке GRID.

 

В общем, в ISE оно всё работает.

В Vivado это IP я затащил через добавление NGC как исходника.

 

Но в Vivado что-то произошло с сеткой координат, и, главное, (* RLOC= *) не перемещает IP по кристаллу.

Короче, IP ядро стало в 2 раза шире и не перемещается.

 

Если кто-то работал с RLOC, прошу ответить.

Пересобирать ядро не вариант, в Vivado оно хуже получатся, что критично.

Я сталкивался с этой проблемой. Вообще, vivado после версии 13.4 и до 15.2 вообще неадекватно реагировала на RLOC. Когда хотела учитывала, когда нет - нет. Версия 13.4 тоже не позволяла в некоторых случаях использовать RLOC напрямую. Допустим, ISE один компонент мог разместить внутри одного слайса, а вивадо вдруг говорила, что разместить тот же компонент внутри одного слайса впринципе невозможно: нет ресурсов. Приходилось использовать дополнительные атрибуты. Допустим, BEL. И все равно результат не бы гарантирован заранее. Сплошное шаманство.

В вивадо 2015.2 удалось добиться лучшего результата с использованием RLOC при помощи отключения из стадии имплементации опции opt_design. Честно говоря, не стал проверять помогает ли это на других версиях вивадо только потому, что по поводу rloc вел долгую переписку с техподдержкой и они клятвенно обещали, что начиная с версии 2015.2 проблема будет решена.

Share this post


Link to post
Share on other sites

opt_design надо попробовать отключить, вдруг получится.

Я так понял, адский САПР теряет rloc при обработке иерархии проекта.

 

Путем многих экспериментов я затащил свое ядро в vivado и сделал из него xdc macro через create macro.

Теперь как-то надо инстанциировать несколько копий ядра и подействовать на них этим макро, но как?

 

Share this post


Link to post
Share on other sites
Теперь как-то надо инстанциировать несколько копий ядра и подействовать на них этим макро, но как?

Почитайте про Hierarchical Design. UG905. Может, как-то удастся эту технологию применить к Вашей проблеме. Мне удавалось при помощи HD портировать в ПЛИС несколько одинаковых ядер. Результат часто был существенно лучше, чем без HD.

Share this post


Link to post
Share on other sites
Почитайте про Hierarchical Design. UG905. Может, как-то удастся эту технологию применить к Вашей проблеме. Мне удавалось при помощи HD портировать в ПЛИС несколько одинаковых ядер. Результат часто был существенно лучше, чем без HD.

 

Спасибо! Макрос укрощён.

Ларчик просто открывался, достаточно было задать положение любого элемента макроса через свойство LOC в XDC.

Всё остальное у меня не заработало.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this