メールボックス機能は入出力の両方に使用でき、HLS コンポーネントのすべての s_axilite
I/O に対して指定する必要があります。次のコンフィギュレーション コマンドを使用して、インターフェイスのグローバル オプションでイネーブルにします。
syn.interface.s_axilite_mailbox=both
syn.interface.s_axilite_auto_restart_counter=1
コンフィギュレーション オプションを設定したら、メールボックスは HW copy
および SW copy
と呼ばれるレジスタのペアをインプリメントします。入力メールボックスおよび出力メールボックスには、独立したレジスタのペアがあります。ソフトウェア アプリケーションから HLS コンポーネントへの通信は、次のように実行されます。
- 入力メールボックス
-
- アプリケーションが、一部またはすべての要素をメールボックスの
SW copy
レジスタに書き込みます。 - アプリケーションが、
SW copy
が更新されたことをメールボックスに通知します。 - HLS デザインが再起動すると、
SW copy
レジスタがHW copy
レジスタにコピーされます。 -
HW copy
が更新されたことがアプリケーションに通知され、必要に応じてSW copy
レジスタを再度変更できます。ヒント: HLS デザインによる複数の読み出しは、ソフトウェア アプリケーションからの更新なしに発生する可能性があります。
- アプリケーションが、一部またはすべての要素をメールボックスの
- 出力メールボックス
-
- アプリケーションが、メールボックスの更新されたコピーを読み出すことをメールボックスに通知します。HLS デザインが、現在の実行の最後に、メールボックスの
HW copy
レジスタに一部またはすべての要素を書き込みます。 - デザインが終了すると、
HW copy
がSW copy
レジスタにコピーされます。 - アプリケーションには、
SW copy
が更新されたことが通知され、いつでも読み出せるようになります。ヒント: ハードウェアによる複数の書き込みは、ソフトウェアの更新要求なしで発生する可能性があります。
- アプリケーションが、メールボックスの更新されたコピーを読み出すことをメールボックスに通知します。HLS デザインが、現在の実行の最後に、メールボックスの