stringtranslate.com

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

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

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

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

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

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

ПЛИС также широко используются при разработке ASIC для ускорения процесса моделирования.

История

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

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

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

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

Altera и Xilinx продолжали без каких-либо проблем и быстро росли с 1985 года до середины 1990-х годов, когда появились конкуренты, которые подорвали значительную часть их доли рынка. К 1993 году Actel (позже Microsemi , теперь Microchip ) обслуживала около 18 процентов рынка. [6]

1990-е годы стали периодом быстрого роста ПЛИС, как в плане сложности схем, так и в плане объемов производства. В начале 1990-х годов ПЛИС в основном использовались в телекоммуникациях и сетях . К концу десятилетия ПЛИС нашли свое применение в потребительских, автомобильных и промышленных приложениях. [8]

К 2013 году Altera (31 процент), Actel (10 процентов) и Xilinx (36 процентов) вместе занимали приблизительно 77 процентов рынка ПЛИС. [9]

Такие компании, как Microsoft, начали использовать FPGA для ускорения высокопроизводительных систем с интенсивными вычислениями (например, центров обработки данных , которые управляют их поисковой системой Bing ) из-за преимущества производительности на ватт, которое обеспечивают FPGA. [10] Microsoft начала использовать FPGA для ускорения Bing в 2014 году, а в 2018 году начала развертывать FPGA в других рабочих нагрузках центров обработки данных для своей платформы облачных вычислений Azure . [11]

Рост

Следующие временные шкалы показывают прогресс в различных аспектах проектирования ПЛИС.

Гейтс

Размер рынка

Проектирование начинается

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

Дизайн

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

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

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

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

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

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

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

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

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

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

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

Мягкое ядро

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

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

Интеграция

В 2012 году подход с грубой структурой архитектуры был продвинут на шаг дальше, объединив логические блоки и соединения традиционных ПЛИС со встроенными микропроцессорами и соответствующими периферийными устройствами для формирования полной системы на программируемом чипе . Примеры таких гибридных технологий можно найти в Xilinx Zynq-7000 all Programmable SoC , [27] которая включает в себя  двухъядерный процессор ARM Cortex-A9 MPCore с тактовой частотой 1,0 ГГц , встроенный в логическую структуру ПЛИС, [28] или в Altera Arria V FPGA, которая включает в себя двухъядерный процессор ARM Cortex-A9 MPCore с тактовой частотой 800 МГц . Atmel FPSLIC — еще одно такое устройство, которое использует процессор AVR в сочетании с архитектурой программируемой логики Atmel. Устройства Microsemi SmartFusion включают в себя ядро ​​жесткого процессора ARM Cortex-M3 (с флэш-памятью объемом до 512 КБ и оперативной памятью объемом 64 КБ) и аналоговые периферийные устройства , такие как многоканальные аналого-цифровые преобразователи и цифро-аналоговые преобразователи в своей структуре ПЛИС на основе флэш-памяти . [ необходима ссылка ]

Клокинг

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

3D-архитектуры

Чтобы уменьшить размер и энергопотребление ПЛИС, такие поставщики, как Tabula и Xilinx , представили 3D или многоярусные архитектуры . [29] [30] После представления своих 28-нм ПЛИС 7-й серии компания Xilinx заявила, что несколько деталей с самой высокой плотностью в этих линейках ПЛИС будут созданы с использованием нескольких кристаллов в одном корпусе, применяя технологию, разработанную для 3D-конструирования и многоярусных сборок кристаллов.

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

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

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

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

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

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

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

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

В последнее время OpenCL (Open Computing Language) используется программистами для использования преимуществ производительности и энергоэффективности, которые обеспечивают ПЛИС. OpenCL позволяет программистам разрабатывать код на языке программирования C. [ 35] Для получения дополнительной информации см. высокоуровневый синтез и C в HDL .

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

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

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

В 2016 году лидерами рынка ПЛИС были давние конкуренты отрасли Xilinx (теперь часть AMD ) и Altera . [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]

Другие производители включают:

Приложения

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

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

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

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

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

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

Другие области применения ПЛИС включают в себя:

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

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

L3Харрис

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

Фалес

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

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

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

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

С помощью своих ПЛИС и систем на кристалле Stratix 10 компания Altera представила Secure Device Manager и физические неклонируемые функции для обеспечения высокого уровня защиты от физических атак. [65]

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

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

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

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

Преимущества ПЛИС включают возможность перепрограммирования, когда они уже развернуты (т. е. «в полевых условиях»), для исправления ошибок , и часто включают более короткое время выхода на рынок и более низкие единовременные затраты на проектирование. Поставщики также могут выбрать средний путь с помощью прототипирования ПЛИС : разрабатывать свои прототипы оборудования на ПЛИС, но производить их окончательную версию как ASIC, так что ее больше нельзя будет модифицировать после того, как проект будет принят. Это часто также касается новых проектов процессоров. [68] Некоторые ПЛИС имеют возможность частичной переконфигурации , что позволяет перепрограммировать одну часть устройства, в то время как другие части продолжают работать. [69] [70]

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

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

Ссылки

  1. ^ abc "Архитектура FPGA для решения сложных задач". toronto.edu . Университет Торонто .
  2. ^ Симпсон, П. А. (2015). Проектирование ПЛИС, Лучшие практики для коллективного повторного использования, 2-е издание . Швейцария: Springer International Publishing AG. стр. 16. ISBN 978-3-319-17924-7.
  3. ^ abcd "История ПЛИС". Архивировано из оригинала 12 апреля 2007 г. Получено 11 июля 2013 г.
  4. Рон Уилсон (21 апреля 2015 г.). "В начале". altera.com . Архивировано из оригинала 21.04.2015.
  5. ^ ab "XCELL issue 32" (PDF) . Xilinx. Архивировано (PDF) из оригинала 2011-01-07.
  6. ^ abcdef Финансирование Вселенной. "Xilinx, Inc." Получено 15 января 2009 г.
  7. Клайв Максфилд, Programmable Logic DesignLine, «Xilinx представляет революционную архитектуру 65 нм FPGA: семейство Virtex-5». Архивировано 25 декабря 2009 г. на Wayback Machine . 15 мая 2006 г. Получено 5 февраля 2009 г.
  8. ^ ab Maxfield, Clive (2004). Руководство для разработчиков ПЛИС: устройства, инструменты и процессы. Elsevier. стр. 4. ISBN 978-0-7506-7604-5.
  9. ^ "Лучшие компании FPGA в 2013 году". sourcetech411.com . 2013-04-28. Архивировано из оригинала 2015-07-09 . Получено 2015-07-08 .
  10. ^ «Microsoft совершенствует поиск Bing с помощью программируемых чипов». WIRED . 16 июня 2014 г.
  11. ^ ab "Project Catapult". Microsoft Research . Июль 2018 г.
  12. ^ Максфилд, Макс. «Xilinx UltraScale FPGA предлагает 50 миллионов эквивалентных вентилей ASIC». www.eetimes.com . EE Times.
  13. ^ ab Дилан МакГрат, EE Times , «Рынок FPGA превысит 2,7 млрд долларов к 2010 году, утверждает In-Stat». 24 мая 2006 г. Получено 5 февраля 2009 г.
  14. ^ ab «Анализ мирового рынка FPGA и прогнозы сегмента до 2020 года – отрасль FPGA, перспективы, размер, применение, продукт, доля, перспективы роста, ключевые возможности, динамика, тенденции, анализ, отчет FPGA – Grand View Research Inc». grandviewresearch.com .
  15. ^ "Рынок программируемых вентильных матриц достигнет $23,34 млрд к 2030 году". www.grandviewresearch.com . Получено 25.04.2024 .
  16. ^ Дилан Макграт, EE Times , «Аналитик Gartner Dataquest дает заключение о состоянии рынков ASIC и FPGA». 13 июня 2005 г. Получено 5 февраля 2009 г.
  17. ^ "Virtex-4 Family Overview" (PDF) . xilinx.com . Архивировано (PDF) из оригинала 2007-11-22 . Получено 14 апреля 2018 .
  18. ^ Вишневский, Ремигиуш (2009). Синтез композиционных микропрограммных блоков управления программируемых устройств. Зелёна-Гура: Зелёногурский университет. п. 153. ИСБН 978-83-7481-293-1.[ постоянная мертвая ссылка ]
  19. ^ Оклобджия, Воин Г. (2017). Цифровое проектирование и изготовление. CRC Press. ISBN 9780849386046.
  20. ^ "Учебник по целостности сигналов ПЛИС". altium.com . Архивировано из оригинала 2016-03-07 . Получено 2010-06-15 .
  21. ^ NASA: Прочность привода FPGA Архивировано 2010-12-05 на Wayback Machine
  22. ^ Майк Томпсон (2007-07-02). "ПЛИС со смешанными сигналами обеспечивают ЗЕЛЕНУЮ ЭНЕРГИЮ". Проектирование и повторное использование .
  23. ^ Мб, Свами; Вп, Павар (2014-07-31). «ПРОЕКТИРОВАНИЕ СБИС: НОВЫЙ ПОДХОД». Журнал интеллектуальных систем . 4 (1): 60–63. ISSN  2229-7057.
  24. ^ 2. Архитектура CycloneII. Altera. Февраль 2007 г.
  25. ^ "Документация: Устройства Stratix IV" (PDF) . Altera.com. 2008-06-11. Архивировано из оригинала (PDF) 2011-09-26 . Получено 2013-05-01 .
  26. Руководство пользователя ПЛИС Virtex-4 (1 декабря 2008 г.). Xilinx, Inc.
  27. ^ "Xilinx Inc, Форма 8-K, Текущий отчет, Дата подачи 19 октября 2011 г.". secdatabase.com . Получено 6 мая 2018 г. .
  28. ^ "Xilinx Inc, Форма 10-K, Годовой отчет, Дата подачи 31 мая 2011 г.". secdatabase.com . Получено 6 мая 2018 г. .
  29. Дин Такахаши, VentureBeat. «Intel Connection помог стартапу по производству чипов Tabula собрать $108 млн». 2 мая 2011 г. Получено 13 мая 2011 г.
  30. ^ ab Lawrence Latif, The Inquirer. «Производитель FPGA утверждает, что победил закон Мура». 27 октября 2010 г. Получено 12 мая 2011 г.
  31. ^ EDN Europe. "Xilinx принимает пакетную 3D-упаковку. Архивировано 19 февраля 2011 г. на Wayback Machine ". 1 ноября 2010 г. Получено 12 мая 2011 г.
  32. ^ Сабан, Кирк (11 декабря 2012 г.). «Технология межсоединений стекированных кремниевых плат Xilinx обеспечивает прорывную емкость, пропускную способность и энергоэффективность ПЛИС» (PDF) . xilinx.com . Архивировано (PDF) из оригинала 2010-11-05 . Получено 2018-11-30 .
  33. ^ "Intel Custom Foundry EMIB". Intel . Архивировано из оригинала 2015-07-13 . Получено 2015-07-13 .
  34. ^ «Битва за FPGA: VHDL против Verilog! Кто настоящий чемпион?». digilentinc.com . Архивировано из оригинала 2020-12-26 . Получено 2020-12-16 .
  35. ^ "Зачем использовать OpenCL на ПЛИС?". StreamComputing . 2014-09-16. Архивировано из оригинала 2017-01-01 . Получено 2015-07-17 .
  36. ^ ab "Все о ПЛИС". 21 марта 2006 г.
  37. ^ Dillien, Paul (6 марта 2017 г.). "И победителем конкурса Best FPGA 2016 года стал..." EETimes . Архивировано из оригинала 5 января 2019 г. Получено 7 сентября 2017 г.
  38. ^ "Xilinx ISE Design Suite". www.xilinx.com . Получено 2018-12-01 .
  39. ^ "Программное обеспечение для проектирования ПЛИС - Intel Quartus Prime". Intel . Получено 01.12.2018 .
  40. ^ "Tabula's Time Machine — Micro Processor Report" (PDF) . Архивировано из оригинала (PDF) 2011-04-10.
  41. ^ Tabula закрывается; 120 рабочих мест потеряно на заводе по производству чипов Silicon Valley Business Journal
  42. ^ "Intel купит Altera за 16,7 млрд долларов в рамках своей крупнейшей сделки". Reuters . Июнь 2015 г.
  43. ^ «AMD приобретает Xilinx, создавая лидера отрасли высокопроизводительных вычислений». Октябрь 2020 г.
  44. ^ "AMD закрывает рекордную сделку в отрасли производства микросхем, покупая Xilinx на сумму около 50 миллиардов долларов". Reuters . Февраль 2022 г.
  45. ^ "Intel запускает Altera, свою новую независимую компанию FPGA". Intel (пресс-релиз) . Получено 29.02.2024 .
  46. ^ "Achronix будет использовать 22-нм технологию производства Intel". Intel Newsroom (пресс-релиз). 2010-11-01 . Получено 2018-12-01 .[ нужен лучший источник ]
  47. ^ Максфилд, Клайв (16 июня 2004 г.). Руководство для разработчиков ПЛИС. Elsevier Science. ISBN 9780080477138.
  48. ^ "О компании – Cologne Chip" . Получено 2024-02-27 .[ нужен лучший источник ]
  49. ^ "Лучшие компании FPGA в 2013 году". SourceTech411 . 2013-04-28. Архивировано из оригинала 2018-08-24 . Получено 2018-12-01 .
  50. ^ "QuickLogic — Настраиваемые полупроводниковые решения для мобильных устройств". www.quicklogic.com . QuickLogic Corporation . Получено 2018-10-07 .[ нужен лучший источник ]
  51. ^ "Xilinx Inc, Форма 8-K, Текущий отчет, Дата подачи 26 апреля 2006 г.". secdatabase.com . Получено 6 мая 2018 г. .
  52. ^ "Публикации и презентации". bdti.com . Архивировано из оригинала 2010-08-21 . Получено 2018-11-02 .
  53. ^ ЛаПедус, Марк (5 февраля 2007 г.). «Xilinx нацеливает 65-нм ПЛИС на приложения DSP». EETimes .
  54. ^ Алькаин, Эдуардо; Фернандес, Педро Р.; Ньето, Рубен; Монтемайор, Антонио С.; Вилас, Хайме; Галиана-Бордера, Адриан; Мартинес-Хиронес, Педро Мигель; Прието-де-ла-Ластра, Кармен; Родригес-Вила, Борха; Бонет, Марина; Родригес-Санчес, Кристина (15 декабря 2021 г.). «Аппаратные архитектуры для медицинской визуализации в реальном времени». Электроника . 10 (24): 3118. doi : 10.3390/electronics10243118 . ISSN  2079-9292.
  55. ^ Нагорнов, Николай Н.; Ляхов, Павел А.; Валуева, Мария В.; Бергерман, Максим В. (2022). «Ускорители на базе FPGA на основе RNS для высококачественной обработки вейвлетов трехмерных медицинских изображений с использованием масштабированных коэффициентов фильтров». IEEE Access . 10 : 19215–19231. Bibcode : 2022IEEEA..1019215N. doi : 10.1109/ACCESS.2022.3151361 . ISSN  2169-3536. S2CID  246895876.
  56. ^ Морган, Тимоти Прикет (2014-09-03). «Как Microsoft использует ПЛИС для ускорения поиска Bing». Enterprise Tech . Получено 2018-09-18 .
  57. ^ "I-RAM от Gigabyte: доступное твердотельное хранилище". anandtech.com . 2005-07-25 . Получено 2020-12-16 .
  58. ^ "Компания Microsemi представила устройства разработки ПЛИС для радиационно-стойких космических приложений". www.militaryaerospace.com . 2016-06-03 . Получено 2018-11-02 .
  59. ^ "CrypTech: Building Transparency into Cryptography t" (PDF) . Архивировано (PDF) из оригинала 2016-08-07.
  60. ^ Манн, Тобиас (2023-03-08). «Пока Intel XPU задерживаются, вот еще несколько FPGA, чтобы вам помочь». The Register .
  61. ^ Лебер, Кристиан; Гейб, Бенджамин; Литц, Хайнер (сентябрь 2011 г.). Ускорение высокочастотной торговли с использованием ПЛИС. Международная конференция по программируемой логике и приложениям. IEEE. doi :10.1109/FPL.2011.64.
  62. ^ "Программно-определяемая радиосвязь и JTRS". Военная авиация и космонавтика . 2004-12-01 . Получено 2024-01-17 .
  63. ^ Хаффмайер, Тед; Бразертон, Бретт; Шервуд, Тимоти; Кастнер, Райан; Левин, Тимоти; Нгуен, Туй Д.; Ирвин, Синтия (2008). «Управление безопасностью встраиваемых систем на базе ПЛИС». IEEE Design & Test of Computers . 25 (6): 590–598. doi :10.1109/MDT.2008.166. hdl : 10945/7159 . S2CID  115840.
  64. ^ Бабаи, Армин; Шиле, Грегор; Зонер, Майкл (2022-07-26). «Реконфигурируемая архитектура безопасности (RESA) на основе PUF для устройств Интернета вещей на базе FPGA». Датчики . 22 (15): 5577. Bibcode : 2022Senso..22.5577B. doi : 10.3390/s22155577 . ISSN  1424-8220. PMC 9331300. PMID 35898079  . 
  65. ^ "EETimes на PUF: Функции безопасности для неспециалистов по безопасности – Intrinsic ID". Intrinsic ID . 2015-06-09. Архивировано из оригинала 2015-07-13 . Получено 2015-07-12 .
  66. ^ Скоробогатов, Сергей; Вудс, Кристофер (2012). «Прорывное сканирование кремния обнаруживает бэкдор в военном чипе». Криптографическое оборудование и встраиваемые системы – CHES 2012. Конспект лекций по информатике. Том 7428. С. 23–40. doi :10.1007/978-3-642-33027-8_2. ISBN 978-3-642-33026-1.
  67. ^ Куон, Ян; Роуз, Джонатан (2006). "Измерение разрыва между ПЛИС и ASIC" (PDF) . Труды международного симпозиума по программируемым пользователем вентильным матрицам – FPGA'06 . Нью-Йорк, Нью-Йорк: ACM. стр. 21–30. doi :10.1145/1117201.1117205. ISBN 1-59593-292-5. Архивировано из оригинала (PDF) 2010-06-22 . Получено 2017-10-25 .
  68. ^ Кутресс, Ян (27 августа 2019 г.). «Xilinx анонсирует самую большую в мире ПЛИС: Virtex Ultrascale+ VU19P с 9 млн ячеек». AnandTech .
  69. ^ "AN 818: Учебное пособие по частичной реконфигурации статического обновления: для платы разработки Intel Stratix 10 GX FPGA". www.intel.com . Получено 01.12.2018 .
  70. ^ "Могут ли ПЛИС динамически изменять свою логику?". Electrical Engineering Stack Exchange . Получено 2018-12-01 .
  71. ^ «CPLD против FPGA: различия между ними и какой из них использовать? – Справочный центр Numato Lab». numato.com . 2017-11-29.

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

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