Comments 37
FPGA достаточно дорогие, но надежные устройства. Они начинают включаться при меньшем напряжении, чем номинальное, выдерживают импульсные наводки, часто короткое замыкание на ножках IO, быстро загружаются и могут использоваться для контроля и управления процессорами и умной периферией.Цена ПЛИС может варьироваться в промежутке ~10$ -50000$. Надежность понятие крайне растяжимое, начиная с того это flash-based или SRAM-based FPGA, заканчивая конкретным дизайном, который может быть глючным сам по себе. Под меньшим напряжением, видимо понимается питание памяти конфигурации у SRAM-based FPGA, но, извините, это далеко не единственный домен питания, каждый банк питается определённым напряжением для поддержки соответствующего IO-стандарта (вы, кстати, это сами выше писали). По поводу скорости загрузки тоже некорректно, т.к. flash-based не грузятся вообще, а SRAM-based в зависимости от собственного размера и типа интерфейса конфигурации могут как медленно, так и очень-очень быстро. По поводу выдерживания импульсных наводок и КЗ — просто без комментариев… откуда вообще эти данные? Сейчас новички прочтут это и начнут коротить и перегружать выводы ПЛИС на отладочных платах, и будет очень весело отлаживать глюки в дизайне на глючном железе.
Про +2,5 вольта на LVDS не совсем так. Это требование не стандарта, а производителя конкретной микросхемы. К примеру, в Cyclone 10 GX формировать LVDS могут только банки с питанием +1,8 вольта. В более ранних Cyclone — только банки с питанием +2,5 вольта.
-Прототипирование кристаллов (с последующим запуском ASIC в серию)
-Построение спецвычислителей/нестандартных контроллеров в малосерийном производстве (когда выпускать свой ASIC экономически нецелесообразно).
Остальные задачи — это из пушки по воробьям, вроде «коммутируем 3,3 В на 2,5 В» или «ПЛИС как супервизор по питанию». Эти задачи решаются очень дешёвыми микросхемами, созданными именно для этого.
А уж «заводите всё на ПЛИС, там разберёмся» — это вообще за гранью. Вы серьёзно считаете, что использование ПЛИС в качестве «коммутатора всего-на-всё» будет дешевле дополнительных 2 или даже 4 слоёв в плате?
ПЛИС — это отличная вещь сама по себе. Вот только не нужно пихать её всюду по поводу и без.
Причем это изменение может быть как следствием исправления ошибки (в ASIC уже ничего не поправишь), так и просто заменой алгоритма шифрования, например.
в ASIC уже ничего не поправишь
Я тоже так думал, но недавно узнал, что можно с помощью фокусированного ионного луча (Focused Ion Beam (FIB)) делать простые доработки: перерезать связь, добавить новую. Дорого, конечно. Но зато можно опробовать некоторые изменения до перезапуска разработки. Сродни перерезанным дорожкам и перемычкам на печатной плате при первом запуске.
Более-менее — поддержу предыдущих ораторов.
Пп. 1-3 — просто высосаны из пальца.
По п. 6, если речь идёт о "сторонних" процессорах (т.е. "от 8086 до ...") — лучше начать с opencores.org, чем с сайта производителя ПЛИС.
Остальное — верно в той или иной мере (которая определяется тиражом производимого прибора).
opencores — это лишь агрегатор открытых пректов на ПЛИС. Любой желающий может поместить туда свой проект. Наличие/отсутствие JTAG в ядрах процессоров — это заслуга/недоработка автора проекта. Никто не мешает взять исходники и добавить туда недостающий функционал. С другой стороны JTAG потребует некоторых ресурсов, что может быть критично в общем дизайне, а в продакшен-версии JTAG не нужен совсем.
Изнутри HDL-инженера как-то затрудняюсь понять, в чём сложность и чего не хватает в плане «ориентации на синтез».
Пробовали ли Вы HLS? Если да, то каково впечатление?
ru.wikipedia.org/wiki/Гипотеза_лингвистической_относительности#Языки_программирования
Дешевые FPGA, например, могут полностью вытеснить микроконтроллеры, это экономически и технологически оправдано.А вы не могли бы привести примеры? Какая дешёвая FPGA может вытеснить, скажем, stm32f303cct6?
А что насчёт потребления, как для носимой электроники и IoT?
Часть микросхем имеет интерфейс 1.2В, другая 1.5, 1.8, 2.5, 3.3В...
Угу, а ещё очень приличная их часть имеет интерфейс 5 вольт, и вот тут как раз случается облом…

Да, и как заметили в комменте выше, с 3,3 В тоже есть определённые проблемы.
Только не надо говорить, что «такие уже мало где используются». Большинство читателей вашей статьи — не инженеры Intel или Realtek, а обычные радиолюбители с паяльником / программисты. А у них очень даже входу такие микросхемы.
Они начинают включаться при меньшем напряжении, чем номинальное, выдерживают импульсные наводки, часто короткое замыкание на ножках IO
Интересно, что есть FPGA, которые не поддерживают горячего включения. Т.е. пока каскады I/O не запитаются, на входы ничего нельзя подавать, иначе от тока на I/O FPGA может повредиться.
См. пример здесь, искать по «Do Not Drive I/O Pins During Power Sequencing»:
www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-10/c10gx-51003.pdf
2)
FPGA (маленький PLD)
Подскажите пожалуйста, есть ли разница между Programmable Logic Device, Complex Programmable Logic Device и Field Programmable Logic Device?
3)
При этом отсутствует избыточность процессора, появляется малое потребление при той же скорости и функциональности
В то же время, FPGA кушает много тока. Одно статическое потребление некоторых FPGA уже поражает. Для ряда приложений, того же Интернета Вещей, микроконтроллер будет намного более выигрышным вариантом по потреблению.
4)
Отладив таким образом вычисления можно заказать ASIC, то есть заказную микросхему, выполняющую те же функции, но дешевле
Не совсем так. Проект, написанный для ПЛИС, можно попытаться перенести в ASIC. Только если в исходном проекте использовались примитивы FPGA (например, блочная память), то эти куски проекта придётся нещадно править. Никто не гарантирует, что под выбранный техпроцесс есть эквивалентные макроэлементы. Далее при синтезе логики под ASIC нужно будет добавлять сканирующую логику (Design for Test), ведь фабрика должна будет проверить готовый чип. Логика должна быть DFT friendly. В проектах для FPGA об этом даже думать не надо. Затем, в FPGA нет такой части, как back-end: не надо думать о целостности сигналов внутри кристалла, SPICE моделировании I/O. Добавление back-end, более объемная верификация требует больше человеко-часов. Уже только это скажется на стоимости разработки. Если приплюсовать сюда стоимость лицензий на инструменты, то получим намного менее привлекательную сумму.
ASIC будет дешевле только за счёт тиража, я бы сказал.
Да, есть такой интересный документ по преобразованию проектов ПЛИС под ASIC:
www.onsemi.com/pub/Collateral/HBD872-D.PDF
Там довольно неплохо описаны все этапы.
5)
гиганты разработки FPGA начали создавать специальное ПО, позволяющее интерактивно переносить части вычислений из программы на C/C++ в FPGA и контролировать быстродействие (HLS, High-Level Synthesis)
HLS всё равно описывает аппаратуру, поэтому нужен определенный стиль кода и описания функций. Нельзя взять любой C++ код, положить его в HLS синтезатор и получить на выходе рабочую логику.
Далее при синтезе логики под ASIC нужно будет добавлять сканирующую логику (Design for Test), ведь фабрика должна будет проверить готовый чип. Логика должна быть DFT friendly. В проектах для FPGA об этом даже думать не надо.
Сканирующая логика нужна только если нужна — это решение на уровне архитектуры. Во многих случаях DFT может быть излишним — отлаженные, проверенные в прошлых проектах решения, простая схемотехника, отсутствие граничных требований по проектированию (площадь/скорость/потребление) и т.п. DFT в таких случаях может наоборот добавить новых проблем, а не помочь найти существующие.
Спасибо! Я пока только начал изучать мир проектирования ASIC. У меня сложилось впечатление, что без DFT совсем никак, потому что надо проверить чипы на пластине и отсеять брак.
Это только часть применений FPGA, с которыми можно столкнуться.
И жаль, что не так много людей ее активно используют и развивают.
давно к ним приглядываюсь, но порог вхождения высокий.
микроконтроллеры проще и быстродействие позволяет закрывать большинство практических задач
По факту в России FPGA используют только военные НИИ для производства радаров, активных фазированных решёток и раций.
И ставят они себе FPGA чип Xilinx Spartan 6.
Причём такие компании базируются в депресняковых промзонах, зарплаты там низкие и куча заморочек типа нет доспупа в интернет.
Поэтому перспектива работать FPGA разработчиков в РФ не особо захватывает дух.
Как по мне лучший учебный проект для изучения FPGA это аудиообработка.
Протопипы сонаров, модуляций, демодуляций.
Вся эспертиза переносится на радио обработку просто заменой adc dac.
Технология FPGA для тысячи применений