Программируемая вентильная матрица - Википедия - Field-programmable gate array

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

Спартанская ПЛИС от Xilinx

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

Технический дизайн

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

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

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

История

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

Альтера была основана в 1983 году и в 1984 году представила первое в отрасли программируемое логическое устройство - EP300 - с кварцевым окном в корпусе, которое позволяло пользователям направлять ультрафиолетовую лампу на кристалл, чтобы стереть EPROM ячейки, в которых хранится конфигурация устройства.[9] В декабре 2015 г. Intel приобрел альтера.

Xilinx соучредители Росс Фриман и Бернард Вондершмитт изобрел первый коммерчески жизнеспособный программируемый массив ворот в 1985 году - XC2064.[10] XC2064 имел программируемые шлюзы и программируемые межсоединения между воротами, что положило начало новой технологии и рынку.[11] XC2064 имел 64 конфигурируемых логических блока (CLB) с двумя трехвходовыми блоками. таблицы поиска (LUT).[12] Более чем 20 лет спустя Фриман вошел в Национальный зал славы изобретателей за его изобретение.[13][14]

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

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

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

Такие компании, как Microsoft, начали использовать FPGA для ускорения высокопроизводительных вычислительно-ресурсоемких систем (например, дата-центры которые управляют своими Поисковая система Bing ), из-за производительность на ватт преимущество ПЛИС.[17] Microsoft начала использовать FPGA для ускоряться Bing в 2014 г., а в 2018 г. начал развертывание ПЛИС в других рабочих нагрузках ЦОД для своих Лазурь облачные вычисления Платформа.[18]

Интеграция

В 2012 году крупнозернистый архитектурный подход был сделан еще на шаг вперед, объединив логические блоки и соединения традиционных FPGA со встроенными микропроцессоры и сопутствующие периферийные устройства, чтобы сформировать полный "система на программируемом чипе Эта работа отражает архитектуру, созданную Роном Перлоффом и Хананом Поташем из Burroughs Advanced Systems Group в 1982 году, которая объединила реконфигурируемый Архитектура процессора на одном чипе под названием SB24.[19]

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

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

Мягкое ядро

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

Сроки

Ворота

  • 1987: 9000 ворот, Xilinx[11]
  • 1992: 600 000, Управление надводных войск ВМФ[8]
  • Начало 2000-х: миллионы[16]
  • 2013: 50 миллионов, Xilinx[22]

Размер рынка

  • 1985: Первая коммерческая FPGA: Xilinx XC2064[10][11]
  • 1987 год: 14 миллионов долларов[11]
  • ≈1993:> 385 миллионов долларов[11]
  • 2005: 1,9 миллиарда долларов[23]
  • Оценка на 2010 год: 2,75 миллиарда долларов[23]
  • 2013: 5,4 миллиарда долларов[24]
  • Оценка на 2020 год: 9,8 миллиарда долларов[24]

Дизайн начинается

А начало проектирования - это новый нестандартный дизайн для реализации на ПЛИС.

Сравнения

К ASIC

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

В последнее время такие ПЛИС, как Xilinx Virtex-7 или Альтера Stratix 5 конкурирует с соответствующими ASIC и ASSP («стандартная часть для конкретного приложения», такая как автономный интерфейсный чип USB[27]) решений, предоставляя значительно сокращенные Энергопотребление, повышенная скорость, более низкая стоимость материалов, минимальная площадь внедрения и расширенные возможности для изменения конфигурации «на лету». Проект, включающий от 6 до 10 ASIC, теперь может быть реализован с использованием только одной FPGA.[28]

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

Тенденции

Xilinx заявила, что с февраля 2009 года несколько рыночных и технологических процессов меняют парадигму ASIC / FPGA:[30]

Эти тенденции делают FPGA лучшей альтернативой, чем ASIC, для большего количества приложений с большим объемом, чем они были исторически использованы, и компания связывает с этим растущее число запусков проектирования FPGA (см. § История ).[30]

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

Комплексные программируемые логические устройства (CPLD)

Основные различия между сложные программируемые логические устройства (CPLD) и FPGA архитектурный. CPLD имеет сравнительно ограниченную структуру, состоящую из одного или нескольких программируемых сумма произведений логические массивы, питающие относительно небольшое количество тактовых регистры. В результате CPLD менее гибки, но имеют преимущество более предсказуемой временные задержки и более высокое соотношение логики и межсоединения.[нужна цитата ] С другой стороны, в архитектурах FPGA преобладают соединять. Это делает их гораздо более гибкими (с точки зрения диапазона проектов, которые практически можно реализовать на них), но также гораздо более сложными для проектирования или, по крайней мере, требующими более сложных автоматизация проектирования электроники (EDA) программное обеспечение.

На практике разница между ПЛИС и CPLD часто заключается в размере, поскольку FPGA обычно намного больше с точки зрения ресурсов, чем CPLD. Обычно только ПЛИС содержат более сложные встроенные функции Такие как сумматоры, множители, объем памяти, и сериализатор / десериализаторы. Еще одно общее отличие состоит в том, что CPLD содержат встроенные флэш-память для хранения своей конфигурации, в то время как FPGA обычно требуют внешнего энергонезависимая память (но не всегда).

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

Соображения безопасности

FPGA имеют как преимущества, так и недостатки по сравнению с ASIC или защищенными микропроцессорами, в том что касается: аппаратная безопасность. Гибкость ПЛИС вносит злонамеренные изменения во время изготовление меньший риск.[34] Ранее для многих ПЛИС конструкция битовый поток был открыт, пока ПЛИС загружает его из внешней памяти (обычно при каждом включении). Все основные поставщики ПЛИС теперь предлагают разработчикам широкий спектр решений безопасности, таких как битовый поток. шифрование и аутентификация. Например, Альтера и Xilinx предлагает AES шифрование (до 256 бит) для битовых потоков, хранящихся во внешней флэш-памяти.

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

Благодаря своим ПЛИС и SoC Stratix 10, Альтера представила диспетчер защищенных устройств и функции, которые нельзя клонировать физически, чтобы обеспечить высокий уровень защиты от физических атак.[35]

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

Приложения

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

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

Еще одна тенденция использования ПЛИС - аппаратное ускорение, где можно использовать FPGA для ускорения определенных частей алгоритма и совместно использовать часть вычислений между FPGA и общим процессором.[2] Поисковая машина Bing известна тем, что в 2014 году применила ускорение FPGA для своего алгоритма поиска.[40] По состоянию на 2018 год, ПЛИС все чаще используются как Ускорители ИИ включая так называемый Microsoft Project Catapult[18] и для ускорения искусственные нейронные сети за машинное обучение Приложения.

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

Компания Гигабайт создали карту i-RAM, в которой использовалась ПЛИС Xilinx, хотя изготовленный на заказ чип был бы дешевле, если бы его производили в больших количествах. ПЛИС была выбрана для быстрого вывода ее на рынок, и первоначальный выпуск должен был составить всего 1000 единиц, что сделало ПЛИС лучшим выбором. Это устройство позволяет людям использовать оперативную память компьютера в качестве жесткого диска. [41]

Общие приложения

Архитектура

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

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

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

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

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

Как правило, логический блок состоит из нескольких логических ячеек (называемых ALM, LE, срез и т. Д.). Типичная ячейка состоит из LUT с 4 входами.[временное ограничение? ], а полный сумматор (FA) и Шлепанцы типа D, как показано выше. LUT на этом рисунке разделены на две LUT с 3 входами. В нормальный режим они объединены в LUT с 4 входами через левую мультиплексор (мультиплексор). В арифметика в режиме, их выходы подаются на сумматор. Выбор режима программируется в среднем мультиплексоре. Выход может быть либо синхронный или же асинхронный, в зависимости от программирования мультиплексора справа, в примере на рисунке. На практике весь сумматор или его части хранится как функции в LUT, чтобы сэкономить Космос.[44][45][46]

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

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

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

Синхронизация

Большая часть схем, встроенных в ПЛИС, является синхронной схемой, которая требует тактового сигнала. ПЛИС содержат выделенные глобальные и региональные сети маршрутизации для синхронизации и сброса, поэтому их можно доставить с минимальными затратами. перекос. Кроме того, ПЛИС обычно содержат аналоговые ФАПЧ и / или петля с задержкой компоненты для синтеза новых тактовые частоты а также ослабить дрожь. Сложные конструкции могут использовать несколько часов с разными частотными и фазовыми соотношениями, каждый из которых формирует отдельные часы домены. Эти тактовые сигналы могут генерироваться локально генератором или могут быть восстановлены из высокоскоростного последовательного потока данных. Необходимо соблюдать осторожность при строительстве пересечение домена часов схемы, чтобы избежать метастабильность. ПЛИС обычно содержат блочные ОЗУ, которые могут работать как двухпортовая RAM с разными часами, помогая в строительстве здания ФИФО и двухпортовые буферы, которые соединяют разные тактовые домены.

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

Чтобы уменьшить размер и потребляемую мощность ПЛИС, такие поставщики, как Табула и Xilinx представили 3D или многослойная архитектура.[47][48] После введения своего 28 нм Компания Xilinx сообщила, что несколько деталей с самой высокой плотностью в этой линейке продуктов FPGA будут сконструированы с использованием нескольких матриц в одном корпусе с использованием технологии, разработанной для трехмерной конструкции, и сборок с набором кристаллов.

Подход Xilinx объединяет несколько (три или четыре) активных кристалла FPGA рядом на кремнии. посредник - цельный кремний, несущий пассивное межблочное соединение.[48][49] Конструкция с несколькими кристаллами также позволяет создавать разные части ПЛИС с использованием различных технологий обработки, поскольку требования к процессу различаются для самой матрицы ПЛИС и высокоскоростных последовательных трансиверов 28 Гбит / с. Построенная таким образом ПЛИС называется неоднородный FPGA.[50]

Гетерогенный подход Altera включает использование одного монолитного кристалла ПЛИС и подключение других кристаллов / технологий к ПЛИС с использованием технологии встроенного моста межсоединений с несколькими кристаллами (EMIB) Intel.[51]

Дизайн и программирование

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

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

Наиболее распространенные ЛПВП: VHDL и Verilog а также такие расширения, как SystemVerilog. Однако в попытке уменьшить сложность проектирования на HDL, которые сравнивают с эквивалентом языки ассемблера, есть ходы[кем? ] поднять уровень абстракции за счет введения альтернативные языки. Национальные инструменты ' LabVIEW Графический язык программирования (иногда называемый «G») имеет дополнительный модуль FPGA, доступный для целевого программирования и программирования оборудования FPGA. Verilog был создан, чтобы упростить процесс, сделав HDL более надежным и гибким. Verilog в настоящее время является самым популярным. Verilog создает уровень абстракции, чтобы скрыть детали его реализации. Verilog имеет синтаксис, подобный C, в отличие от VHDL. [52]

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

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

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

Основные виды технологического процесса

  • SRAM - на основе технологии статической памяти. Программируемый и перепрограммируемый внутри системы. Требуются внешние загрузочные устройства. CMOS. В настоящее время используется.[когда? ] В частности, флэш-память или же EEPROM устройства могут часто загружать содержимое во внутреннюю SRAM, которая управляет маршрутизацией и логикой.
  • Предохранитель - Одноразовый программируемый. Биполярный. Устаревший.
  • Антифуз - Одноразовый программируемый. CMOS.
  • ВЫПУСКНОЙ ВЕЧЕР - Технология программируемой постоянной памяти. Одноразовое программирование из-за пластиковой упаковки. Устаревший.
  • EPROM - Технология стираемой программируемой памяти только для чтения. Одноразовый программируемый, но с окном, стирается в ультрафиолетовом (УФ) свете. CMOS. Устаревший.
  • EEPROM - Технология электрически стираемой программируемой памяти только для чтения. Можно стирать даже в пластиковых упаковках. Некоторые, но не все устройства EEPROM можно программировать в системе. CMOS.
  • Вспышка - Технология Flash-Erase EPROM. Можно стирать даже в пластиковых упаковках. Некоторые, но не все флеш-устройства можно программировать в системе. Обычно ячейка флэш-памяти меньше, чем эквивалентная ячейка EEPROM, и поэтому дешевле в производстве. CMOS.

Основные производители

В 2016 году давние соперники отрасли Xilinx (теперь AMD) и Альтера (теперь Intel дочернее предприятие ) были лидерами на рынке ПЛИС.[54] В то время они контролировали почти 90 процентов рынка.

Оба Xilinx[заметка 3] и Альтера[примечание 4] предоставлять проприетарный автоматизация проектирования электроники программное обеспечение для Windows и Linux (ISE /Вивадо и Quartus ), что позволяет инженерам дизайн, анализировать, моделировать, и синтезировать (компилировать ) свои конструкции.[55][56]

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

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

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

27 октября 2020 года AMD объявила о приобретении Xilinx.[63]

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

Примечания

  1. ^ Называется конфигурируемым логическим блоком (CLB) или блоком логического массива (LAB), в зависимости от поставщика.
  2. ^ а б Для получения дополнительной информации см. маршрутизация в автоматизации проектирования электроники, как часть место и маршрут этап изготовления интегральной схемы.
  3. ^ сейчас AMD
  4. ^ теперь Intel

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

  1. ^ а б c «Архитектура ПЛИС для сложных задач». toronto.edu. Университет Торонто.
  2. ^ а б c "Обзор ускорителей на базе FPGA для сверточных нейронных сетей ", С. Миттал, NCAA, 2018
  3. ^ Симпсон, П. (2015). Проектирование ПЛИС, Лучшие практики для коллективного повторного использования, 2-е издание. Швейцария: Springer International Publishing AG. п. 16. ISBN  978-3-319-17924-7.
  4. ^ Вишневский, Ремигиуш (2009). Синтез композиционных микропрограммных блоков управления программируемыми устройствами.. Зелена-Гура: Зелена-Гурский университет. п. 153. ISBN  978-83-7481-293-1.
  5. ^ "Учебное пособие по целостности сигнала FPGA". altium.com. Архивировано из оригинал на 2016-03-07. Получено 2010-06-15.
  6. ^ НАСА: мощность привода ПЛИС В архиве 2010-12-05 на Wayback Machine
  7. ^ Майк Томпсон. «ПЛИС со смешанными сигналами обеспечивают ЗЕЛЕНУЮ МОЩНОСТЬ».EE Times, 2007-07-02.
  8. ^ а б c «История ПЛИС». Архивировано из оригинал 12 апреля 2007 г.. Получено 2013-07-11.
  9. ^ "В начале". altera.com. 21 апреля 2015.
  10. ^ а б «XCELL выпуск 32» (PDF). Xilinx.
  11. ^ а б c d е ж Финансирование Вселенной. «Xilinx, Inc. Проверено 15 января 2009 г.
  12. ^ Клайв Максфилд, Programmable Logic DesignLine, "Xilinx представляет революционную 65-нм архитектуру FPGA: семейство Virtex-5. 15 мая 2006 г. Проверено 5 февраля 2009 г.
  13. ^ Пресс-релиз, "Соучредитель Xilinx Росс Фриман удостоен звания призывника Национального Зала славы изобретателей в 2009 году за изобретение FPGA В архиве 2016-10-06 на Wayback Machine "
  14. ^ США 4870302, Фриман, Росс Х., "Конфигурируемая электрическая схема, имеющая конфигурируемые логические элементы и конфигурируемые межсоединения", опубликовано 19 февраля 1988 г., выпущено 26 сентября 1989 г. 
  15. ^ «Лучшие компании-производители FPGA за 2013 год». sourcetech411.com. 2013-04-28.
  16. ^ а б Максфилд, Клайв (2004). Руководство Design Warrior по FPGA: устройства, инструменты и потоки. Эльзевир. п. 4. ISBN  978-0-7506-7604-5.
  17. ^ «Microsoft усиливает поиск Bing с помощью программируемых чипов». ПРОВОДНОЙ. 16 июня 2014 г.
  18. ^ а б «Проект Катапульта». Microsoft Research. Июль 2018 г.
  19. ^ [1], "Цифровое устройство с межкомпонентной матрицей", выдано 29 сентября 1981 
  20. ^ «Xilinx Inc, форма 8-K, текущий отчет, дата подачи 19 октября 2011 г.». secdatabase.com. Получено 6 мая, 2018.
  21. ^ «Xilinx Inc, форма 10-K, годовой отчет, дата подачи 31 мая 2011 г.». secdatabase.com. Получено 6 мая, 2018.
  22. ^ Максфилд, Макс. «ПЛИС Xilinx UltraScale предлагает 50 миллионов эквивалентных шлюзов ASIC». www.eetimes.com. EE Times.
  23. ^ а б Дилан МакГрат, EE Times, "Рынок FPGA превысит 2,7 миллиарда долларов к '10, сообщает In-Stat ". 24 мая, 2006. Проверено 5 февраля, 2009.
  24. ^ а б «Глобальный анализ рынка FPGA и прогнозы сегментов до 2020 года - отрасль FPGA, перспективы, размер, применение, продукт, доля, перспективы роста, ключевые возможности, динамика, тенденции, анализ, отчет FPGA - Grand View Research Inc.». grandviewresearch.com.
  25. ^ Дилан МакГрат, EE Times, "Аналитик Gartner Dataquest представил ASIC и FPGA Markets Clean Bill of Health ". 13 июня, 2005. Проверено 5 февраля, 2009.
  26. ^ «Обзор семейства Virtex-4» (PDF). xilinx.com. Получено 14 апреля 2018.
  27. ^ «ASIC, ASSP, SoC, FPGA - в чем разница?». eetimes.com.
  28. ^ Куон, Ян; Роза, Джонатан (2006). «Измерение разрыва между FPGA и ASIC» (PDF). Материалы международного симпозиума по программируемым вентильным матрицам - FPGA'06. Нью-Йорк, штат Нью-Йорк: ACM. С. 21–30. Дои:10.1145/1117201.1117205. ISBN  1-59593-292-5.
  29. ^ https://www.anandtech.com/show/14798/xilinx-announces-world-largest-fpga-virtex-ultrascale-vu19p-with-9m-cells
  30. ^ а б Тим Эрджавек, Белая книга "Представляем платформу целевого проектирования Xilinx: выполнение программируемого императива В архиве 2009-02-06 в Wayback Machine. "2 февраля 2009 г. Проверено 2 февраля 2009 г.
  31. ^ "AN 818: Учебное пособие по частичному изменению конфигурации статического обновления: для платы разработки Intel Stratix 10 GX FPGA". www.intel.com. Получено 2018-12-01.
  32. ^ «Могут ли ПЛИС динамически изменять свою логику?». Обмен электротехнического стека. Получено 2018-12-01.
  33. ^ «CPLD против FPGA: различия между ними и какой из них использовать? - Справочный центр Numato Lab». numato.com. 2017-11-29.
  34. ^ Хаффмайр, Тед; Brotherton, Бретт; Шервуд, Тимоти; Кастнер, Райан; Левин, Тимофей; Nguyen, Thuy D .; Ирвин, Синтия (2008). «Управление безопасностью в встроенных системах на базе FPGA». Дизайн и тестирование компьютеров IEEE. 25 (6): 590–598. Дои:10.1109 / MDT.2008.166. S2CID  115840.
  35. ^ «EETimes на PUF: функции безопасности для экспертов, не связанных с безопасностью - внутренний идентификатор». Внутренний идентификатор. 2015-06-09.
  36. ^ Скоробогатов, Сергей; Вудс, Кристофер (2012). «Прорыв в сканировании кремния обнаруживает бэкдор в военном чипе». Криптографическое оборудование и встроенные системы - CHES 2012. Конспект лекций по информатике. 7428. С. 23–40. Дои:10.1007/978-3-642-33027-8_2. ISBN  978-3-642-33026-1.
  37. ^ «Xilinx Inc, форма 8-K, текущий отчет, дата подачи 26 апреля 2006 г.». secdatabase.com. Получено 6 мая, 2018.
  38. ^ «Публикации и презентации». bdti.com. Архивировано из оригинал на 21.08.2010. Получено 2018-11-02.
  39. ^ Лапедус, Марк. «Xilinx нацеливает 65-нм FPGA на приложения DSP». EETimes.
  40. ^ Морган, Тимоти Прикет (03.09.2014). «Как Microsoft использует FPGA для ускорения поиска Bing». Корпоративные технологии. Получено 2018-09-18.
  41. ^ «I-RAM от Gigabyte: доступное твердотельное хранилище». anandtech.com. 2005-07-25. Получено 2020-12-16.
  42. ^ «Устройства разработки FPGA для радиационно-стойких космических приложений, представленные Microsemi». www.m militaryaerospace.com. 2016-06-03. Получено 2018-11-02.
  43. ^ а б «CrypTech: обеспечение прозрачности криптографии t» (PDF).
  44. ^ 2. Архитектура CycloneII. Альтера. Февраль 2007 г.
  45. ^ «Документация: устройства Stratix IV» (PDF). Altera.com. 2008-06-11. Архивировано из оригинал (PDF) на 2011-09-26. Получено 2013-05-01.
  46. ^ Руководство пользователя Virtex-4 FPGA (1 декабря 2008 г.). Xilinx, Inc.
  47. ^ Дин Такахаши, VentureBeat. "Соединение с Intel помогло стартапу Tabula собрать 108 миллионов долларов. "2 мая 2011 г. Проверено 13 мая 2011 г.
  48. ^ а б Лоуренс Латиф, Исследователь. "Производитель ПЛИС утверждает, что нарушил закон Мура. »27 октября 2010 г. Проверено 12 мая 2011 г.
  49. ^ EDN Europe. "Xilinx применяет трехмерную упаковку с многослойными матрицами. "1 ноября 2010 г. Проверено 12 мая 2011 г.
  50. ^ Сабан, Кирк (11 декабря 2012 г.). «Технология стековых кремниевых межсоединений Xilinx обеспечивает революционные возможности, пропускную способность и энергоэффективность FPGA» (PDF). xilinx.com. Получено 2018-11-30.
  51. ^ "Intel Custom Foundry EMIB". Intel.
  52. ^ «Битва за FPGA: VHDL против Verilog! Кто настоящий чемпион?». digilentinc.com. Получено 2020-12-16.
  53. ^ «Зачем использовать OpenCL на ПЛИС?». StreamComputing. 2014-09-16.
  54. ^ Диллиен, Пол (6 марта 2017 г.). «И победителем в номинации« Лучшая ПЛИС 2016 года »стала ...» EETimes. Архивировано из оригинал 5 января 2019 г.. Получено 7 сентября, 2017.
  55. ^ "Xilinx ISE Design Suite". www.xilinx.com. Получено 2018-12-01.
  56. ^ «Программное обеспечение для проектирования ПЛИС - Intel® Quartus® Prime». Intel. Получено 2018-12-01.
  57. ^ «Лучшие компании-производители FPGA за 2013 год». ИсточникTech411. 2013-04-28. Получено 2018-12-01.
  58. ^ «QuickLogic - настраиваемые полупроводниковые решения для мобильных устройств». www.quicklogic.com. QuickLogic Corporation. Получено 2018-10-07.
  59. ^ «Achronix использует 22-нм производственные технологии Intel». Отдел новостей Intel. 2010-11-01. Получено 2018-12-01.
  60. ^ "Машина времени Табулы - Отчет микропроцессора" (PDF). Архивировано из оригинал (PDF) на 2011-04-10.
  61. ^ Табула выключить; 120 рабочих мест потеряно в компании по производству чипов fabless Деловой журнал Кремниевой долины
  62. ^ «Intel купит Altera за 16,7 млрд долларов в рамках своей крупнейшей сделки». Рейтер. Июнь 2015 г.
  63. ^ «AMD приобретает Xilinx, став лидером в отрасли высокопроизводительных вычислений». Октябрь 2020.

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

  • Sadrozinski, Hartmut F.-W .; У, Цзиньюань (2010). Применение программируемых вентильных матриц в научных исследованиях. Тейлор и Фрэнсис. ISBN  978-1-4398-4133-4.
  • Вирт, Никлаус (1995). Введение в разработку цифровых схем. Springer. ISBN  978-3-540-58577-0.
  • Митра, Джубин (2018). "An FPGA-Based Phase Measurement System". Транзакции IEEE в системах с очень крупномасштабной интеграцией (СБИС). IEEE. 26: 133–142. Дои:10.1109/TVLSI.2017.2758807. S2CID  4920719.
  • Mencer, Oskar et al. (2020). "The history, status, and future of FPGAs". Коммуникации ACM. ACM. Vol. 63, No. 10. doi:10.1145/3410669

внешняя ссылка