XRT 管理のカーネルの制御要件 - 2021.1 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.1 Japanese
重要: ユーザー管理のカーネルは、次に説明する制御レジスタおよび信号を必要としませんが、ユーザー管理の RTL カーネルの作成 で説明するように、s_axilite インターフェイスのレジスタを使用して制御構造をインプリメントできます。RTL モジュールが異なる制御構造をインプリメントする場合は、それを user_managed カーネルとして定義するか、ここで説明する XRT 管理の要件に適合するようにする必要があります。

次の表に、XRT 管理のカーネルを Vitis ツールと XRT 内で使用できるようにするのに必要なレジスタ マップを示します。制御レジスタは、実行モード で説明されるように、ap_ctrl_hs および ap_ctrl_chain 制御プロトコルを指定するカーネルで必要とされます。ap_ctrl_none および user_managed 制御プロトコルをインプリメントするカーネルは、次に示す制御レジスタを必要としません。

ヒント: 割り込み関連のレジスタは、割り込みをインプリメントするデザインにのみ必要です。

すべてのユーザー定義のレジスタは、0x10 で開始する必要があります。これより下位の位置は予約されています。これらには、メモリ マップド インターフェイスに渡されるスカラー値やアドレス オフセットなどのカーネル引数のレジスタが含まれます。

表 1. レジスタ アドレス マップ
オフセット 名前 説明
0x0 制御 カーネル ステータスを制御および示します。
0x4 グローバル割り込みイネーブル ホストへの割り込みをイネーブルにします。
0x8 IP 割り込みイネーブル 割り込みを生成するのに使用する IP 生成信号を制御します。
0xC IP 割り込みステータス 割り込みステータスを示します。
0x10 カーネル引数 たとえば、スカラーおよびグローバル メモリ引数などを含みます。

次の表は、制御レジスタ (offset 0x0) を介してアクセスされる制御信号を示しています。制御レジスタおよびその信号は、ap_ctrl_hs および ap_ctrl_chain カーネル実行モードによって決定されます。

使用可能な信号は、XRT の資料の「サポートされるカーネル実行モデル」で説明されるように、さまざまな制御プロトコルで使用されます。たとえば、シーケンシャル実行モードの ap_ctrl_hs の場合、ホストは通常オフセット 0 の制御レジスタに 0x00000001 を書き込みます。これにより、ビット 0 がセットされ、ビット 1 および 2 がクリアされ、ap_done 信号の読み出しが 1 になるまでポーリングされます。

表 2. 制御レジスタ信号
ビット 名前 説明
0 ap_start カーネルがデータ処理を開始するとアサートされます。ap_done がアサートされたハンドシェイクでクリア。
1 ap_done カーネルが処理を終了するとアサートされます。読み出しでクリアされます。
2 ap_idle カーネルがアイドルになるとアサートされます。
3 ap_ready カーネルが新しいデータを受け入れる準備ができたときにアサートされます。
4 ap_continue カーネルが実行され続けるように XRT によってアサートされます。
7 auto_restart ユーザー管理の終わらないカーネルでのデータのストリーミング に示すように、自動カーネル再起動を有効にするために使用します。
31:5 予約済み 予約

次の割り込み関連のレジスタは、カーネルに割り込みがある場合にのみ必要です。

表 3. グローバル割り込みイネーブル (0x4)
ビット 名前 説明
0 グローバル割り込みイネーブル IP 割り込みイネーブル ビットと共にアサートされると、割り込みがイネーブルになります。
31:1 予約済み 予約済み
表 4. IP 割り込みイネーブル (0x8)
ビット 名前 説明
0 割り込みイネーブル グローバル割り込みイネーブル ビットと共にアサートされると、割り込みがイネーブルになります。
31:1 予約済み 予約済み
表 5. IP 割り込みステータス (0xC)
ビット 名前 説明
0 割り込みステータス 書き込みでトグルされます。
31:1 予約済み 予約済み