stringtranslate.com

Программируемая пользователем вентильная матрица

FPGA Stratix IV от Altera
Спартанская FPGA от Xilinx

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

Конфигурация FPGA обычно задается с использованием языка описания аппаратного обеспечения (HDL), аналогичного тому, который используется для интегральной схемы специального назначения (ASIC). Принципиальные схемы ранее использовались для определения конфигурации.

Логические блоки FPGA могут быть сконфигурированы для выполнения сложных комбинационных функций или действовать как простые логические элементы, такие как AND и XOR . В большинстве ПЛИС логические блоки также включают в себя элементы памяти , которые могут быть простыми триггерами или более полными блоками памяти. [1] Многие FPGA можно перепрограммировать для реализации различных логических функций , что позволяет гибко реконфигурировать вычисления , выполняемые в компьютерном программном обеспечении .

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

FPGA также часто используются при разработке ASIC для ускорения процесса моделирования.

История

Индустрия FPGA выросла из программируемой постоянной памяти (PROM) и программируемых логических устройств (PLD). И PROM, и PLD можно было программировать партиями на заводе или в полевых условиях (программируемое на месте). [3]

Компания Altera была основана в 1983 году и в 1984 году выпустила первое в отрасли перепрограммируемое логическое устройство — EP300 — в корпусе которого было кварцевое окно, позволяющее пользователям освещать кристалл ультрафиолетовой лампой, чтобы стереть ячейки EPROM , в которых хранилась конфигурация устройства. . [4]

В 1985 году компания Xilinx выпустила первую коммерчески жизнеспособную программируемую вентильную матрицу  — XC2064. [5] XC2064 имел программируемые ворота и программируемые соединения между воротами, что положило начало новой технологии и рынку. [6] XC2064 имел 64 настраиваемых логических блока (CLB) с двумя справочными таблицами с тремя входами (LUT). [7]

В 1987 году Центр надводных боевых действий ВМФ профинансировал эксперимент, предложенный Стивом Кассельманом, по разработке компьютера, который мог бы реализовать 600 000 перепрограммируемых вентилей. Кассельман добился успеха, и в 1992 году был выдан патент на систему. [3]

Altera и Xilinx продолжали существовать без каких-либо препятствий и быстро росли с 1985 года до середины 1990-х годов, когда появились конкуренты, разрушившие значительную часть их доли рынка. К 1993 году Actel (ныне Microsemi ) обслуживала около 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.

Ворота

Размер рынка

Начало проектирования

Начало проектирования — это новый индивидуальный проект для реализации на FPGA.

Дизайн

Современные FPGA имеют достаточное количество логических вентилей и блоков оперативной памяти для реализации сложных цифровых вычислений. FPGA можно использовать для реализации любой логической функции, которую может выполнять ASIC . Возможность обновления функциональности после поставки, частичная реконфигурация части конструкции [17] и низкие единовременные затраты на проектирование по сравнению с конструкцией ASIC (несмотря на обычно более высокую стоимость единицы продукции) дают преимущества для многих приложений. [1]

Поскольку в конструкциях FPGA используются очень высокие скорости ввода-вывода и двунаправленные шины данных , становится непросто проверить правильность синхронизации действительных данных в течение времени установки и времени удержания. [18] Планирование этажей помогает распределять ресурсы внутри FPGA для удовлетворения этих временных ограничений.

Некоторые FPGA помимо цифровых функций имеют аналоговые функции. Наиболее распространенной аналоговой функцией является программируемая скорость нарастания напряжения на каждом выходном контакте, что позволяет инженеру устанавливать низкие скорости на слабонагруженных контактах, которые в противном случае вызывали бы недопустимый звон или соединение , и устанавливать более высокие скорости на сильно нагруженных высокоскоростных каналах, которые в противном случае работали бы. слишком медленно. [19] [20] Также распространены схемы управления кварцевыми генераторами , встроенные в кристалл резистивно-емкостные генераторы и схемы фазовой автоподстройки частоты со встроенными генераторами, управляемыми напряжением, которые используются для генерации и управления тактовыми импульсами, а также для высокоскоростных сериализаторов. десериализатор (SERDES) передает тактовую частоту и восстанавливает тактовую частоту приемника. Достаточно распространены дифференциальные компараторы на входных контактах, предназначенные для подключения к каналам дифференциальной сигнализации . Некоторые FPGA со смешанными сигналами имеют встроенные периферийные аналого-цифровые преобразователи (АЦП) и цифро-аналоговые преобразователи (ЦАП) с блоками формирования аналогового сигнала, что позволяет им работать как система на кристалле (SoC). [21] Такие устройства стирают грань между FPGA, которая хранит цифровые единицы и нули на своей внутренней программируемой межсоединительной матрице, и программируемой пользователем аналоговой матрицей (FPAA), которая передает аналоговые значения на своей внутренней программируемой межсоединенной структуре.

Логические блоки

Упрощенный пример логической ячейки (LUT — таблица поиска , FA — полный сумматор , DFF — триггер D-типа )

Наиболее распространенная архитектура FPGA состоит из массива логических блоков , называемых настраиваемыми логическими блоками (CLB) или блоками логических массивов (LAB), в зависимости от производителя, площадок ввода-вывода и каналов маршрутизации. [1] Как правило, все каналы маршрутизации имеют одинаковую ширину (количество сигналов). Несколько площадок ввода-вывода могут соответствовать высоте одной строки или ширине одного столбца массива.

«Прикладная схема должна быть отображена в FPGA с адекватными ресурсами. Хотя количество необходимых логических блоков и входов/выходов легко определяется проектом, количество необходимых каналов маршрутизации может значительно различаться даже среди проектов с одинаковым объемом логики. Например, перекрестный коммутатор требует гораздо больше маршрутизации, чем систолический массив с тем же количеством вентилей.Поскольку неиспользуемые каналы маршрутизации увеличивают стоимость (и снижают производительность) FPGA, не принося никакой пользы, производители FPGA стараются предоставить ровно достаточное количество каналов. так что большинство проектов, которые подходят с точки зрения таблиц поиска (LUT) и входов/выходов, могут быть маршрутизированы . Это определяется оценками, полученными на основе правила Рента , или экспериментами с существующими проектами». [22]

Обычно логический блок состоит из нескольких логических ячеек. Типичная ячейка состоит из 4-входового LUT, полного сумматора (FA) и триггера D-типа . LUT можно разделить на две LUT с 3 входами. В обычном режиме они объединяются в 4-входовой LUT через первый мультиплексор (mux). В арифметическом режиме их выходы подаются на сумматор. Выбор режима запрограммирован во втором мультиплексоре. Выход может быть синхронным или асинхронным , в зависимости от программирования третьего мультиплексора. На практике сумматор целиком или его части сохраняются как функции в LUT для экономии места . [23] [24] [25]

Жесткие блоки

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

FPGA более высокого класса могут содержать высокоскоростные мультигигабитные приемопередатчики и жесткие IP-ядра, такие как процессорные ядра , блоки управления доступом к среде Ethernet , контроллеры PCI или PCI Express и контроллеры внешней памяти . Эти ядра существуют рядом с программируемой фабрикой, но они построены на транзисторах , а не на LUT, поэтому имеют производительность и энергопотребление на уровне ASIC, не потребляя при этом значительного количества ресурсов фабрики, оставляя большую часть фабрики свободной для логики, специфичной для приложения. Мультигигабитные трансиверы также содержат высокопроизводительные схемы формирования сигнала , а также высокоскоростные сериализаторы и десериализаторы — компоненты, которые невозможно построить на основе LUT. Функциональность физического уровня (PHY) более высокого уровня, такая как линейное кодирование, может быть реализована или не реализована вместе с сериализаторами и десериализаторами в жесткой логике, в зависимости от FPGA.

Мягкое ядро

Полностью программируемая система на чипе Xilinx Zynq -7000

Альтернативный подход к использованию аппаратных макропроцессоров заключается в использовании IP-ядер программных процессоров , реализованных в логике FPGA. Nios II , MicroBlaze и Mico32 — примеры популярных процессоров с программным обеспечением. Многие современные FPGA программируются во время выполнения , что привело к идее реконфигурируемых вычислений или реконфигурируемых систем — процессоров , которые переконфигурируются в соответствии с поставленной задачей. Кроме того, начинают появляться новые архитектуры, не связанные с FPGA. Программно-конфигурируемые микропроцессоры, такие как Stretch S5000, используют гибридный подход, предоставляя массив процессорных ядер и программируемых ядер, подобных FPGA, на одном кристалле.

Интеграция

В 2012 году крупнозернистый архитектурный подход был сделан еще одним шагом вперед за счет объединения логических блоков и межсоединений традиционных FPGA со встроенными микропроцессорами и соответствующими периферийными устройствами для формирования полноценной системы на программируемом кристалле . Примеры таких гибридных технологий можно найти в полностью программируемой SoC Xilinx Zynq-7000 [26] , которая включает  двухъядерный процессор ARM Cortex-A9 MPCore с тактовой частотой 1,0 ГГц , встроенный в логическую структуру FPGA [27] или в 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, внедрили трехмерную или многоуровневую архитектуру . [28] [29] После выпуска 28-нм FPGA 7-й серии компания Xilinx заявила, что некоторые детали с самой высокой плотностью в этих линейках продуктов FPGA будут изготовлены с использованием нескольких кристаллов в одном корпусе с использованием технологии, разработанной для 3D-конструирования и многоярусные сборки.

В подходе Xilinx несколько (три или четыре) активных кристаллов FPGA размещаются рядом на кремниевом переходнике  – едином куске кремния, несущем пассивное межсоединение. [29] [30] Конструкция с несколькими кристаллами также позволяет создавать различные части FPGA с использованием разных технологических процессов, поскольку требования к процессам различаются между самой фабрикой FPGA и очень высокоскоростными последовательными приемопередатчиками 28 Гбит / с. FPGA, построенная таким образом, называется гетерогенной FPGA . [31]

Гетерогенный подход Altera предполагает использование одного монолитного кристалла FPGA и подключение других кристаллов и технологий к FPGA с помощью встроенной технологии Intel Multi-die Interconnection Bridge (EMIB). [32]

Программирование

Чтобы определить поведение FPGA, пользователь предоставляет проект на языке описания аппаратного обеспечения (HDL) или в виде схематического проекта. Форма HDL больше подходит для работы с большими структурами, поскольку в ней можно указать функциональное поведение высокого уровня, а не рисовать каждую часть вручную. Однако ввод схемы может облегчить визуализацию конструкции и ее составных модулей .

С помощью инструмента автоматизации электронного проектирования создается список соединений с технологической картой . Затем список соединений можно адаптировать к фактической архитектуре FPGA с помощью процесса, называемого местом и маршрутом , который обычно выполняется собственным программным обеспечением компании FPGA для размещения и маршрутизации. Пользователь проверит результаты, используя временной анализ , моделирование и другие методы проверки и проверки . После завершения процесса проектирования и проверки двоичный файл, созданный, как правило, с использованием собственного программного обеспечения поставщика FPGA, используется для (ре)конфигурации FPGA. Этот файл передается в FPGA через последовательный интерфейс ( JTAG ) или на внешнее запоминающее устройство, такое как EEPROM .

Наиболее распространенными HDL являются VHDL и Verilog , а также такие расширения, как SystemVerilog . Однако в попытке снизить сложность проектирования на HDL, который сравнивают с эквивалентом языков ассемблера , предпринимаются шаги [ кем? ] повысить уровень абстракции за счет внедрения альтернативных языков . Язык графического программирования LabVIEW компании National Instruments (иногда называемый G ) имеет дополнительный модуль FPGA, доступный для настройки и программирования оборудования FPGA. Verilog был создан, чтобы упростить процесс, сделав HDL более надежным и гибким. Verilog в настоящее время является самым популярным. Verilog создает уровень абстракции, чтобы скрыть детали своей реализации. Verilog имеет синтаксис, подобный C, в отличие от VHDL. [33]

Чтобы упростить проектирование сложных систем на ПЛИС, существуют библиотеки предопределенных сложных функций и схем, которые были протестированы и оптимизированы для ускорения процесса проектирования. Эти предопределенные схемы обычно называются ядрами интеллектуальной собственности (IP) и доступны у поставщиков FPGA и сторонних поставщиков IP. Они редко бывают бесплатными и обычно выпускаются по проприетарным лицензиям. Другие предопределенные схемы доступны в сообществах разработчиков, таких как OpenCores (обычно выпускаются под бесплатными лицензиями и лицензиями с открытым исходным кодом, такими как GPL , BSD или аналогичные лицензии) и другими источниками. Такие конструкции известны как аппаратное обеспечение с открытым исходным кодом .

В типичном процессе проектирования разработчик приложения FPGA моделирует проект на нескольких этапах процесса проектирования. Первоначально описание RTL в VHDL или Verilog моделируется путем создания тестовых стендов для моделирования системы и наблюдения за результатами. Затем, после того как механизм синтеза сопоставляет проект со списком соединений, список соединений преобразуется в описание уровня вентиля , где моделирование повторяется для подтверждения того, что синтез прошел без ошибок. Наконец, проект закладывается в FPGA, после чего можно добавить задержки распространения и снова запустить моделирование с аннотациями этих значений в списке соединений.

Совсем недавно OpenCL (открытый язык вычислений) стал использоваться программистами, чтобы воспользоваться преимуществами производительности и энергоэффективности, обеспечиваемыми FPGA. OpenCL позволяет программистам разрабатывать код на языке программирования C и использовать функции FPGA в качестве ядер OpenCL, используя конструкции OpenCL. [34] Для получения дополнительной информации см. Синтез высокого уровня и преобразование C в HDL .

Большинство FPGA используют для программирования подход, основанный на SRAM . Эти FPGA программируются и перепрограммируются внутри системы, но требуют внешних загрузочных устройств. Например, флэш-память или устройства EEPROM часто могут загружать содержимое во внутреннюю SRAM, которая управляет маршрутизацией и логикой. Подход SRAM основан на CMOS .

Более редкие альтернативы подходу SRAM включают:

Производители

В 2016 году лидерами рынка FPGA были давние конкуренты отрасли Xilinx (теперь часть AMD ) и Altera (теперь дочерняя компания Intel ). [36] В то время они контролировали почти 90 процентов рынка.

И Xilinx (теперь AMD), и Altera (теперь Intel) предоставляют собственное программное обеспечение для автоматизации электронного проектирования для Windows и Linux ( ISE / Vivado и Quartus ), которое позволяет инженерам проектировать , анализировать, моделировать и синтезировать ( компилировать ) свои проекты. [37] [38]

В марте 2010 года Tabula анонсировала свою технологию FPGA, которая использует логику мультиплексирования по времени и межсоединения, что обеспечивает потенциальную экономию средств для приложений с высокой плотностью размещения. [39] 24 марта 2015 г. Tabula официально закрылась. [40]

1 июня 2015 года Intel объявила о приобретении Altera примерно за 16,7 миллиардов долларов и завершила сделку 30 декабря 2015 года .

27 октября 2020 года AMD объявила о приобретении Xilinx [42] и завершила сделку на сумму около 50 миллиардов долларов в феврале 2022 года. [43]

Среди других производителей:

Приложения

FPGA можно использовать для решения любой вычислимой задачи . Это тривиально доказывается тем фактом, что FPGA можно использовать для реализации программного микропроцессора , такого как Xilinx MicroBlaze или Altera Nios II . Их преимущество заключается в том, что они значительно быстрее для некоторых приложений из-за их параллельного характера и оптимальности с точки зрения количества вентилей, используемых для определенных процессов. [48]

Первоначально FPGA создавались как конкуренты CPLD для реализации связующей логики для печатных плат . По мере увеличения размера, возможностей и скорости FPGA взяли на себя дополнительные функции до такой степени, что некоторые из них теперь продаются как полные системы на кристаллах (SoC). В частности, с появлением специальных умножителей в архитектурах FPGA в конце 1990-х годов приложения, которые традиционно были единственным резервом аппаратного обеспечения цифровых сигнальных процессоров (DSP), вместо этого начали включать FPGA. [49] [50]

Эволюция FPGA стимулировала рост использования этих устройств, архитектура которых позволяет разрабатывать аппаратные решения, оптимизированные для сложных задач, таких как сегментация 3D-изображений МРТ, дискретное 3D-вейвлет-преобразование, реконструкция томографических изображений или системы ПЭТ/МРТ. [51] [52] Разработанные решения могут выполнять интенсивные вычислительные задачи с параллельной обработкой, являются динамически перепрограммируемыми и имеют низкую стоимость, при этом удовлетворяя жестким требованиям реального времени, связанным с медицинской визуализацией.

Другой тенденцией в использовании FPGA является аппаратное ускорение , при котором можно использовать FPGA для ускорения определенных частей алгоритма и разделения части вычислений между FPGA и обычным процессором. Поисковая система Bing известна тем, что в 2014 году она применила ускорение FPGA для своего алгоритма поиска. [53] С 2018 года FPGA все чаще используются в качестве ускорителей искусственного интеллекта , включая так называемый «Проект Катапульта» Microsoft [11] , а также для ускорения искусственных нейронных сетей. для приложений машинного обучения .

Традиционно [ когда? ] FPGA были зарезервированы для конкретных вертикальных приложений , где объем производства невелик. Для этих мелкосерийных приложений надбавка, которую компании платят за единицу оборудования для программируемого чипа, более доступна, чем ресурсы разработки, затраченные на создание ASIC. По состоянию на 2017 год новая динамика затрат и производительности расширила спектр жизнеспособных приложений.

Там, где периферийные устройства для персональных компьютеров существуют на нишевых рынках или изо всех сил пытаются проникнуть на массовый рынок (иногда, несмотря на активную рекламу), может быть более рентабельным использовать FPGA для небольших производственных партий (например, 1000 единиц). Примеры включают экзотические продукты, такие как, например , ArVid , ленточный архиватор VHS (только некоторые версии которого были основаны на FPGA) и бюджетный псевдо- SSD-накопитель i-RAM от Gigabyte Technology , в котором использовалась Xilinx FPGA. [54] Часто чип, изготовленный на заказ, будет дешевле, если производить его в больших количествах, но FPGA могут быть выбраны для быстрого вывода продукта на рынок. Опять же, по мере роста доступности недорогих FPGA их включение даже в более крупные производственные партии может стать оправданным.

Другие варианты использования FPGA включают в себя:

Использование военными США

FPGA играют решающую роль в современной военной связи, особенно в таких системах, как Joint Tactical Radio System (JTRS) и в устройствах таких компаний, как Thales и Harris Corporation . Их гибкость и программируемость делают их идеальными для военной связи, предлагая настраиваемую и безопасную обработку сигналов. В JTRS, используемом военными США, FPGA обеспечивают адаптивность и обработку в реальном времени, что имеет решающее значение для соответствия различным стандартам связи и методам шифрования. Компания Thales использует технологию FPGA при разработке устройств связи, отвечающих строгим требованиям военного использования, включая быструю реконфигурацию и надежную безопасность. Точно так же корпорация Harris, которая теперь является частью L3Harris Technologies , включает FPGA в свои оборонные и коммерческие коммуникационные решения, улучшая обработку сигналов и безопасность системы. [59]

L3Харрис

  1. Быстро адаптируемая радиосвязь, соответствующая стандартам (RASOR™): решение на основе модульного подхода к открытой системе (MOSA), поддерживающее более 50 каналов передачи данных и форм сигналов.
  2. Технологическая платформа ASPEN: состоит из проверенных аппаратных модулей с программируемым программным обеспечением и опций FPGA для расширенных настраиваемых каналов передачи данных.
  3. Радиостанции AN/PRC-117F(C) : Поддерживали Командование электронных систем ВВС США , укрепляя роль Харриса как поставщика систем связи полного спектра.

Фалес

  1. Семейство SYNAPS Radio: использует технологию программно-определяемого радио (SDR), обычно с использованием FPGA для повышения гибкости и производительности.
  2. AN/PRC-148 (Многодиапазонная межгрупповая/внутригрупповая радиостанция - MBITR): многодиапазонная многорежимная SDR малого форм-фактора, используемая в Афганистане и Ираке.
  3. Портативная радиостанция JTRS Cluster 2: в настоящее время находится в разработке, недавно завершилась успешная предварительная эксплуатационная оценка.

Безопасность

FPGA имеют как преимущества, так и недостатки по сравнению с ASIC или защищенными микропроцессорами в отношении аппаратной безопасности . Гибкость FPGA снижает риск злонамеренных модификаций во время производства . [60] Ранее для многих FPGA битовый поток проекта был открыт, когда FPGA загружала его из внешней памяти (обычно при каждом включении питания). Все основные поставщики FPGA теперь предлагают разработчикам целый ряд решений по обеспечению безопасности, таких как шифрование битового потока и аутентификация . Например, Altera и Xilinx предлагают шифрование AES (до 256 бит) для битовых потоков, хранящихся во внешней флэш-памяти. Физические неклонируемые функции (PUF) представляют собой интегральные схемы, которые имеют свои уникальные сигнатуры благодаря обработке и могут также использоваться для защиты FPGA, занимая при этом очень мало аппаратного пространства. [61]

FPGA, которые сохраняют свою конфигурацию внутри энергонезависимой флэш-памяти, такие как программируемые устройства ProAsic 3 от Microsemi или XP2 от Lattice , не раскрывают битовый поток и не нуждаются в шифровании . Кроме того, флэш-память для справочной таблицы обеспечивает защиту от сбоев при единичных событиях для космических приложений. [ необходимы разъяснения ] Клиенты, которым нужна более высокая гарантия защиты от несанкционированного доступа, могут использовать FPGA с однократной записью и защитой от предохранения от таких поставщиков, как Microsemi .

Благодаря своим FPGA и SoC Stratix 10 компания Altera представила диспетчер безопасных устройств и функции физического неклонирования , обеспечивающие высокий уровень защиты от физических атак. [62]

В 2012 году исследователи Сергей Скоробогатов и Кристофер Вудс продемонстрировали, что некоторые FPGA могут быть уязвимы для враждебных намерений. Они обнаружили, что критическая бэкдор- уязвимость была изготовлена ​​в кремнии как часть Actel/Microsemi ProAsic 3, что делает его уязвимым на многих уровнях, таких как перепрограммирование шифрования и ключей доступа , доступ к незашифрованному потоку битов, изменение низкоуровневых функций кремния и извлечение данных конфигурации . [63]

В 2020 году во всех ПЛИС Xilinx 7-й серии была обнаружена критическая уязвимость (названная «Starbleed»), которая делала бесполезным шифрование битового потока. Обходного пути нет. Xilinx не выпускала аппаратную версию. Устройства Ultrascale и более поздние версии, уже представленные на рынке в то время, не были затронуты.

Похожие технологии

Исторически FPGA были медленнее, менее энергоэффективными и, как правило, обеспечивали меньшую функциональность, чем их фиксированные аналоги ASIC . Исследование 2006 года показало, что проекты, реализованные на FPGA, требуют в среднем в 40 раз больше площади, потребляют в 12 раз больше динамической мощности и работают на треть быстрее, чем соответствующие реализации ASIC. [64]

Преимущества FPGA включают в себя возможность перепрограммирования уже после развертывания (т. е. «в полевых условиях») для исправления ошибок , а также часто включают более короткое время выхода на рынок и более низкие единовременные затраты на проектирование. Поставщики также могут пойти промежуточным путем через прототипирование FPGA : разработать прототип оборудования на FPGA, но произвести окончательную версию в виде ASIC, чтобы ее больше нельзя было модифицировать после завершения проектирования. То же самое часто происходит и с новыми конструкциями процессоров. [65] Некоторые FPGA имеют возможность частичной реконфигурации , что позволяет перепрограммировать одну часть устройства, в то время как другие части продолжают работать. [66] [67]

Основные различия между сложными программируемыми логическими устройствами (CPLD) и FPGA заключаются в архитектуре . CPLD имеет сравнительно ограниченную структуру, состоящую из одного или нескольких программируемых логических массивов суммы произведений , питающих относительно небольшое количество тактируемых регистров . В результате CPLD менее гибки, но имеют преимущество более предсказуемых временных задержек и более высокого соотношения логики и межсоединения. [ нужна цитация ] В архитектурах FPGA, с другой стороны, преобладают межсоединения . Это делает их гораздо более гибкими (с точки зрения диапазона конструкций, которые практичны для реализации на них), но также гораздо более сложными для проектирования или, по крайней мере, требуют более сложного программного обеспечения для автоматизации электронного проектирования (EDA). На практике различие между FPGA и CPLD часто заключается в размере, поскольку FPGA обычно намного больше с точки зрения ресурсов, чем CPLD. Обычно только FPGA содержат более сложные встроенные функции , такие как сумматоры , умножители , память и сериализаторы/десериализаторы . Еще одним распространенным отличием является то, что CPLD содержат встроенную флэш-память для хранения своей конфигурации, тогда как FPGA обычно требуют внешней энергонезависимой памяти (но не всегда). Когда конструкция требует простого мгновенного включения (логика уже настроена при включении питания), обычно предпочтительными являются CPLD. Для большинства других приложений обычно предпочтительнее использовать FPGA. Иногда в одной системе используются и CPLD, и FPGA. В этих конструкциях CPLD обычно выполняют функции связующей логики и отвечают за « загрузку » FPGA, а также за управление последовательностью сброса и загрузки всей печатной платы. Поэтому, в зависимости от приложения, может быть разумно использовать в одной конструкции и FPGA, и CPLD. [68]

Смотрите также

Рекомендации

  1. ^ abc «Архитектура FPGA для решения задач». Торонто.edu . Университет Торонто .
  2. ^ Симпсон, Пенсильвания (2015). Проектирование FPGA, Лучшие практики группового повторного использования, 2-е издание . Швейцария: Springer International Publishing AG. п. 16. ISBN 978-3-319-17924-7.
  3. ^ abcd «История ПЛИС». Архивировано из оригинала 12 апреля 2007 года . Проверено 11 июля 2013 г.
  4. Рон Уилсон (21 апреля 2015 г.). "В начале". Altera.com . Архивировано из оригинала 21 апреля 2015 г.
  5. ^ ab «Выпуск XCELL 32» (PDF) . Ксилинкс. Архивировано (PDF) из оригинала 7 января 2011 г.
  6. ^ abcdef Финансирование Вселенной. "Ксилинкс, Инк." Проверено 15 января 2009 г.
  7. ^ Клайв Максфилд, Programmable Logic DesignLine, «Xilinx представляет революционную 65-нм архитектуру FPGA: семейство Virtex-5. Архивировано 25 декабря 2009 г. на Wayback Machine . 15 мая 2006 г. Проверено 5 февраля 2009 г.
  8. ^ аб Максфилд, Клайв (2004). Руководство Design Warrior по FPGA: устройства, инструменты и процессы. Эльзевир. п. 4. ISBN 978-0-7506-7604-5.
  9. ^ «Лучшие компании по производству FPGA в 2013 году» . sourcetech411.com . 28 апреля 2013 г.
  10. ^ «Microsoft расширяет возможности поиска Bing с помощью программируемых чипов» . ПРОВОДНОЙ . 16 июня 2014 г.
  11. ^ ab "Проект Катапульта". Исследования Майкрософт . июль 2018.
  12. ^ Максфилд, Макс. «Xilinx UltraScale FPGA предлагает 50 миллионов эквивалентных вентилей ASIC». www.eetimes.com . ЭЭ Таймс.
  13. ^ ab Дилан МакГрат, EE Times , «Рынок FPGA превысит 2,7 миллиарда долларов к 10 году, сообщает In-Stat». 24 мая 2006 г. Проверено 5 февраля 2009 г.
  14. ^ ab «Анализ глобального рынка FPGA и прогнозы по сегментам до 2020 года - отрасль FPGA, перспективы, размер, применение, продукт, доля, перспективы роста, ключевые возможности, динамика, тенденции, анализ, отчет FPGA - Grand View Research Inc». grandviewresearch.com .
  15. ^ Дилан МакГрат, EE Times , «Аналитик Gartner Dataquest дает ASIC, рынкам FPGA чистое свидетельство о здоровье». 13 июня 2005 г. Проверено 5 февраля 2009 г.
  16. ^ «Обзор семейства Virtex-4» (PDF) . xilinx.com . Архивировано (PDF) из оригинала 22 ноября 2007 г. Проверено 14 апреля 2018 г.
  17. ^ Вишневский, Ремигиуш (2009). Синтез композиционных микропрограммных блоков управления программируемыми устройствами. Зелёна-Гура: Зелёногурский университет. п. 153. ИСБН 978-83-7481-293-1.[ постоянная мертвая ссылка ]
  18. ^ Оклобдзия, Вожин Г. (2017). Цифровой дизайн и производство. ЦРК Пресс. ISBN 9780849386046.
  19. ^ «Учебное пособие по целостности сигнала FPGA» . altium.com . Архивировано из оригинала 07 марта 2016 г. Проверено 15 июня 2010 г.
  20. ^ НАСА: Сила привода FPGA. Архивировано 5 декабря 2010 г. в Wayback Machine.
  21. ^ Майк Томпсон (2 июля 2007 г.). «FPGA со смешанными сигналами обеспечивают зеленую энергию». Проектирование и повторное использование .
  22. ^ Мб, Свами; Вице-президент, Павар (31 июля 2014 г.). «ДИЗАЙН СБИС: НОВЫЙ ПОДХОД». Журнал разведывательных систем . 4 (1): 60–63. ISSN  2229-7057.
  23. ^ 2. Архитектура CycloneII. Альтера. февраль 2007 г.
  24. ^ «Документация: устройства Stratix IV» (PDF) . Альтера.com. 11 июня 2008 г. Архивировано из оригинала (PDF) 26 сентября 2011 г. Проверено 1 мая 2013 г.
  25. ^ Руководство пользователя Virtex-4 FPGA (1 декабря 2008 г.). Ксилинкс, Инк.
  26. ^ «Xilinx Inc, форма 8-K, текущий отчет, дата подачи 19 октября 2011 г.» . secdatabase.com . Проверено 6 мая 2018 г.
  27. ^ «Xilinx Inc, форма 10-K, годовой отчет, дата подачи 31 мая 2011 г.» . secdatabase.com . Проверено 6 мая 2018 г.
  28. ^ Дин Такахаши, VentureBeat. «Связь с Intel помогла стартапу по производству чипов Tabula собрать 108 миллионов долларов». 2 мая 2011 г. Проверено 13 мая 2011 г.
  29. ^ AB Лоуренс Латиф, The Inquirer. «Производитель FPGA утверждает, что превзошел закон Мура». 27 октября 2010 г. Проверено 12 мая 2011 г.
  30. ^ EDN Европа. «Xilinx использует 3D-упаковку со сложенными кристаллами. Архивировано 19 февраля 2011 г. в Wayback Machine ». 1 ноября 2010 г. Проверено 12 мая 2011 г.
  31. Сабан, Кирк (11 декабря 2012 г.). «Технология многослойного кремниевого межсоединения Xilinx обеспечивает революционную емкость, пропускную способность и энергоэффективность FPGA» (PDF) . xilinx.com . Архивировано (PDF) из оригинала 5 ноября 2010 г. Проверено 30 ноября 2018 г.
  32. ^ "Intel Custom Foundry EMIB" . Интел . Архивировано из оригинала 13 июля 2015 г. Проверено 13 июля 2015 г.
  33. ^ «Битва за FPGA: VHDL против Verilog! Кто настоящий чемпион?». digilentinc.com . Архивировано из оригинала 26 декабря 2020 г. Проверено 16 декабря 2020 г.
  34. ^ «Зачем использовать OpenCL на FPGA?». Стримкомпьютинг . 16 сентября 2014 г. Архивировано из оригинала 1 января 2017 г. Проверено 17 июля 2015 г.
  35. ^ ab «Все о FPGA».
  36. Диллиен, Пол (6 марта 2017 г.). «И победителем конкурса «Лучшая FPGA 2016 года» стала…» EETimes . Архивировано из оригинала 5 января 2019 года . Проверено 7 сентября 2017 г.
  37. ^ "Xilinx ISE Design Suite" . www.xilinx.com . Проверено 1 декабря 2018 г.
  38. ^ «Программное обеспечение для проектирования FPGA — Intel Quartus Prime» . Интел . Проверено 1 декабря 2018 г.
  39. ^ «Машина времени Tabula — отчет о микропроцессоре» (PDF) . Архивировано из оригинала (PDF) 10 апреля 2011 г.
  40. ^ Табула для закрытия; 120 рабочих мест потеряно в компании по производству чипов Silicon Valley Business Journal
  41. ^ «Intel купит Altera за 16,7 миллиардов долларов в рамках крупнейшей сделки за всю историю» . Рейтер . Июнь 2015.
  42. ^ «AMD приобретет Xilinx, создав лидера отрасли в области высокопроизводительных вычислений» . Октябрь 2020.
  43. ^ «AMD закрывает рекордную сделку для индустрии чипов, покупая Xilinx на сумму около 50 миллиардов долларов» . Рейтер . Февраль 2022.
  44. ^ «Achronix будет использовать 22-нм производство Intel» . Отдел новостей Intel . 01.11.2010 . Проверено 1 декабря 2018 г.
  45. Максфилд, Клайв (16 июня 2004 г.). Руководство дизайнера по FPGA. Эльзевир Наука. ISBN 9780080477138.
  46. ^ «Лучшие компании по производству FPGA в 2013 году» . ИсточникТех411 . 28 апреля 2013 г. Проверено 1 декабря 2018 г.
  47. ^ «QuickLogic — настраиваемые полупроводниковые решения для мобильных устройств» . www.quicklogic.com . Корпорация QuickLogic . Проверено 7 октября 2018 г.
  48. ^ «Xilinx Inc, форма 8-K, текущий отчет, дата подачи 26 апреля 2006 г.» secdatabase.com . Проверено 6 мая 2018 г.
  49. ^ «Публикации и презентации». bdti.com . Архивировано из оригинала 21 августа 2010 г. Проверено 2 ноября 2018 г.
  50. ^ ЛаПедус, Марк. «Xilinx использует 65-нм FPGA для приложений DSP». ЭТаймс .
  51. ^ Алькаин, Эдуардо; Фернандес, Педро Р.; Ньето, Рубен; Монтемайор, Антонио С.; Вилас, Хайме; Галиана-Бордера, Адриан; Мартинес-Хиронес, Педро Мигель; Прието-де-ла-Ластра, Кармен; Родригес-Вила, Борха; Бонет, Марина; Родригес-Санчес, Кристина (15 декабря 2021 г.). «Аппаратные архитектуры для медицинской визуализации в реальном времени». Электроника . 10 (24): 3118. doi : 10.3390/electronics10243118 . ISSN  2079-9292.
  52. ^ Нагорнов, Николай Н.; Ляхов Павел А.; Валуева Мария Владимировна; Бергерман, Максим В. (2022). «Ускорители FPGA на основе RNS для высококачественной вейвлет-обработки трехмерных медицинских изображений с использованием масштабированных коэффициентов фильтра». Доступ IEEE . 10 : 19215–19231. дои : 10.1109/ACCESS.2022.3151361 . ISSN  2169-3536. S2CID  246895876.
  53. ^ Морган, Тимоти Прикет (3 сентября 2014 г.). «Как Microsoft использует FPGA для ускорения поиска Bing». Корпоративные технологии . Проверено 18 сентября 2018 г.
  54. ^ «i-RAM от Gigabyte: доступное твердотельное хранилище» . anandtech.com . 25 июля 2005 г. Проверено 16 декабря 2020 г.
  55. ^ «Устройства разработки FPGA для радиационно-стойких космических приложений, представленные Microsemi» . www.militaryaerospace.com . 03.06.2016 . Проверено 2 ноября 2018 г.
  56. ^ «CrypTech: обеспечение прозрачности в криптографии» (PDF) . Архивировано (PDF) из оригинала 7 августа 2016 г.
  57. ^ Манн, Тобиас (08 марта 2023 г.). «Хотя выпуск Intel XPU задерживается, вот еще несколько FPGA, которые помогут вам». Регистр .
  58. ^ Лебер, Кристиан; Гейб, Бенджамин; Литц, Хайнер (сентябрь 2011 г.). Высокочастотное ускорение торговли с использованием FPGA. Международная конференция по программируемой логике и ее приложениям. IEEE. дои : 10.1109/FPL.2011.64.
  59. ^ «Программно-определяемое радио и JTRS» . Военная авиация . 01.12.2004 . Проверено 17 января 2024 г.
  60. ^ Хаффмайр, Тед; Браттон, Бретт; Шервуд, Тимоти; Кастнер, Райан; Левин, Тимоти; Нгуен, Туи Д.; Ирвин, Синтия (2008). «Управление безопасностью во встраиваемых системах на базе FPGA». IEEE Проектирование и тестирование компьютеров . 25 (6): 590–598. дои :10.1109/MDT.2008.166. S2CID  115840.
  61. ^ Бабаи, Армин; Шиле, Грегор; Зонер, Майкл (26 июля 2022 г.). «Реконфигурируемая архитектура безопасности (RESA) на основе PUF для устройств IoT на базе FPGA». Датчики . 22 (15): 5577. Бибкод : 2022Senso..22.5577B. дои : 10.3390/s22155577 . ISSN  1424-8220. ПМЦ 9331300 . ПМИД  35898079. 
  62. ^ «EETimes на PUF: функции безопасности для неспециалистов по безопасности - внутренний идентификатор» . Внутренний идентификатор . 09.06.2015. Архивировано из оригинала 13 июля 2015 г. Проверено 12 июля 2015 г.
  63. ^ Скоробогатов, Сергей; Вудс, Кристофер (2012). «Революционное сканирование кремния обнаруживает лазейку в военном чипе». Криптографическое оборудование и встраиваемые системы – CHES 2012 . Конспекты лекций по информатике. Том. 7428. стр. 23–40. дои : 10.1007/978-3-642-33027-8_2. ISBN 978-3-642-33026-1.
  64. ^ Куон, Ян; Роуз, Джонатан (2006). «Измерение разрыва между FPGA и ASIC» (PDF) . Материалы международного симпозиума по полевым программируемым вентильным матрицам – FPGA'06 . Нью-Йорк, штат Нью-Йорк: ACM. стр. 21–30. дои : 10.1145/1117201.1117205. ISBN 1-59593-292-5. Архивировано из оригинала (PDF) 22 июня 2010 г. Проверено 25 октября 2017 г.
  65. ^ Катресс, Ян (27 августа 2019 г.). «Xilinx объявляет о выпуске крупнейшей в мире ПЛИС: Virtex Ultrascale+ VU19P с ячейками 9 млн» . АнандТех .
  66. ^ «AN 818: Учебное пособие по частичной реконфигурации статического обновления: для платы разработки Intel Stratix 10 GX FPGA» . www.intel.com . Проверено 1 декабря 2018 г.
  67. ^ «Могут ли FPGA динамически изменять свою логику?». Обмен стеками по электротехнике . Проверено 1 декабря 2018 г.
  68. ^ «CPLD против FPGA: различия между ними и какой из них использовать? - Справочный центр Numato Lab» . numato.com . 2017-11-29.

дальнейшее чтение

Внешние ссылки