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

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

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

Т.е. время компиляции не увеличивается?

 

Что читнуть по этому поводу?

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


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

Время сборки стратегии примерно равно времени сборки одиночного проекта (кнопка просто по кнопке Run).

 

Я даже не знаю, куда грести, тут всё уже перечислили. Возможно, что-то можно получить используя иерархические маршруты проектирования.

 

Упоминание параллельной сборки на нескольких компьютерах навело на мысль собирать отдельно RPM-ы и сводить их под крышей одного проекта финальным запуском. Но это какой надо иметь проект...

 

У меня средний кинтекс-7 занятый в слайсах на >90% и частотой > 500 МГц собирается за 1.5 часа от синтеза до бит-файла. За 1.5 часа!

 

На попсовом 2500К

На одном ядре

Под Windows

С синтезом в XST

 

Что-то я делаю не так.

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


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

Можно временной анализ после par отключить (Generate Post-Place & Route Static Timing), это несколько минут может дать.

 

Думаю, поможет

1. устранение узких мест в проекте,

2. размещение модулей квадратиками (floorplanning),

3. иерархическое супер-flow, которое всё равно не обойдётся без первых двух шагов,

4. свежий разогнанный компьютер с игроманской памятью.

 

Мне кажется, время сборки больше часа-двух берётся от требований к проекту, которые не соответствуют глубине его проработки или выбранной микросхеме.

Если есть пути критические - их ничто не уберёт, может быть, вывезет какая-нибудь шальная оптимизация САПРом и то до поры.

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


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

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

 

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

Количество поедаемой памяти зависит от кристалла, на который производится разводка. Ну и от проекта, конечно же.

32ГБ дает возможность параллельно разводить 2-3 стратегии под приличный, но далеко не самый жирный кристалл из семейства Virtex-7.

Официальные требования к объему памяти для Quartus под Stratix V еще более впечатляют.

 

При работе с одной-двумя стратегиями ISE/Vivado нужен не навороченный сервер (у которого много ядер, но мало ГГц), а 4-х ядерный (Vivado) процессор с максимальной частотой. От памяти требуется, чтобы все запущенные процессы в нее успешно влезли и не свопились. Все.

 

Т.е. время компиляции не увеличивается?

 

Что читнуть по этому поводу?

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

Насчет почитать:

ISE - SmartXplorer.

Vivado - создание нескольких design runs с разными настройками.

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


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

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

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

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

В какой то ветке недавно один товарисч нарисовал конфигурацию компа где 4 процессора (не ядра а процессора) каждый их которых примерно 300000 рублей + памяти 700 Гбайт. Это уже намного больше лимона. Лично я подбирал особо не выбирая проц за 160000 рублей ну и далее по списку (вышло около 500000). Кстати видюху и монитор выбрал довольно посредственную. На мышке сэкономил :-) И все это реально. Так что i7 + 64 Гбайта это можно сказать начальный уровень. Кстати еще бы, как оказывается, неплохо рейд массив настроенный на скорость из SSD винтов.

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


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

По поводу рейда на SSD - сомнительный прирост. Я экспериментировал разводить один и тот же проект на шпиндельном венике, а потом на SSD, прирост составил до десятка минут на 2.5 часовом проекте. Так что скорость считывания/записи на HDD очень опциональная штука. А вот для параллельных разводок сделать кластер - это конечно очень хорошая идея. Там и под Линухом работать будет и распаралелливание хорошее. Кстати ещё прирост небольшой получается при компиляции из командной строки, хотя казалось бы как сильно может повлиять оболочка на разводку) И Очень большой прирост командной строки, если работать через PlanAhead! Ибо их великий Java интерфейс такие крутые машины ложил, что атас просто.

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


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

В какой то ветке недавно один товарисч нарисовал конфигурацию компа где 4 процессора (не ядра а процессора) каждый их которых примерно 300000 рублей + памяти 700 Гбайт. Это уже намного больше лимона. Лично я подбирал особо не выбирая проц за 160000 рублей ну и далее по списку (вышло около 500000). Кстати видюху и монитор выбрал довольно посредственную. На мышке сэкономил :-) И все это реально. Так что i7 + 64 Гбайта это можно сказать начальный уровень. Кстати еще бы, как оказывается, неплохо рейд массив настроенный на скорость из SSD винтов.

 

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

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


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

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

Скорее всего Вы правы. Личного опыта работы с такими системами не было.

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


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

для ise и еже с ними важно скорость процессора и памяти.

размер памяти на один проект (потребный) оговорен на сайте (чтото максимум около 32 гб на самый жирный проект)

линух или виндовс - это вопрос религии. вся разница в том что в "паралель" разводки запускаются в винде только на единственной машине а под линухом на нескольких (те один дорогой и мощный или несколько попроще) но в сумме по деньгам в принципе одинаково.

тк много поточность у ise слаба то на процессоре с 4 ядрами хорошо запускается 3 разводки одновременно.

ОффТоп

В вивадо потребности в памяти урезаны раза в два и нет разницы в запуске в паралель (покрайней мере я не знаю)

 

Все остальные измышления от лукавого (в плане вычислительной мощности).

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


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

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

 

тк много поточность у ise слаба то на процессоре с 4 ядрами хорошо запускается 3 разводки одновременно.

ISE можно запускать на столько сколько ядер(включая HT) и на сколько хватит памяти. Естественно я имею ввиду запуск PR c разным seed. В этом случае запуск 32bit версии выгоден так как требует меньше памяти (~1.8 раза) на проект (опять же если сам проект влазит в ограничение по памяти для 32 бит).

 

В вивадо потребности в памяти урезаны раза в два и нет разницы в запуске в паралель (покрайней мере я не знаю)

Vivado кушает ее родимую (в смысле память) что заядлый алкаш :beer: Попробуйте запустить out order компиляцию для сколь нибудь приличной BD :crying: . Я давно на своем буке c 16G не видел "out of memory" пока не начал активно работать с Vivado.

 

Все остальные измышления от лукавого (в плане вычислительной мощности).

Вот это в точку - Для ISE ускорение железа дает в лучшем случае 20-30% (для single iteration). В тоже время грамотный дизайн проекта, разбиение на модули с их предварительным синтезом и тестовым PR для быстрого устранения узких мест, ранний timing analyze, фиксация крит. частей и модулей AREA_GROUP - дает уменьшение времени сборки в РАЗЫ с гарантированным результатом!

 

Думаю что и для Viavado это тоже справедливо. Хотя тут параллельная работа вроде и получше чем в ISE. Но пока сравнить не с чем - действительно большой проект в работе, а мелочь со временем сборки < 1 часа не показатель.

 

Успехов! Rob.

 

 

 

 

 

 

 

 

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


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

В тоже время грамотный дизайн проекта, разбиение на модули с их предварительным синтезом и тестовым PR для быстрого устранения узких мест, ранний timing analyze, фиксация крит. частей и модулей AREA_GROUP - дает уменьшение времени сборки в РАЗЫ с гарантированным результатом!

Можно узнать, что такое тестовые PR, как устранять "узкие места" и выполнять ранний timing analyze? Я на сайте Xilinx не смог найти информации об этом.

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

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


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

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

Можно узнать, что такое тестовые PR, как устранять "узкие места" и выполнять ранний timing analyze? Я на сайте Xilinx не смог найти информации об этом.

Ранний timing analyze это анализ времянок на каждом этапе - после синтеза, translate, MAP, ну и естественно PR. Потому как если после синтеза или MAP времянки серьезно не сходятся то ждать 10 часов чтобы убедится в этом после PR смысла нет.

 

Тестовй Place & Route это временный маленкий проектик для отдельного модуля/группы модулей. Тоесть нарисовали сколь нибуть приличный/хиронавороченный модулек - попробовали его синтезировать - посмотрели его времянку после синтеза - сделали MAP и PR опять посмотрели времянку нет ли узких мест и если нужно поправить и опять прогнать. Если модуль имеет внешние порты можно тут же его к ним "поджать" используя AREA_GROUP.

И так ОТДЕЛЬНО для осталных модулей проекта. А потом уж объеденять все в кучу опят же пытыясь затмить картины Пикассо с помощью AREA_GROUP :)

 

А то нарисуют дизайн размером бигборд и сразу его в PR - и можно с умным видом пару суток дремать на рабочем месте под жарким ветерком из золотого компа - отмахиваяс от ТЛ - "не видеш - КОМПИЛИРУЕТСЯ" :biggrin:

 

Успехов! Rob.

 

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


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

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

 

 

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

 

Бывало на 16 гигах оперативки винда ругалась на нехватку памяти. 24 гига помогло. (проект 4 корки pcie x8 и 4 содима + 4 DMA + Aurora x4. Vivado 13.4 и 14.1)

Изменено пользователем Dmitrij68

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


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

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

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

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

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

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

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

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

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

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