Найдешевші FPGA? [зачинено]


44

Як дешево отримують FPGA? Я знаю, що вони дорожчі, ніж мікропроцесори порівнянної здатності, але мені цікаво, чи існують FPGA, які можуть містити програмне забезпечення Microblaze, що працює під управлінням Linux, залишаючи ворота доступними для реалізації функціональності DSP (наприклад, медіа-кодеки) за ціною конкурентоспроможною скажімо, Cortex A8 ($ 20-30 в кількості ~ 100).

(Вибачте, якщо моя термінологія не ідіоматична, тобто неправильна. Будь ласка, коментуйте виправлення або редагуйте безпосередньо.)


(безсоромний штекер) радіо GNU (USRP2) використовує AEMB в комплекті з купою DSP-блоків. Це радіо визначене програмним забезпеченням радіо дуже добре - aeste.my/node/29
sybreon

@sybreon Як не дивно, я використовую USRP2 у своєму проекті для старшого дизайну - Ніцца
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, який схожий на збори. Рівень передачі регістра (RTL) абстракції. Деякі середовища виробляються для більшої абстракції, але вони все ще часто залежать від конкретних виробників. У Вікіпедії є гідний огляд мов, доступних для програмування коду FPGA:

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

Вікіпедія: Дизайн цифрових мікросхем

Якщо у вас є гроші на спалення, ви можете використовувати системи LabView, наприклад, для створення систем вимірювання в режимі реального часу на основі FPGA. Ці пристрої, необхідні для цього, знаходяться в абсолютно іншому ціновому діапазоні (1500 доларів і вище), але відкривають дизайн FPGA для значно ширшої аудиторії з графічним програмуванням.

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


23

Як дешево отримують FPGA? За даними Newark, найдешевші FPGA коштують близько 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 працює лише на Filga Xilinx.

Linux вже перенесений на кілька інших м'яких процесорів. Якщо ви хочете запустити Linux на FPGA інших компаній, ви можете переглянути порти Linux, перелічені в розділі "Soft CPU Core for FPGA" .

Деякі з цих м'яких процесорів, включаючи MMU - помістяться на Xilinx Spartan XC3S400A ($ 17 від Avnet).

Я чув, що деякі 32-бітні м'які процесори, включаючи MMU - досить легко налаштувати як "двоядерний" на мікросхемі FPGA $ 20. Ті, хто слідує за «Бритвою Яна», можуть замість цього спробувати видавити десяток 8-бітних процесорів на одному і тому ж мікросхемі.


1
Є реабілітації Microblaze з відкритим кодом (наприклад, aeMB - opencores.org/project,aemb ), які повинні портувати до інших (не Xilinx) FPGA.
mrkj

(безсоромний штекер) AEMB, як відомо, також працює uC / OS-II в FPGA Altera - aeste.my/node/7
sybreon

11

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

Ось чому звичайно бачити, як люди наклеюють мікроконтролер і FPGA на одну плату. ARM і PPC - це два найчастіше комбіновані з FPGA.


4
Я розумію, що я не знайду FPGA, яка б'є мікроенергію за вартістю та продуктивністю, але, здається, може існувати FPGA, яка б'є вартість мікро + FPGA, забезпечуючи при цьому аналогічні показники, і все це в одному чіпі. Чи має це сенс?
pingswept

10

Купуючи FPGA, не забудьте врахувати вартість флеш-пам’яті, яка містить програму FPGA. Це легко забути.

Як дизайнер друкованих плат, FPGA в мільйон разів легше викласти, тому що ви можете переставляти штифти, проте хочете, навіть після того, як буде зроблена плата. Існує потенційна економія витрат, пов’язана з меншою кількістю шарів, необхідних для маршрутизації FPGA.

Що стосується інших, хто poo-poo FPGA порівняно з процесором, я згоден певною мірою. Фактичний процесор буде швидше виконувати фактичні процеси процесора, ніж FPGA, який запрограмований діяти як процесор.

Це не дуже справедливо до FPGA, хоча. Процесори обмежені часом; якщо ви хочете зробити більше роботи, вам потрібно більше часу або швидший процесор. FPGA, як правило, "обмежені площею"; якщо ви хочете зробити більше роботи, вам потрібна велика FPGA.

Наприклад, скажімо, ви робите спектральний аналізатор, який обробляє моно звуковий сигнал. Скажімо, це займає 70% часу процесора, і ви вже настільки швидкі, як процесор може працювати. Ви не можете додати стереопідтримку, оскільки процесор просто недостатньо швидкий, щоб зробити другий канал, перш ніж він повинен знову обробити перший канал. Але якщо ви використовуєте 70% FPGA, ви можете просто придбати більшу FPGA і скинути другий канал. Це не потрібно швидше.

Тепер, якщо ви перенесли цю проблему в домен Digital Design, використовуючи Finite State Machines та Datapaths замість процесора, я б став би долари на песо, що FPGA розтрощить процесор, за рахунок збільшення складності в дизайні.


1
Існують також FPGA на основі флеш-пам'яті (ACTEL) та деякі на основі SRAM із вбудованим спалахом (Xilinx Spartan3AN, LatticeXP).
sybreon

Ви також можете просто придбати більш швидкий процесор і скинути другий канал. Не вдале порівняння.
користувач253751

@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 ніколи не згадується в 7-серійному оголошенні FPGA ( xilinx.com/technology/roadmap/7-series-fpgas.htm ), і немає частини V6 або V7 з КПП. Я беру на себе все те, що вони віддаляються від вбудованих процесорів у високопродуктивних частинах.
mrkj

3
Я здогадуюсь, що результат цієї угоди - Zynq ?
Янус Трольсен

4

Ціни на FPGA незвичайні - коли ви спілкуєтесь з франчайзинговими компаніями, ви виявите, що ціни, котирувані на Digikey, Mouser тощо, можуть бути в кілька разів вищими, ніж за які вони можуть бути отримані. Найдешевший мені відомий - решітка EC1 у QFP100 трохи менше GBP3 в лотку qtys. Додайте GBP0,40 або близько того для флеш-пам’яті SPI.

Розміщення процесорів у тканині FPGA, як правило, не є хорошим значенням з точки зору вартості кремнію, але інші фактори, такі як щільна зв'язок між процесором та FPGA, та зменшення кількості пакетів можуть змінити оптимальний компроміс від використання окремого процесора.


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

3

Моя найкраща здогадка поки що - це щось на кшталт Xilinx XC3S400A, який коштує близько $ 16, але я не впевнений, що він міг би працювати з MicroBlaze.


3
Швидкий огляд в Інтернеті, мікроблайзер повинен використовувати приблизно половину логічних комірок у XC3S400A. Крім того, Cortex A8 працював би на частоті 600 МГц - 800 МГц, тоді як мікроблайз на FPGA працював би на частоті 200 МГц - 300 МГц.
davr

Отже, це буде ~ 3 рази повільніше (якщо припустити, що ваша система пов'язана з процесором), але порівнянна вартість, залишаючи зайві ворота для чогось іншого.
pingswept

1
Це просто порівняння частоти, найосновніший спосіб порівняння фактичної швидкості обробки. У мене не вистачає знань про нього, але це можливо, наприклад , що при тій же тактовою частотою, кронштейну в два рази швидше , як MicroBlaze
Davr

1
Так, досить справедливо. Я думаю, перше наближення.
pingswept

3

Це багато залежить від вашої заявки. Ідеальне застосування тут буде складатися з крихітної контрольної частини (яка підходить для мікроблайзера / NIOS), але обчислювальної частини, яка може отримати користь від величезного паралелізму користувацького обладнання. У цих випадках навіть скромний FPGA (спартанський або аналогічний) може легко перевершити будь-який процесор загального призначення. Але це найкращий випадок (хоча це дуже досяжно у багатьох додатках у реальному світі), якщо ваш додаток має значну частину управління або не може легко зіставити апаратне забезпечення, витрачаючи гроші на нерухоме обладнання (тобто ARM), це певно, краще.



0

Оскільки багато поточних CPLD Altera є FPGA з вбудованою пам'яттю конфігурації, ви можете отримати їх для http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp


0

Перш за все, ви хочете запустити Linux на ядрі. Як щодо запуску його в ARM, як деякі інші пропозиції в цій темі. MCU хороші в операційній системі, але вона стає марно витрачаючою на FPGA-ресурсах, створюючи MCU. MCU можуть поміститися в набагато меншій області кремнію, якщо вони призначені для цього, і тому вони можуть бути вироблені дешевше. Тоді є й інші пояснення щодо того, що FPGA справді хороші при паралельній обробці - вигляд справжнього, хоча логічні операції не відчувають, як саме обробка. Як ви зазначаєте, потужні FPGA дорожчають і дійсно живуть. Таким чином, низька вартість платформи, яка може запускати Linux та DSP, потребуючи переваг паралелізму для швидкого вводу- виводу тощо. Погляньте на паралельний процесор XMOS

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.