私がサーフィンしたことから、FPGAでパワーが消えたら、もう一度プログラムする必要があります。しかし、私はVerilogを使ってFPGAベースのセキュリティシステムを実装しようとしています。その中で、私はシステムのパスワードを永久に保存したい、つまり電源が切れてもパスワードを消去してはいけません。また、プログラムを保存することもできます。私はFPGAの中でビギナーです。だから私にこのことを教えてください。デバイスはXC3S400 Spartan 3ファミリです。データとプログラムをFPGAに永続的に格納する方法は?
答えて
通常、FPGAは何らかの種類のフラッシュメモリから再度ロードされ、ロードされるビットストリームは安全ではありません。つまり、誰もがそれを保存してから、理論的にはリバースエンジニアリングすることもできます。
しかし、いくつかの FPGAは、ビットストリームを暗号化できる独自の暗号専用の書き込み専用キーを持つなどの方法で保護することができます。その後、あなたのverilogコードの中でパスワードをプログラムし、入力時に確認することができます。
あなたのキーまたはパスワードが頻繁に変更されることになっているか、デバイスの各コピー内で異なる必要がある場合は、FPGA内の永久秘密キーによって提供される暗号化を使用して外部FLASH/EEPROMメモリに保存する必要があります。
Spartan 3のようにSRAMベースのFPGAを使用している場合は、電源を入れるたびにプログラムする必要があります。その理由は、コンフィギュレーションを格納するSRAMが揮発性であり、電源がオフにされた後にプログラムされたコンフィギュレーションを失うからです。
Spartan 3 ANは、多少の内蔵フラッシュメモリを提供する数少ないザイリンクスFPGAの1つですが、この機能を使用したことがないため詳細はわかりません。
また、不揮発性コンフィギュレーションストレージを提供するフラッシュベースのFPGAがあります。つまり、FPGAの電源を入れるたびにコンフィギュレーションファイルを読み込む必要はありません。それは一度設定する必要がありますが、電源を切った後でも設定を保持します。次の電源投入時には、すでに設定され、動作準備ができています。
FPGA内に不揮発性メモリが搭載されているかどうかは、すべてが分かります。それ以外の場合は、外付けICを使用する必要があります。
カスタムパスワードの代替ソリューション:多くのベンダーは、構成ビットストリームを暗号化するためのツールサポートを提供しています。 FPGA内部に埋め込まれたコンフィギュレーションロジックは、コンフィギュレーション中にビットストリームをオンザフライで復号化することができます。誰もがコンフィギュレーションPROMからビットストリームを読み取ることは可能ですが、暗号化されているのでほとんど役に立ちません。
- 1. カスタム関数をExcelに永続的に格納する方法は?
- 2. データを永続的に格納できるデータ構造はありますか?
- 3. NSManagedObjectIDを永続的に格納する方法は? XYの問題点を回避するために
- 4. 私たちは永続的に動的配列の値を格納する方法
- 5. プロジェクトにデータを格納する方法
- 6. Ember RESTAdapterに永続変数を格納する適切な方法
- 7. データをJavaのスタックとキューに格納する方法は?
- 8. .NET WPFで永続的なユーザー接続文字列を格納する方法Click-Once
- 9. 配列の要素をExcelでVBAに永続的に格納することはできますか?
- 10. 永続データベース接続はどのようにPHPに格納されますか?
- 11. firebaseの永続性がAndroidアプリのローカルデータを格納する方法
- 12. イメージをファイルシステムに動的に格納する方法は?
- 13. indexeddbデータベースにデータを格納する理想的な方法は何ですか?
- 14. 永続的なサービスにデータを渡す
- 15. sharedPreferencesがデータを格納する方法
- 16. MVC 3の状態の永続性のためにビューにオブジェクトを格納する最も良い方法は?
- 17. SQLデータの格納方法
- 18. コードネーム1 - JSONデータの配列を永続メモリに格納して読み込む方法
- 19. Mysqlにgroup_concat_max_lengthを永続的に設定する方法は?
- 20. Webサービス接続データ格納
- 21. 弾性検索にデータが物理的に格納される方法は?
- 22. アプリケーションの洞察にデータを格納する方法は?
- 23. DocumentDBに子クラスのデータを格納する方法は?
- 24. MongoDBテーブルにデータを格納する方法は?
- 25. Webアプリケーションにデータを格納しエスケープする方法は?
- 26. sqliteデータベースに統一地形データを格納する方法は?
- 27. MySQLデータをAndroid Studioの変数に格納する方法は?
- 28. フォーム入力データをjquery配列に格納する方法は?
- 29. XML形式のデータをMongoDBに格納する方法は?
- 30. Pythonのshelveモジュールにデータを格納する方法は?