SRAM-basierte FPGAs müssen den Bitstream nach dem Ausschalten erneut laden. In der Zwischenzeit braucht man das nicht.
Ich frage mich, warum auf dem SRAM-FPGA mehr Experimente und Sicherheitsuntersuchungen durchgeführt werden als auf dem NVM-basierten, scheint die flüchtige Technologie ungeachtet ihrer Sicherheitsgrenzen (wenn es um die Gewährleistung eines sicheren Starts geht) häufiger zum Einsatz zu kommen.
(PS: Ich habe keine Statistik, es ist eine persönliche Beobachtung)
Antworten:
Der Haupttreiber ist die Tatsache, dass SRAM in hohem Maße mit demselben physischen Prozess kompatibel ist, der zur Implementierung der eigentlichen Logik verwendet wird. Tatsächlich basieren die meisten FPGAs heutzutage auf LUTs (Nachschlagetabellen), bei denen es sich eigentlich nur um winzige RAM-Teile handelt.
Andererseits erfordert der Prozess, der zum Aufbau eines EEPROM (nichtflüchtiger Speicher) erforderlich ist, zusätzliche Schritte - um schwebende Gates mit einer speziellen Oxiddicke usw. zu erzeugen. Dieser Prozess ist NICHT direkt mit dem Logik- / SRAM-Prozess kompatibel. Dies bedeutet, dass nichtflüchtige FPGAs in beiden Bereichen einen Kompromiss darstellen.
quelle
Neben der Antwort von Dave Tweed zu den beteiligten Herstellungsprozessen verwenden die meisten Flash-basierten FPGAs immer noch SRAM, um ihre Fabric zu betreiben. Der Bitstrom wird wie bei einem herkömmlichen FPGA vom Flash in den SRAM geladen. Der einzige Unterschied besteht darin, dass der Flash intern ist. Diese Architektur wird deutlich, wenn Sie sich ihre Datenblätter und Appnotes ansehen. Insbesondere unterstützen einige Geräte wie das Lattice MachXO2 / 3 das Umprogrammieren ihres Flashs, während das Gerät ausgeführt wird. Dies ist nur möglich, weil das Gerät tatsächlich über SRAM und nicht direkt über das Flash ausgeführt wird. Ein "flash-basiertes" FPGA benötigt also zusätzlich zum SRAM einen Flash , was bedeutet, dass es mehr Chipfläche benötigt.
In Bezug auf die Sicherheit weisen Sie zu Recht darauf hin, dass der FPGA-Startprozess ein Schwachpunkt für die Erfassung des Bitstroms sein kann. Um diese Lücke zu schließen, unterstützen viele FPGAs jetzt die Bitstream-Verschlüsselung, die auf einem sicheren Schlüssel basiert, der im dedizierten Speicher des FPGA gespeichert ist. Ein Bitstream-Image wird mit diesem Schlüssel verschlüsselt, in den Konfigurationsspeicher geladen. Wenn das FPGA gestartet wird, liest es den verschlüsselten Bitstream ein und entschlüsselt ihn beim Laden in seinen (Einige Mikrocontroller, die externen Speicher benötigen, verfügen über ähnliche Funktionen und Die Prinzipien sind weitgehend die gleichen.)
quelle
Das hängt vor allem von Ihren Anforderungen ab. Obwohl Größe, Gewicht und Leistung (SWaP) die Haupttreiber für ICs im Allgemeinen sind, ist die Leistung Ihre nächste Überlegung, die Sie ohnehin zu einem ASIC zurückbringen kann, wenn Sie aufgrund dieser Anforderungen nicht gezwungen sind, einen ASIC zu entwickeln. Sie können jedoch möglicherweise ein FPGA verwenden, wenn Sie sich die SWaP-Kompromisse leisten können.
FLASH-basierte FPGAs (Actel, jetzt Microsemi) hatten traditionell nicht die Dichte oder Leistung, die man mit SRAM-basierten FPGAs erreichen könnte. Wenn also die Leistung der treibende Faktor wäre, würden Sie sich für Xilinx oder Altera (jetzt Intel) oder entscheiden vielleicht Gitter.
Im Wesentlichen richten Sie sich nach den Anforderungen Ihres Systems und speziell Ihres IC. Sie gehen frühzeitig auf diese Anforderungen ein und führen eine Trade-Studie der verschiedenen FPGAs durch (Tabellenkalkulation). SWaP und Leistung, gefolgt von wiederkehrenden Kosten, sind die wichtigsten Überlegungen, die Sie mit Ihrem Team (Systeme, CCA, möglicherweise sogar SW) wiederholen möchten und die an Ihren Projektleiter / Manager zurückgesendet werden. Andere Anliegen wie Zuverlässigkeit, Herstellbarkeit usw. werden normalerweise von anderen Teammitgliedern der jeweiligen Organisationen gestellt, bedeuten aber normalerweise nicht viel, ohne dass Sie anfänglich handeln, und stehen Ihrer Wahl in der Regel nicht entgegen.
Es gibt Artikel im Web, wenn Sie nach "SRAM vs FLASH FPGAs" suchen, aber Sie werden wahrscheinlich aus einer Handelsstudie mit den Datenblättern mehr gegen Ihre Anforderungen lernen als alles andere.
quelle
Um den Sicherheitsaspekt zu berücksichtigen, können die meisten modernen SRAM-FPGAs mit einem verschlüsselten Stream konfiguriert werden , in der Regel mit modernen Verschlüsselungsstandards wie 256-Bit-AES. Das ist wohl genauso sicher wie die interne Speicherung der Konfiguration: Ein dedizierter Attacher, der in der Lage ist, den privaten Schlüssel von einem entschlüsselten Chip zu extrahieren, kann auch den internen Flash auslesen.
Flash-basierte FPGAs werden normalerweise verwendet, wenn die Implementierung recht einfach ist (ein großes SRAM-FPGA ist also nicht erforderlich) oder wenn ein sofortiger Start erforderlich ist.
quelle