そのため、今学期は FPGA についてすべて学ぶことにしました。私のスキルをテストするために、古い AES の FPGA 実装を使用してファイルを暗号化および復号化するプロジェクトを取り上げました。現在、Verilog を使用した AES の実装は何度も行われており、参照用にhttp://opencores.org/project,systemcaesのコードを使用しました。. 私がやりたいことは、Verilog ファイル処理関数を使用して小さなファイルを読み取り、それを FPGA の暗号化ブロックへの入力として使用し、暗号化されたファイルをコンピューターに保存することです。これがテストベンチで実行できることは承知しています (試したことはありませんが、実行できると確信しています)。しかし、FPGA ボードにコードをインプリメントするとき、どうすれば同じことができるのでしょうか? 暗号化/復号化するファイルを選択してボードに渡す方法はありますか? それは可能ですか?FPGA の世界は初めてで、初心者のように見えたら申し訳ありません。よろしくお願いします!
2 に答える
FPGA は、構築しようとしているハードウェアの説明のみを取得することを理解する必要があります。プログラミング言語のようなものではありません。
そのため、FPGA のメモリにデータをロードする場合は、データを PC から FPGA に移動する方法が必要です。最も簡単な方法は、FPGA に UART を実装して、PC のシリアル ポートと通信できるようにすることです。次に、PC の端末プログラムから FPGA にデータをロードします。
次に、シリアル ポートを使用して、データを PC に読み戻すことができます。
これにはもちろん、FPGA のメモリとの間で読み書きを行うために必要なハードウェアを実装しておく必要があります。
また、FPGA を介してデータをストリーミングできる場合もあります。しかし、私は 2 つのシリアル ポートを使用すると思います。
Verilog RTL にはファイル システムの概念がありません。ファイルを分割してバイトごとに送信するか、FPGA 上のプログラムが読み取るためにメモリにロードするには、FPGA の「ドライバー」が必要です。
私は FPGA の経験がありません。私の理解では、デザインを合成して FPGA にストリーミングするということです。データをストリーミングできるデバイスへの接続がまだ残っている可能性があると思いました。同様に、USB経由でArduinoを制御できると思います。
どのようにして FPGA からデータを取り戻す予定ですか? お使いのツールでは、データの送信と読み込みにアクセスできますか?