Jump to content

    
Sign in to follow this  
yes

А стратегиями в vivado кто-нибудь пользовался? Заметна разница?

Recommended Posts

имеет ли смысл задавать свою стратегию?

какие-либо различия в результатах при использовании предустановленных (отличных от Vivado Defaults) есть?

------------------------------

я существенной разницы не заметил, иногда бывает, что более агрессивные типа Performance_ExplorePostRoutePhysOpt дают тайминг хуже, чем Defaults

может не умею их готовить?

 

Share this post


Link to post
Share on other sites

априори ставлю на дефалтс синтез и роутинг и ставлю фанаут 1000, (вместо 10000), потом смотрю где и чего не хватает и начиню потихоньку включать опции разводки, если не помогает синтеза и играю фанаутами. ИМХО зря они seed не сделали.

Share this post


Link to post
Share on other sites

Всегда ставлю свои настройки, какие мне надо. Выбрать имеющуюся стратегию - ну, разве что для начала работы с проектом, или для простых проектов.

Share this post


Link to post
Share on other sites

я еще со времен планэхеда оценил pblock - то есть всегда в "имплементед дизайн" если времянка плохая, то путь растянут по всему "девайсу". то есть нужные блоки ограничиваю физическими констрейнами, если после этого не развелось, то, имхо, никакие дополнительные ходы оптимизатора не помогут.

но для пользования pblock-ами нужно понимать дизайн, что не всегда доступно, и должны быть "некритические" модули, которые можно размазать.

поэтому решил поинтересоваться стратегиями

----------------

ну а какие, если не секрет, стратегии, то есть последовательность шагов, вроде там опций то особо и нету, могут быть лучше предопределенных? если не жалко, то хотелось бы пример, и совсем хорошо бы - с объяснениями :)

в DC за настроенную стратегию (compile_ultra) брали дополнительных денег, то что вивадо дает "на шару" - это хорошо, но возникает вопрос, а нельзя ли лучше...

 

Share this post


Link to post
Share on other sites
11 hours ago, yes said:

я еще со времен планэхеда оценил pblock - то есть всегда в "имплементед дизайн" если времянка плохая, то путь растянут по всему "девайсу". то есть нужные блоки ограничиваю физическими констрейнами, если после этого не развелось, то, имхо, никакие дополнительные ходы оптимизатора не помогут.

На артиксе 200 с этим вообще труба, там чип буквой Н сделан. Вивада порой раскладывает часть проекта в правом нижнем плече, а часть в левом. Структура задержек 10% логика, остальное разводка. Немного поправлю фанауты и все получется)

Share this post


Link to post
Share on other sites

Я пытался решить проблемы с констрейнтами сменой стратегии разводки на оптимизацию по быстродействию - как правило величина слэка не менялась.

Share this post


Link to post
Share on other sites

Пользуюсь двумя стратегиями, очень помогают: Flow_Quick и Perfomance_ExtraTimingOPT. Первая максимально быстрая имплементация. Когда проект сложный из повторяющихся структур, дженериками убиваю половину, ставлю на Flow_Quick и за минут 10-20 получаю ответ соберётся ли то, что я наваял. Слеки будут очень плохие, но как раз на самых слабых местах. Анализирую, устраняю, модифицирую и запускаю уже полную версию проекта на Perfomance_ExtraTimingOPT. Много раз проверял, штука хорошая. Компилит на 20% дольше, но утаптывает хорошо, слеки в -3.5 побеждала полностью. В моём случае, когда проект компилируется по 3-4 часа, это самый действенный метод получить работоспособную прошивку в краткие сроки.

Share this post


Link to post
Share on other sites

Самая сильная из тех, что пробовали, эта: Performance_ExploreWithRemap. Если после первичной разводки тайминги не сходятся, он производит дополнительные усилия на физическом уровне. Реально помогает.

Share this post


Link to post
Share on other sites
On 11/27/2018 at 2:27 PM, des00 said:

ИМХО зря они seed не сделали.

В новом PnR нельзя сделать Seed по причине перехода от Алгоритма Имитации Отжига, где seed использовался для начального расположения, к алгоритму Квадратичных Весовых (пружинных) рассчётов, где нет изначального расположения и компоненты плейсятся более лаконично исходя из "веса" каждого соединения. Это скорее догадка, ибо нет доступа к исходникам Вивадо, но вектор развития в этой области у всех одинаковый и возростание вычислительных мощностей непременно приведёт к переходу от первого ко второму.

On 11/26/2018 at 7:56 PM, yes said:

имеет ли смысл задавать свою стратегию?

ИМХО - нет. Стратегия лишь меняет значения других настроек глобально и конкретно не отвечает ни за что. А разные настройки я меняю под себя, так как многое зависит от проекта, задач и этапа проектирования. Но вот про фанаут совет дельный - слишком большой фанаут может запросто угробить любой проект. Опять же, любая стратегия на это не влияет никак :smile:

Share this post


Link to post
Share on other sites

 

6 hours ago, dxp said:

Самая сильная из тех, что пробовали, эта: Performance_ExploreWithRemap. Если после первичной разводки тайминги не сходятся, он производит дополнительные усилия на физическом уровне. Реально помогает.

Не пробовал, попробую обязательно, спасибо.

Edited by Kronac

Share this post


Link to post
Share on other sites

Приветствую!

Vivado хороша  тем  что позволяет итеративно работать с разными стратегиями. Можно результат работы одной стратегии прогнать через другую.  Можно  делать P&R  дизайна по частям разными стратегиями,  можно удалить размещение и разводку только проблемных по времянке цепей и по новой сделать их P&R с дугой стратегией, и.т.д. Ну и  делать  тайминг  анализ чуть ли не после каждого этапа  для ранней диагностики проблем. 
Для сложных проектов это позволяет значительно сократить общее время достижения результата.   

 

Удачи! Rob.

Share this post


Link to post
Share on other sites
43 minutes ago, RobFPGA said:

Приветствую!

Vivado хороша  тем  что позволяет итеративно работать с разными стратегиями. Можно результат работы одной стратегии прогнать через другую.  Можно  делать P&R  дизайна по частям разными стратегиями,  можно удалить размещение и разводку только проблемных по времянке цепей и по новой сделать их P&R с дугой стратегией, и.т.д. Ну и  делать  тайминг  анализ чуть ли не после каждого этапа  для ранней диагностики проблем. 
Для сложных проектов это позволяет значительно сократить общее время достижения результата.   

 

Удачи! Rob.

А разве в Quartus такого нет? Там это как основа вообще всей работы. 

Share this post


Link to post
Share on other sites
7 часов назад, dxp сказал:

Самая сильная из тех, что пробовали, эта: Performance_ExploreWithRemap.

Действительно неплохой вариант оптимизации. Относительно Perfomance_ExtraTimingOPT улучшился TNS с -37 до -7 и число FailedPoint сократилось со 170 до 3, а минуса по WNS и hold-ам остались на том же уровне.

Share this post


Link to post
Share on other sites
49 minutes ago, fguy said:

Действительно неплохой вариант оптимизации. Относительно Perfomance_ExtraTimingOPT улучшился TNS с -37 до -7 и число FailedPoint сократилось со 170 до 3, а минуса по WNS и hold-ам остались на том же уровне.

Сейчас буду пробовать как раз, поделюсь результатами =)

 

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