Page 1 of 1

Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 01 Jun 2016, 15:04
by abigsam
Собственно, интересуют ссылки на статьи или книги, где можно найти советы по оптимизации (читай -- уменьшении занимаемой площади кристала) проектов для ПЛИС Xilinx (Spartan 6). Гугление ничего внятного не дало. Ну или я не то или не так искал :)

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 02 Jun 2016, 09:34
by BSVi
Насколько я знаю, гайдов как таковых нет. Разве, что по ручному размещению. Все обычно свдится к пониманию того, что ты делаешь и как устроена плис внутри. Я бы порекоммендовал прочесть Юзер гайд с углубленным вниканием того, что есть в LUT, как оно подключается, итп. После этого придет понимание, что и как мапится на элементы лутов.

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

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 03 Jun 2016, 12:11
by abigsam
BSVi wrote:С другой стороны, такая ручная оптимизация дает не очень большой выигрыш - оптимизаторы ISE довольно хорошо справляются со своей задачей.
Спасибо, понял.. Просто как-то читал на хабре, там рекомендовали делать все счетчики только со счетом "вниз"... Но не знаю, насколько этому можно верить. Да и действительно, видимо это сильно не спасет. А вариант "взять ПЛИС побольше" не катит -- во-первых дорого, во-вторых корпус не подходит. Ну, то такое :)

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 03 Jun 2016, 21:06
by BSVi
Ну, если нужно освободить пару лутов, то такие хитроски помогут, но, если не хватает половины плисины, то нужно что-то концептуально менять. К примеру, вынести контроллер наружу плисины, а не использовать софткор или что-то в таком духе. Но нужно быть готовым переписать весь код в обфусцированном виде, что почти всегда - плохое решение.

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 04 Jun 2016, 17:52
by iEugene0x7CA
abigsam wrote:А вариант "взять ПЛИС побольше" не катит -- во-первых дорого, во-вторых корпус не подходит. Ну, то такое :)
А каковы требования к корпусу/стоимости/количеству ячеек?
На Диджике есть Хильки с 9k ячеек, в TQFP, стоимостью всего 16 баксов за штучку. ;)
http://www.digikey.com/product-detail/e ... ND/2339919

Но если нужно больше — тут уж конечно да, никуда не денешься.
Холивар кстати весьма распространён по миру, вопрос "Why are there no low pin count FPGAs?" гулится на ура.
Причинами оказались дороговизна кристаллов больших FPGA, упакуй их в TQFP-144 — чипы всё равно будут стоить под сотни баксов.
Аудитория самопальщиков конечно негодует, но целевая аудитория больших ПЛИС — это крутые конторы, развести многослойку которым не проблема.
Им же BGA корпуса так же на руку: лучше скоростные характеристики и больше ног.

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 07 Jun 2016, 11:51
by abigsam
iEugene0x7CA wrote:А каковы требования к корпусу/стоимости/количеству ячеек?
Используем в проекте XC6SLX45 CSG324 + DDR2 + FX3. Плата 6-ти слойная.
Миграция вверх на XC6SLX75 невозможна, поскольку её нет в таком корпусе, ну и повторюсь, по стоимости не влазит :/
BSVi wrote:Ну, если нужно освободить пару лутов, то такие хитроски помогут
Да... Уже понял... Собственно, объема ПЛИС хватает, но впритык (проект занимает ~97% slises). Проблема была в том, что ISE после 4-х часов Place & Route выкидывал ошибку.. Решилось все банально: настройками Synthesis. Поставил Optimization Effort = Fast и проект собрался меньше, чем за час...
BSVi wrote:Но нужно быть готовым переписать весь код в обфусцированном виде, что почти всегда - плохое решение.
Не совсем понял, задам глупые вопросы. Это для защиты от копирования ? Имеется ввиду код самой ПЛИС или код для внешнего процессора ?..

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 07 Jun 2016, 12:51
by BSVi
Не совсем понял, задам глупые вопросы.
Я про то, что если ты пытаешься в ручную написать оптимизированный когд, то код получается не читаемым (= обфусциррованным) в итоге.

Re: Вопрос: советы по оптимизации проектов для ПЛИС Xilinx

Posted: 07 Jun 2016, 15:26
by abigsam
BSVi wrote:Я про то, что если ты пытаешься в ручную написать оптимизированный когд, то код получается не читаемым (= обфусциррованным) в итоге.
Теперь понял :)