Was sind FPGAs?

Field Programmable Gate Arrays klingen kompliziert, aber sie eröffnen Entwicklern eine völlig neue Welt.

Wenn Sie sich jemals mit Retro-Gaming-Emulation beschäftigt haben, sind Sie vielleicht auf einen Halbleitertyp gestoßen, der als Field-Programmable Gate Array (FPGA) bezeichnet wird. Hierbei handelt es sich um spezielle integrierte Schaltkreise, die sich dank konfigurierbarer Logikblöcke (CLB) nach der Herstellung selbst neu konfigurieren können. Mit anderen Worten: Sie können den Chipsatz grundsätzlich so umprogrammieren, dass er wie jede andere Art digitaler Schaltung fungiert, die vielfältige Anwendungen in der KI, dem Chipsatzdesign und anderen Bereichen bietet.

FPGAs haben viele Anwendungsfälle und Geräte wie das Analogue Pocket nutzen sie, um verschiedene Handheld-Geräte zu unterstützen. Allerdings nutzt Microsoft auch FPGAs, um Bing zu betreiben, da das Unternehmen sie so schnell umprogrammieren kann, um neue Algorithmen zu unterstützen, während diese entwickelt werden.

FPGA vs. herkömmliche CPUs: Was ist der Unterschied?

Im Gegensatz zu einem Standard-Chipsatz – dem Snapdragon 8 Gen 2Beispielsweise ist ein FPGA nicht dafür konzipiert, vor Ort neu programmiert zu werden. Es handelt sich um ein System on Chip (SoC), das aus mehreren Teilen besteht, darunter einer GPU, einer NPU und einer CPU. Sobald es versandt ist, erhalten Verbraucher und Unternehmen genau das.

FPGAs sollen jedoch formbar sein, sodass der Benutzer Teile des Chips ändern kann, ohne dass zusätzliche Kosten oder Risiken entstehen. In schnelllebigen Branchen wie selbstfahrenden Automobilen können jederzeit neue Vorschriften und Standards für jeden Aspekt des Geräts eingeführt werden. Die Verwendung eines FPGA kann ein OTA-Update ermöglichen, um den Chip neu zu programmieren, um neue Standards zu unterstützen.

Ein großer Unterschied zwischen FPGAs und herkömmlichen CPUs besteht darin, dass sie darauf ausgelegt sind, Daten parallel zu verarbeiten, allerdings mit einer deutlich geringeren Taktrate. Beispielsweise kann ein FPGA mit 10 Pipelines für die Datenverarbeitung Multiplikationsoperationen für zwei Zahlen für jede Pipeline ausführen und so 20 Zahlen pro Zyklus multiplizieren. Eine herkömmliche CPU kann zwei Zahlen pro Zyklus, pro Kern und in sequentieller Reihenfolge multiplizieren.

Wie funktionieren FPGAs für die Emulation?

FPGAs werden häufig für die Hardware-Emulation verwendet, und ein interessanter Teil des Chipsatz-Designprozesses ist die Verwendung von FPGAs zur Emulation verschiedener Teile des SoC beim Testen. Chipsatz-Designer können mehrere FPGAs verwenden, um einen Prototyp eines anwendungsspezifischen integrierten Schaltkreises (ASIC) zu erstellen. Zur Erstellung eines Hardware-Designs wird eine Hardwarebeschreibungssprache (HDL) verwendet. Diese Sprache sagt dem FPGA, wie er sich selbst anordnen soll. Im Fall des Analogue Pocket werden diese Designs in Form von „Kernen“ verteilt, die typischerweise in Verilog geschrieben sind, und Benutzer können einen Kern herunterladen, um den Handheld für bestimmte Konsolen vorzubereiten.

Beispielsweise kann die Analogue Pocket Game-Boy-Spiele direkt in ihrem Kassettenschacht lesen und abspielen, als wäre sie die Originalkonsole. Darüber hinaus bieten Kassettenadapter zusätzliche Unterstützung für andere Geräte wie Game Gear, Atari Lynx und mehr. Dies ist nur aufgrund der Neuprogrammierbarkeit eines FPGA möglich, der Hardware-Emulation anstelle von Software-Emulation verwendet, um sicherzustellen, dass Spiele spielbar sind. Ein MiSTer (der ein DE-10 Nano FPGA-Board als Basis verwendet und darüber hinaus zusätzliche Module benötigt) ist insofern ähnlich, als es zum Emulieren von Konsolen wie dem SNES, Sega Genesis und sogar dem verwendet werden kann Spielwürfel. Die Hardware-Emulation ist im Allgemeinen genauer als die Software-Emulation und bietet gleichzeitig Leistungsvorteile.

Während Hardware altert und mit der Zeit unzuverlässig werden kann, können FPGAs einfach umprogrammiert werden, um dasselbe Hardware-Erlebnis zu emulieren.

Das bedeutet natürlich nicht, dass Kerne eine perfekte Eins-zu-eins-HDL-Interpretation eines Chipsatzes sind. Sie kommen dem ziemlich nahe, aber im Laufe der Zeit werden Korrekturen und Verbesserungen an den Kernen vorgenommen, um Probleme zu beheben, die bei normaler Nutzung auftreten können. Diese Kerne werden durch Reverse Engineering der in diesen Geräten verbauten Chipsätze hergestellt und erfordern die Zuordnung jeder einzelnen Komponente auf der Hauptplatine. Bei den benutzerdefinierten proprietären Chipsätzen wird es noch schwieriger, da Entwickler häufig nachsehen müssen einen „nicht abgedeckten“ Chip mit einem Mikroskop, um zu sehen, was genau im Inneren des Chips vor sich geht, und um es zu reproduzieren.

Deshalb sind FPGAs auch für den Hardwareerhalt wichtig. Während Hardware altert und mit der Zeit unzuverlässig werden kann, können FPGAs einfach umprogrammiert werden, um dasselbe Hardware-Erlebnis zu emulieren. Der Chip ordnet seine eigene physikalische Logik in sich selbst neu, um sie an den ihm zugewiesenen Kern anzupassen. Das openFPGA-Ökosystem soll bei der Erhaltung der Hardware helfen.

Darüber hinaus haben Sie den zusätzlichen Vorteil, dass Sie diese Spiele auf eine legitime Art und Weise spielen können, jedoch auf insgesamt besserer Hardware. Sie können ein Analogue Pocket für 220 $ kaufen und Game Boy-Spiele wie früher spielen, aber mit einer höheren Verarbeitungsqualität, einem besseren Bildschirm und sogar Dock-Unterstützung.

Nachteile von FPGAs

DE-10 Nano für einen MiSTer FPGA-Build

Es gibt jedoch einige Nachteile. Erstens nehmen sie viel mehr Platz ein als herkömmliche CPUs und sind zudem deutlich teurer in der Herstellung. Geräte wie das Analogue Pocket und das MiSTer FPGA kosten viel Geld, wobei letzteres Ihnen mehr als 500 US-Dollar einbringt, wenn Sie zusätzlich ein paar Add-Ons erwerben. Die meisten Menschen möchten Spiele einfach lieber auf ihren Smartphones oder Computern emulieren und kümmern sich nicht um die pixelgenaue Genauigkeit, die die Emulation auf Hardwareebene bietet.

Natürlich stecken FPGAs auch im Endverbraucherbereich noch in den Kinderschuhen und ihre Beliebtheit nimmt erst in den letzten Jahren zu. In professionellen Anwendungsfällen von Wissenschaftlern, Chipsatz-Architekten, KI und dergleichen gibt es sie tatsächlich schon so lange, aber Erst in den letzten Jahren sind Verbrauchergeräte auf dem Vormarsch und eignen sich für den eher gelegentlichen oder enthusiastischen Gebrauch.

Für die meisten Leute, die in die Emulation einsteigen möchten, ist der Komfort eines dedizierten Geräts, das eine garantiert Ein originalgetreues Erlebnis ist verlockend, aber es ist nicht etwas, das jeder braucht oder sich überhaupt darum kümmert. Wenn ich persönlich ein Spiel wie Super Mario Bros. spielen möchte, spiele ich es gerne einfach unterwegs auf meinem Handy. Ich benötige dafür kein spezielles Gerät, aber ich verstehe den Reiz, eines zu haben.