SRAMベースのFPGAは、電源オフ後にビットストリームを再度ロードする必要があります。一方、不揮発性ベースのものはそれを必要としません。
SRAM FPGAでNVMベースのものよりも多くの実験やセキュリティ研究が行われているのはなぜかと思いますが、揮発性テクノロジーはセキュリティ制限(セキュアブートの確保に関して)に関係なく使用されているようです。
(PS:私は統計がありません、それは個人的な観察です)
SRAMベースのFPGAは、電源オフ後にビットストリームを再度ロードする必要があります。一方、不揮発性ベースのものはそれを必要としません。
SRAM FPGAでNVMベースのものよりも多くの実験やセキュリティ研究が行われているのはなぜかと思いますが、揮発性テクノロジーはセキュリティ制限(セキュアブートの確保に関して)に関係なく使用されているようです。
(PS:私は統計がありません、それは個人的な観察です)
回答:
関連する製造プロセスに関するDave Tweedの回答に加えて、ほとんどのフラッシュベースのFPGAは実際にSRAMを使用してファブリックを駆動しています。ビットストリームは、従来のFPGAと同様にフラッシュからSRAMにロードされますが、唯一の違いはフラッシュが内部にあることです。このアーキテクチャは、データシートとappnoteを見ると明らかです。特に、Lattice MachXO2 / 3などの一部のデバイスは、デバイスの実行中にフラッシュの再プログラミングをサポートします。これは、デバイスが実際にはフラッシュから直接ではなくSRAMから実行されるためにのみ可能です。そのため、「フラッシュベース」のFPGA にはSRAM に加えてフラッシュが必要です。つまり、より多くのダイ面積が必要です。
セキュリティに関しては、ビットストリームをキャプチャできるという点で、FPGA起動プロセスが弱点になる可能性があることを指摘するのは正しいことです。このギャップを埋めるために、多くのFPGAにビットストリーム暗号化のサポートが組み込まれました。これは、FPGA内の専用メモリに保存された安全なキーに基づいています。ビットストリームイメージはこのキーで暗号化され、コンフィギュレーションメモリに読み込まれます。その後、FPGAが起動すると、暗号化されたビットストリームが読み込まれ、その読み込み時に暗号化が解除されます(外部メモリを必要とする一部のマイクロコントローラーには同様の機能があり、原則はほとんど同じです。)
何よりも、要件によって異なります。サイズ、重量、および電力(SWaP)が一般的なICの主要なドライバーですが、これらの要件のためにASICを開発する必要がない場合は、パフォーマンスが次の考慮事項であり、いずれにしてもASICに戻る可能性があります。ただし、SWAPのトレードオフに余裕がある場合は、FPGAを使用できる場合があります。
FLASHベースのFPGA(Actel、現在はMicrosemi)は、従来、SRAMベースのFPGAで達成できる密度やパフォーマンスを持っていなかったため、パフォーマンスが駆動要因である場合は、XilinxまたはAltera(現在のIntel)を選択します。多分ラティス。
基本的に、システムの要件、具体的にはICによって駆動されます。早い段階でこれらの要件に対処し、さまざまなFPGAのトレードスタディを実行します(スプレッドシート)。プロジェクトのチーフエンジニア/マネージャーにフィードバックされるチーム(システム、CCA、SWなど)で反復する主な考慮事項は、SWaPとパフォーマンス、それに続く繰り返しコストです。信頼性、製造可能性などの他の懸念は、通常、それぞれの組織の他のチームメンバーによって提供されますが、通常、最初の取引がなければ意味がなく、通常は選択を妨げることはありません。
「SRAM vs FLASH FPGA」を検索するとウェブ上に記事がありますが、データシートを使用して、他の何よりも要件に対する貿易研究から多くを学ぶでしょう。
セキュリティの側面に対処するために、ほとんどの最新のSRAM FPGAは、通常256ビットAESなどの最新の暗号化標準を使用して、暗号化されたストリームで構成できます。おそらく、これは構成を内部に保存するのと同じくらい安全です。デキャップされたチップから秘密鍵を抽出できる専用のアタッチャーは、内部フラッシュを読み取ることもできます。
通常、フラッシュベースのFPGAは、実装がかなり単純な場合(したがって、大規模なSRAM FPGAは不要です)、または即時起動が必要な場合に使用されます。