Программируемая пользователем вентильная матрица
Программируемая вентильная матрица ( FPGA ) — это тип конфигурируемой интегральной схемы , которую можно повторно программировать после изготовления. FPGA представляют собой подмножество логических устройств, называемых программируемыми логическими устройствами (PLD). Они состоят из массива программируемых логических блоков с соединительной сеткой, которые можно настроить «в полевых условиях» для взаимодействия с другими логическими блоками для выполнения различных цифровых функций. FPGA часто используются в ограниченном (малом) серийном производстве продуктов по индивидуальному заказу, а также в исследованиях и разработках, где более высокая стоимость отдельных FPGA не так важна и где создание и производство специальной схемы нецелесообразно. Другие области применения FPGA включают телекоммуникационный, автомобильный, аэрокосмический и промышленный секторы, которые выигрывают от их гибкости, высокой скорости обработки сигналов и возможностей параллельной обработки.
Конфигурация FPGA обычно записывается с использованием языка описания аппаратного обеспечения (HDL), например VHDL , аналогичного тем, которые используются для интегральных схем специального назначения (ASIC). принципиальные схемы Раньше для записи конфигурации использовались .
Логические блоки FPGA могут быть сконфигурированы для выполнения сложных комбинационных функций или действовать как простые логические элементы, такие как AND и XOR . В большинстве ПЛИС логические блоки также включают элементы памяти , которые могут быть простыми триггерами или более сложными блоками памяти. [1] Многие FPGA можно перепрограммировать для реализации различных логических функций , что позволяет гибко реконфигурировать вычисления, как это выполняется в компьютерном программном обеспечении .
FPGA также играют роль в разработке встроенных систем благодаря их способности начинать разработку системного программного обеспечения одновременно с аппаратным обеспечением, позволяют моделировать производительность системы на очень ранней стадии разработки и позволяют проводить различные испытания системы и итерации проектирования перед завершением разработки системной архитектуры. [2]
FPGA также часто используются при разработке ASIC для ускорения процесса моделирования.
История
[ редактировать ]Индустрия FPGA выросла из программируемой постоянной памяти (PROM) и программируемых логических устройств (PLD). И PROM, и PLD можно было программировать партиями на заводе или в полевых условиях (программируемое на месте). [3]
Компания Altera ультрафиолетовой лампой, была основана в 1983 году и в 1984 году представила первое в отрасли перепрограммируемое логическое устройство — EP300, в корпусе которого было кварцевое окно, позволяющее пользователям освещать кристалл чтобы стереть ячейки EPROM , в которых хранилась конфигурация устройства. . [4]
компания Xilinx выпустила первую коммерчески жизнеспособную программируемую вентильную матрицу. В 1985 году [3] – ХС2064. [5] XC2064 имел программируемые ворота и программируемые соединения между воротами, что положило начало новой технологии и рынку. [6] XC2064 имел 64 настраиваемых логических блока (CLB) с двумя справочными таблицами с тремя входами (LUT). [7]
В 1987 году Центр надводных боевых действий ВМФ профинансировал эксперимент, предложенный Стивом Кассельманом, по разработке компьютера, который мог бы реализовать 600 000 перепрограммируемых вентилей. Кассельман добился успеха, и в 1992 году на систему был выдан патент. [3]
Altera и Xilinx продолжали существовать без каких-либо препятствий и быстро росли с 1985 года до середины 1990-х годов, когда появились конкуренты, разрушившие значительную часть их доли рынка. К 1993 году Actel (позже Microsemi , теперь Microchip ) обслуживала около 18 процентов рынка. [6]
1990-е годы были периодом быстрого роста FPGA, как по сложности схем, так и по объему производства. В начале 1990-х годов FPGA в основном использовались в телекоммуникациях и сетях . К концу десятилетия FPGA нашли свое применение в потребительских, автомобильных и промышленных приложениях. [8]
К 2013 году Altera (31 процент), Actel (10 процентов) и Xilinx (36 процентов) вместе представляли примерно 77 процентов рынка FPGA. [9]
Такие компании, как Microsoft, начали использовать FPGA для ускорения высокопроизводительных, ресурсоемких систем (например, центров обработки данных , в которых используется их поисковая система Bing ) благодаря преимуществу производительности на ватт, которое обеспечивают FPGA. [10] Microsoft начала использовать FPGA для ускорения Bing в 2014 году, а в 2018 году начала развертывать FPGA в других рабочих нагрузках центров обработки данных для своей Azure платформы облачных вычислений . [11]
Рост
[ редактировать ]Следующие графики показывают прогресс в различных аспектах проектирования FPGA.
Ворота
[ редактировать ]- 1987: 9000 ворот, Ксилинкс [6]
- 1992: 600 000, Департамент надводной войны ВМФ. [3]
- Начало 2000-х: миллионы [8]
- 2013: 50 миллионов, Xilinx [12]
Размер рынка
[ редактировать ]- 1985: Первая коммерческая FPGA: Xilinx XC2064. [5] [6]
- 1987: 14 миллионов долларов [6]
- в. 1993 :> 385 миллионов долларов. [6] [ не удалось пройти проверку ]
- 2005: 1,9 миллиарда долларов [13]
- Оценка на 2010 год: 2,75 миллиарда долларов. [13]
- 2013: 5,4 миллиарда долларов [14]
- Оценка на 2020 год: 9,8 миллиарда долларов. [14]
- Оценка на 2030 год: 23,34 миллиарда долларов. [15]
Начало проектирования
[ редактировать ]Начало проектирования — это новый индивидуальный проект для реализации на FPGA.
Дизайн
[ редактировать ]Современные FPGA имеют достаточное количество логических вентилей и блоков оперативной памяти для реализации сложных цифровых вычислений. FPGA можно использовать для реализации любой логической функции, которую может выполнять ASIC . Возможность обновления функционала после поставки, частичная перенастройка части дизайна. [18] а низкие единовременные затраты на проектирование по сравнению с конструкцией ASIC (несмотря на, как правило, более высокую стоимость единицы продукции), предлагают преимущества для многих приложений. [1]
Поскольку в конструкциях FPGA используются очень высокие скорости ввода-вывода и двунаправленные шины данных , становится непросто проверить правильность синхронизации действительных данных в течение времени установки и времени удержания. [19] Планирование этажей помогает распределять ресурсы внутри FPGA для удовлетворения этих временных ограничений.
Некоторые FPGA помимо цифровых функций имеют аналоговые функции. Наиболее распространенной аналоговой функцией является программируемая скорость нарастания напряжения на каждом выходном контакте, что позволяет инженеру устанавливать низкие скорости на слабо нагруженных контактах, которые в противном случае вызывали бы недопустимый звон или соединение , и устанавливать более высокие скорости на сильно нагруженных высокоскоростных каналах, которые в противном случае работали бы. слишком медленно. [20] [21] Также распространены схемы драйвера кварцевого генератора , встроенные RC-генераторы и схемы фазовой автоподстройки частоты со встроенными генераторами, управляемыми напряжением, используемые для генерации и управления тактовыми сигналами, а также для высокоскоростных сериализаторов-десериализаторов (SERDES) тактовых импульсов передачи и приемника. восстановление часов. Достаточно распространены дифференциальные компараторы на входных контактах, предназначенные для подключения к каналам дифференциальной сигнализации . Некоторые FPGA со смешанными сигналами имеют встроенные периферийные аналого-цифровые преобразователи (АЦП) и цифро-аналоговые преобразователи (ЦАП) с блоками формирования аналогового сигнала, что позволяет им работать как система на кристалле (SoC). [22] Такие устройства стирают грань между FPGA, которая хранит цифровые единицы и нули на своей внутренней программируемой межсоединенной матрице, и программируемой пользователем аналоговой матрицей (FPAA), которая передает аналоговые значения на своей внутренней программируемой межсоединенной структуре.
Логические блоки
[ редактировать ]Наиболее распространенная архитектура FPGA состоит из массива логических блоков, называемых настраиваемыми логическими блоками (CLB) или блоками логических массивов (LAB) (в зависимости от поставщика), площадок ввода-вывода и каналов маршрутизации. [1] Как правило, все каналы маршрутизации имеют одинаковую ширину (количество сигналов). Несколько площадок ввода-вывода могут соответствовать высоте одной строки или ширине одного столбца массива.
«Прикладная схема должна быть отображена в FPGA с адекватными ресурсами. Хотя количество необходимых логических блоков и входов/выходов легко определяется проектом, количество необходимых каналов маршрутизации может значительно различаться даже среди проектов с одинаковым объемом логики. Например, перекрестный коммутатор требует гораздо большего количества маршрутизации, чем систолический массив с тем же количеством вентилей. Поскольку неиспользуемые каналы маршрутизации увеличивают стоимость (и снижают производительность) FPGA, не принося никакой пользы, производители FPGA стараются обеспечить достаточное количество каналов. так что большинство проектов, которые подходят с точки зрения таблиц поиска (LUT) и ввода-вывода, могут быть маршрутизированы . Это определяется оценками, полученными на основе правила Рента , или экспериментами с существующими проектами. [23]
Обычно логический блок состоит из нескольких логических ячеек. Типичная ячейка состоит из 4-входового LUT, полного сумматора (FA) и триггера D-типа . LUT можно разделить на две LUT с 3 входами. В обычном режиме они объединяются в 4-входовой LUT через первый мультиплексор (mux). В арифметическом режиме их выходы подаются на сумматор. Выбор режима запрограммирован во втором мультиплексоре. Выход может быть синхронным или асинхронным , в зависимости от программирования третьего мультиплексора. На практике весь сумматор или его части сохраняются как функции в LUT в целях экономии места . [24] [25] [26]
Жесткие блоки
[ редактировать ]Современные семейства FPGA расширяют вышеуказанные возможности, включая функциональность более высокого уровня, зафиксированную в кремнии. Встраивание этих общих функций в схему уменьшает требуемую площадь и повышает производительность этих функций по сравнению с их построением из логических примитивов. Примеры таких устройств включают умножители , общие блоки DSP , встроенные процессоры , высокоскоростную логику ввода-вывода и встроенную память .
FPGA более высокого класса могут содержать высокоскоростные мультигигабитные приемопередатчики и жесткие IP-ядра , такие как процессорные ядра , Ethernet блоки управления доступом к среде , контроллеры PCI или PCI Express и контроллеры внешней памяти . Эти ядра существуют рядом с программируемой фабрикой, но они построены на транзисторах, а не на LUT, поэтому имеют производительность и энергопотребление на уровне ASIC, не потребляя при этом значительного количества ресурсов фабрики, оставляя большую часть фабрики свободной для логики, специфичной для приложения. Мультигигабитные трансиверы также содержат высокопроизводительные схемы формирования сигнала , а также высокоскоростные сериализаторы и десериализаторы — компоненты, которые невозможно построить на основе LUT. Функциональность физического уровня (PHY) более высокого уровня, такая как линейное кодирование , может быть реализована или не реализована вместе с сериализаторами и десериализаторами в жесткой логике, в зависимости от FPGA.
Мягкое ядро
[ редактировать ]Альтернативный подход к использованию аппаратных макропроцессоров заключается в использовании программных процессоров IP-ядер , реализованных в логике FPGA. Nios II , MicroBlaze и Mico32 — примеры популярных процессоров с программным обеспечением. Многие современные FPGA программируются во время выполнения , что привело к идее реконфигурируемых вычислений или реконфигурируемых систем — процессоров , которые переконфигурируются в соответствии с поставленной задачей. Кроме того, начинают появляться новые архитектуры, не связанные с FPGA. Программно-конфигурируемые микропроцессоры, такие как Stretch S5000, используют гибридный подход, предоставляя массив процессорных ядер и программируемых ядер, подобных FPGA, на одном кристалле.
Интеграция
[ редактировать ]В 2012 году крупнозернистый архитектурный подход был сделан еще одним шагом вперед за счет объединения логических блоков и межсоединений традиционных FPGA со встроенными микропроцессорами и сопутствующими периферийными устройствами в единую систему на программируемом кристалле . Примеры таких гибридных технологий можно найти в Xilinx Zynq-7000 полностью программируемой SoC . [27] который включает в себя с тактовой частотой 1,0 ГГц двухъядерный процессор ARM Cortex-A9 MPCore , встроенный в логическую структуру FPGA, [28] или в Altera Arria V FPGA, которая включает в себя двухъядерный процессор ARM Cortex-A9 MPCore с частотой 800 МГц. Atmel процессор FPSLIC — еще одно подобное устройство, в котором используется AVR в сочетании с архитектурой программируемой логики Atmel. Устройства Microsemi SmartFusion включают в себя ядро жесткого процессора ARM Cortex-M3 (до 512 КБ флэш-памяти и 64 КБ ОЗУ) и аналоговые периферийные устройства , такие как многоканальные аналого-цифровые преобразователи и цифро-аналоговые преобразователи в их структура FPGA на основе флэш-памяти . [ нужна ссылка ]
Тактирование
[ редактировать ]Большая часть логики внутри FPGA представляет собой синхронную схему , требующую тактового сигнала . FPGA содержат выделенные глобальные и региональные сети маршрутизации для тактирования и сброса, обычно реализуемые в виде H-дерева , поэтому их можно доставлять с минимальным перекосом . FPGA могут содержать аналоговые системы фазовой автоподстройки частоты или системы автоподстройки частоты по задержке компоненты для синтеза новых тактовых частот и управления джиттером . В сложных конструкциях можно использовать несколько тактовых импульсов с разными частотными и фазовыми соотношениями, каждый из которых образует отдельные тактовые домены . Эти тактовые сигналы могут генерироваться локально генератором или могут быть восстановлены из потока данных . Необходимо соблюдать осторожность при построении схемы пересечения тактовой области, чтобы избежать метастабильности . Некоторые FPGA содержат двухпортовые блоки ОЗУ , которые способны работать с разными тактовыми частотами, помогая создавать FIFO и двухпортовые буферы, соединяющие домены тактовых импульсов.
3D-архитектуры
[ редактировать ]Чтобы уменьшить размер и энергопотребление FPGA, такие поставщики, как Tabula и Xilinx, внедрили трехмерную или многоуровневую архитектуру . [29] [30] После выпуска 28-нм FPGA 7-й серии компания Xilinx заявила, что некоторые детали с самой высокой плотностью в этих линейках продуктов FPGA будут создаваться с использованием нескольких кристаллов в одном корпусе с использованием технологий, разработанных для 3D-конструирования и сборок с многоярусными кристаллами.
В подходе Xilinx несколько (три или четыре) активных кристаллов FPGA размещаются рядом на кремниевом переходнике – едином куске кремния, несущем пассивное межсоединение. [30] [31] Конструкция с несколькими кристаллами также позволяет создавать различные части FPGA с использованием разных технологических процессов, поскольку технологические требования различаются между самой фабрикой FPGA и очень высокоскоростными последовательными приемопередатчиками 28 Гбит/с. FPGA, построенная таким образом, называется гетерогенной FPGA . [32]
Гетерогенный подход Altera предполагает использование одного монолитного кристалла FPGA и подключение других кристаллов и технологий к FPGA с использованием встроенной технологии Intel Multi-die Interconnection Bridge (EMIB). [33]
Программирование
[ редактировать ]Чтобы определить поведение FPGA, пользователь предоставляет проект на языке описания аппаратного обеспечения (HDL) или в виде схематического проекта. Форма HDL больше подходит для работы с большими структурами, поскольку в ней можно указать функциональное поведение высокого уровня, а не рисовать каждую часть вручную. Однако ввод схемы может облегчить визуализацию конструкции и ее составных модулей .
С помощью инструмента автоматизации электронного проектирования с технологической картой список соединений создается . Затем список соединений можно адаптировать к фактической архитектуре FPGA с помощью процесса, называемого Place and Route , который обычно выполняется собственным программным обеспечением компании FPGA для размещения и маршрутизации. Пользователь проверит результаты, используя временной анализ , моделирование и другие проверки и проверки методы . После завершения процесса проектирования и проверки двоичный файл, созданный, как правило, с использованием собственного программного обеспечения поставщика FPGA, используется для (ре)конфигурации FPGA. Этот файл передается в FPGA через последовательный интерфейс ( JTAG ) или на внешнее запоминающее устройство, такое как EEPROM .
Наиболее распространенными HDL являются VHDL и Verilog . National Instruments компании Язык графического программирования LabVIEW (иногда называемый G ) имеет дополнительный модуль FPGA, доступный для настройки и программирования оборудования FPGA. Verilog был создан, чтобы упростить процесс, сделав HDL более надежным и гибким. Verilog имеет синтаксис, подобный C, в отличие от VHDL. [34] [ самостоятельно опубликованный источник? ]
Чтобы упростить проектирование сложных систем на ПЛИС, существуют библиотеки предопределенных сложных функций и схем, которые были протестированы и оптимизированы для ускорения процесса проектирования. Эти предопределенные схемы обычно называются ядрами интеллектуальной собственности (IP) и доступны у поставщиков FPGA и сторонних поставщиков IP. Они редко бывают бесплатными и обычно выпускаются по проприетарным лицензиям. Другие предопределенные схемы доступны в сообществах разработчиков, таких как OpenCores (обычно выпускаются по свободным лицензиям и лицензиям с открытым исходным кодом, таким как GPL , BSD или аналогичным лицензиям). Такие конструкции известны как аппаратное обеспечение с открытым исходным кодом .
В типичном процессе проектирования разработчик приложения FPGA моделирует проект на нескольких этапах процесса проектирования. Первоначально описание RTL в VHDL или Verilog моделируется путем создания тестовых стендов для моделирования системы и наблюдения за результатами. Затем, после того как механизм синтеза сопоставил проект со списком соединений, список соединений преобразуется в описание уровня вентиля , где моделирование повторяется для подтверждения того, что синтез прошел без ошибок. Наконец, проект закладывается в FPGA, после чего задержки распространения значения могут быть аннотированы обратно в список соединений, и моделирование может быть запущено снова с этими значениями.
Совсем недавно OpenCL (открытый язык вычислений) стал использоваться программистами, чтобы воспользоваться преимуществами производительности и энергоэффективности, обеспечиваемыми FPGA. OpenCL позволяет программистам разрабатывать код на языке программирования C. [35] Для получения дополнительной информации см. Синтез высокого уровня и C в HDL .
Большинство FPGA используют SRAM для программирования подход, основанный на . Эти FPGA программируются и перепрограммируются внутри системы, но требуют внешних загрузочных устройств. Например, флэш-память или устройства EEPROM могут загружать содержимое во внутреннюю SRAM, которая управляет маршрутизацией и логикой. Подход SRAM основан на CMOS .
Более редкие альтернативы подходу SRAM включают:
- Предохранитель : одноразовый программируемый. Биполярный. Устаревший.
- Antifuse : одноразовый программируемый. КМОП. Примеры: семейства Actel SX и Axcelerator; Семейство Quicklogic Eclipse II. [36]
- PROM : технология программируемой постоянной памяти. Одноразовое программирование благодаря пластиковой упаковке. [ нужны разъяснения ] Устаревший.
- EPROM : технология стираемой программируемой постоянной памяти. Одноразовое программирование, но с окошком, можно стирать ультрафиолетовым (УФ) светом. КМОП. Устаревший.
- EEPROM : технология электрически стираемой программируемой постоянной памяти. Можно стирать даже в пластиковых упаковках. Некоторые, но не все устройства EEPROM можно запрограммировать внутри системы. КМОП.
- Flash : технология флэш-стирания EPROM. Можно стирать даже в пластиковых упаковках. Некоторые, но не все флэш-устройства можно запрограммировать внутри системы. Обычно флэш-ячейка меньше, чем эквивалентная ячейка EEPROM, и, следовательно, ее производство дешевле. КМОП. Пример: семейство Actel ProASIC. [36]
Производители
[ редактировать ]давние конкуренты отрасли Xilinx (теперь часть AMD ) и Altera . В 2016 году лидерами рынка FPGA были [37] На тот момент они контролировали почти 90 процентов рынка.
И Xilinx (теперь AMD), и Altera (теперь Intel) предоставляют собственное программное обеспечение для автоматизации электронного проектирования для Windows и Linux ( ISE / Vivado и Quartus ), которое позволяет инженерам проектировать , анализировать, моделировать и синтезировать ( компилировать ) свои проекты. [38] [39]
В марте 2010 года Tabula анонсировала свою технологию FPGA, которая использует логику мультиплексирования по времени и межсоединение, что обеспечивает потенциальную экономию средств для приложений с высокой плотностью размещения. [40] 24 марта 2015 года Tabula официально закрылась. [41]
1 июня 2015 года Intel объявила о приобретении Altera примерно за 16,7 миллиарда долларов и завершила сделку 30 декабря 2015 года. [42]
27 октября 2020 г. AMD объявила о приобретении Xilinx. [43] и завершила приобретение стоимостью около 50 миллиардов долларов в феврале 2022 года. [44]
В феврале 2024 года Altera снова стала независимой компанией со своей материнской компанией Intel. [45]
Среди других производителей:
- Achronix , производство FPGA на базе SRAM с частотой коммутации 1,5 ГГц. [46]
- Altium предоставляет среду разработки аппаратно-программного обеспечения «система на FPGA». [47]
- Cologne Chip, разработчик и производитель FPGA, поддерживаемый правительством Германии. [48]
- Efinix предлагает FPGA малого и среднего размера. Они объединяют логические и маршрутизирующие соединения в настраиваемую ячейку XLR.
- GOWIN Semiconductors , производящая малые и средние SRAM и FPGA на основе флэш-памяти. Они также предлагают совместимые по выводам замены для некоторых продуктов Xilinx, Altera и Lattice.
- Lattice Semiconductor , которая производит маломощные FPGA на базе SRAM со встроенной флэш-памятью конфигурации, мгновенным включением и реконфигурацией в реальном времени.
- SiliconBlue Technologies , которая обеспечивает FPGA на базе SRAM с чрезвычайно низким энергопотреблением и опциональной встроенной энергонезависимой конфигурационной памятью; приобретена Lattice в 2011 году
- Микрочип :
- Microsemi (ранее Actel на основе флэш-памяти со смешанными сигналами ), производящая FPGA ; приобретена Microchip в 2018 году
- Atmel , второй источник некоторых Altera-совместимых устройств; также ФПСЛИК [ нужны разъяснения ] упомянутый выше; [49] приобретена Microchip в 2016 году
- Быстрая Логика, [50] которая производит концентраторы датчиков со сверхнизким энергопотреблением, FPGA с чрезвычайно низким энергопотреблением и низкой плотностью на базе SRAM, с мостами дисплея, входами MIPI и RGB, выходами MIPI, RGB и LVDS.
Приложения
[ редактировать ]FPGA можно использовать для решения любой вычислимой задачи . Это тривиально доказывается тем фактом, что FPGA можно использовать для реализации программного микропроцессора , такого как Xilinx MicroBlaze или Altera Nios II . Их преимущество заключается в том, что они значительно быстрее для некоторых приложений из-за их параллельного характера и оптимальности с точки зрения количества вентилей, используемых для определенных процессов. [51]
Первоначально FPGA создавались как конкуренты CPLD для реализации связующей логики для печатных плат . По мере увеличения размера, возможностей и скорости FPGA взяли на себя дополнительные функции до такой степени, что некоторые из них теперь продаются как полные системы на кристаллах (SoC). В частности, с появлением специализированных умножителей в архитектурах FPGA в конце 1990-х годов приложения, которые традиционно были единственным резервом аппаратного обеспечения цифровых сигнальных процессоров (DSP), вместо этого начали включать FPGA. [52] [53]
Эволюция FPGA стимулировала рост использования этих устройств, архитектура которых позволяет разрабатывать аппаратные решения, оптимизированные для сложных задач, таких как сегментация 3D-изображений МРТ, дискретное 3D-вейвлет-преобразование, реконструкция томографических изображений или системы ПЭТ/МРТ. [54] [55] Разработанные решения могут выполнять интенсивные вычислительные задачи с параллельной обработкой, являются динамически перепрограммируемыми и имеют низкую стоимость, при этом удовлетворяя жестким требованиям реального времени, связанным с медицинской визуализацией.
Другой тенденцией в использовании FPGA является аппаратное ускорение , при котором можно использовать FPGA для ускорения определенных частей алгоритма и разделения части вычислений между FPGA и обычным процессором. Поисковая система Bing известна тем, что в 2014 году использовала ускорение FPGA для своего алгоритма поиска. [56] По состоянию на 2018 год [update]FPGA все чаще используются в качестве ускорителей искусственного интеллекта , включая так называемый «Проект Катапульта» Microsoft. [11] и для ускорения искусственных нейронных сетей для машинного обучения приложений .
Традиционно, [ когда? ] FPGA были зарезервированы для конкретных вертикальных приложений , где объем производства невелик. Для этих мелкосерийных приложений надбавка, которую компании платят за единицу оборудования для программируемого чипа, более доступна, чем ресурсы разработки, затраченные на создание ASIC. По состоянию на 2017 год [update], новая динамика стоимости и производительности расширила диапазон жизнеспособных приложений.
Там, где периферийные устройства для персональных компьютеров существуют на нишевых рынках или изо всех сил пытаются проникнуть на массовый рынок (иногда, несмотря на активную рекламу), может быть более рентабельным использовать FPGA для небольших производственных партий (например, 1000 единиц). Примеры включают экзотические продукты, такие как, например, ArVid , ленточный архиватор VHS (только некоторые версии которого были основаны на FPGA) и Gigabyte Technology от i-RAM бюджетный псевдо- SSD-накопитель , в котором использовалась Xilinx FPGA. [57] Часто чип, изготовленный на заказ, будет дешевле, если его производить в больших количествах, но FPGA могут быть выбраны для быстрого вывода продукта на рынок. Опять же, по мере роста доступности недорогих FPGA их включение даже в более крупные производственные партии может стать оправданным.
Другие варианты использования FPGA включают в себя:
- Космический (с радиационной закалкой [58] )
- Аппаратные модули безопасности [59]
- Высокоскоростные финансовые операции [60] [61]
- Ретрокомпьютинг (например, проекты MARS и MiSTer FPGA) [ нужна ссылка ]
Использование военными США
[ редактировать ]FPGA играют решающую роль в современной военной связи, особенно в таких системах, как Joint Tactical Radio System (JTRS) и в устройствах таких компаний, как Thales и Harris Corporation . Их гибкость и программируемость делают их идеальными для военной связи, предлагая настраиваемую и безопасную обработку сигналов. В JTRS, используемом военными США, FPGA обеспечивают адаптивность и обработку в реальном времени, что имеет решающее значение для соответствия различным стандартам связи и методам шифрования. Компания Thales использует технологию FPGA при разработке устройств связи, отвечающих строгим требованиям военного использования, включая быструю реконфигурацию и надежную безопасность. Точно так же корпорация Harris, которая теперь является частью L3Harris Technologies , включает FPGA в свои оборонные и коммерческие коммуникационные решения, улучшая обработку сигналов и безопасность системы. [62]
L3Харрис
[ редактировать ]- Быстро адаптируемая радиосвязь, соответствующая стандартам (RASOR): решение модульного открытого системного подхода (MOSA), поддерживающее более 50 каналов передачи данных и форм сигналов.
- Технологическая платформа ASPEN: состоит из проверенных аппаратных модулей с программируемым программным обеспечением и опций FPGA для расширенных настраиваемых каналов передачи данных.
- Радиостанции AN/PRC-117F(C) : Поддерживали Командование электронных систем ВВС США , укрепляя роль Харриса как поставщика систем связи полного спектра.
Фалес
[ редактировать ]- Семейство SYNAPS Radio: использует технологию программно-определяемого радио (SDR), обычно с использованием FPGA для повышения гибкости и производительности.
- AN/PRC-148 (многодиапазонная межгрупповая/внутригрупповая радиосвязь - MBITR): многодиапазонная многорежимная SDR малого форм-фактора, используемая в Афганистане и Ираке.
- JTRS Портативная радиостанция Cluster 2: в настоящее время находится в разработке, недавно завершилась успешная предварительная эксплуатационная оценка.
Безопасность
[ редактировать ]FPGA имеют как преимущества, так и недостатки по сравнению с ASIC или безопасными микропроцессорами в отношении аппаратной безопасности . Гибкость FPGA злонамеренных модификаций во время производства . снижает риск [63] Ранее для многих FPGA битовый поток проекта был доступен, когда FPGA загружала его из внешней памяти (обычно при каждом включении питания). Все основные поставщики FPGA теперь предлагают разработчикам целый ряд решений по обеспечению безопасности, таких как шифрование битового потока и аутентификация . Например, Altera и Xilinx предлагают шифрование AES (до 256 бит) для битовых потоков, хранящихся во внешней флэш-памяти. Физические неклонируемые функции (PUF) представляют собой интегральные схемы, которые имеют свои уникальные сигнатуры благодаря обработке и могут также использоваться для защиты FPGA, занимая при этом очень мало аппаратного пространства. [64]
FPGA, которые сохраняют свою конфигурацию внутри энергонезависимой флэш-памяти, такие как программируемые устройства Microsemi ProAsic 3 или Lattice XP2, не раскрывают битовый поток и не нуждаются в шифровании . Кроме того, флэш-память для справочной таблицы обеспечивает защиту от сбоев при единичных событиях для космических приложений. [ нужны разъяснения ] Клиенты, которым нужна более высокая гарантия защиты от несанкционированного доступа, могут использовать FPGA с однократной записью и защитой от предохранения от таких поставщиков, как Microsemi .
Благодаря своим FPGA и SoC Stratix 10 компания Altera представила диспетчер безопасных устройств и функции физического неклонирования , обеспечивающие высокий уровень защиты от физических атак. [65]
В 2012 году исследователи Сергей Скоробогатов и Кристофер Вудс продемонстрировали, что некоторые FPGA могут быть уязвимы для враждебных намерений. Они обнаружили, что критическая бэкдор- уязвимость была изготовлена в кремнии как часть Actel/Microsemi ProAsic 3, что делает его уязвимым на многих уровнях, таких как перепрограммирование ключей шифрования и доступа , доступ к незашифрованному потоку битов, изменение низкоуровневых функций кремния и извлечение данных конфигурации . [66]
В 2020 году во всех ПЛИС Xilinx 7-й серии была обнаружена критическая уязвимость (названная «Starbleed»), которая делала бесполезным шифрование битового потока. Обходного пути нет. Xilinx не выпускала аппаратную версию. Устройства Ultrascale и более поздние версии, уже представленные на рынке в то время, не были затронуты.
Похожие технологии
[ редактировать ]Исторически FPGA были медленнее, менее энергоэффективными и, как правило, обеспечивали меньшую функциональность, чем их фиксированные ASIC аналоги . Исследование 2006 года показало, что проекты, реализованные на FPGA, требуют в среднем в 40 раз больше площади, потребляют в 12 раз больше динамической мощности и работают на треть быстрее, чем соответствующие реализации ASIC. [67]
Преимущества FPGA включают в себя возможность перепрограммирования уже после развертывания (т. е. «в полевых условиях») для исправления ошибок , а также часто включают более короткое время выхода на рынок и более низкие единовременные затраты на проектирование. Поставщики также могут пойти промежуточным путем через прототипирование FPGA : разработать прототип оборудования на FPGA, но произвести окончательную версию в виде ASIC, чтобы ее больше нельзя было модифицировать после завершения проектирования. То же самое часто происходит и с новыми конструкциями процессоров. [68] Некоторые FPGA имеют возможность частичной реконфигурации , что позволяет перепрограммировать одну часть устройства, в то время как другие части продолжают работать. [69] [70]
Основные различия между сложными программируемыми логическими устройствами (CPLD) и FPGA заключаются в архитектуре . CPLD имеет сравнительно ограниченную структуру, состоящую из одного или нескольких программируемых логических массивов суммы произведений, питающих относительно небольшое количество тактируемых регистров . В результате CPLD менее гибки, но имеют преимущество более предсказуемых временных задержек и более высокого соотношения логики и межсоединения. [ нужна ссылка ] С другой стороны, в архитектурах FPGA преобладают межсоединения . Это делает их гораздо более гибкими (с точки зрения диапазона конструкций, которые практичны для реализации на них), но также гораздо более сложными для проектирования или, по крайней мере, требуют более сложного программного обеспечения для автоматизации электронного проектирования (EDA). На практике различие между FPGA и CPLD часто заключается в размере, поскольку FPGA обычно намного больше с точки зрения ресурсов, чем CPLD. Обычно только FPGA содержат более сложные встроенные функции, такие как сумматоры , умножители , память и сериализаторы/десериализаторы . Еще одним распространенным отличием является то, что CPLD содержат встроенную флэш-память для хранения своей конфигурации, тогда как FPGA обычно требуют внешней энергонезависимой памяти (но не всегда). Когда конструкция требует простого мгновенного включения (логика уже настроена при включении питания), обычно предпочтительными являются CPLD. Для большинства других приложений обычно предпочтительнее использовать FPGA. Иногда в одной системе используются и CPLD, и FPGA. В этих конструкциях CPLD обычно выполняют функции связующей логики и отвечают за « загрузка FPGA, а также управление последовательностью сброса и загрузки всей печатной платы. Поэтому, в зависимости от приложения, может быть разумно использовать как FPGA, так и CPLD в одной конструкции. [71]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с «Архитектура FPGA для решения задач» . Торонто.edu . Университет Торонто .
- ^ Симпсон, Пенсильвания (2015). Проектирование FPGA, Лучшие практики группового повторного использования, 2-е издание . Швейцария: Springer International Publishing AG. п. 16. ISBN 978-3-319-17924-7 .
- ^ Перейти обратно: а б с д «История ПЛИС» . Архивировано из оригинала 12 апреля 2007 года . Проверено 11 июля 2013 г.
- ^ Рон Уилсон (21 апреля 2015 г.). «В начале» . Altera.com . Архивировано из оригинала 21 апреля 2015 г.
- ^ Перейти обратно: а б «Выпуск XCELL 32» (PDF) . Ксилинкс. Архивировано (PDF) из оригинала 7 января 2011 г.
- ^ Перейти обратно: а б с д и ж Финансирование Вселенной. " Xilinx, Inc. " Проверено 15 января 2009 г.
- ^ Клайв Максфилд, Programmable Logic DesignLine, « Xilinx представляет революционную 65-нм архитектуру FPGA: семейство Virtex-5. Архивировано 25 декабря 2009 г. на Wayback Machine . 15 мая 2006 г. Проверено 5 февраля 2009 г.
- ^ Перейти обратно: а б Максфилд, Клайв (2004). Руководство дизайнера по FPGA: устройства, инструменты и процессы . Эльзевир. п. 4. ISBN 978-0-7506-7604-5 .
- ^ «Лучшие компании по производству FPGA за 2013 год» . sourcetech411.com . 28 апреля 2013 г. Архивировано из оригинала 9 июля 2015 г. Проверено 8 июля 2015 г.
- ^ «Microsoft расширяет возможности поиска Bing с помощью программируемых чипов» . ПРОВОДНОЙ . 16 июня 2014 г.
- ^ Перейти обратно: а б «Проект Катапульта» . Исследования Майкрософт . июль 2018.
- ^ Максфилд, Макс. «Xilinx UltraScale FPGA предлагает 50 миллионов эквивалентных вентилей ASIC» . www.eetimes.com . ЭЭ Таймс.
- ^ Перейти обратно: а б Дилан МакГрат, EE Times , « Рынок FPGA превысит 2,7 миллиарда долларов к 2010 году, сообщает In-Stat ». 24 мая 2006 г. Проверено 5 февраля 2009 г.
- ^ Перейти обратно: а б «Анализ мирового рынка FPGA и прогнозы по сегментам до 2020 года – отрасль FPGA, перспективы, размер, применение, продукт, доля, перспективы роста, ключевые возможности, динамика, тенденции, анализ, отчет FPGA – Grand View Research Inc» . grandviewresearch.com .
- ^ «К 2030 году рынок программируемых вентильных матриц достигнет 23,34 миллиарда долларов» . www.grandviewresearch.com . Проверено 25 апреля 2024 г.
- ^ Дилан МакГрат, EE Times , « Аналитик Gartner Dataquest дает ASIC, рынкам FPGA чистое свидетельство о здоровье ». 13 июня 2005 г. Проверено 5 февраля 2009 г.
- ^ «Обзор семейства Virtex-4» (PDF) . xilinx.com . Архивировано (PDF) из оригинала 22 ноября 2007 г. Проверено 14 апреля 2018 г.
- ^ Вишневский, Ремигиуш (2009). Синтез композиционных микропрограммных блоков управления программируемых устройств . Зелёна-Гура: Зелёногурский университет. стр. 153. ISBN 978-83-7481-293-1 . [ постоянная мертвая ссылка ]
- ^ Оклобдзия, Вожин Г. (2017). Цифровой дизайн и производство . ЦРК Пресс. ISBN 9780849386046 .
- ^ «Учебное пособие по целостности сигналов FPGA» . altium.com . Архивировано из оригинала 07 марта 2016 г. Проверено 15 июня 2010 г.
- ^ НАСА: Сила привода FPGA. Архивировано 5 декабря 2010 г. в Wayback Machine.
- ^ Майк Томпсон (2 июля 2007 г.). «FPGA со смешанными сигналами обеспечивают ЭКОЛОГИЮ ЭНЕРГЕТИКУ» . Проектирование и повторное использование .
- ^ Мб, Свами; Вице-президент, Павар (31 июля 2014 г.). «ДИЗАЙН СБИС: НОВЫЙ ПОДХОД» . Журнал разведывательных систем . 4 (1): 60–63. ISSN 2229-7057 .
- ^ 2. Архитектура CycloneII . Альтера. февраль 2007 г.
- ^ «Документация: устройства Stratix IV» (PDF) . Альтера.com. 11 июня 2008 г. Архивировано из оригинала (PDF) 26 сентября 2011 г. Проверено 1 мая 2013 г.
- ^ Руководство пользователя Virtex-4 FPGA (1 декабря 2008 г.). Ксилинкс, Инк.
- ^ «Xilinx Inc., форма 8-K, текущий отчет, дата подачи 19 октября 2011 г.» . secdatabase.com . Проверено 6 мая 2018 г.
- ^ «Xilinx Inc., форма 10-K, годовой отчет, дата подачи 31 мая 2011 г.» . secdatabase.com . Проверено 6 мая 2018 г.
- ^ Дин Такахаши, VentureBeat. « Связь с Intel помогла стартапу по производству чипов Tabula собрать 108 миллионов долларов ». 2 мая 2011 г. Проверено 13 мая 2011 г.
- ^ Перейти обратно: а б Лоуренс Латиф, The Inquirer. « Производитель FPGA утверждает, что превосходит закон Мура ». 27 октября 2010 г. Проверено 12 мая 2011 г.
- ^ EDN Европа. « Xilinx использует 3D-упаковку со сложенными кристаллами. Архивировано 19 февраля 2011 г. в Wayback Machine ». 1 ноября 2010 г. Проверено 12 мая 2011 г.
- ^ Сабан, Кирк (11 декабря 2012 г.). «Технология многослойного кремниевого межсоединения Xilinx обеспечивает революционную емкость, пропускную способность и энергоэффективность FPGA» (PDF) . xilinx.com . Архивировано (PDF) из оригинала 5 ноября 2010 г. Проверено 30 ноября 2018 г.
- ^ «Intel Custom Foundry EMIB» . Интел . Архивировано из оригинала 13 июля 2015 г. Проверено 13 июля 2015 г.
- ^ «Битва за FPGA: VHDL против Verilog! Кто настоящий чемпион?» . digilentinc.com . Архивировано из оригинала 26 декабря 2020 г. Проверено 16 декабря 2020 г.
- ^ «Зачем использовать OpenCL в FPGA?» . Стримкомпьютинг . 16 сентября 2014 г. Архивировано из оригинала 1 января 2017 г. Проверено 17 июля 2015 г.
- ^ Перейти обратно: а б «Все о ПЛИС» . 21 марта 2006 г.
- ^ Диллиен, Пол (6 марта 2017 г.). «И победителем конкурса «Лучшая FPGA 2016 года» стала…» EETimes . Архивировано из оригинала 5 января 2019 года . Проверено 7 сентября 2017 г.
- ^ «Xilinx ISE Design Suite» . www.xilinx.com . Проверено 1 декабря 2018 г.
- ^ «Программное обеспечение для проектирования FPGA — Intel Quartus Prime» . Интел . Проверено 1 декабря 2018 г.
- ^ «Машина времени Tabula — отчет о микропроцессоре» (PDF) . Архивировано из оригинала (PDF) 10 апреля 2011 г.
- ^ Табула для закрытия; 120 рабочих мест потеряно в компании по производству чипов Silicon Valley Business Journal
- ^ «Intel купит Altera за 16,7 миллиардов долларов в рамках своей крупнейшей сделки за всю историю» . Рейтер . Июнь 2015.
- ^ «AMD приобретает Xilinx, создавая лидера отрасли в области высокопроизводительных вычислений» . Октябрь 2020.
- ^ «AMD закрывает рекордную для индустрии микросхем сделку, покупая компанию Xilinx на сумму около 50 миллиардов долларов» . Рейтер . Февраль 2022.
- ^ «Intel запускает Altera, свою новую автономную компанию по производству FPGA» . Intel (пресс-релиз) . Проверено 29 февраля 2024 г.
- ^ «Achronix будет использовать 22-нм техпроцесс Intel» . Отдел новостей Intel . 01.11.2010 . Проверено 1 декабря 2018 г.
- ^ Максфилд, Клайв (16 июня 2004 г.). Руководство дизайнера по FPGA . Эльзевир Наука. ISBN 9780080477138 .
- ^ «О компании — Кельн Чип» . Проверено 27 февраля 2024 г.
- ^ «Лучшие компании по производству FPGA за 2013 год» . ИсточникТех411 . 28 апреля 2013 г. Архивировано из оригинала 24 августа 2018 г. Проверено 1 декабря 2018 г.
- ^ «QuickLogic — настраиваемые полупроводниковые решения для мобильных устройств» . www.quicklogic.com . Корпорация QuickLogic . Проверено 7 октября 2018 г.
- ^ «Xilinx Inc., форма 8-K, текущий отчет, дата подачи 26 апреля 2006 г.» . secdatabase.com . Проверено 6 мая 2018 г.
- ^ «Публикации и презентации» . bdti.com . Архивировано из оригинала 21 августа 2010 г. Проверено 2 ноября 2018 г.
- ^ ЛаПедус, Марк (5 февраля 2007 г.). «Xilinx использует 65-нм FPGA для приложений DSP» . ЭТаймс .
- ^ Алкаин, Эдуардо; Фернандес, Педро Р.; Внук Рубен; Монтемайор, Антонио С.; Вилас, Хайме; Галиана-Бордера, Адриан; Мартинес-Хиронес, Педро Мигель; Прието-де-ла-Ластра, Кармен; Родригес-Вила, Борха; Бонет, Марина; Родригес-Санчес, Кристина (15 декабря 2021 г.). «Аппаратные архитектуры для медицинской визуализации в реальном времени» . Электроника . 10 (24): 3118. doi : 10.3390/electronics10243118 . ISSN 2079-9292 .
- ^ Нагорнов Николай Н.; Ляхов Павел А.; Валуева Мария Владимировна; Бергерман, Максим В. (2022). «Ускорители FPGA на основе RNS для высококачественной вейвлет-обработки 3D медицинских изображений с использованием масштабированных коэффициентов фильтра» . Доступ IEEE . 10 : 19215–19231. Бибкод : 2022IEEEA..1019215N . дои : 10.1109/ACCESS.2022.3151361 . ISSN 2169-3536 . S2CID 246895876 .
- ^ Морган, Тимоти Прикет (3 сентября 2014 г.). «Как Microsoft использует FPGA для ускорения поиска в Bing» . Корпоративные технологии . Проверено 18 сентября 2018 г.
- ^ «i-RAM от Gigabyte: доступное твердотельное хранилище» . anandtech.com . 25 июля 2005 г. Проверено 16 декабря 2020 г.
- ^ «Устройства разработки FPGA для радиационно-стойких космических приложений, представленные Microsemi» . www.militaryaerospace.com . 03.06.2016 . Проверено 2 ноября 2018 г.
- ^ «CrypTech: обеспечение прозрачности криптографии» (PDF) . Архивировано (PDF) из оригинала 7 августа 2016 г.
- ^ Манн, Тобиас (08 марта 2023 г.). «Хотя выпуск Intel XPU задерживается, вот еще несколько FPGA, которые помогут вам разобраться» . Регистр .
- ^ Лебер, Кристиан; Гейб, Бенджамин; Литц, Хайнер (сентябрь 2011 г.). Высокочастотное ускорение торговли с использованием FPGA . Международная конференция по программируемой логике и ее приложениям. IEEE. дои : 10.1109/FPL.2011.64 .
- ^ «Программно-определяемое радио и JTRS» . Военная авиация . 01.12.2004 . Проверено 17 января 2024 г.
- ^ Хаффмайр, Тед; Браттон, Бретт; Шервуд, Тимоти; Кастнер, Райан; Левин, Тимоти; Нгуен, Туи Д.; Ирвин, Синтия (2008). «Управление безопасностью во встраиваемых системах на базе FPGA». IEEE Проектирование и тестирование компьютеров . 25 (6): 590–598. дои : 10.1109/MDT.2008.166 . S2CID 115840 .
- ^ Бабаи, Армин; Шиле, Грегор; Зонер, Майкл (26 июля 2022 г.). «Реконфигурируемая архитектура безопасности (RESA) на основе PUF для устройств IoT на базе FPGA» . Датчики . 22 (15): 5577. Бибкод : 2022Senso..22.5577B . дои : 10.3390/s22155577 . ISSN 1424-8220 . ПМЦ 9331300 . ПМИД 35898079 .
- ^ «EETimes на PUF: функции безопасности для неспециалистов в области безопасности — внутренний идентификатор» . Внутренний идентификатор . 09.06.2015. Архивировано из оригинала 13 июля 2015 г. Проверено 12 июля 2015 г.
- ^ Скоробогатов Сергей; Вудс, Кристофер (2012). «Революционное сканирование кремния обнаруживает лазейку в военном чипе». Криптографическое оборудование и встраиваемые системы – CHES 2012 . Конспекты лекций по информатике. Том. 7428. стр. 23–40. дои : 10.1007/978-3-642-33027-8_2 . ISBN 978-3-642-33026-1 .
- ^ Куон, Ян; Роуз, Джонатан (2006). «Измерение разрыва между FPGA и ASIC» (PDF) . Материалы международного симпозиума по полевым программируемым вентильным матрицам – FPGA'06 . Нью-Йорк, штат Нью-Йорк: ACM. стр. 21–30. дои : 10.1145/1117201.1117205 . ISBN 1-59593-292-5 . Архивировано из оригинала (PDF) 22 июня 2010 г. Проверено 25 октября 2017 г.
- ^ Катресс, Ян (27 августа 2019 г.). «Xilinx объявляет о выпуске крупнейшей в мире FPGA: Virtex Ultrascale+ VU19P с 9-метровыми ячейками» . АнандТех .
- ^ «AN 818: Учебное пособие по частичной реконфигурации статического обновления: для платы разработки Intel Stratix 10 GX FPGA» . www.intel.com . Проверено 1 декабря 2018 г.
- ^ «Могут ли FPGA динамически изменять свою логику?» . Обмен стеками по электротехнике . Проверено 1 декабря 2018 г.
- ^ «CPLD против FPGA: различия между ними и какой из них использовать? – Справочный центр Numato Lab» . numato.com . 2017-11-29.
Дальнейшее чтение
[ редактировать ]- Садрозинский, Хартмут Ф.-В.; Ву, Цзиньюань (2010). Применение программируемых вентильных матриц в научных исследованиях . Тейлор и Фрэнсис. ISBN 978-1-4398-4133-4 .
- Вирт, Никлаус (1995). Проектирование цифровых схем. Вводный учебник . Спрингер. ISBN 978-3-540-58577-0 .
- Митра, Джубин (2018). «Система измерения фазы на основе FPGA» . Транзакции IEEE в системах очень большой интеграции (VLSI) . 26 . ИИЭР: 133–142. дои : 10.1109/TVLSI.2017.2758807 . S2CID 4920719 .
- Менсер, Оскар и др. (2020). «История, статус и будущее FPGA». Коммуникации АКМ. АКМ. Том. 63, № 10. doi: 10.1145/3410669