Программируемые логические интегральные схемы (FPGA) лежат в основе самых передовых электронных систем современности. К ним относятся интернет-маршрутизаторы, беспроводные базовые станции, медицинские сканеры и некоторые инструменты искусственного интеллекта. Эти микросхемы с внутренними аппаратными цепями можно перепрограммировать после изготовления, что открывает новые возможности для разработчиков.
12 марта в кампусе компании Advanced Micro Devices в Сан-Хосе (Калифорния) — бывшей штаб-квартире Xilinx и колыбели этой технологии — была установлена памятная табличка IEEE Milestone, посвящённая первой FPGA. Это признание подчёркивает революционность изобретения, которое изменило подход к проектированию полупроводников.
FPGA получила статус Milestone за то, что впервые ввела итеративность в разработку аппаратного обеспечения. Инженеры получили возможность многократно перепроектировать аппаратную часть без необходимости выпуска новых чипов. Это не только снизило риски разработки, но и ускорило внедрение инноваций в условиях стремительного роста стоимости полупроводников.
Церемония, организованная IEEE Santa Clara Valley Section, собрала ведущих специалистов полупроводниковой индустрии и представителей IEEE. В числе спикеров выступил Стивен Тримбергер, член IEEE и ACM, чьи технические разработки легли в основу современной архитектуры FPGA. Он отметил, что изобретение позволило создать аппаратное обеспечение с программной гибкостью.
Как FPGA решает проблему баланса гибкости и производительности
FPGA появились в 1980-х годах как ответ на ключевое ограничение в вычислительной технике. Микропроцессоры выполняют программные инструкции последовательно, что делает их гибкими, но иногда слишком медленными для задач, требующих одновременного выполнения множества операций.
С другой стороны, специализированные интегральные схемы (ASIC) разрабатываются для выполнения строго определённых задач. Они обеспечивают высочайшую производительность, но требуют длительных циклов разработки и значительных единовременных затрат на проектирование и подготовку производства. Эти расходы включают создание топологии чипа, изготовление фотошаблонов для оборудования и настройку производственных линий для работы с микроскопическими схемами.
«ASIC может обеспечить наивысшую производительность, но цикл разработки очень долгий, а единовременные затраты могут быть чрезвычайно высокими», — отмечает Джейсон Конг, член IEEE и профессор компьютерных наук в Калифорнийском университете в Лос-Анджелесе. «FPGA занимает золотую середину между микропроцессорами и заказными микросхемами».
Работы Кона в области автоматизации проектирования FPGA и высокоуровневого синтеза стали фундаментом для программирования перестраиваемых систем. Он разработал инструменты синтеза, которые преобразуют код на C/C++ в аппаратные описания.
В основе его исследований лежит принцип, впервые сформулированный инженером-электронщиком Россом Фрименом: FPGA сочетают скорость аппаратного обеспечения с адаптивностью, традиционно присущей программному обеспечению, за счёт использования программируемой памяти, встроенной в чип.
Рождение FPGA: как всё начиналось
Архитектура FPGA зародилась в середине 1980-х годов в компании Xilinx, основанной в 1984 году в Кремниевой долине. Изобретение обычно приписывают Россу Фримену, одному из основателей Xilinx и её техническому директору. Он предложил революционную идею: создать чип,whose circuitry could be configured after fabrication rather than fixed permanently during creation.
Исторические статьи о FPGA подчёркивают, что Фримен видел в этом deliberate break от традиционного подхода к проектированию микросхем. В то время инженеры-полупроводники относились к транзисторам как к дефицитному ресурсу. Заказные чипы тщательно оптимизировались, чтобы каждый транзистор выполнял строго определённую функцию.
Фримен предложил принципиально иной подход. Он предвидел, что закон Мура изменит экономику производства чипов. Согласно этому принципу, количество транзисторов на кристалле удваивается примерно каждые два года, что делает вычислительные мощности дешевле и доступнее. Фримен предположил, что по мере увеличения количества транзисторов их можно будет использовать не для оптимизации существующих схем, а для создания более гибких и перестраиваемых решений.