Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Трудоёмкость реализации алгоритма на ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
CaPpuCcino
понимаю, что вопрос достаточно провокационный, но нужно для презентации перед ни-в-зуб-ногой-в-ПЛИС людьми, а цифры с потолка брать не охота. может кто-нибудь знает подобные публикации, где бы сравнивалась трудоёмкость реализации алгоритма (проектирование системы на кристалле ПЛИС) в программируемой логике с реализацией алгоритма на стандартных архитектурах (микропроцессорах/контроллерах). полагаю что кто-нибудь пытался из академических интересов оценить этот параметр.
ЗЫ: если не знаете источники, попробуйте сделать свою оценку "на глаз"
благодарствую
DmitryR
Я пытался, и пришел к выводу, что задачи, которые решаются на ПЛИС и на МК не пересекаются. То есть, если задача может быть решена на МК, смысла решать ее на ПЛИС нет.
vetal
На глаз - реализация систем логического управления на плис много проще, чем на микропроцессорах. Реализация векторных алгоритмов проще на программном уровне((A*B+A'*B+A*B')/A'*B'). Реализация циклических алгоритмов(fir) - примерно на одном уровне.
CaPpuCcino
Цитата(vetal @ Oct 9 2008, 11:33) *
систем логического управления

можно, плз, уточнить, что есть логическое управление. спс.
vetal
Цитата(CaPpuCcino @ Oct 9 2008, 12:35) *
можно, плз, уточнить, что есть логическое управление. спс.

Например - УБС. Системы, требующие обработки сотен дискретных сигналов(y[i]=Z(y1..y20)*F[i](x1..x150) smile.gif).
608
Цитата(DmitryR @ Oct 9 2008, 10:23) *
Я пытался, и пришел к выводу, что задачи, которые решаются на ПЛИС и на МК не пересекаются. То есть, если задача может быть решена на МК, смысла решать ее на ПЛИС нет.

+1

Аналогия.
Нужны и большие корабли и маленькие, каждый хорош для своего дела. А в среднем экипажи получают зарплату примерно одинаковую, чтобы хватало и еще оставалось, иначе работать не будут. Есть, конечно, исключения, но где их нет.
Точно так с МК, с ПК и ПЛИС, подход с оплатой аналогичен.
Трудоемкости не попадались, но все делается по взаимной договоренности, как кому повезет.
blackfin
Цитата(608 @ Oct 9 2008, 13:08) *
Трудоемкости не попадались, но все делается по взаимной договоренности, как кому повезет.
А я вам больше скажу: "В жизни бывают такие минуты, когда все решают секунды и всё это длится часами!" laughing.gif
CaPpuCcino
Цитата(DmitryR @ Oct 9 2008, 11:23) *
Я пытался, и пришел к выводу, что задачи, которые решаются на ПЛИС и на МК не пересекаются. То есть, если задача может быть решена на МК, смысла решать ее на ПЛИС нет.

тут я совершенно согласится не могу. особенно для встроеных приложений. иногда скорость отклика важнее средств затраченых на разработку (но это филосовский вопрос - думаю развивать не стоит, иначе погрузимся в оффтоп)
avesat
Для мк на С например будет проще, ведь для любого сложного алгоритма обычно пишется модель, а это фактически реализация его для мк. Выигрыш по скорости и т.п. не в счет ессно.
blackfin
Цитата(CaPpuCcino @ Oct 9 2008, 11:10) *
попробуйте сделать свою оценку "на глаз"
Если "на глаз", то берем стоимость коммерческого IP-core (например, H.264 HD Encoder) и делим на стоимость такой же библиотеки для DSP TI (например, H.264 Baseline & Main Profiles Encoder), получаем отношение трудоемкостей. wink.gif
CaPpuCcino
Цитата(blackfin @ Oct 9 2008, 15:14) *
берем стоимость коммерческого IP-core и делим на стоимость такой же библиотеки для DSP TI получаем отношение трудоемкостей. wink.gif

клёво. отличная идея! всё гениальное просто smile.gif
а сколько получается?
DmitryR
Цитата(CaPpuCcino @ Oct 9 2008, 16:30) *
клёво. отличная идея! всё гениальное просто smile.gif

Ничего IMHO гениального, потому что рыночная цена зависит от спроса гораздо больше, чем от трудоемкости.
CaPpuCcino
Цитата(DmitryR @ Oct 9 2008, 16:32) *
рыночная цена зависит от спроса гораздо больше, чем от трудоемкости.

в условиях рынка, на одном и том же рынке, цена на интеллектуальную собственность будет сильно коррелировать с себестоимость (т.е. с трудозатратами) (если хотите, объясню - никто не будет производить идею, спрос на которую отсутствует, продавать её ниже себестоимости в отсутствии монопольных войн внутри рынка, и слишком завышать добавочную стоимость, уменьшая конкурентоспособность товара-заменителя, на то он и свободный рынок, чтобы справедливо регулироваться, если не доказано обратное - что рынок не свободен, так что стоймостная модель достаточно адекватна)
Stewart Little
Первое, что на ум приходит - отрисовка фрактала Мандельброта. Как медленно программно, и как быстро аппаратно. Посмотрите, что пишут альтеровцы про свой компилятор C2H. Ну и описание их NiosII Embedded Evaluation Kit - там как раз для мандельброта сравниваются программная и аппаратная реализации.
des00
Цитата(CaPpuCcino @ Oct 9 2008, 02:10) *
понимаю, что вопрос достаточно провокационный, но нужно для презентации перед ни-в-зуб-ногой-в-ПЛИС людьми, а цифры с потолка брать не охота. может кто-нибудь знает подобные публикации, где бы сравнивалась трудоёмкость реализации алгоритма (проектирование системы на кристалле ПЛИС) в программируемой логике с реализацией алгоритма на стандартных архитектурах (микропроцессорах/контроллерах). полагаю что кто-нибудь пытался из академических интересов оценить этот параметр.


Смотря что вы хотите от этих людей %) Поясню

1. Протащить идею выбить денег на аппаратный аналог софтового проекта или наоборот.
2. Дать людям истинную картину мира, позволив им выбирать.

В зависимости от цели можно рассказать по разному.

А вообще от задачи все сильно зависит.

Из личного опыта подобных вопросов есть только опыт в обработке видео. Уже пару раз свое мнение об этом высказывал на этом форуме. Сделать акселератор на фпга это да, можно, кодек кастрат тоже. Но полный, КАЧЕСТВЕННЫЙ кодек только на фпга, без процессора нет. При этом это будет дольше, дороже, сложнее и геморойнее чем взять хороший core2duro и хорошего программиста.
CaPpuCcino
Цитата(des00 @ Oct 9 2008, 17:22) *
Смотря что вы хотите от этих людей %) Поясню

миссия сугубо гуманитарная. чуваки хотят научится делать суперкомпьютеры типа BlueGene (а там у него в узлах решётки ПЛИСки стоят). ну меня и отсылают к ним во вспоможение с просветительской миссией. так как эти чуваки нюхом не нюхивали конфигурируемую логику, естественно их будет интересовать какого типа алгоритмы целесообразно решать на ПЛИСах эффективно (но это теоретически можно обобщить) и на сколько это сложнее практически (относительно одноголового проца - а вот это мне быстро не обобщить до количественной оценки)
Gate
На fpgajournal буквально вчера была статья про имплементацию си-алгоритмов: http://www.fpgajournal.com/articles_2008/2...007_mitrion.htm
там в конце статьи ссылки на 2 фирмы, которые делают платы на fpga и пишут к ним си-компиляторы. На сайтах этих фирм в разделе документация есть всякие разные статейки, которые могут оказаться Вам интересны.
http://www.mitrionics.com/ и
http://www.nallatech.com/
RobFPGA
Приветствую!

У Xilinx в Xcell когдато были сравнение эфективности реализации различных алгоритмов (поиск цепочек генома, различное кодирование, и ряд других ) для обычных процов и для FPGA спец вычислителей. Естественно FPGA были от 10 - до 100 раз и более быстрее. Там-же был ряд статей (по большей части рекламных) по поводу эфективности переноса алгоритмов писанных на C в FPGA.
с помощью различного умного софта ;-).

Успехов. Rob.
des00
Цитата(CaPpuCcino @ Oct 9 2008, 09:32) *
.........
миссия сугубо гуманитарная.
.........



ИМХО тогда нужно рассказывать правду, без красивостей на множестве примеров из разных областей %)
Кстати эти ребята в россии или за рубежом ? интересные разработки у них, а меня всегда тянет туда где интересно .... %)))


2 Gate

Цитата
там в конце статьи ссылки на 2 фирмы, которые делают платы на fpga и пишут к ним си-компиляторы. На сайтах этих фирм в разделе документация есть всякие разные статейки, которые могут оказаться Вам интересны.


На статьи сейчас времени нет, но вот что бросилось в глаза :

Код
The purpose of the Mitrion-C Open Bio Project is to accelerate key bioinformatics applications by porting their performance critical parts to Mitrion-C and running these on the Mitrion Virtual Processor in FPGAs.


т.е. я правильно понимаю, сделали конфигурируемый проц класса ниоса, запихали их кучу в одну систему, зашили в фпга и давай интеля рвать ? Т.е. сделали конфигурируемый аналог aspex и ambric.

2 RobFPGA

Цитата
Там-же был ряд статей (по большей части рекламных) по поводу эфективности переноса алгоритмов писанных на C в FPGA.
с помощью различного умного софта ;-).


Особено меня впечатлил в статьях mp3decoder сделанный с нуля и ускоренный в 100 раз (если мне память не изменяет) за 3 дня %))

Интересно показать это скептикам которых дурят верилогами с вхдлями и ниосами с микроблейзами %))

ИМХО эра чистого rtl уходит, производители поняли что это тупик. Вот и двигаются в сторону BSV, C2H компиляторов и т.д.

PS. похоже что так оно и есть

Цитата
...The key to making it possible to run software in FPGAs is to put a processor in the FPGA....


Цитата
...The Mitrion Virtual Processor utilizes a novel processor architecture that resembles a cluster-on-a-chip....


Шикарно.

Выражаясь словами некоторых участников форума "ой дурят нашего брата, ой дурят......" %)))
DmitryR
Цитата(CaPpuCcino @ Oct 9 2008, 18:32) *
чуваки хотят научится делать суперкомпьютеры типа BlueGene

Я стесняюсь спросить, а МК тут тогда причем?
Николай Иванович Приходько
Цитата(DmitryR @ Oct 9 2008, 11:23) *
Я пытался, и пришел к выводу, что задачи, которые решаются на ПЛИС и на МК не пересекаются. То есть, если задача может быть решена на МК, смысла решать ее на ПЛИС нет.

А разве на ПЛИСину нельзя запрграммировать так, что она станет микроконтроллером? Причём ЛЮБОЙ нужной Вам архитектуры.
Mad_max
des00 правильно говорит, все зависит от решаемой задачи.
Например, реализовать сложную логику управления (конечный автомат) на МК или процессорах (тобишь на Си или асме) куда сложней, чем на фпга.
А вообще плис+мк/проц идеальная связка. У первых простота реализации алгоритм управления(вычисления), а вторые имеют широкий набор периферии (АЦП, ШИМ, ДМА, инерфейсы и прочее) .
DmitryR
Цитата(Николай Иванович Приходько @ Oct 10 2008, 10:23) *
А разве на ПЛИСину нельзя запрграммировать так, что она станет микроконтроллером? Причём ЛЮБОЙ нужной Вам архитектуры.

Можно, только зачем? FPGA стоит минимум на порядок дороже MK и кушает на порядок больше, и если можно применить готовый MK - то зачем тратить деньги на дорогой кристалл, а потом еще и на отладку реализации MK на нем?
blackfin
Цитата(Mad_max @ Oct 10 2008, 13:52) *
Например, реализовать сложную логику управления (конечный автомат) на МК или процессорах (тобишь на Си или асме) куда сложней, чем на фпга.
Ага.. Безумно сложно:
Код
enum states {state_a,state_b,state_c};
enum events {event_a,event_b,event_c};

states state = state_a;
events event = event_a;
...
switch (state) {
case state_a:
    if (event == event_b) state = state_b;
    else if (event == event_c) state = state_c;
    break;
case state_b:
    if (event == event_c) state = state_c;
    else if (event == event_a) state = state_a;
    break;
case state_c:
    if (event == event_a) state = state_a;
    else if (event == event_b) state = state_b;
    break;
}
Николай Иванович Приходько
Цитата(blackfin @ Oct 10 2008, 15:00) *
Ага.. Безумно сложно:
Код
enum states {state_a,state_b,state_c};
enum events {event_a,event_b,event_c};

states state = state_a;
events event = event_a;
...
switch (state) {
case state_a:
    if (event == event_b) state = state_b;
    else if (event == event_c) state = state_c;
    break;
case state_b:
    if (event == event_c) state = state_c;
    else if (event == event_a) state = state_a;
    break;
case state_c:
    if (event == event_a) state = state_a;
    else if (event == event_b) state = state_b;
    break;
}

Ага. Просто. Только ПЛИСина сделает это за 1 такт, а процессор за 10000 тактов twak.gif
Николай Иванович Приходько
Цитата(DmitryR @ Oct 10 2008, 14:15) *
Можно, только зачем? FPGA стоит минимум на порядок дороже MK и кушает на порядок больше, и если можно применить готовый MK - то зачем тратить деньги на дорогой кристалл, а потом еще и на отладку реализации MK на нем?

А затем. Что можно сделать проц с любой заданной архитектурой. Кому-то надо чтоб в микроконтроллере было 12 UART-ов, а кому-то 24 штуки I2C подавай.

Если чел делал проект MCU на ПЛИС, ту у него есть наработки и готовые программные модули, которые легко можно "подправить" и сделать микроконтроллер с любой заданной архитектурой на одной и той же ПЛИСине.

Разве не крута?

Цитата(Николай Иванович Приходько @ Oct 10 2008, 15:32) *
Разве не крута?

По-моему "кадр", лабАющий на одной и той же ПЛИСине микроконтроллеры произвольной архитектуры, куда более крут, чем чел, юзающий готовые MCU, да к тому же часто даже не разбирающийся тОлком а архитектуре испольуемого MCU
blackfin
Цитата(atlantic @ Oct 10 2008, 15:29) *
кажется нехватает малого(самого главного) - прерывания на event smile.gif

Прижелании, можно добавить немного "специй":
Код
while(1) {
    WaitForSingleObject(hEvent,INFINITE);

    switch (state) {
    ...
    }
}
wink.gif
Mad_max
Цитата(blackfin @ Oct 10 2008, 15:00) *
Ага.. Безумно сложно:

blackfin сложную логику!
Например, инициализация памяти, управление фотоприёмной матрицей, да что угодно, где есть жёстко заданная времянка!
blackfin
Цитата(Mad_max @ Oct 10 2008, 15:59) *
blackfin сложную логику!

Так, а "сложную логику" и для FPGA будет сложно описать. Причем, уровень сложности будет одинаковый и для Си и для VHDL/Verilog и пр.. laughing.gif

Цитата(Mad_max @ Oct 10 2008, 15:59) *
Например, инициализация памяти, управление фотоприёмной матрицей, да что угодно, где есть жёстко заданная времянка!
Только не надо ползать взад-вперед. rolleyes.gif
Вначале Вы речь вели о сложности реализации на Си, а теперь напираете на временные ограничения..
Mad_max
Цитата(blackfin @ Oct 10 2008, 16:06) *
Так, а "сложную логику" и для FPGA будет сложно описать. Причем, уровень сложности будет одинаковый и для Си и для VHDL/Verilog и пр.. laughing.gif

Ну а зачем тогда блок диаграммы?
На Vhdl/Verilog писать такое конечно будет не проще чем на Си, тут никто и не спорит.
blackfin
Цитата(Mad_max @ Oct 10 2008, 16:09) *
Ну а зачем тогда блок диаграммы?
На Vhdl/Verilog писать такое конечно будет не проще чем на Си, тут никто и не спорит.
Ну что ж, будем считать, что Вы выразили свою мысль туманно и, как следствие, я Вас не понял:
Цитата(Mad_max @ Oct 10 2008, 13:52) *
реализовать сложную логику управления (конечный автомат) на МК или процессорах (тобишь на Си или асме) куда сложней, чем на фпга.
Mad_max
Цитата(blackfin @ Oct 10 2008, 16:16) *
Ну что ж, будем считать, что Вы выразили свою мысль туманно и, как следствие, я Вас не понял:

Ну, главное в итоге пришли к пониманию друг друга smile.gif
mse
Цитата(Николай Иванович Приходько @ Oct 10 2008, 10:23) *
А разве на ПЛИСину нельзя запрграммировать так, что она станет микроконтроллером? Причём ЛЮБОЙ нужной Вам архитектуры.

Можно. Только экономического смысла нет.
Николай Иванович Приходько
А кстати есть какая-то разница между FPGA, FSPLIC и ПЛИС ? Или это одно и то же?
MrYuran
Цитата(Николай Иванович Приходько @ Oct 10 2008, 17:45) *
А кстати есть какая-то разница между FPGA, FSPLIC и ПЛИС ? Или это одно и то же?

FPGA [Field Programmable Gate Array]- один из видов ПЛИС [Программируемая Логическая Интегральная Схема].
FPSLIC - это МК ядро с реконфигурируемым на лету FPGA.
CaPpuCcino
Цитата(DmitryR @ Oct 10 2008, 10:01) *
Я стесняюсь спросить, а МК тут тогда причем?

при том что чуваки не очень хорошо понимают, что такое FPGA и как с ним работать - МК (точнее МП) это самая простая парадигма которую они понимают. можно конечно сравнивать с MPI или OpenMP, но только в чем смысл такого сравнения - парадигма-то у них всё равно одна - "программизм"

Цитата(des00 @ Oct 10 2008, 07:51) *
ИМХО тогда нужно рассказывать правду, без красивостей на множестве примеров из разных областей %)

ну, так и запланировано. единственное, что лекция ознакомительная и смысла их загружать тем что они пока всосать неспособны особого нет - всё равно всё сведётся к тому, что нужно будет давать глупые ответы на глупые вопросы
Цитата(des00 @ Oct 10 2008, 07:51) *
Кстати эти ребята в россии или за рубежом ? интересные разработки у них, а меня всегда тянет туда где интересно .... %)))

чуваки в Германии (http://www.fz-juelich.de/jsc/index.php?index=3). у них американский BlueGene от IBM уже есть, теперь партия приказала такой же, но родной немецкий разработать smile.gif
des00
Цитата(CaPpuCcino @ Oct 10 2008, 14:28) *
чуваки в Германии (http://www.fz-juelich.de/jsc/index.php?index=3). у них американский BlueGene от IBM уже есть, теперь партия приказала такой же, но родной немецкий разработать smile.gif


Хорошая задача главное что бы выхлоп был %)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.