2016-03-19 3 views
2

私がサーフィンしたことから、FPGAでパワーが消えたら、もう一度プログラムする必要があります。しかし、私はVerilogを使ってFPGAベースのセキュリティシステムを実装しようとしています。その中で、私はシステムのパスワードを永久に保存したい、つまり電源が切れてもパスワードを消去してはいけません。また、プログラムを保存することもできます。私はFPGAの中でビギナーです。だから私にこのことを教えてください。デバイスはXC3S400 Spartan 3ファミリです。データとプログラムをFPGAに永続的に格納する方法は?

答えて

1

通常、FPGAは何らかの種類のフラッシュメモリから再度ロードされ、ロードされるビットストリームは安全ではありません。つまり、誰もがそれを保存してから、理論的にはリバースエンジニアリングすることもできます。

しかし、いくつかの FPGAは、ビットストリームを暗号化できる独自の暗号専用の書き込み専用キーを持つなどの方法で保護することができます。その後、あなたのverilogコードの中でパスワードをプログラムし、入力時に確認することができます。

あなたのキーまたはパスワードが頻繁に変更されることになっているか、デバイスの各コピー内で異なる必要がある場合は、FPGA内の永久秘密キーによって提供される暗号化を使用して外部FLASH/EEPROMメモリに保存する必要があります。

4

Spartan 3のようにSRAMベースのFPGAを使用している場合は、電源を入れるたびにプログラムする必要があります。その理由は、コンフィギュレーションを格納するSRAMが揮発性であり、電源がオフにされた後にプログラムされたコンフィギュレーションを失うからです。

Spartan 3 ANは、多少の内蔵フラッシュメモリを提供する数少ないザイリンクスFPGAの1つですが、この機能を使用したことがないため詳細はわかりません。

また、不揮発性コンフィギュレーションストレージを提供するフラッシュベースのFPGAがあります。つまり、FPGAの電源を入れるたびにコンフィギュレーションファイルを読み込む必要はありません。それは一度設定する必要がありますが、電源を切った後でも設定を保持します。次の電源投入時には、すでに設定され、動作準備ができています。

FPGA内に不揮発性メモリが搭載されているかどうかは、すべてが分かります。それ以外の場合は、外付けICを使用する必要があります。

カスタムパスワードの代替ソリューション:多くのベンダーは、構成ビットストリームを暗号化するためのツールサポートを提供しています。 FPGA内部に埋め込まれたコンフィギュレーションロジックは、コンフィギュレーション中にビットストリームをオンザフライで復号化することができます。誰もがコンフィギュレーションPROMからビットストリームを読み取ることは可能ですが、暗号化されているのでほとんど役に立ちません。

関連する問題