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

Xilinx ISE. Уменьшение времени сборки проекта.

Общий вопрос по всему ПО Xilinx. Под сборкой я имею ввиду процесс Synthes/Implementatoin, хотя мой вопрос конкретно о Implementaion.

Если у меня есть проект, он уже собран. Изменилась какая-то маленькая часть. Если я запускаю Implementation, то весь проект пересобирается. На это уходит много времени и при этом могут ухудшиться какие-то временные параметры, даже перестать выполняться ограничения.

Какие существуют методы чтобы этого избежать?

На этапе синтеза можно сделать так, чтобы отдельный модуль проекта синтезировался в отдельный NGC Netlist и повторно не синтезировался. Но на этапе Implementation(MAP и Place & Route)?

Я знаю о 2-х: smartguid и введение топологических ограничений, когда какой-то модуль жестко фиксируется в ПЛИС. Я не смог разобраться, как именно работает smartguid, если я ее просто запускаю, то не вижу чтобы время сборки проекта уменьшилось, и временные параметры тоже могут ухудшаться.

Коллеги по работе не рекомендуют использовать топологические ограничения, так как по их мнению это ухудшает временные параметры.

Если у кого-то есть мнения на этот счет, поделитесь.

Изменено пользователем Олег Гаврильченко

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


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

Общий вопрос по всему ПО Xilinx. Под сборкой я имею ввиду процесс Synthes/Implementatoin, хотя мой вопрос конкретно о Implementaion.

Если у меня есть проект, он уже собран. Изменилась какая-то маленькая часть. Если я запускаю Implementation, то весь проект пересобирается. На это уходит много времени и при этом могут ухудшиться какие-то временные параметры, даже перестать выполняться ограничения.

Какие существуют методы чтобы этого избежать?

На этапе синтеза можно сделать так, чтобы отдельный модуль проекта синтезировался в отдельный NGC Netlist и повторно не синтезировался. Но на этапе Implementation(MAP и Place & Route)?

Я знаю о 2-х: smartguid и введение топологических ограничений, когда какой-то модуль жестко фиксируется в ПЛИС. Я не смог разобраться, как именно работает smartguid, если я ее просто запускаю, то не вижу чтобы время сборки проекта уменьшилось, и временные параметры тоже могут ухудшаться.

Коллеги по работе не рекомендуют использовать топологические ограничения, так как по их мнению это ухудшает временные параметры.

Если у кого-то есть мнения на этот счет, поделитесь.

 

неделю назад я подобную проблему поднимал. Все немного перетерли, посоветовали. Мой вывод: НИЧЕГО ТЕБЕ НЕ ПОМОЖЕТ!!!

А если серьезно, то...

Синтез идет довольно быстро, поэтому смысла его ускорять особо нет.

Не слушай коллег - констрейны конечно же нужны, но разумные и правильные. Что значит разумные и правильные - это философский вопрос зависящий от конкретного проекта и задачи.

Реальное ускорение компилясии можно получить только от смены компьютера на реально крутой - цена вопроса 500000 рублей и выше + линукс. Это я почерпнул из советов. Сам не проверял.

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


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

Раньше в Квартусе работал, а сейчас на ISE посадили.

В Квартусе есть инкрементальная компиляция, как раз таки позволяет перекомпилировать только те куски в которых были изменения, правда я её так запустить и не сумел.

Мне тоже интересно, неужели нет аналога в ISE?

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


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

Реальное ускорение компилясии можно получить только от смены компьютера на реально крутой - цена вопроса 500000 рублей и выше + линукс. Это я почерпнул из советов. Сам не проверял.

Дополнительный вопрос: Почему Linux? На нем быстрее компиляция идет?

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


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

Дополнительный вопрос: Почему Linux? На нем быстрее компиляция идет?

В Vivado - да. В Linux - 8 ядер, в Windows - два

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


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

А если еще контрл альт дел нажать во время мапинга, пласинга, рутинга, то мы увидим что из запущенных 2 и 4 процессов, один грузит процессор процентов на 35, а другой вообще в 0 стоит. Единственное влияние многопроцессорного мапинга я заметил в том что иногда временной отчет не открывается с ошибкой, решение убрать многопроцесорность, прям на сайте ксалинкс написано:) В винде реально у них чего-то ничего не получилось. Может на линуксе работает нормально, не проверял....

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


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

В Vivado - да. В Linux - 8 ядер, в Windows - два

Это настраивается для виндов. так что счёт 1:1

 

А если еще контрл альт дел нажать во время мапинга, пласинга, рутинга, то мы увидим что из запущенных 2 и 4 процессов, один грузит процессор процентов на 35, а другой вообще в 0 стоит. Единственное влияние многопроцессорного мапинга я заметил в том что иногда временной отчет не открывается с ошибкой, решение убрать многопроцесорность, прям на сайте ксалинкс написано:) В винде реально у них чего-то ничего не получилось. Может на линуксе работает нормально, не проверял....

Ссылку пложалуста на сайт...

 

Изменилась какая-то маленькая часть.

Я знаю о 2-х: smartguid и введение топологических ограничений, когда какой-то модуль жестко фиксируется в ПЛИС. Я не смог разобраться, как именно работает smartguid, если я ее просто запускаю, то не вижу чтобы время сборки проекта уменьшилось, и временные параметры тоже могут ухудшаться.

Из хелпа:

Use SmartGuide technology at the end of the design cycle, when your timing requirements have been met and you are making small design changes. A small design change typically is contained within a module. Other design changes that work well are changes to pin locations, attributes on instantiated components, relaxing timing constraints, adding a ChipScope™ Pro core, or other similar changes.

Ваши изменения попадают под это описание ?

ПС: на своих проектах особо разницы по времени не заметил. (да и проект был маленький).

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


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

Ссылку пложалуста на сайт...

 

Что ж с форумом то делается.... xilinx.com вот вам ссылка...

 

конкретно я про это

http://www.xilinx.com/support/answers/40758.html

 

хоть там и написано что с 14.1 этого нет, однако в 14.7 имею иногда те же сообщения, другое дело что предложенный метод руками поправить какие-то секции не работает, только отключение mt и переплайс. Что-то поменяешь опять нормально и с мт и без, а иногда вот так. Вот в ходе этого и заметил что время то особо с мт и без не меняется, потом поглядел нагрузку на процы....

 

 

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


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

SmartGuide

На время тоже не заметил влияния, но у коллеги был случай, ПЛИС забита на 99% и от разводки к разводке что то временами отваливалось, включили SmartGuide после "хорошей" разводки. То есть незначительные изменения влияют только на те части которые ты меняешь, основная часть фиксируется.

 

Это настраивается для виндов.

По подробней плиз.

 

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


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

По подробней плиз.

ug904

глава

Multithreading with the Vivado Tools

 

"A general limit also applies to all tasks and is based on the OS. For Windows systems, the

limit is 2; for Linux systems the limit is 8. The limit can be changed using a parameter called

general.maxThreads. To change the limit use the following Tcl command:

Vivado% set_param general.maxThreads <new limit>

where the new limit must be an integer from 1 to 8, inclusive.

Tcl example: On a Windows system:

Vivado% get_param general.maxThreads 2

This means all tasks are limited to 2 threads regardless of number of processors or the task

being executed. If the system has at least 8 processors, you can set the limit to 8 and allow

each task to use the maximum number of threads.

Vivado% set_param general.maxThreads 8"

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


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

Дополнительный вопрос: Почему Linux? На нем быстрее компиляция идет?

Быстрее потому что можно использовать многопроцессорную платформу. Но это со слов форумчан. Сам не проверял.

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


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

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

 

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


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

Реальное ускорение компилясии можно получить только от смены компьютера на реально крутой - цена вопроса 500000 рублей и выше

Насчет влияния мощного компьютера - это правда. Но вот откуда взялась цифра в 500т.р.? Да, в такую цену можно впихнуть несколько мониторов, четыре мощные видеокарты, светящиеся вентиляторы - но все это никак не повлияет на скорость разводки проектов.

Из того, что действительно нужно - скорость процессора (не знаю на сегодня ничего быстрее 4.0 - 4.4ГГц на штатной частоте) и объем ОЗУ.

ISE практически не использует многоядерность, в Vivado ситуация намного лучше. Но все равно для одиночной стратегии 4-я ядер вполне достаточно, поэтому i7-4790K +32GB или i7-6700K + 64GB (для altera 32gb может не хватить) - на сегодня оптимальны. А это далеко не 500тыр.

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


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

поэтому i7-4790K +32GB или i7-6700K + 64GB (для altera 32gb может не хватить) - на сегодня оптимальны. А это далеко не 500тыр.

Памяти зачем столько, в моей системе 16 GB, но Vivado 2015.2 не использует и половины?

 

Что касается Quartus-a, то проект на меганавароченном серве с хз сколькими ядрами и более 100 GB оперативы собирался примерно за то же время, что и на i7-3770K с 16 GB оперативы.

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


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

Памяти зачем столько, в моей системе 16 GB, но Vivado 2015.2 не использует и половины?

 

Это чтобы стратегию сборки искать, на которой сойдутся тайминги. Можно N стратегий параллельно собирать. Помогает убрать 100-200 пикосекунд задержек не тратя лишнего времени.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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