Перейти к содержанию
    

XILINX Vivado Hierarchical Design

А кто-нибудь использует для своих проектов Hierarchical Design ? Мне удалось реализовать этот режим, но, признаться, я ожидал чуть лучшего результата от данного режима. Кто-то может поделиться опытом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что Вас не устроило?

Попробую объяснить. Изначально я работал без этого режима. Задача была разместить в ПЛИС максимальное количество одинаковых вычислительных блоков. Я выделял В ПЛИС фрагменты под каждый блок и пытался разводить. Блоки были сравнимы по площади с одним клоковым регионом и находились вплотную друг с другом. Мною была замечена странная особенность Vivado. Если таких блоков было меньше определенного числа (примерно половина ПЛИС), то тайминги укладывались в необходимые рамки. Как только блоков становилось больше, задержки резко ухудшались. При чем даже в тех блоках, в которых изначально все было хорошо. Возможность того, что для трассировки использовались незадействованные участки я практически исключаю, так как ограничения по задержкам очень жесткие, и если цепи будут выходить в очень большом количестве за границы блока, задержки будут неудовлетворительные. Складывалось ощущение, что у Vivado в алгоритме заложено время на трассировку, превысить которое нельзя. Грубо говоря, если блоков мало, то за отведенное время Vivado успевало найти вариант размещения и трассировки в каждом блоке. Если блоков становилось больше, то нет. Поэтому я стал использовать режим HD. Развожу каждый блок отдельно, потом все собираю. Результат стал значительно лучше для всей ПЛИС (то есть все таки есть решение у задачи). Без HD максимальная частота может быть чуть ли ни в 2 раза хуже.

Но результат, во-первых, не 100-процентынй. То есть, я знаю, что тайминги могут выполниться, но они чуть-чуть не дотягивают до требуемого результата. А во-вторых, плохая повторяемость от 1 блока к другому.

Вот по этому и спрашиваю, может, кто-то работал в этом режиме и может поделиться опытом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Несколько фраз непонятны:

То есть, я знаю, что тайминги могут выполниться, но они чуть-чуть не дотягивают до требуемого результата.
Поподробнее пожалуйста, что значит могут, но не дотягивают?

А во-вторых, плохая повторяемость от 1 блока к другому.
И как понять плохая повторяемость между разными блоками?

 

Дааа... тестовый проект бы, на котором наблюдаются обе ситуации (когда при половине блоков тайминги выполняются, а для полного количества не выполняются) - проанализировать бы, где не выполняются, как сигнал проходит там и там, это же всё в конкретных примерах можно проследить.

 

Вообще, у Вивады же куча встроенных стратегий. Можно разные RUNы настроить на разные стратегии, прогнать их все, какая-то стратегия, да вытянет Ваши требования.

 

Вы бы вот тут человеку подсказали, что знаете. Только не в приват, а в тему, чтобы все могли читать и впитывать опыт...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...