AP レジスタは、Vitis フローで使用する一般的なレジスタです。AP レジスタの説明を次の表に示します。
レジスタ名 | オフセット アドレス | ビット | フィールド名 | タイプ | 説明 |
---|---|---|---|---|---|
制御 | 0x00 | [31:7] | 予約 | 予約 | |
[6] | AP_RESET_DONE | r | ソフト リセットの完全フラグアクティブ High。 | ||
[5] | AP_RESET | r/w | DPUCVDX8G のソフト リセット。アクティブ High。 | ||
[4] | 予約 | 予約 | |||
[3] | AP_READY | r | DPUCVDX8G が新しい入力データに対応できる状態であることを示す。AP_DONE のアサートでクリアされる。 | ||
[2] | AP_IDLE | r | DPUCVDX8G がアイドル状態のときにアサートされる。 | ||
[1] | AP_DONE | r | DPUCVDX8G が動作を完了するとアサートされる。読み出し動作でクリアされる。 | ||
[0] | AP_START | r/w | アサートされると、カーネルがデータ処理を開始できる。アサートされた ap_done とのハンドシェイクでクリアされる。 |
||
グローバル割り込みイネーブル | 0x04 | [31:1] | 予約 | 予約 | |
[0] | グローバル割り込みイネーブル | r/w | アサートされると DPU 割り込みが有効になる。 | ||
割り込みイネーブル レジスタ | 0x08 | [31:2] | 予約 | 予約 | |
[1] | IER_AP_READY | r/w | IER の ap_ready。 | ||
[0] | IER_AP_DONE | r/w | IER の ap_done。 | ||
割り込みステータス レジスタ | 0x0C | [31:2] | 予約 | 予約 | |
[1] | ISR_AP_READY | r/w | ISR の ap_ready。 | ||
[0] | ISR_AP_DONE | r/w | ISR の ap_done。 |
- 制御 (0x0000) レジスタ
- このレジスタは、コアの動作を制御します。
- 制御レジスタのビット [0] (
ap_start
) を使用して、DPU 処理を開始します。このビットに 1 を書き込むと、IP は動作を開始します。 - 制御レジスタのビット [1] (
ap_done
) は、現在のトランザクションのすべての動作が完了したことを示します。このレジスタの信号がロジック 1 になると、IP が現在トランザクションのすべての動作を完了したことを示します。 - 制御レジスタのビット [2] (
ap_idle
) は、IP が動作中かアイドル状態かを示します。ロジック 1 のとき、アイドル状態であることを示します。この信号は、IP が動作を開始すると Low にアサートされます。IP が動作を完了し、それ以上の動作スを継続しない場合は High にアサートされます。 - 制御レジスタのビット [3] (
ap_ready
) は、新しい入力データに対応できる状態かを示します。ロジック 1 になると、IP は新しい入力を受け入れる準備ができている、つまり、このトランザクションのすべての入力読み出しが完了したことを示します。IP のパイプライン内に動作がない場合、次のトランザクションが開始されるまで新しい読み出し動作は実行されません。この信号は、入力ポートに新しい値を適用するタイミングや、新しいトランザクションを開始するタイミングを示すために使用されます。 - 制御レジスタのビット [5] は、IP のソフト リセットです。このビットが 1 になると、ソフトウェアによって IP がリセットされます。
- 制御レジスタのビット [6] は、ソフト リセットの完了を示します。このビットがアサートされると、ソフト リセットが完了したことを示します。
- 制御レジスタのビット [0] (
- グローバル割り込みイネーブル (0x0004) レジスタ
- このレジスタは、すべての割り込みのマスター制御です。ビット [0] をアサートすることで割り込みが有効になります。
- 割り込みイネーブル (0x0008) レジスタ
- このレジスタは、割り込みを個別に有効化/無効化できます。現在、2 つの割り込みソース (
ap_done
、ap_ready
) があります。IP のトランザクションが完了すると、ap_done
がアサートされ、IP が次のタスクを処理する準備が整うとap_ready
がアサートされます。 - 割り込みステータス (0x000C) レジスタ
- このレジスタは 2 つの目的を兼ねています。割り込みが発生すると、このレジスタの対応する割り込みソース ビットがセットされます。リードバック モード (Get status) では、割り込みソースを特定できます。ライトバック モード (Clear interrupt) では、要求された割り込みソースがクリアされます。