Подтвердить что ты не робот

Каковы некоторые практические применения ПЛИС?

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Ответ 2

Истинная история.

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

Ответ 3

Вы можете развивать схемы, это немного устаревшие алгоритмы эволюции, но, исходя из набора случайных личностей, вы можете выбрать схемы, которые имеют более высокую оценку в фитнес-функции, чем остальные, и создать их для создания новой популяции до бесконечности. читайте о 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, у вас есть входной сигнал и требуемый выходной сигнал, начиная со случайной совокупности, которую вы выбираете, возможно, только наиболее подходящую (плохую) или, возможно, смесь подходящих и нечетных для создания следующего поколения. через несколько поколений вы можете открыть крышку и обнаружить, что произошла эволюция низкого уровня, и у вас есть цепь, которая может даже превзойти ваши первоначальные ожидания!

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

Ответ 4

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

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

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

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

https://ehsm.eu/m-labs.hk/m1.html

Ответ 5

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

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

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

Ответ 6

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

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

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

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

Это потому, что FPGA - это программируемое оборудование! Он построен таким образом, что вы можете запрограммировать соединения платы, а не подключать их для конкретного приложения. Это объясняет, почему FPGA дороги! Это своего рода "общее оборудование" или "Программируемое оборудование".

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

  • Более продолжительный цикл продукта (вы можете обновить программируемое оборудование на продуктах клиента, которое содержит вашу FPGA, просто позволяя им запрограммировать ваш обновленный HDL-код в их FPGA).

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

Для примеров, которые могут сделать FPGA, можно найти в знаменитом курсе ECE5760 в Стэнфорде.

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

Надеюсь, это поможет! Вскоре Chee Loong, Университет Торонто

Ответ 7

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

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

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

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

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