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

Synplify vs Amplify

Сейчас использую Sinplify Pro 7.7 и скачал Amplify 3.7

 

Попробовал синтезировать тестовый блок в том и другом пакете показали одинаковые результаты как по объему так и по скорости.

 

Зачем нужно два пакета?

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


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

Разница будет заметна лишь при очень больших проектах и при недостаточности ресурсов FPGA: вот тогда Amplify даст лучшие результаты.

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


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

Amplify позволяет еще на этапе синтеза разобраться с физическими параметрами кристалла(компоновка, разводка), и следовательно синтезировать с учетом этиз параметров.

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


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

2 Serega Doc

Ну Вы и сами наверное знаете, что этот продукт, пизиционируется как "физический" синтезатор. За этим громким названием скрывается следующее - он на этапе синтеза "пытается" анализировать "пути" и старается вписывать их в констрейны. Насколько это в принципе правомерно?! "Раньше" (да же пару лет назад) среднестатистическая задержка на логике была больше чем задержка на межсоединениях, сейчас картина противоположная. Соответственно врать сейчас он должен больше :(

 

Теперь по поводу того, что есть у Amplify.

Не берусь утверждать, но за время своей практики, не замечал, что б Symplify вставлят в EDIF, RLOC констрейн, это единственное, мне известное, средство синтезатора, которым он может осуществлять размещение на кристалле, ну и как следствие, больше уверенности в том, что его разчетные "пути" будут близки к реальным.

Вот уж чем они (Sinlpify и Amplify) не брезгуют пользоваться - распозновать в исходнике счетчики, мультиплексоры и т.п. и подставлять в место их "библиотечные" макросы от Xilinx, те в свою очередь, то же преразмещены. Вот правда не понятен механизм передачи преразмещения, он базируется не на RLOC, если отключить использование MAP-ом констрейн RLOC, логика этих модулей все равно остается преразмещенной.

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

Далее, если собиратесть пользоваться ModularDesign, Amplify Вам здорово поможет. Он может создавать сразу "правильные" нетлисты для всех модулей. У Sinplify, хотя эта галка то же присутствует, но нетлисты не создаются (хотя надо разобраться) :(

 

Далее хочется поправить "vetal":

"Amplify позволяет еще на этапе синтеза разобраться с физическими параметрами кристалла(компоновка, разводка), и следовательно синтезировать с учетом этиз параметров."

Это все ОК, но разводкой он не занимается, единственное, что он может сделать - подставить в свои расчеты "пути" статистическую задержку на межсоединениях.

 

А вообще для меня загадка, как с Amplify хотя бы даже те скромные проценты приемущества получаются :)

Судите сами. Например, описан констрейн пин - выход регистра, между регистром и пином размещается логика. Пусть слоев логики получилось 3, ведь тут как ни крути, их два не станет, а четыре и не "физичный" синтезатор не сделает. Далее, пусть задержка на логике 80%, в этом случае уже ни что не поможет, хоть за "пересинтезируйся", два уровня логики не получить.

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


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

может я чего-то не понял, но мне казалось, что для синтеза Amplify использует Symplify Pro, а вся его физичная оптимизация состоит в манипуляции AREA_GROUP и т.п. c готовым (после Synplify) нетлистом.

 

то есть, я хотел сказать, что амплифай не заменяет, а дополняет симплифай

и чтобы амплифай заработал пользователю надо позадавать дополнительные констрейны

но детально не сравнивал их результаты - не верю, что амплифай может сделать лучше без ввода пользователем (2 3.14 он базируется не на RLOC-ах а на AREA_GROUP), может он как-то переписывает нетлист и потом XST его слегка по другому разводит?

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


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

Может терперь я что то не понял, но AREA_GROUP, задается пользователем, тогда какая тут возможна манипуляция?

 

<и чтобы амплифай заработал пользователю надо позадавать дополнительные констрейны>

Это например какие?

 

<но детально не сравнивал их результаты - не верю, что амплифай может сделать лучше без ввода пользователем >

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

 

<(2 3.14 он базируется не на RLOC-ах а на AREA_GROUP), >

Хм, просмотрел пару своих проекта в Amplify, в одном нашел RLOC, правда трудно сказать, это работа его "размещателя" или просто подставленный RPM. Как нить на досуге проверю с Synplify.

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


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

нету у меня сейчас амплифая, и вроде бы эти автоматические амплифайные штучки доступны только для ксайлинкса (в той версии, которой пользовался) -

то есть какой-то optimize region или как-то так, который изменяет эти AREA_GROUP, ну или же их можно руками рисовать

 

вобще-то я не очень понимаю, как амплифай может сильно влиять на синтез в XST если используются только констрейны (а у того же ксайлинса можно только размещение задать, а не трассировку)

по-моему вся эффективность амплифай основана на том, что XST очень плохо "плэйсит" и если есть разумное разбиение проекта RLOC-ами или AREA_GROUP, то это сильно улучшает

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


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

Я так думаю передача констрейнтов идет не RLOC'ами а LOC'ми в файл с физическими ограничениями т.е. в PCF-файл

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


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

Amplify дает заметный выигрыш в больших проектах, которые сделаны без учета реальных ограничений по времянке. То есть - рисует программист какую то FSM или пишет модуль со сложной логикой или математикой, не задумываясь о том, сколько уровней логики там получится при синтезе. А затем, когда проходит синтез и размещение начинается выуживание узких мест, расовывания по кристаллу, залочивание и.т.д. Тогда при ПОВТОРНОМ синтезе Amplify учитывая ФИЗИЧЕСКИЕ ограничения и задержки при заданном размещении может попытаться (если получится) пересинтезировать логику укладывающуюся в заданные рамки. Во тут как раз и выплывают эти мифические ускорения. В проектах, в которых с самого начала закладывалось понимание структуры логики после синтеза Amplify выигрыша не дает.

 

Успехов, Rob.

 

P.S. Вчера проделал эксперимент - в папку \bin только что установленного Synplify 8.1 скопировал фай Aplify из v8.0 (размером ~57К) после запуска которого увидел что Amplify 8.1 готов к работе :-). И зачем качать отдельно?

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


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

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

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

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

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

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

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

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

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

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