1

私は Zedboard を初めて使用し、現在通常の FPGA ボードで作業している複雑なハードウェア アクセラレータの転送に取り組んでいます。とにかく、走る前に歩きたいので、Zedboard スピードウェイのチュートリアルを完了し、現在は小さなプロジェクトをいじっています。私の最初のものは単純な加算器アクセラレータです:

-pl(プログラマブル ロジック)、reg a および b に 2 つの数値を送信します。

-plは数字を追加します

- 計算が終了したことを示す PS(CPU) 信号への割り込み。

- ISR では、PS が reg c から結果を読み取ります。

このデザインでは、AXI インターコネクトで 3 つのレジスタ (a、b、c) を使用しています。CIP を使用して IP テンプレートを作成しました。

基本的には、制御信号を送信して PL への追加を有効にするのが最善の方法です。では、reg a と b に 2 つの数値をロードし、それらを加算したいことを PL 加算器にどのように通知すればよいでしょうか?

- 1 ビット信号の GPIO 相互接続を作成し、4 番目の 1 ビット制御レジスタを IP に追加する必要がありますか? または、BUS2IPdata 信号を使用してこれを行うためのより「スタイリッシュな」方法はありますか?

- または、カスタムの PS から PL への制御イネーブル信号を作成する別の方法はありますか?

どうもありがとうサム

現在の考え:

- BUS2IPWrCE に基づいて user_logic HDL にスイッチを作成します。これが reg BI に書き込むためにアサートされると、加算器にイネーブル信号を送ることができますか? または、データがすぐに完全に書き込まれず、同時実行の問題が発生する可能性はありますか?

4

2 に答える 2

0

大規模な設計では、GPIO を使用してアクセラレータのスケジューリングを制御することでパフォーマンスを得るのは困難です。ソフトウェアとハ​​ードウェアの間でコマンド ブロックの FIFO を設定することをお勧めします。

たとえば、ペリフェラルは、ソフトウェアからコマンドを受信するために AXI Stream スレーブを実装し、結果の表示をソフトウェアに送り返すために AXI Stream マスターを実装できます。

割り込みをアサートして、応答 FIFO に値があることを示すことができます。

パフォーマンスを向上させるには、これらの FIFO を DRAM に設定し、ペリフェラルで AXI 読み取り/書き込みマスターを使用します。

于 2014-05-23T13:38:54.960 に答える
0

これを行うために、CIP を使用して AXI perph を作成し、used_logic と 2 つの新しいポート en と interrupt を変更しました。これらの指示に従って、これらの外部接続を採用しました。http://www.programmableplanet.com/author.asp?section_id=2142&doc_id=264841

次に、必要な機能を提供するために、これら 2 つの外部接続を GPIO インターフェイスに接続しました。

于 2013-10-05T16:27:16.087 に答える