Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Так зачем же нужны ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Страницы: 1, 2, 3
Darti
Здравствуйте, я начинающий радиолюбитель. Вот уже несколько месяцев пытаюсь освоиться в среде ПЛИС. На текущий момент уже помигал светодиодами, сделал таймер на семисегментнике, погенерил разные частоты, покидал байтики по юарту. Все это делал на EPM240 исключительно самостоятельно. Не скажу что все просто и легко, но дело движется.
Все это конечно здорово, решил я уже заняться чем то более серьзным, пошарился по сайтам в поисках примеров и тут немного удивился. Большинство из них предлагают решать те задачи, которые с легкостью решаются микроконтроллерами. Причем если судить о ресурсах EPM240 и микроконтроллера той же цены, то мой выбор будет в сторону мк. Не вижу смысла на этот счет спорить, цели разводить холивар нет, мне все равно кому что нравится. Моя цель выяснить, существуют ли какие то общепринятые задачи, которые решаются только при помощи ПЛИС? Опять же, существует ли какая то градация от простого к сложному, таких задач?
Bad0512
Цитата(Darti @ Sep 17 2014, 14:47) *
Здравствуйте, я начинающий радиолюбитель. Вот уже несколько месяцев пытаюсь освоиться в среде ПЛИС. На текущий момент уже помигал светодиодами, сделал таймер на семисегментнике, погенерил разные частоты, покидал байтики по юарту. Все это делал на EPM240 исключительно самостоятельно. Не скажу что все просто и легко, но дело движется.
Все это конечно здорово, решил я уже заняться чем то более серьзным, пошарился по сайтам в поисках примеров и тут немного удивился. Большинство из них предлагают решать те задачи, которые с легкостью решаются микроконтроллерами. Причем если судить о ресурсах EPM240 и микроконтроллера той же цены, то мой выбор будет в сторону мк. Не вижу смысла на этот счет спорить, цели разводить холивар нет, мне все равно кому что нравится. Моя цель выяснить, существуют ли какие то общепринятые задачи, которые решаются только при помощи ПЛИС? Опять же, существует ли какая то градация от простого к сложному, таких задач?

Существует масса задач, которые в реальном времени решить на микроконтроллерах, нереально. Мигание светодиодом к таким задачам, естественно, не относится. Из наиболее востребованных - ЦОС.
Вам попадались по большей части "детские" задачи, но мир устроен несколько сложнее.
Кроме того, существуют и ПЛИС с АРМ ядрами внутри.
_4afc_
Цитата(Darti @ Sep 17 2014, 11:47) *
Моя цель выяснить, существуют ли какие то общепринятые задачи, которые решаются только при помощи ПЛИС? Опять же, существует ли какая то градация от простого к сложному, таких задач?


Разница между МК/ЦСП и ПЛИС в том, что в:

МК/ЦСП - одно АЛУ и все сигналы которые приходят одновременно с различных интерфейсов нужно накопить в FIFO, ОЗУ и т.д., пусть даже с помощью ПДП, затем разделить ресурс АЛУ во времени между всеми интерфейсами/задачами для обработки, и потом выдать полученный результат через FIFO/ПДП на различные интерфейсы;

ПЛИС - распределённые IP блоки параллельно обрабатывающие ввод и вывод на различные интерфейсы.

Из выше сказанного следует, что МК больше подходят для пакетной обработки/приёму/передаче данных, а ПЛИС для синхронной с малой задержкой на обработку/приём/передачу.

Моё мнение косвенно подтверждается развитием телекоммуникаций. На заре, когда каналы строились на рассыпухе а тактовая ЦП измерялась сотнями килогерц - использовались синхронные каналы Е1/ИКМ15, потом процессоры вырвались вперёд и появился бум передачи данных через IPпакеты, а когда появились быстрые ПЛИС/ASIC подтянулся и SDH.
doom13
Цитата(Darti @ Sep 17 2014, 10:47) *
Моя цель выяснить, существуют ли какие то общепринятые задачи, которые решаются только при помощи ПЛИС? Опять же, существует ли какая то градация от простого к сложному, таких задач?

FPGA понадобится если, например, хотите данные с "нормальной" АЦП принять (возможно не одной, а сразу нескольких), передать их на скорости оченьмного Гбит/с...
zombi
Цитата(Darti @ Sep 17 2014, 10:47) *
... Причем если судить о ресурсах EPM240 и микроконтроллера той же цены, то мой выбор будет в сторону мк....

Попробуйте судить не по ресурсам а по скорости
SM
Такая мелочь, как EPM240, в основном предназначена для создания в ней некой периферии, которой не хватает микроконтроллеру, и которой нету в составе подходящих микроконтроллеров в принципе. То есть, обычно, такие ПЛИСки используются в подмогу процессору. Например, вот один случай - у микропроцессора есть порт SDIO, а WiFi модуль требует и SDIO (для wifi), и UART (для bluetooth). UART-а лишнего нет. Вот и реализуем на мелкой ПЛИС UART over SDIO, чтобы модуль был подключен только по SDIO.

А вот более серьезные проекты на более больших ПЛИС - на чем-то другом зачастую бывает просто невозможно сделать. Например задача - принять данные с пары шустрых (125 MSPS) АЦП, обработать их как-то (пофильтровать немного, поанализировать по-разному), и отправить через PCIe в компьютер. На каком "МК" и почем Вы бы такое реализовали?

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

"А вот более серьезные проекты на более больших ПЛИС - на чем-то другом зачастую бывает просто невозможно сделать. Например задача - принять данные с пары шустрых (125 MSPS) АЦП, обработать их как-то (пофильтровать немного, поанализировать по-разному), и отправить через PCIe в компьютер. На каком "МК" и почем Вы бы такое реализовали?"
Вот это уже ближе к делу, меня интересует конкретика, реальные полезные задачи
SM
Цитата(Darti @ Sep 17 2014, 12:28) *
Вот это уже ближе к делу, меня интересует конкретика, реальные полезные задачи


На EPM240 можно только что-то по-мелочи сделать... Какие нибудь мелкие расширения периферии для МК (доп. уарты например, всякие последовательные порты типа аудио, и т.п.). Для начала самое то. А потом уже придет понятие, какие объемы занимают те или иные вещи и на каких скоростях они могут работать.
adnega
Цитата(Darti @ Sep 17 2014, 12:28) *
план прокачки самого себя в этой области.

Сам в такой же ситуации.

Разрабатываю контроллеры для светодиодных табло (в том числе и на китайских матрицах) - сделал эмулятор светодиодного табло на VGA-мониторе.
Чтоб проще отлаживать софт. Табло может быть и 10 метров в длину, не городить же стенд.
Maverick
Цитата(adnega @ Sep 17 2014, 11:39) *
Сам в такой же ситуации.

Разрабатываю контроллеры для светодиодных табло (в том числе и на китайских матрицах) - сделал эмулятор светодиодного табло на VGA-мониторе.
Чтоб проще отлаживать софт. Табло может быть и 10 метров в длину, не городить же стенд.

контроллеры на FPGA/SoC делаете?
Darti
Цитата(SM @ Sep 17 2014, 12:37) *
На EPM240 можно только что-то по-мелочи сделать... Какие нибудь мелкие расширения периферии для МК (доп. уарты например, всякие последовательные порты типа аудио, и т.п.). Для начала самое то. А потом уже придет понятие, какие объемы занимают те или иные вещи и на каких скоростях они могут работать.

Поймите правильно, сейчас в стм32 периферия настолько жирная, что разговоры о дополнительных юартах или нечто вроде, теряют всякий смысл. Честно мне очень нравится работать с плис. Я пытаюсь пилить свой бесплатный курс обучения по плисинам, на примерах которых учился сам. Но пока все то что я делаю у народа вызывает недоумение, по причинам описанным выше. Все что я могу сейчас показать, это то что один товарищ реализовал nintendo на плис, но это такая редкая и сложная задача, что практически никому она не интересна. Других доводов у меня пока нет.
Поменять камень не проблема, хотя я еще в них слабо ориентируюсь, но представляю что нужно смотреть в сторону циклонов.

Цитата(adnega)
Разрабатываю контроллеры для светодиодных табло (в том числе и на китайских матрицах) - сделал эмулятор светодиодного табло на VGA-мониторе.
Чтоб проще отлаживать софт. Табло может быть и 10 метров в длину, не городить же стенд.

C VGA не работал, но опять же видел подобный проект реализованный на микроконтроллере. Тем не менее это уже хорошая идея.

Цитата(zombi)
Попробуйте судить не по ресурсам а по скорости

Я пытаюсь, но у меня пока в голове не укладывается, где они могут быть нужны.

Цитата(Bad0512)
Из наиболее востребованных - ЦОС.

Часто слышу это, ровно как и про PCI, можете дать ссылку на какую нибудь девайсину, которую нельзя купить в магазине и которая очень нужна в хозяйстве, где используется это все используется?

В общем еще раз повторюсь, мне интересно увидеть проекты, чтобы идти от простого к сложному, чтобы было интересно и нужно. Неужели дальше использования ядра какого то микроконтроллера (или NIOS) внутри плис фантазия заканчивается?
Serhiy_UA
Цитата(Darti @ Sep 17 2014, 12:10) *
В общем еще раз повторюсь, мне интересно увидеть проекты, чтобы идти от простого к сложному, чтобы было интересно и нужно. Неужели дальше использования ядра какого то микроконтроллера (или NIOS) внутри плис фантазия заканчивается?

Сделай на ПЛИС осциллограф-приставку к компьютеру или с выводом напрямую на монитор.
Maverick
Цитата(Darti @ Sep 17 2014, 11:28) *

Цитата
В быстродействующих ЦОС-платформах, традиционно реализуемых на универсальных DSP процессорах или при моделировании на ПК, выполняющих алгоритмы на языке Си, для предварительной обработки данных или выполнения функций сопроцессора, все чаще применяют FPGA. Это обусловлено гибкостью FPGA структуры, которая поддерживает высокий параллелизм работы при выполнении таких операций, как КИХ-фильтрация, БПФ, цифровое преобразование с понижением частоты и прямая коррекция ошибок, фото/видео обработка, кодирование/декодирование, распазнование образов в реальном режиме времени. Аппаратная система, содержащая процессор и FPGA как сопроцессор, может выполнять операции распределения алгоритмов между ПК, конфигурируемыми логическими блоками FPGA и встроенным процессором на FPGA - ARM9.
Проблема заключается в достижении эффективного распределения системных операций ПК по имеющимся аппаратным ресурсам.

Я о чем например создайте ориентированные вычислители (в том числе, «заточенных» на решение задач информационной безопасности, обработки видео/фото) , где программа на ПК сама конфигурирует ПЛИС например для фильтрации сигнала или кодирования/декодирование фото/видео, тем самым увеличивая производительность...
Потом можете попробовать подумать про кластерные вычисления...

PS Коротко чтобы понятней было - рассмотрим ПК: ПК грубо состоит из центрального процессора и видеопроцессора/видеокарта ... У Вас примерно тоже самое, только вместо видеопроцессора/видеокарты будет ПЛИС
_Ivan_33
Вся фигня в том, что ТС смотрит на радиолюбительские сайты и находит там какие-то поделки вроде помигать светодиодом на плис или какой-нибудь марсоход. Все это песочница. Но когда он пойдет на работу где реально применяются плисы - он столкнется с реальностью - частотами в несколько сотен МГц, задержками вычисления определенного алгоритма и скоростями обработки данных в несколько десятков Гбит в сек.
У меня у самого был диплом - разработка PCI-E интерфейса и теоретическая скорость могла доходить до 20 Гбит в сек. Мало какому процессору это под силу. Поэтому не стоит недооценивать ПЛИС. На светлую сторону силы переходи ты! cheers.gif
Serg76
Цитата(Darti @ Sep 17 2014, 12:10) *
Часто слышу это, ровно как и про PCI, можете дать ссылку на какую нибудь девайсину, которую нельзя купить в магазине и которая очень нужна в хозяйстве, где используется это все используется?

Реализуйте DVB-S2, а еще лучше DVB-S2X (демодулятор + декодер, включая полноценную поддержку VCM/ACM), станете гуру ЦОС + денег поднимете )))). Купить это, конечно, можно, но стоит неприлично дорого.
adnega
Цитата(Darti @ Sep 17 2014, 13:10) *
но это такая редкая и сложная задача, что практически никому она не интересна. Других доводов у меня пока нет.

Получается вам плисины и не нужны. Для мигания светодиодом хватит и МК, а плис для "редких и сложных задач" пусть остается.
Про "марсоход" слышали? Человеку, запиливающему курс, надобно знать конкурента в лицо)
SM
Цитата(Darti @ Sep 17 2014, 13:10) *
Поймите правильно, сейчас в стм32 периферия настолько жирная, что разговоры о дополнительных юартах или нечто вроде, теряют всякий смысл.


Ну возьмите для примера какую нибудь хитрую периферию. Например достаточно умный и быстродействующий (например, с частотой TCK до 100 МГц) контроллер интерфейса JTAG, такой, чтобы мог работать с выбранным МК на полной скорости. Ну и мало ли какие там еще бывают интерфейсы, которых штатно нет в МК. Но начинать надо именно с чего попроще - уарты, SPI, I2S и т.п.

PCI, а тем более PCI Express, это, IMHO, не то, с чего надо начинать... Но если хотите... Из железок, которые довольно просто можно сделать на PCI, а купить не сильно просто... Для примера приведу простой watchdog - дергает компьютер за резет, если софт завис, пожалуй, это самое простое, что можно сделать на PCI.
Darti
Цитата(adnega @ Sep 17 2014, 13:42) *
Получается вам плисины и не нужны. Для мигания светодиодом хватит и МК, а плис для "редких и сложных задач" пусть остается.
Про "марсоход" слышали? Человеку, запиливающему курс, надобно знать конкурента в лицо)

Да знаю, у них заказывал плату, но их примеры мне кажутся унылыми и собственно разжевывания для новичка там нет, поэтому я реализую так, как это делал на микроконтроллерах. По поводу редких и сложных задач, такое ощущение что все ПЛИСоводы это некое массонское таинство, которые занимаются чем то интересным и сложным, чего нельзя рассказывать простым смертным, для отвлечения глаз они создают сайты всяких марсоходов, а для всяких черезчур интересующихся они придумали слова ЦОС и PCI и никому не рассказывают что под этим кроется. biggrin.gif
ЗЫ по факту только идея с осциллографом и выводом на экран годная, я все таки еще пока начинающий.

Цитата(SM @ Sep 17 2014, 13:42) *
Ну возьмите для примера какую нибудь хитрую периферию. Например достаточно умный и быстродействующий (например, с частотой TCK до 100 МГц) контроллер интерфейса JTAG, такой, чтобы мог работать с выбранным МК на полной скорости. Ну и мало ли какие там еще бывают интерфейсы, которых штатно нет в МК. Но начинать надо именно с чего попроще - уарты, SPI, I2S и т.п.

пришла идея в голову реализовать NEC протокол для ик.
ViKo
Вот пусть лучше сделает логический анализатор, что тема всплыла из "Новых сообщений" (если кто не умеет нажать на кнопочку со стрелочками слева вверху на странице, тоже тема из свежих). rolleyes.gif
adnega
Цитата(Darti @ Sep 17 2014, 13:51) *
Да знаю, у них заказывал плату, но их примеры мне кажутся унылыми и собственно разжевывания для новичка там нет, поэтому я реализую так, как это делал на микроконтроллерах. По поводу редких и сложных задач, такое ощущение что все ПЛИСоводы это некое массонское таинство, которые занимаются чем то интересным и сложным, чего нельзя рассказывать простым смертным, для отвлечения глаз они создают сайты всяких марсоходов, а для всяких черезчур интересующихся они придумали слова ЦОС и PCI и никому не рассказывают что под этим кроется. biggrin.gif
ЗЫ по факту только идея с осциллографом и выводом на экран годная, я все таки еще пока начинающий.

Когда придет время, научитесь выбирать инструмент для решения задачи, а не задачу для инструмента.
Как начинающий, столкнувшийся с данной дилеммой, вы на верном пути)

Никакого заговора нет. Просто, задачи для ПЛИС сложны и решаются специалистами.
Maverick
Цитата(Serg76 @ Sep 17 2014, 12:41) *
Реализуйте DVB-S2, а еще лучше DVB-S2X (демодулятор + декодер, включая полноценную поддержку VCM/ACM), станете гуру ЦОС + денег поднимете )))). Купить это, конечно, можно, но стоит неприлично дорого.

все хотел спросить у Вас - Вы реализовали DVB-S2? sm.gif
Bad0512
Цитата(Darti @ Sep 17 2014, 16:10) *
Часто слышу это, ровно как и про PCI, можете дать ссылку на какую нибудь девайсину, которую нельзя купить в магазине и которая очень нужна в хозяйстве, где используется это все используется?

В общем еще раз повторюсь, мне интересно увидеть проекты, чтобы идти от простого к сложному, чтобы было интересно и нужно. Неужели дальше использования ядра какого то микроконтроллера (или NIOS) внутри плис фантазия заканчивается?

PCI сейчас уже теряет актуальность (может быть только за исключением ВПК стран третьего мира). Это - очень прикладная задачка. Попробуйте реализовать алгоритм FFT на 256 отсчётов для обработки в реальном времени потока , к примеру с частотой сэмплов хотя бы 10М сэмплов в секунду. И попробуйте сделать то же самое на обычном (даже самом шустром) процессоре не используя распараллеливание. Это - абстрактная задачка, которая имеет много применений в реально используемых технологиях (OFDM например). ПЛИС имеет преимущество в алгоритмах где необходимо быстро обрабатывать большие потоки с возможностью эффективно параллелить вычисления.
SM
Цитата(Bad0512 @ Sep 17 2014, 14:25) *
И попробуйте сделать то же самое на обычном (даже самом шустром) процессоре

Ну сейчас это как раз не велика проблема. На обычном (Intel/AMD x86), даже не на самом шустром.
Bad0512
Цитата(SM @ Sep 17 2014, 17:28) *
Ну сейчас это как раз не велика проблема. На обычном (Intel/AMD x86), даже не на самом шустром.

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

P.S. И да, речь идёт во всех случаях о _реальном_ времени.
Serg76
Цитата(Maverick @ Sep 17 2014, 13:19) *
все хотел спросить у Вас - Вы реализовали DVB-S2? sm.gif

Баловался как-то, правда на уровне c++ модели
SM
Цитата(Bad0512 @ Sep 17 2014, 14:43) *
P.S. И да, речь идёт во всех случаях о _реальном_ времени.

Да что бы там не говорили, на x86 платформах, как под линуксом, так и под виндой, если систему заточить на решение вполне определенной задачи (и кроме нее ничего постороннего), реальное время делается без особых напрягов, несмотря на незаточенность ОСей под него.

А вообще, да, конечно, всегда можно найти такой поток, который заткнет любой проц, но на ПЛИС его можно будет обработать. Но это не задача для начала, для понимания, что такое ПЛИС. Этот поток надо еще где-то получить, и что-то осмысленное с ним сделать, просто так взять и придумать такую задачу сложно.

PS
Видеокарты, в их обычном понимании, прошлый век... HSA - вот это дело!
Mad Makc
Добавлю, что на ПЛИС-ах приходится генерить часто всякую экзотику.И совсем не обязательно что-то маштабно-громадное. Например, есть выше упомянутый stm32 с жирной периферией.
И вот задача: 8 таких stm32 , у которых свободный 1 SPI, один дохлый TMS со свободным UART и мощный проц с гигабитным ethernet.
Проблема: вся эта компания хочет общаться между собой.
Ничего стандартного не нашли( не придумали). сгородили "свитч" на ПЛИС.
Fat Robot
Мигалка светодиодом отняла последние разум и силы. Здесь интересное.
des333
Цитата(Darti @ Sep 17 2014, 13:10) *
Часто слышу это, ровно как и про PCI, можете дать ссылку на какую нибудь девайсину, которую нельзя купить в магазине и которая очень нужна в хозяйстве, где используется это все используется?

Смотря в каком хозяйстве sm.gif

Примеров можно привести массу, но приведу только то, чем занимаемся сами -- сетевое оборудование.
Обработка пакетов (фильтрация, коммутация, балансировка, модификация, сбор статистики) при 100% нагрузке очень сложная задача.

К примеру, для 100G максимальное количество пакетов -- 148 миллионов в секунду.
С такой обработкой не могут справиться даже топовые процессоры, про МК, естественно, даже речь не идёт.
Darti
Цитата(Fat Robot @ Sep 17 2014, 15:40) *
Мигалка светодиодом отняла последние разум и силы. Здесь интересное.

Потрудитесь посмотреть те ссылки что выдал гугл. После этого загляните на сайт хотя бы того же атмела в раздел апнотов. Я пересмотрел тонну видео на ютюбе, пересмотрел кучу сайтов по fpga, гуглом я умею пользоваться. Ни один из сайтов не тянет на обучалку для человека который не знаком с плис. Максимум 2-3 статьи по верилогу. По факту столько ответов в теме, а КПД нулевой, ни одной ссылки на проект сделанный на ПЛИС, который нельзя сделать на мк, но при этом был бы понятен начинающему. Думаю тему можно закрыть, она бесполезна, буду ориентироваться на марсоход, раз это предел мечтаний.
ViKo
Думаю, не нужно браться обучать других, если сам не умеешь. laughing.gif "Умный любит учиться..."
Fat Robot
Первая же ссылка на википедию. там раздел applications.

Если все же все, что вы написали хоть как-то соответствует действительности: "пересмотрел, перелопатил, не понял", то дело скорее в том, что у вас отсутствует элементарная техническая эрудиция. Вот и начните с нее.

Успехов.

Цитата(Darti @ Sep 17 2014, 13:00) *
Потрудитесь посмотреть те ссылки что выдал гугл. После этого загляните на сайт хотя бы того же атмела в раздел апнотов. Я пересмотрел тонну видео на ютюбе, пересмотрел кучу сайтов по fpga, гуглом я умею пользоваться. Ни один из сайтов не тянет на обучалку для человека который не знаком с плис. Максимум 2-3 статьи по верилогу. По факту столько ответов в теме, а КПД нулевой, ни одной ссылки на проект сделанный на ПЛИС, который нельзя сделать на мк, но при этом был бы понятен начинающему. Думаю тему можно закрыть, она бесполезна, буду ориентироваться на марсоход, раз это предел мечтаний.

Darti
Цитата(Fat Robot @ Sep 17 2014, 16:09) *
Первая же ссылка на википедию. там раздел applications.

Если все же все, что вы написали хоть как-то соответствует действительности: "пересмотрел, перелопатил, не понял", то дело скорее в том, что у вас отсутствует элементарная техническая эрудиция. Вот и начните с нее.

Успехов.


Common FPGA Applications:
Aerospace and Defense
Medical Electronics
Avionics/DO-254
Communications
Missiles & Munitions

При этом Вы даже не потрудились прочитать суть вопроса, мне все равно где применяются, мне интересны реализованные проекты, которые можно повторить. Не будьте занудой, который не упустит шанса возвыситься перед окружающими, только потому что увидел слово "светодиод".
des333
Цитата(Darti @ Sep 17 2014, 16:32) *
...мне интересны реализованные проекты, которые можно повторить.

Если интересно повторить, возьмите следующий простой, но реальный проект.

Цель -- реализовать шлейф (loopback) 2-ого и 3-ого уровней. Интерфейс -- Gigabit Ethernet.
Шлейф -- это устройство, которое принимает сетевой пакет и отправляет его обратно, при необходимости модифицируя.

Для 2-ого уровня модификация заключается в перестановки MAC-адресов местами.
Для 3-ого уровня модификация заключается в перестановки MAC-адресов и IP-адресов местами.
Stewart Little
Цитата(Darti @ Sep 17 2014, 16:32) *
мне интересны реализованные проекты, которые можно повторить.

Ну попробуйте реализовать цифровой генератор синуса (NCO - Numeric Controlled Oscillator), с использованием алгоритмов DDS или Cordic.
И попутно прикиньте, что получится, если пытаться реализовать такую систему на процессоре.
Darti
Цитата(des333 @ Sep 17 2014, 16:40) *
Если интересно повторить, возьмите следующий простой, но реальный проект.

Цель -- реализовать шлейф (loopback) 2-ого и 3-ого уровней. Интерфейс -- Gigabit Ethernet.
Шлейф -- это устройство, которое принимает сетевой пакет и отправляет его обратно, при необходимости модифицируя.

Для 2-ого уровня модификация заключается в перестановки MAC-адресов местами.
Для 3-ого уровня модификация заключается в перестановки MAC-адресов и IP-адресов местами.

Ну попробуйте реализовать цифровой генератор синуса (NCO - Numeric Controlled Oscillator), с использованием алгоритмов DDS или Cordic.
И попутно прикиньте, что получится, если пытаться реализовать такую систему на процессоре.

Слава яйцам, наконец то народ меня начинает слышать. Спасибо что еще остались адекватные
des333
Цитата(Darti @ Sep 17 2014, 16:48) *
Слава яйцам, наконец то народ меня начинает слышать. Спасибо что еще остались адекватные

Да я ещё чуть раньше в теме писал про то, что на ПЛИС делаем конкретно мы (ссылка на сайт в профиле).

Вы, наверное, просто не заметили сообщение sm.gif
doom13
Цитата(Darti @ Sep 17 2014, 15:00) *
По факту столько ответов в теме, а КПД нулевой, ни одной ссылки на проект сделанный на ПЛИС, который нельзя сделать на мк, но при этом был бы понятен начинающему.

Приобретите сначала плату с FPGA, а там уже сможете попробовать те или иные возможности ПЛИС. Что может MAX II Вам рассказали. Одна из возможных областей применения - сбор данных со скоростных АСП (с DDR LVDS, QDR LVDS, JESD204B интерфейсами), так же рассказали. Ещё одно из возможных применений выдача данных на DDS на тех же скоростях и с применением тех же интерфейсов. Плюс ко всему этому - необходимая обработка. 10Gbit, 100Gbit Ethernet - ещё одна область, которую Ваш stm32 с его жирной периферией не потянет. Но без наличия отладочной борды потестить всё это нет возможности, какой тогда смысл спрашивать какой-то конкретный проект.
Darti
Цитата(des333 @ Sep 17 2014, 16:50) *
Да я ещё чуть раньше в теме писал про то, что на ПЛИС делаем конкретно мы (ссылка на сайт в профиле).

Вы, наверное, просто не заметили сообщение sm.gif

да спасибо, есть интересные вещи, даже по работе.

Цитата(doom13 @ Sep 17 2014, 16:57) *
Приобретите сначала плату с FPGA, а там уже сможете попробовать те или иные возможности ПЛИС. Что может MAX II Вам рассказали. Одна из возможных областей применения - сбор данных со скоростных АСП (с DDR LVDS, QDR LVDS, JESD204B интерфейсами), так же рассказали. Ещё одно из возможных применений выдача данных на DDS на тех же скоростях и с применением тех же интерфейсов. Плюс ко всему этому - необходимая обработка. 10Gbit, 100Gbit Ethernet - ещё одна область, которую Ваш stm32 с его жирной периферией не потянет. Но без наличия отладочной борды потестить всё это нет возможности, какой тогда смысл спрашивать какой-то конкретный проект.

Я уже писал что железо не проблема. если возможно порекомендуйте камень из FPGA подходящий по соотношению цена/качество. Желательно альтеровский
AlexandrY
Цитата(des333 @ Sep 17 2014, 15:50) *
Да я ещё чуть раньше в теме писал про то, что на ПЛИС делаем конкретно мы (ссылка на сайт в профиле).

Вы, наверное, просто не заметили сообщение sm.gif


Ну прямо на ПЛИС!?

Там небось в вашем комутаторе по два микроконтроллера(или микропроцессора) на оду ПЛИС приходится.

А речь, так понимаю, о готовом устройстве только на ПЛИС!

Вот чисто на ПЛИС можно наверно максимум логический анализатор сделать.

des333
Цитата(AlexandrY @ Sep 17 2014, 17:08) *
Ну прямо на ПЛИС!?
Там небось в вашем комутаторе по два микроконтроллера(или микропроцессора) на оду ПЛИС приходится.
А речь, так понимаю, о готовом устройстве только на ПЛИС!
Вот чисто на ПЛИС можно наверно максимум логический анализатор сделать.
Ок, немного пояснений, думал, что это очевидно sm.gif

Естественно, у нас в девайсах используются и микроконтроллеры. Основные их функции -- это загрузка, настройка FPGA, CLI/GUI и прочие неспешные вещи.
Роль FPGA -- все высокопроизводительные вычисления.
Именно про эти вещи я и написал автору топика. Про те, которые невозможно реализовать на контроллере/процессоре.

Про то, что "всё устройство" должно быть на ПЛИС, автор, вроде не упоминал. Он вообще спрашивал про задачи, а не про устройства.
А делать девайс полностью на FPGA иногда нерационально. Можно, конечно, грузиться с MAX, а для управления использовать софт-процессоры. А можно поставить вместо этого EPCS и STM32.
AlexandrY
Цитата(des333 @ Sep 17 2014, 16:18) *
Про то, что "всё устройство" должно быть на ПЛИС, автор, вроде не упоминал. Он вообще спрашивал про задачи, а не про устройства.
А делать девайс полностью на FPGA иногда нерационально. Можно, конечно, грузиться с MAX, а для управления использовать софт-процессоры. А можно поставить вместо этого EPCS и STM32.


Вот я и чувствую, что здесь все крутится вокруг интерпретаций понятия 'задача'.

Я так понял ТС и мне самому интересно можно ли ограничиться ПЛИС без разработки вообще каких либо программ на C-и, ассемблере и проч. для реализации чего-либо стоящего.
Но это, конечно, не FFT и не MAC фильтры, потому что они только составлющие задач.
А задачи это некая полезная юзеру функциональнось. Это почти синоним устройства.

И вот ничего на ум не приходит. laughing.gif

des333
Цитата(AlexandrY @ Sep 17 2014, 17:58) *
Вот я и чувствую, что здесь все крутится вокруг интерпретаций понятия 'задача'.

Я так понял ТС и мне самому интересно можно ли ограничиться ПЛИС без разработки вообще каких либо программ на C-и, ассемблере и проч. для реализации чего-либо стоящего.
Но это, конечно, не FFT и не MAC фильтры, потому что они только составлющие задач.
А задачи это некая полезная юзеру функциональнось. Это почти синоним устройства.

И вот ничего на ум не приходит. laughing.gif

Если смотреть так, то да. sm.gif

Но это, всё-таки, искусственные ограничения -- то есть, в жизни бывает, что вместо МК лучше заюзать софт-процессор, но вот чтобы нельзя было использовать проц в принципе, думаю, вряд ли.
То есть, иногда может хватить и ПЛИС без CPU/софт-процессоров. Но это, думаю, относительно узкий круг задач.

Я лично понял, что автора интересует более"реальные/жизненные" задачи.

Так что, думаю, лучше уточнить у автора.
Дварфик
задачи для ПЛИС можно разбить на три большие группы:
1) собираем всё вместе в песочницу под названием ПЛИС
2) как сказал des333 задачи хоть и простые но очень высокоскоростные , когда контроллер просто не может поспеть. По аналогии с компьютером это процессор и видеокарта, ведь процессор тоже может отрисовывать картинку, но делает это медленно.
3) отсутствие подходящей готовой микросхемы со специфическими функциями
Ну, ещё я бы выделил ещё одну группу -- "абы було". И мне так кажется, это самая многочисленная группа. Перепрограммируемая логика, из названия понятно, очень гибкая. И даёт иллюзию свободы. Вместо того чтобы лишний денёк поискать/поподбирать нужное решение ты просто ставишь ПЛИСину и забываешь о задаче. Но ровно до того момента, когда приходится эту задачу реализовывать на VHDL.
Есть конечно и другие задачи где без них никак. Ну например, прототипирование цифровых микросхем, но топикстартер, думаю, не их имел ввиду.
ViKo
У меня все разработки с ПЛИС имели рядом стоящий микроконтроллер. Я и прошивку ПЛИС всегда загружал через микроконтроллер.
Darti
Цитата(des333 @ Sep 17 2014, 18:04) *
Если смотреть так, то да. sm.gif

Но это, всё-таки, искусственные ограничения -- то есть, в жизни бывает, что вместо МК лучше заюзать софт-процессор, но вот чтобы нельзя было использовать проц в принципе, думаю, вряд ли.
То есть, иногда может хватить и ПЛИС без CPU/софт-процессоров. Но это, думаю, относительно узкий круг задач.

Я лично понял, что автора интересует более"реальные/жизненные" задачи.

Так что, думаю, лучше уточнить у автора.

Задачи вроде быстрого DDS генератора и обработки данных с АЦП мне понятны, пусть даже "вкупе" с мк. В принципе понятно, что обработку всяких быстрых протоколов на мк не сделаешь. Но согласитесь, многие знают что такое плис, но не понимают их прелести. Поэтому я хочу уяснить для себя, список возможностей, вроде названий для будущих полезных апнотов.
kaps
Мои 5 копеек.

1. Старый добрый ГОСТ 28147-89, или AES-128
2. Многопоточное многовходовое мультиплексирование (любая разрядность)

Одно из основных применений ПЛИС:
- криптография/криптоанализ
- многопоточные среды передачи данных с мультиплексированием
- анализирующие схемы медицинских сканнеров, томографов (Siemens вам в помощь, в полный рост)
- космос (включая обсерватории)
- прототипирование
- и т.д. и т.п.
doom13
Цитата(AlexandrY @ Sep 17 2014, 16:58) *
Вот я и чувствую, что здесь все крутится вокруг интерпретаций понятия 'задача'.

Я так понял ТС и мне самому интересно можно ли ограничиться ПЛИС без разработки вообще каких либо программ на C-и, ассемблере и проч. для реализации чего-либо стоящего.
Но это, конечно, не FFT и не MAC фильтры, потому что они только составлющие задач.
А задачи это некая полезная юзеру функциональнось. Это почти синоним устройства.

И вот ничего на ум не приходит. laughing.gif


Автор изначально и спрашивал о задачах, которые решаются при помощи ПЛИС, ни о каком конечном устройстве на базе одной единственной ПЛИС речь не шла.
Ну и задача тут != устройство. В очень многих стоящих устройствах Вы не сможете обойтись без использования FPGA. Если необходим приём/обработка/передача больших потоков данных без FPGA не обойтись.
johan
Действительно, получается что самые простые примеры, про FPGA о счетчиках/светодиодах, а следующих шаг уже какие-то готовые проекты-ядра, типа opencores, которые еще надо знать где искать. Поэтому и может сложиться впечатление, что у FPGA делает тоже самое, что и МК, и разницы большой нет. Однако, это не совсем так)

Кстати, у Альтеры буквально на днях вышла книжка "FPGA For Dummies": см. тут.
doom13
Цитата(Darti @ Sep 17 2014, 17:31) *
Задачи вроде быстрого DDS генератора и обработки данных с АЦП мне понятны, пусть даже "вкупе" с мк. В принципе понятно, что обработку всяких быстрых протоколов на мк не сделаешь. Но согласитесь, многие знают что такое плис, но не понимают их прелести. Поэтому я хочу уяснить для себя, список возможностей, вроде названий для будущих полезных апнотов.

Так вот и получаем, что под каждую задачу есть свой инструментарий, "из пушки по воробьям" Вы же стрелять не будете!?

Цитата
пусть даже "вкупе" с мк

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