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

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Post Reply
abigsam
Posts: 11
Joined: 29 Oct 2013, 22:36
Location: Сумы

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

Post by abigsam »

Собственно, интересуют ссылки на статьи или книги, где можно найти советы по оптимизации (читай -- уменьшении занимаемой площади кристала) проектов для ПЛИС Xilinx (Spartan 6). Гугление ничего внятного не дало. Ну или я не то или не так искал :)
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

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

Post by BSVi »

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

С другой стороны, такая ручная оптимизация дает не очень большой выигрыш - оптимизаторы ISE довольно хорошо справляются со своей задачей, поэтому в большинстве случаев нужно просто взять плисину побольше и не мучать себя.
abigsam
Posts: 11
Joined: 29 Oct 2013, 22:36
Location: Сумы

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

Post by abigsam »

BSVi wrote:С другой стороны, такая ручная оптимизация дает не очень большой выигрыш - оптимизаторы ISE довольно хорошо справляются со своей задачей.
Спасибо, понял.. Просто как-то читал на хабре, там рекомендовали делать все счетчики только со счетом "вниз"... Но не знаю, насколько этому можно верить. Да и действительно, видимо это сильно не спасет. А вариант "взять ПЛИС побольше" не катит -- во-первых дорого, во-вторых корпус не подходит. Ну, то такое :)
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

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

Post by BSVi »

Ну, если нужно освободить пару лутов, то такие хитроски помогут, но, если не хватает половины плисины, то нужно что-то концептуально менять. К примеру, вынести контроллер наружу плисины, а не использовать софткор или что-то в таком духе. Но нужно быть готовым переписать весь код в обфусцированном виде, что почти всегда - плохое решение.
User avatar
iEugene0x7CA
Адепт
Posts: 1571
Joined: 20 May 2012, 02:38
Location: Киев

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

Post 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 корпуса так же на руку: лучше скоростные характеристики и больше ног.
abigsam
Posts: 11
Joined: 29 Oct 2013, 22:36
Location: Сумы

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

Post by abigsam »

iEugene0x7CA wrote:А каковы требования к корпусу/стоимости/количеству ячеек?
Используем в проекте XC6SLX45 CSG324 + DDR2 + FX3. Плата 6-ти слойная.
Миграция вверх на XC6SLX75 невозможна, поскольку её нет в таком корпусе, ну и повторюсь, по стоимости не влазит :/
BSVi wrote:Ну, если нужно освободить пару лутов, то такие хитроски помогут
Да... Уже понял... Собственно, объема ПЛИС хватает, но впритык (проект занимает ~97% slises). Проблема была в том, что ISE после 4-х часов Place & Route выкидывал ошибку.. Решилось все банально: настройками Synthesis. Поставил Optimization Effort = Fast и проект собрался меньше, чем за час...
BSVi wrote:Но нужно быть готовым переписать весь код в обфусцированном виде, что почти всегда - плохое решение.
Не совсем понял, задам глупые вопросы. Это для защиты от копирования ? Имеется ввиду код самой ПЛИС или код для внешнего процессора ?..
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

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

Post by BSVi »

Не совсем понял, задам глупые вопросы.
Я про то, что если ты пытаешься в ручную написать оптимизированный когд, то код получается не читаемым (= обфусциррованным) в итоге.
abigsam
Posts: 11
Joined: 29 Oct 2013, 22:36
Location: Сумы

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

Post by abigsam »

BSVi wrote:Я про то, что если ты пытаешься в ручную написать оптимизированный когд, то код получается не читаемым (= обфусциррованным) в итоге.
Теперь понял :)
Post Reply