crono 0 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба А кто-нибудь использует для своих проектов Hierarchical Design ? Мне удалось реализовать этот режим, но, признаться, я ожидал чуть лучшего результата от данного режима. Кто-то может поделиться опытом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба А что Вас не устроило? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
crono 0 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба А что Вас не устроило? Попробую объяснить. Изначально я работал без этого режима. Задача была разместить в ПЛИС максимальное количество одинаковых вычислительных блоков. Я выделял В ПЛИС фрагменты под каждый блок и пытался разводить. Блоки были сравнимы по площади с одним клоковым регионом и находились вплотную друг с другом. Мною была замечена странная особенность Vivado. Если таких блоков было меньше определенного числа (примерно половина ПЛИС), то тайминги укладывались в необходимые рамки. Как только блоков становилось больше, задержки резко ухудшались. При чем даже в тех блоках, в которых изначально все было хорошо. Возможность того, что для трассировки использовались незадействованные участки я практически исключаю, так как ограничения по задержкам очень жесткие, и если цепи будут выходить в очень большом количестве за границы блока, задержки будут неудовлетворительные. Складывалось ощущение, что у Vivado в алгоритме заложено время на трассировку, превысить которое нельзя. Грубо говоря, если блоков мало, то за отведенное время Vivado успевало найти вариант размещения и трассировки в каждом блоке. Если блоков становилось больше, то нет. Поэтому я стал использовать режим HD. Развожу каждый блок отдельно, потом все собираю. Результат стал значительно лучше для всей ПЛИС (то есть все таки есть решение у задачи). Без HD максимальная частота может быть чуть ли ни в 2 раза хуже. Но результат, во-первых, не 100-процентынй. То есть, я знаю, что тайминги могут выполниться, но они чуть-чуть не дотягивают до требуемого результата. А во-вторых, плохая повторяемость от 1 блока к другому. Вот по этому и спрашиваю, может, кто-то работал в этом режиме и может поделиться опытом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Спасибо. Несколько фраз непонятны: То есть, я знаю, что тайминги могут выполниться, но они чуть-чуть не дотягивают до требуемого результата.Поподробнее пожалуйста, что значит могут, но не дотягивают? А во-вторых, плохая повторяемость от 1 блока к другому.И как понять плохая повторяемость между разными блоками? Дааа... тестовый проект бы, на котором наблюдаются обе ситуации (когда при половине блоков тайминги выполняются, а для полного количества не выполняются) - проанализировать бы, где не выполняются, как сигнал проходит там и там, это же всё в конкретных примерах можно проследить. Вообще, у Вивады же куча встроенных стратегий. Можно разные RUNы настроить на разные стратегии, прогнать их все, какая-то стратегия, да вытянет Ваши требования. Вы бы вот тут человеку подсказали, что знаете. Только не в приват, а в тему, чтобы все могли читать и впитывать опыт... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться