Что такое ПЛИС?

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

Если вы когда-либо читали об эмуляции ретро-игр, возможно, вы сталкивались с полупроводниковым типом, называемым программируемой вентильной матрицей (FPGA). Это специальные интегральные схемы, которые могут переконфигурироваться после изготовления благодаря настраиваемым логическим блокам (CLB). Другими словами, вы можете перепрограммировать чипсет, чтобы он действовал как любой другой тип цифровой схемы, который имеет множество применений в области искусственного интеллекта, проектирования чипсетов и других областях.

FPGA имеют множество вариантов использования, и такие устройства, как Analogue Pocket, используют их для поддержки различных портативных устройств. Однако Microsoft также использует FPGA для работы Bing, поскольку это позволяет компании быстро перепрограммировать их для поддержки новых алгоритмов по мере их разработки.

FPGA против традиционных процессоров: в чем разница?

В отличие от стандартного чипсета — Snapdragon 8 Gen 2Например, FPGA не предназначена для перепрограммирования в полевых условиях. Это система на кристалле (SoC), состоящая из нескольких частей, включая графический процессор, NPU и процессор. Как только он будет отправлен, это то, что получат потребители и предприятия.

Однако FPGA должны быть гибкими, чтобы пользователь мог менять части чипа без каких-либо дополнительных затрат или рисков. В быстро развивающихся отраслях, таких как производство беспилотных автомобилей, новые правила и стандарты могут быть введены в любое время для любого аспекта устройства. Использование FPGA может позволить OTA-обновлению перепрограммировать чип для поддержки новых стандартов.

Одно большое различие между FPGA и традиционными процессорами заключается в том, что они предназначены для параллельной обработки данных, но при этом имеют гораздо более низкую тактовую частоту. Например, ПЛИС с 10 конвейерами обработки данных может выполнять операции умножения двух чисел для каждого конвейера, умножая 20 чисел за цикл. Традиционный процессор может умножать два числа за цикл, на каждое ядро ​​и в последовательном порядке.

Как FPGA работают для эмуляции?

FPGA часто используются для аппаратной эмуляции, и интересной частью процесса проектирования чипсета является использование FPGA для эмуляции различных частей SoC при тестировании. Разработчики наборов микросхем могут использовать несколько FPGA для создания прототипа интегральной схемы специального назначения (ASIC). Язык описания оборудования (HDL) используется для создания аппаратного обеспечения, и этот язык сообщает FPGA, как ему организовать себя. В случае с Analogue Pocket эти конструкции распространяются в виде «ядер», обычно написанных на Verilog, и пользователи могут загрузить ядро, чтобы подготовить карманный компьютер к конкретным консолям.

Например, Analogue Pocket может считывать игры Game Boy прямо в слоте для картриджа и играть в них, как если бы это была оригинальная консоль. Мало того, адаптеры картриджей также обеспечивают дополнительную поддержку других устройств, таких как Game Gear, Atari Lynx и других. Это возможно только благодаря перепрограммируемой природе FPGA, которая использует аппаратную эмуляцию вместо программной эмуляции, чтобы гарантировать возможность воспроизведения игр. MiSTer (который использует плату DE-10 Nano FPGA в качестве основы и требует дополнительных модулей поверх нее) похож тем, что его можно использовать для эмуляции таких консолей, как SNES, Sega Genesis и даже ГеймКуб. Аппаратная эмуляция, как правило, более точна, чем программная, но при этом обеспечивает преимущества в производительности.

Хотя оборудование стареет и со временем может стать ненадежным, FPGA можно просто перепрограммировать для имитации того же самого оборудования.

Конечно, это не означает, что ядра являются идеальной HDL-интерпретацией набора микросхем. Они подходят довольно близко, но со временем в ядра вносятся исправления и улучшения для устранения проблем, которые могут быть обнаружены при обычном использовании. Эти ядра создаются путем обратного проектирования чипсетов, входящих в состав этих устройств, и требуют сопоставления каждого компонента на материнской плате. В случае с собственными чипсетами все становится еще сложнее: разработчикам часто приходится видеть «незакрытый» чип с микроскопом, чтобы увидеть, что именно происходит внутри чипа, и воспроизвести это.

Вот почему FPGA также важны для сохранности оборудования. Хотя оборудование стареет и со временем может стать ненадежным, FPGA можно просто перепрограммировать для имитации того же самого оборудования. Чип перестроит свою собственную физическую логику внутри себя, чтобы она соответствовала любому заданному ему ядру. Экосистема openFPGA призвана помочь в сохранении этого оборудования.

Вдобавок ко всему, вы получаете дополнительное преимущество, играя в эти игры вполне законно, но на более качественном оборудовании. Вы можете приобрести Analogue Pocket за 220 долларов и играть в игры для Game Boy так же, как и раньше, но с более высоким качеством сборки, лучшим экраном и даже поддержкой док-станции.

Недостатки FPGA

DE-10 Nano для сборки MiSTer FPGA

Однако есть несколько недостатков. Во-первых, они занимают гораздо больше места, чем традиционные процессоры, а также значительно дороже в производстве. Такие устройства, как Analogue Pocket и MiSTer FPGA, стоят больших денег, причем последнее обойдется вам более чем в 500 долларов, если вы также приобретете несколько дополнений. Большинство людей просто предпочли бы эмулировать игры на своих смартфонах или компьютерах и не заботятся о идеальной точности, которую обеспечивает эмуляция на аппаратном уровне.

Конечно, FPGA также находятся в зачаточном состоянии, связанном с потребителями, и их популярность в последние годы только растет. На самом деле они уже давно используются в профессиональных целях учёными, разработчиками чипсетов, ИИ и т.п., но только в последние годы появились потребительские устройства, которые можно использовать более повседневно или для энтузиастов.

Для большинства людей, желающих заняться эмуляцией, удобство специального устройства, гарантирующего Реалистичный опыт заманчив, но это не то, что всем нужно или даже волнует. Лично я, если хочу поиграть в такую ​​игру, как Super Mario Bros, буду рад просто играть в нее на своем телефоне в дороге. Мне не нужно для этого специальное устройство, но я понимаю привлекательность его наличия.