Jump to content

    

Recommended Posts

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

2 Serega Doc

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

 

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

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

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

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

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

 

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

Успехов, Rob.

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this