SRAMベースのFPGAがNVMベースのFPGAよりも多く使用されるのはなぜですか?


20

SRAMベースのFPGAは、電源オフ後にビットストリームを再度ロードする必要があります。一方、不揮発性ベースのものはそれを必要としません。

SRAM FPGAでNVMベースのものよりも多くの実験やセキュリティ研究が行われているのはなぜかと思いますが、揮発性テクノロジーはセキュリティ制限(セキュアブートの確保に関して)に関係なく使用されているようです。

(PS:私は統計がありません、それは個人的な観察です)


統計についてはわかりませんが、FLASH FPGAはSRAMに比べて比較的新しいものです。そのため、データが正しい場合、それ理由になる可能性があります。
ユージーンSh。

3
コストを比較しましたか?不揮発性のものはもっと高価だと思います。
ハース

@EugeneSh統計情報はありません、個人的な観察です(人々を混乱させないために質問のPSとして更新しました)
ラベンダー

彼らはそれを再構成するので、私は別の機能のために何度も使用SRAMに触れ、最後のプロジェクト
PlasmaHH

回答:


32

メインドライバーは、SRAMが実際のロジックの実装に使用される同じ物理プロセスと高い互換性があるという事実です。実際、最近のほとんどのFPGAはLUT(ルックアップテーブル)に基づいていますが、これは実際にはRAMのほんの一部にすぎません。

一方、EEPROM(不揮発性メモリ)を構築するために必要なプロセスには、特別な酸化膜厚などのフローティングゲートを作成するなど、追加の手順が必要です。このプロセスは、ロジック/ SRAMプロセスと直接互換性がありません。これは、両方の分野で不揮発性FPGAがある程度妥協していることを意味します。


21

関連する製造プロセスに関するDave Tweedの回答に加えて、ほとんどのフラッシュベースのFPGAは実際にSRAMを使用してファブリックを駆動しています。ビットストリームは、従来のFPGAと同様にフラッシュからSRAMにロードされますが、唯一の違いはフラッシュが内部にあることです。このアーキテクチャは、データシートとappnoteを見ると明らかです。特に、Lattice MachXO2 / 3などの一部のデバイスは、デバイスの実行中にフラッシュの再プログラミングをサポートします。これは、デバイスが実際にはフラッシュから直接ではなくSRAMから実行されるためにのみ可能です。そのため、「フラッシュベース」のFPGA にはSRAM に加えてフラッシュ必要です。つまり、より多くのダイ面積が必要です。

セキュリティに関しては、ビットストリームをキャプチャできるという点で、FPGA起動プロセスが弱点になる可能性があることを指摘するのは正しいことです。このギャップを埋めるために、多くのFPGAにビットストリーム暗号化のサポートが組み込まれました。これは、FPGA内の専用メモリに保存された安全なキーに基づいています。ビットストリームイメージはこのキーで暗号化され、コンフィギュレーションメモリに読み込まれます。その後、FPGAが起動すると、暗号化されたビットストリームが読み込まれ、その読み込み時に暗号化が解除されます(外部メモリを必要とする一部のマイクロコントローラーには同様の機能があり、原則はほとんど同じです。)


2
実際、最初の段落は比較的限られたFPGAセットに当てはまります。多くのフラッシュベースのFPGAは、「インスタントオン」(多くのアプリケーションの強力なセールスポイント)として宣伝されています。つまり、内部転送は行われず、フラッシュセルが接続とロジックを直接制御します。
デイブツイード

3
「インスタントオン」デバイスでさえCRAMをロードする必要があると見たところ、外部フラッシュを必要とする部分よりもはるかに高速になります(内部フラッシュからのインターフェイスが広いためだと思います)。例えばMAX10は、「インスタントオン」であるが、ここではP.28を参照してください。intel.com/content/dam/altera-www/global/en_US/pdfs/literature/... しかしをあなたが示すことは全く言及している場合CRAM-アーキテクチャが少ないので、それについて学ぶことに興味があります。
ajb

2
Actel(現在のMicrosemi)を見てください。アンチヒューズとフラッシュベースのデバイスはどちらもゼロコピーです。
デイブツイード

8

何よりも、要件によって異なります。サイズ、重量、および電力(SWaP)が一般的なICの主要なドライバーですが、これらの要件のためにASICを開発する必要がない場合は、パフォーマンスが次の考慮事項であり、いずれにしてもASICに戻る可能性があります。ただし、SWAPのトレードオフに余裕がある場合は、FPGAを使用できる場合があります。

  • FLASHベースのFPGAは、「インスタントオン」であるため、構成するのに「時間がない」必要があります。デザインでこれが必要になる場合があります。
  • FLASHテクノロジーはSRAMよりも消費電力が低い
  • FLASHベースのFPGAはBOOT PROMを必要としないため、1チップ対2チップ(またはそれ以上)です。
  • 前の状態でパワーアップする必要がある場合があります。
  • フラッシュベースは、より多くの耐放射線ソリューションを提供します。SRAMベースのFPGAで放射線要件または一般的なSEUに対処する方法はありますが、Microsemiは「強化された技術」を提供します

FLASHベースのFPGA(Actel、現在はMicrosemi)は、従来、SRAMベースのFPGAで達成できる密度やパフォーマンスを持っていなかったため、パフォーマンスが駆動要因である場合は、XilinxまたはAltera(現在のIntel)を選択します。多分ラティス。

基本的に、システムの要件、具体的にはICによって駆動されます。早い段階でこれらの要件に対処し、さまざまなFPGAのトレードス​​タディを実行します(スプレッドシート)。プロジェクトのチーフエンジニア/マネージャーにフィードバックされるチーム(システム、CCA、SWなど)で反復する主な考慮事項は、SWaPとパフォーマンス、それに続く繰り返しコストです。信頼性、製造可能性などの他の懸念は、通常、それぞれの組織の他のチームメンバーによって提供されますが、通常、最初の取引がなければ意味がなく、通常は選択を妨げることはありません。

「SRAM vs FLASH FPGA」を検索するとウェブ上に記事がありますが、データシートを使用して、他の何よりも要件に対する貿易研究から多くを学ぶでしょう。


2

セキュリティの側面に対処するために、ほとんどの最新のSRAM FPGAは、通常256ビットAESなどの最新の暗号化標準を使用して、暗号化されたストリームで構成できます。おそらく、これは構成を内部に保存するのと同じくらい安全です。デキャップされたチップから秘密鍵を抽出できる専用のアタッチャーは、内部フラッシュを読み取ることもできます。

通常、フラッシュベースのFPGAは、実装がかなり単純な場合(したがって、大規模なSRAM FPGAは不要です)、または即時起動が必要な場合に使用されます。


フラッシュベースのFPGAもセキュリティの問題に対処できると私は主張します。差分電力解析(DPA)を使用した攻撃の緩和に関するEEtimesの記事を参照してください:eetimes.com/document.asp
doc_id=

@boink確かに、特に古いFPGAは非常に脆弱でした()が、状況はこれまでに改善されると予想しています。参照する記事は、DPA対策を宣伝しているようです。
ドミトリーグリゴリエフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.