Самые дешевые ПЛИС? [закрыто]


44

Как дешево получают ПЛИС? Я знаю, что они дороже, чем микропроцессоры с сопоставимыми возможностями, но мне интересно, существуют ли FPGA, которые могли бы содержать мягкое ядро ​​Microblaze под управлением Linux, при этом оставляя доступными ворота для реализации функций DSP (например, медиа-кодеков) по цене, конкурентоспособной с скажем, Cortex A8 ($ 20-30 в кол-ве ~ 100).

(Извинения, если моя терминология не является идиоматической, т.е. неверной. Пожалуйста, прокомментируйте с исправлениями или отредактируйте напрямую.)


(бесстыдная вилка) радиостанция GNU (USRP2) использует AEMB в комплекте с кучей блоков DSP. Это действительно хорошо работает с программным обеспечением радио - aeste.my/node/29
sybreon

@sybreon Как ни странно, я использую USRP2 в своем проекте для старших дизайнеров - Nice
onaclov2000


Более поздняя (2014 г.) сводка новостей
Fizz

Ответы:


23

Недавно я посетил онлайн-конференцию по FPGA, основной лейтмотив которой был «Если ваш следующий процессор будет FPGA».

FPGA в основном имеет смысл в любом приложении, которое требует высокопараллелизируемых рабочих потоков, например, в качестве примера использовался анализ изображений Full HD, например, для поиска пешеходов.

Вы должны помнить, что инициализируйте свою FPGA каждый раз, когда он включается, я думаю, что Xilinx для FPGA (с ядром ARM на кристалле) - хороший вариант, но, вероятно, дорогой. Просмотр Actel с встроенной флеш-памятью тоже может быть полезен.

Что касается производительности, компания BDTI провела тестирование в высокопараллельных вычислениях, где они увидели примерно 40-кратное увеличение производительности при переходе на FPGA. Интересно то, что они сравнили чипы с аналогичной стоимостью (я думаю, что 23 доллара против 28 долларов).

Вот ссылки, которые могут вас заинтересовать:

Карманный справочник по выбору процессора

Архив конференций FPGA (бесплатная регистрация, но доступна только в течение 6 месяцев после ответа)

Вы не можете реально сравнить производительность систем на основе FPGA на основе статистики MIPS или Mhz. То, как FPGA используется для обработки определенных задач, просто слишком отличается от микроконтроллера. Дизайн прошивки для FPGA - это то, что вы должны сделать, например, с помощью VHDL, что сродни Assembly. Уровень передачи регистров (RTL) абстракции. Некоторые среды создаются для обеспечения большей абстракции, но они по-прежнему часто зависят от поставщика. В Википедии есть хороший обзор языков, доступных для программирования кода FPGA:

Википедия: Программирование FPGA

Википедия: Цифровая схема

Если у вас есть деньги, чтобы сжечь, вы можете использовать системы LabView, например, для создания систем измерения в реальном времени на основе FPGA. Эти устройства, необходимые для этого, находятся в совершенно другом ценовом диапазоне (от 1500 $ и выше), но открывают дизайн FPGA гораздо более широкой аудитории с графическим программированием.

Все больше и больше поставщиков предлагают платы, которые объединяют микроконтроллеры, такие как ARM-чип, с FPGA, чтобы обеспечить определенные дополнительные функции и мощность параллельной обработки. Пример таких продуктов можно найти здесь: EmbeddedARM: серия FPGA


23

Как дешево получают ПЛИС? По словам Ньюарка, самые дешевые ПЛИС стоят около 10 долларов (самый дешевый Altera Cyclone и самый дешевый Xilinx Spartan). У них может быть достаточно мощности для запуска простого 8-битного процессора.

Как и следовало ожидать, даже простые (т.е. без MMU) 32-разрядные процессоры требуют примерно в 4 раза больше ресурсов FPGA 8-разрядного процессора. FPGA с едва достаточными ресурсами для запуска такого простого 32-разрядного процессора стоит около 14 долларов. Насколько я понимаю, uCLinux был портирован на некоторые из этих программных процессоров FPGA (например, NIOS II / e) - вы можете найти uClinux подходящим для ваших целей.

Полноценному Linux требуется процессор с MMU (например, NIOS II / f). 32-разрядный процессор с MMU требует примерно в 4 раза больше ресурсов FPGA 32-разрядного процессора без MMU - причины этого не столь очевидны.

Насколько я могу судить по странице Xilinx Microblaze , программный процессор Microblaze работает только на FPGA Xilinx.

Linux уже был портирован на несколько других программных процессоров. Если вы хотите запустить Linux на FPGA какой-либо другой компании, возможно, вы захотите взглянуть на порты Linux, перечисленные в разделе «Soft CPU Cores for FPGA» .

Некоторые из этих программных процессоров, включая MMU, будут установлены на Xilinx Spartan XC3S400A (17 долларов от Avnet).

Я слышал, что некоторые 32-разрядные программные процессоры, в том числе MMU, довольно просто установить как «двухъядерный» на FPGA-чипе за 20 долларов. Те, кто следуют "Jan's Razor", могут вместо этого попытаться втиснуть в дюжину или около того 8-битных процессоров на одном чипе.


1
Существуют реализации с открытым исходным кодом Microblaze (например, aeMB - opencores.org/project,aemb ), которые следует портировать на другие (не Xilinx) ПЛИС.
mrkj

(бесстыдный штекер) AEMB, как известно, также запускает uC / OS-II в ПЛИС Altera - aeste.my/node/7
sybreon

11

Как правило, FPGA будет стоить намного дороже, чем то же устройство, реализованное в кремнии, потому что из-за реконфигурируемости много накладных расходов. Так что нет, вы не найдете FPGA за 20-30 долларов с такой же мощностью, как у процессора ARM, который стоит 20-30 долларов. Теперь вы можете найти FPGA за 20-30 долларов, которая может выполнять определенные задачи гораздо быстрее, чем ARM за 20-30 долларов, но она не сможет справиться с ней в обычных вычислительных задачах.

Вот почему часто можно встретить людей, использующих микроконтроллер и FPGA на одной плате. ARM и PPC наиболее часто объединяются с FPGA.


4
Я понимаю, что не найду ПЛИС, которая превзойдет по стоимости и производительности микропроцессорную, но, похоже, может существовать ПЛИС, которая обойдется по стоимости микро + ПЛИС, но при этом обеспечивает аналогичную производительность в одном чипе. Имеет ли это смысл?
pingswept

10

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

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

Для других, кто сравнивает производительность FPGA и производительность процессора, я согласен в определенной степени. Реальный процессор будет быстрее выполнять реальные задачи процессора, чем FPGA, которая запрограммирована действовать как процессор.

Это не совсем справедливо для FPGA. Процессоры "ограничены по времени"; если вы хотите выполнять больше работы, вам нужно больше времени или более быстрый процессор. FPGA обычно ограничены по площади; если вы хотите сделать больше работы, вам нужна большая FPGA.

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

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


1
Существуют также основанные на флэш-памяти FPGA (ACTEL) и некоторые на основе SRAM со встроенной вспышкой (Xilinx Spartan3AN, LatticeXP).
Sybreon

Вы также можете просто купить более быстрый процессор и добавить второй канал. Не очень хорошее сравнение.
user253751

@immibis То, что вы говорите, на самом деле совпадает с точкой зрения ajs410: FPGA не должна быть быстрее , она должна быть больше . Если вы хотите использовать ЦП, вы можете использовать второй ЦП, если характер обработки параллелен.
Йохан Буле

7

Xilinx недавно заключил сделку с ARM, которая позволит им размещать ядра ARM на FPGA. К сожалению, они будут доступны только для топовых устройств Virtex.


3
Очень интересно
pingswept

2
Я думаю, вы ошибаетесь из-за того, что ядра ARM появляются только в устройствах Virtex. В пресс-релизе не так много сказано, и я не думаю, что вы можете сделать вывод из того факта, что ядра PPC появляются только в частях V2P, V4FX и V5FXT. На веб-сайте Xilinx упоминаются устройства, оптимизированные для «производительности, стоимости и мощности» (см. Xilinx.com/technology/roadmap/processing-platform.htm ); Вы заметите, что стоимость никогда не будет вектором оптимизации для серии Virtex.
mrkj

1
Кроме того, ARM никогда не упоминается в анонсе FPGA 7-й серии ( xilinx.com/technology/roadmap/7-series-fpgas.htm ), и нет деталей V6 или V7 с КПП. Я полагаю, что они уходят от встраиваемых процессоров в высокопроизводительные компоненты.
mrkj

3
Я думаю, что результатом этой сделки является Zynq ?
Янус Троелсен

4

Цены на ПЛИС странные - когда вы разговариваете с франчайзинговым дистрибутивом, вы обнаруживаете, что цены, указанные в Digikey, Mouser и т. Д., Могут быть в несколько раз выше, чем те, за которые их можно получить. Самым дешевым, о котором я знаю, является Lattice EC1 в QFP100, который стоит чуть меньше 3 фунтов стерлингов в лотке QTYS. Добавьте около 0,40 фунтов стерлингов для флэш-памяти SPI.

Размещение процессоров в матрице ПЛИС, как правило, не очень выгодно с точки зрения стоимости кремния, но другие факторы, такие как тесная связь между процессором и ПЛИС и уменьшенное количество пакетов, могут изменить оптимальный компромисс по сравнению с использованием отдельного процессора.


2
Очень хороший момент. См. Также этот пост [ element14.com/community/thread/2434] от сотрудника Farnell, который предположил, что чипы Altera Cyclone IV можно приобрести всего за 3 доллара, в то время как самая дешевая котировка Farnell на их веб-странице для них ближе к 20 долларам. Сейчас очевидно, что большинство людей не собираются покупать в количестве 250 000, но, вероятно, это распространители, и они могут быть готовы торговать с наценкой чуть менее 566% ...
Жюль

3

Мое лучшее предположение пока что что-то вроде Xilinx XC3S400A, который стоит около 16 долларов, но я не уверен, что он может справиться с MicroBlaze.


3
Если взглянуть онлайн, ядро ​​microblaze будет использовать около половины логических ячеек в XC3S400A. Кроме того, Cortex A8 будет работать на частоте 600–800 МГц, в то время как микроплавление на FPGA будет работать на частоте 200–300 МГц.
Давр

Так что это будет примерно в 3 раза медленнее (при условии, что ваша система связана с процессором), но сравнимой стоимости, оставляя лишние ворота для чего-то другого.
pingswept

1
Это просто сравнение частоты, самый простой способ сравнения фактической скорости обработки. У меня недостаточно знаний об этом, но, например, возможно, что при той же тактовой частоте ARM в два раза быстрее Microblaze
davr

1
Да, достаточно справедливо. Я думаю, в первом приближении.
pingswept

3

Это сильно зависит от вашего приложения. Идеальное приложение здесь состоит из крошечной управляющей части (которая подходит для микроблэйза / NIOS), но вычислительной части, которая может извлечь выгоду из огромного параллелизма пользовательского оборудования. В этих случаях даже FPGA небольшого размера (спартанский или эквивалентный) может легко превзойти любой универсальный процессор. Но это в лучшем случае (хотя это очень достижимо во многих реальных приложениях), если ваше приложение имеет значительную управляющую часть или не легко сопоставляется с оборудованием, тратить деньги на фиксированное оборудование (например, ARM) наверное лучше.


3

Если вам нужна плата, а не просто чип, вот два последних варианта 2013 года:

  • Встроенная микропроцессорная плата Mojo , Spartan-6 FPGA. 75 долларов США.
  • Parallela от Adapteva, Zynq SoC (ARM + FPGA) и собственный многоядерный ускоритель Epiphany. US $ 99.

0

Поскольку многие текущие CPLD Altera являются FPGA со встроенной памятью конфигурации, вы можете получить их по адресу http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp.


0

Прежде всего вы хотите запустить Linux на ядре. Как насчет запуска его на ARM, как и некоторые другие предложения в этой теме. MCU хорошо работают с ОС, но это отчасти расходует ресурсы FPGA на создание MCU. Микроконтроллеры могут вписаться в гораздо меньшую кремниевую область, если специально разработаны для этого, и, следовательно, могут быть изготовлены дешевле Есть и другие объяснения того, что ПЛИС действительно хороши в параллельной обработке - это правда, хотя логические операции совсем не похожи на обработку. Как вы указали, мощные ПЛИС становятся дорогими и действительно потребляют много энергии. Таким образом, недорогая платформа, которая может работать под Linux и DSP, нуждается в преимуществах параллелизма для быстрого ввода-вывода и т. Д. Взгляните на параллельный процессор XMOS

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.