Каковы некоторые практические применения ПЛИС? - PullRequest
16 голосов
/ 18 сентября 2011

Я очень взволнован тем, что моя программа работает на маленьком семисегментном дисплее, но когда я хвастаюсь этим людям, не находящимся в поле, они всегда говорят: «Что вы можете с этим сделать?»Я никогда не смогу дать им краткий ответ.Кто-нибудь может мне помочь?

Ответы [ 7 ]

18 голосов
/ 01 октября 2011

Во-первых: им не нужно иметь энергозависимую память.

Действительно, крупные игроки (Xilinx, Altera) обычно имеют свою встроенную конфигурацию в SRAM, поэтому вам нужно дополнительное EEPROM / Flash / WhatEver (TM), чтобы хранить его снаружи.

Но есть и другие, например, например, Actel - один из крупных игроков, который имеет энергонезависимое хранилище конфигурации на своих ПЛИС (кстати, это имеет и другие преимущества, поскольку SRAM обычно не очень устойчива к излучению,и вы должны требовать специальных измерений, когда выходите на орбиту).

Есть две большие вещи, которые оправдывают FPGAS:

  1. Цена - они недешевы.Но иногда вы не можете сделать что-то в программном обеспечении, и вам нужно оборудование для этого.И когда вы находитесь ниже определенной точки в требуемом объеме (например, потому что это просто небольшая серия или прототип), FPGA НАМНОГО дешевле, чем ASIC.Кроме того, при разработке ASIC это позволяет - до достижения конечного состояния - значительно увеличить время оборота.

  2. Переконфигурирование - вы можете перенастроить свою FPGA.Это то, что процессор или ASIC не могут сделать.Есть несколько приложений, где вы можете использовать это: Например, когда вам нужна возможность что-то исправить в дизайне, но вы не можете физически добраться до устройства.Пример для этого: Марс орбитеры / роверы использовали ПЛИС Xilinx.Когда кто-то находит там ошибку (или хочет переключиться на другую кодировку для передачи данных или чего-либо еще), вы не можете заменить корабль, так как он просто недоступен.Но с FPGA вы можете просто перенастроить и применить ваши изменения.Другой сценарий заключается в том, что у вас может быть одна микросхема, способная выполнять разные ускорения в зависимости от сценария.Представьте себе смартфон: при телефонной настройке FPGA можно настроить кодирование / декодирование звука, при серфинге он может работать как механизм сжатия, при воспроизведении видео его можно настроить как декодер / ускоритель h264.Еще одна вещь, которую вы можете сделать, это то, что вы можете сопоставить свое оборудование с вашим экземпляром проблемы.Например, Cisco использует много FPGA в своем оборудовании.Вам необходимо оборудование для выполнения переключения / маршрутизации / проверки пакетов с требуемой скоростью, и вы можете генерировать из фактических настроек соответствующие механизмы непосредственно в аппаратное обеспечение.

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

7 голосов
/ 18 сентября 2011

Правдивая история.

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

5 голосов
/ 18 сентября 2011

Вы можете развивать схемы, это немного устаревшие алгоритмы эволюции, но, исходя из набора случайных личностей, вы можете выбрать схемы, которые имеют более высокую оценку в фитнес-функции, чем остальные, и создать их для создания новой популяции до бесконечности. читайте о Evolutionary Hardware, подумайте, что эта книга охватывает FPGA http://www.amazon.co.uk/Introduction-Evolvable-Hardware-Self-Adaptive-Computational/dp/0471719773/ref=sr_1_1?ie=UTF8&qid=1316308403&sr=8-1

Скажем, например, что вам нужна схема DSP, у вас есть входной сигнал и желаемый выходной сигнал, начиная со случайной совокупности, которую вы выбираете, возможно, только наиболее подходящую (плохую) или, возможно, смесь подходящих и нечетных, чтобы создать следующую поколение. через несколько поколений вы можете открыть крышку и обнаружить, что эволюция произошла, и у вас есть цепь, которая может даже выполнить ваши первоначальные ожидания!

также прочитайте руководство по генетическому программированию, оно где-то бесплатно в Интернете.

3 голосов
/ 23 февраля 2015

Есть ограничения по программному обеспечению. В программном обеспечении вы работаете с тактовой частотой процессора, что позволяет вам выполнять только одну инструкцию за такт. В программном обеспечении все на высоком уровне, вы не контролируете детали, которые происходят на низком уровне. Вы всегда будете ограничены операционной системой или платой разработки, которую программируете. Это верно для популярных плат разработчиков, таких как Arduinos и Raspberry Pi.

В аппаратных средствах ПЛИС вы можете точно программировать и контролировать то, что происходит между каждым тактовым циклом, обеспечивая ваши вычисления скоростью на уровне электронов (примечание: скорость электронов определяет скорость передачи электрического сигнала между аппаратными средствами)

Теперь мы знаем, что FPGA подразумевает аппаратное обеспечение, скорость электронов, которая намного лучше, чем Процессор, который подразумевает программное обеспечение, 1 инструкция за такт.

Так зачем использовать FPGA, когда мы можем проектировать наши собственные платы с использованием печатных плат, уровень транзистора?

Это потому, что ПЛИС являются программируемым оборудованием! Он построен таким образом, что вы можете запрограммировать соединения платы, а не подключать ее для конкретного применения. Это объясняет, почему ПЛИС стоят дорого! Это своего рода «общее оборудование» или программируемое оборудование.

Чтобы спорить, почему вы должны выбирать ПЛИС, несмотря на их стоимость, программируемый аппаратный компонент позволяет:

  1. Более длительный цикл продукта (вы можете обновить программируемое оборудование на продуктах заказчика, которые содержат вашу ПЛИС, просто позволив им запрограммировать ваш обновленный код HDL в свою ПЛИС)

  2. Восстановление для аппаратной ошибки. Вы просто позволяете им загружать исправленную программу на свои FPGA. (примечание: вы не можете сделать это с определенным дизайном оборудования, поскольку вам придется потратить миллионы, чтобы собрать свои продукты, создать новые и отправить их клиентам)

Примеры интересных возможностей FPGA можно найти в печально известном курсе Стэнфорда ECE5760.

http://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/

Надеюсь, это поможет! Вскоре Чи Лунг, Университет Торонто

3 голосов
/ 08 февраля 2012

ПЛИС также используются для тестирования / исследования схемотехники, прежде чем они начнут массовое производство.Это происходит в нескольких секторах: обработка изображений, обработка сигналов и т. Д.

Редактировать - через несколько лет мы можем видеть более практичные приложения, включая финансы и машинное заработка:

  • aerepospace
  • эмуляция
  • автомобильная
  • радиовещание
  • высокопроизводительные компьютеры
  • медицинские
  • машинное обучение
  • финансы (включая криптовалюты)
3 голосов
/ 18 сентября 2011

Мне нравится эта статья: http://www.hpcwire.com/hpcwire/2011-07-13/jp_morgan_buys_into_fpga_supercomputing.html

Мне кажется, что ПЛИС могут находиться непосредственно в ваших потоковых данных в том месте, где они попадают в ваши системы под вашим контролем. Затем вы можете обработать эти данные, не выполняя шагов, которые потребует GPGPU (вывод данных из сети, передача их по шине PCI Express и выделение их по Гб за раз).

На то и другое есть веские причины, но я думаю, что идея о том, не против ли вы буферизовать данные, является хорошим поводом для разговора.

Вот еще одно классное приложение FPGA:

http://milkymist.org/

1 голос
/ 19 сентября 2011

Автомобильная обработка изображений является одним интересным доменом:

Обеспечение поддержки драйвера для полосы движения (раскрытие: я написал эту страницу!):

http://www.conekt.co.uk/capabilities/50-fpga-for-ldw

Обеспечение аэрофотосъемки автомобиля с 4 камер «рыбий глаз» (с видео):

http://www.logicbricks.com/Solutions/Surround-View-DA-System/Xylon-Test-Vehicle.aspx

...