Jump to content

    

А в каких случаях лучше использовать ПЛИС(FPGA) вместо микроконтроллеров?

Ведь что-то такое ПЛИСина. Это фактически заказная микросхема, сделанная ВПЕРВЫЕ по индивидуальному заказу. Т.е. которая ещё нигде не применялась. Следовательно использовать её в особо ответственных применениях и системах со сверхвысокими требованиями к надежности - огромный риск.

 

Поэтому от практики применения заказных микросхем отказываются в особоответственных применениях. Где от ошибки в прошивке зависит жизнь людей или где это ошибка может принести большой материальный ущерб.

 

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

 

Опишу плюсы, которые есть в изучении и применении ПЛИС, хотя их и так все знают:

Универсальность знаний — при смене модели МК нужно читать доки. При смене производителя МК нужно читать доки. Нужно постоянно читать доки, постоянно держать в голове кучу информации

И эти доки вылезаны и доведены до звона. Кроме того, есть гигантское сообщество людей в интернете, которые также занимаются этой архитектурой, и которое сообща выяснило всё что можно и что нельзя про "камушек" и эта инфа спокойно гуглится.

А если архитекуру написал некий Вася Пупкин. То вся информация "кишках" камушка только в единственной васиной голове. В интернете её не нагуглишь как для МК массового применения. А если Васе на голову кирпич упадет?

 

Есть ещё гигабайты исходного кода.

И все конечно же "очень любят" копаться в гигибайтах чужого гавнокода.

 

Его просто выбросят и все. Никто в нем разбираться не будет

Edited by Флюктуация ваккума

Share this post


Link to post
Share on other sites
Именно, что не знаете!

Вот что удивительно, человек не знает всего спектра микроконтроллеров и тут же утверждает чего на них сделать нельзя.

Исходил из того, что ТС предлагает вообще забыть про ПЛИС и всюду ставить микроконтроллеры. А вообще, каюсь, грешен. Всего спектра не знаю. Буду очень благодарен, если Вы намекнете.

 

Share this post


Link to post
Share on other sites
Guest TSerg

Т.е. берем любой MCU, ставим в любой девайс и без "гигабайт гавнокода" все начинает работать и для айфонов и для плееров и для ракет с танками и самолетами и для стиралок?

 

Share this post


Link to post
Share on other sites
Приветствую!

 

 

Тю - это и на Kintex или Zynq можно сделать - покажите мне DSP для одновременных 64-256 таких FFT :)

 

У FPGA есть 3 фишки которых никогда не будет в MK/DSP:

- низкоуровневый набор логических примитивов

- полная хардварная паралельность.

- куча ног для кастомных интерфесов.

И профит от использования FPGA в проекте определяется в первую очередь этим.

И не важно какие скорости при этом нужны - попробуйте найти MK для обработки 256 UART на скорости 9600 :)

 

Успехов! Rob.

 

Это все конечно хорошо. Если забыть про надежность.

Представьте, что какая-то из несколько сотен миллионов перемычек "прожглась" не до конца.

Или в архитектуре/прошивке был зарыт хитрый баг, который проявляется очень редко при очень специфических условиях.

 

И со временем самовосстановилась. А FPGA контролировала пуск ядерных ракет.

И что? Берем ластик и стираем с карты Америку?

 

Т.е. я к тому: Вы можете гарантировать что все несколько миллиардов вентилей будут гарантировано работоспособны?

Вы гарантируете, что в Вашей многомегабайтной прошивке 100% нет ни одной "логической бомбы"

 

Т.е. берем любой MCU, ставим в любой девайс и без "гигабайт гавнокода" все начинает работать и для айфонов и для плееров и для ракет с танками и самолетами и для стиралок?

В случае массовых MCU архитектура по крайней мере уже отлажена и доведена и проверена в миллионах девайсов. Кроме того есть также отлаженные и доведенные до звона библиотеки и компиляторы, проверенные миллионами юзверей.

 

А в случае с ПЛИС баги в прикладном коде помножатся на баги в архитектуре.

И эта архитектура нигде ещё не проверялась. Разве что Вася Пупкин погонял ПЛИСину у себя на столе и решил, что этого достаточно и что микросхему можно ставить в систему управления запуском ядерных ракет :maniac:

 

Т.е. в случае масовых MCU их технология изготовления и архитектура "доводятся до звона" годами при использовании миллионов тестеров (в качестве которых используются инженеры, применяющие эти MCU).

 

А в случае ПЛИС этого не делается.

 

Поэтому (опять же ИМХО) ПЛИС можно, к примеру, использовать для обработки порно видео у себя дома. Ну сбойнет - ничего страшного. Это не приведет к катастрофе.

 

Но никак не в особо ответственных применениях, где сбой или баг в прошивке может (а он наверняка будет, так как микросхема ещё "сырая", "недоведенная", не стандартная не массовая) вызвать катастрофу с человечекими жертвами.

 

Более того. В системах с экстремально высокими требованиями к надежности (SIL4) даже микроконтроллеры нельзя применять и все что программируется.

 

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

Не перёргивайте. Я этого не говорил.

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

 

Опять для систем, где не предъявляется хоть сколько то серьзных требований к надежности фунционирования

 

И ПЛИС в этом применении очень (как узнал из этой темы - спасибо отвечавшим) даже руляд. У меня как раз стоит такая задача: связать 100 MCU по схеме "каждый с каждым". Смотрю теперь в сторону ПЛИС :rolleyes:

 

 

Share this post


Link to post
Share on other sites
Т.е. берем любой MCU, ставим в любой девайс и без "гигабайт гавнокода" все начинает работать и для айфонов и для плееров и для ракет с танками и самолетами и для стиралок?

ТС - Вы где голову забыли?

 

TSerg вас придется редактировать если и дальше будете переходить на личности.

Share this post


Link to post
Share on other sites
Вы гарантируете, что в Вашей многомегабайтной прошивке 100% нет ни одной "логической бомбы"
А что мешает тому же Васе Пупкину написать некачественный код для MCU? Где гарантия, что там нет "логической бомбы"?

 

Share this post


Link to post
Share on other sites
И, кстати, раскройте секрет, как Вы одно комплексное умножение сводите к трем вещественным:

 

(b.re + b.im*j) * (cos[2*pi*k/N] + sin[2*pi*k/N]*j) = (b.re * cos[2*pi*k/N] - b.im * sin[2*pi*k/N]) + (b.re * sin[2*pi*k/N] + b.im * cos[2*pi*k/N])*j == ???...

 

А что дальше?

 

:biggrin:

(a+ib)*(c+id) = (x-y)+i(x-z)

 

x = (a+B)*c

y = (c+d)*b

z = (c-d)*a

 

Итого: 3 умножения, 2 сложения и 3 вычитания.

Share this post


Link to post
Share on other sites
Например я узнал, что ПЛИС очень руляд для перекоммутации сигнала с любой ножки на любую.

 

 

И ПЛИС в этом применении очень (как узнал из этой темы - спасибо отвечавшим) даже руляд. У меня как раз стоит такая задача: связать 100 MCU по схеме "каждый с каждым". Смотрю теперь в сторону ПЛИС :rolleyes:

 

Да не с любой , там тоже есть домены питания и прочие усложняющие жизнь вещи.

 

Да и что вам даст перекоммутация если скажем плату вы уже спаяли?

Также пойдет в утиль как и с микроконтроллером.

 

А вообще верно говорите про ПЛИС. Они и в автомобильных компьютерах запрещены. Правда шли слухи, что где-то кому-то разрешили.

Share this post


Link to post
Share on other sites
А что мешает тому же Васе Пупкину написать некачественный код для MCU? Где гарантия, что там нет "логической бомбы"?

Код на СИ сейчас прочитает даже ребенок. Поэтому любой сможет прочитать и проверить Ваш код.

Компиляторы под известные массовые архитектуры "доведены до звона".

Есть специальные использованные и оттестированные во многих девайсах библиотеки.

По архитектуре и программированию данного MCU море инфы и док в инете.

...

Короче, шансов накосячить/накосорезить гораздо меньше.

Чем когда архитектуру понимает только один человек - её создатель

 

 

А вообще верно говорите про ПЛИС. Они и в автомобильных компьютерах запрещены. Правда шли слухи, что где-то кому-то разрешили.

Может есть какие-то сертифицирующие организации, которые тестируют прошивку с 100%-м покрытием кода? И которые дают сертификат о допустимости применения ПЛИС хотя бы в системах с уровнем безопасности SIL2?

 

Вообщем ПЛИС применять можно (наверное) но нужны какие-то меры страховки от того, что у ПЛИС "снесет крышу".

 

 

Господа! Вы в своих разработках как страхуетесь от того, что "что-то в ПЛИСине пошло не так как планировалось"? Ставите MCU, который контроллирует работу ПЛИСины?

Share this post


Link to post
Share on other sites
Чем когда архитектуру понимает только один человек - её создатель
Отчего же только создатель? Если код нормально структурирован и комментирован, можно вполне разобраться. А написать нечто нечитаемое можно и на С, что сам через месяц голову сломаешь. Не говоря уже о С++

 

Share this post


Link to post
Share on other sites
(a+ib)*(c+id) = (x-y)+i(x-z)

 

x = (a+b)*c

y = (c+d)*b

z = (c-d)*a

 

Итого: 3 умножения, 2 сложения и 3 вычитания.

Хмм. Да, похоже, что так.. Не знал..

 

Спасибо!

 

PS. Оказывается, этот способ описан в UG901 (v2015.4), на стр. 78, в разделе: "Complex Multiplier Examples"..

 

Это к вопросу о пользе чтения мануалов.. :)

Share this post


Link to post
Share on other sites

Приветствую!

 

Это все конечно хорошо. Если забыть про надежность.

Представьте, что какая-то из несколько сотен миллионов перемычек "прожглась" не до конца.

Или в архитектуре/прошивке был зарыт хитрый баг, который проявляется очень редко при очень специфических условиях.

А вообще верно говорите про ПЛИС. Они и в автомобильных компьютерах запрещены. Правда шли слухи, что где-то кому-то разрешили.

Во "серьезные дяди" резвятся гы гы. А глупые "детки" из Xilinx и не догадываются что нельзя FPGA в крит. системах на Марсе использовать:

" In creating the first incredible MER, the JPL team used radiation-tolerant Xilinx® XQVR4000XL FPGAs, the state of the art in FPGA space-grade technology at the time of the design, for both the landing and on-surface operation of the robots. Specifically, the XQVR4062 FPGAs went into each MER landing craft to control the crucial pyrotechnic operations during a rover’s multiphase descent and landing procedure."

 

Возможность словить глюк среди милиардов логических элементов зависит от грамотности и организованости раработчиков в головах котороых кстати горазно больше логических элементов да еще и в аналоговой форме :)

 

Удачи Rob!

Share this post


Link to post
Share on other sites
Ведь что-то такое ПЛИСина. Это фактически заказная микросхема, сделанная ВПЕРВЫЕ по индивидуальному заказу.

Не надо путать ASIC и FPGA.

Share this post


Link to post
Share on other sites
Отчего же только создатель? Если код нормально структурирован и комментирован, можно вполне разобраться. А написать нечто нечитаемое можно и на С, что сам через месяц голову сломаешь. Не говоря уже о С++

Понимаете. Написать свою архитектуру на ПЛИС все же дело более нетривиальное/мудреное, чем программу на СИ для широко известной архитектуры MCU набросать. Предъявляются более высокие требования к добросовестности и квалификации "писателя". А код на Си и мальчишка напишет.

 

И все таки СИ уже почти 50 лет.

 

А программирование ПЛИС широко стало применятся только лет 10 как.

 

Вы пишете просто откровенный бред

Т.е. ПЛИС (по сути) разве не является фактически заказной микросхемой, "изготавливаемой" (т.е. прошиваемой) по индвидуалному заказу порой в единственном экземпляре?

Тогда извините. Ошибся.

 

Share this post


Link to post
Share on other sites

Не понимаю кому где запрещено, повсеместно используются, вот пример

 

http://www.granit-electron.ru/products/bas...dules/credo3vs/

 

выложил именно ссылку на открытый источник информации

 

МК: сложные алгоритмы последовательной обработки данных

ПЛИС: алгоритмы параллельной обработки данных

(это уже здесь неоднократно говорилось)

 

простой пример: компьютер (правда 486DX) рассчитывает спектр сигнала для 64к точек (бинарных) быстрое преобразование Фурье (БПФ) 40сек., дискретное преобразование Фурье (ДПФ) около 5 мин.

 

по надёжности чем ПЛИС отличается от МК прошивка содержится в такой же флэшке

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this