インテルのみ表示可能 — GUID: iga1401397406406
Ixiasoft
インテルのみ表示可能 — GUID: iga1401397406406
Ixiasoft
31.6.3. レジスターマップ
control/statusレジスターは、バイト・イネーブル・ロジックのない32ビット・インターフェイスを備えます。そのため、それよりもデータ幅が狭いマスターからは正しくアクセスできません。コアの正しい動作を保証するにはかならず、少なくとも32ビット幅のマスターでレジスターにアクセスします。
32ビット・ワード・オフセット (バイトオフセット) | レジスター名 | リセット値 | 説明 |
---|---|---|---|
ベース + 0 (0x0) | status | 0 | このレジスターは、最後の割り込みの原因やコアが現在記述子を処理しているかなどの、コアの現在のステータスを示します。statusレジスターのマップに関しては、ステータス・レジスター・ビットのマップの表を参照してください。 |
ベース + 1 (0x4) | version | 1 | ハードウェアのバージョン番号を示します。ソフトウェアの後方互換の目的でソフトウェア・ドライバーによってのみ使用されます。 |
ベース + 4 (0x10) | control | 0 | このレジスターは、割り込みをトリガーする要因、コアが開始および停止する条件などの、コアの動作を指定します。ホスト・プロセッサーでは、必要に応じてレジスタービットを設定することにより、コアをコンフィグレーションすることができます。controlレジスターのマップに関しては、コントロール・レジスター・ビットのマップの表を参照してください。 |
ベース + 8 (0x20) | next_descriptor_pointer | 0 | このレジスターには、処理を行う次の記述子のアドレスが含まれます。システムの初期化シーケンスの一部として、このレジスターを最初の記述子のアドレスに設定します。 インテルでは、ユーザー・アプリケーションでcontrolレジスターのRUNビットをクリアし、statusレジスターのBUSYビットが0に設定されるまで待機してからこのレジスターを読み出すことを推奨しています。 |
ビット | ビット名 | アクセス | 説明 |
---|---|---|---|
0 | IE_ERROR | R/W | このビットが1に設定されている場合、記述子の処理中に Avalon® -STエラーが発生すると、コアは割り込みを生成します。(1) |
1 | IE_EOP_ENCOUNTERED | R/W | このビットが1に設定されている場合、記述子の処理中にEOPを検出すると、コアは割り込みを生成します。(1) |
2 | IE_DESCRIPTOR_COMPLETED | R/W | このビットが1に設定されている場合、それぞれの記述子が処理された後にコアは割り込みを生成します。(1) |
3 | IE_CHAIN_COMPLETED | R/W | このビットが1に設定されている場合、リスト内の最後の記述子が処理される、つまり、クリアされたOWNED_BY_HWビットをもつ記述子をコアが検出すると、コアは割り込みを生成します。(1) |
4 | IE_GLOBAL | R/W | このビットが1に設定されている場合、コアでは割り込みの生成ができるようになります。 |
5 | RUN | R/W | このビットを1に設定し、記述子プロセッサー・ブロックを開始します。これに続いて、DMAトランザクションが開始されます。このビットを1に設定する前に、処理する最初の記述子のアドレスでnext_descriptor_pointerレジスターが更新されていることを確認します。このビットが1である限り、コアはキュー内の記述子の処理を続けます。 このビットをクリアすることで、コアはキューの次の記述子の処理を停止します。記述子の処理中にこのビットがクリアされると、コアは処理を完了してから停止します。その後、ホスト・プロセッサーは残りの記述子を変更し、コアを再起動することができます。 |
6 | STOP_DMA_ER | R/W | このビットを1に設定し、DMAトランザクション中に Avalon® -STエラーが発生した場合にコアを停止します。このビットは、Stream-to-Memoryのコンフィグレーションにのみ適用されます。 |
7 | IE_MAX_DESC_PROCESSED | R/W | このビットを1に設定し、MAX_DESC_PROCESSEDで指定されている記述子の数が処理された後に割り込みを生成します。 |
8 .. 15 | MAX_DESC_PROCESSED | R/W | コアが割り込みを生成する前に処理する記述子の数を指定します。 |
16 | SW_RESET | R/W | ソフトウェアでは、このビットに2回書き込みを行うことでコアをリセットすることができます。2回目の書き込み時にコアはリセットされます。ソフトウェアのリセットプロセスをシーケンス化するロジックはその後、自動的にリセットされます。 DMA転送がアクティブな際にソフトウェア・リセットを実行すると、次のシステムリセットまで永続的なバスのロックアップが発生する可能性があります。したがって、インテルでは、最後の手段としてソフトウェア・リセットを使用することを推奨しています。 |
17 | PARK | R/W | このビットを0に設定すると、SG-DMAコントローラー・コアは、各記述子が処理された後に記述子のOWNED_BY_HWビットをクリアします。PARKビットが1に設定されている場合、コアはOWNED_BY_HWビットをクリアしません。そのため、ソフトウェアの介入なしに同じ記述子を繰り返し処理することができます。また、リストの最後の記述子が最初の記述子を指すように設定する必要があります。 |
18 | DESC_POLL_EN | R/W | このビットを1に設定してポーリングモードを有効にします。このビットを1に設定すると、コアはOWNED_BY_HWビットが設定されるまで次の記述子のポーリングを継続します。また、コアは記述子ポインターを更新して現在の記述子を指します。 |
19 | 予約済み | ||
RCLK[20..30] | TIMEOUT_COUNTER | RW | 再度ポーリングを行う前に待機するクロック数を指定します。有効な範囲は1から255です。また、コアはnext_desc_ptrフィールドを更新することで、読み出す次の記述子を指します。 |
31 | CLEAR_INTERRUPT | R/W | このビットを1に設定し、保留中の割り込みをクリアします。 |
注意
|
インテルでは、controlレジスターのRUNビットがクリアされた後にのみ、ステータスレジスターを読み出すことを推奨しています。
ビット | ビット名 | アクセス | 説明 |
---|---|---|---|
0 | ERROR | R/C (1) (2) | 値1は、転送中に Avalon® -STエラーが発生したことを示します。 |
1 | EOP_ENCOUNTERED | R/C | 値1は、 Avalon® -STソース・インターフェイスで生成されたEnd-of-Packet (EOP) 信号によって転送が終了したことを示します。この条件は、Stream-to-Memoryのコンフィグレーションでのみ可能です。 |
2 | DESCRIPTOR_COMPLETED | R/C (1) (2) | 値1は、記述子の処理が完了したことを示します。 |
3 | CHAIN_COMPLETED | R/C (1) (2) | 値1は、コアが記述子チェーンの処理を完了したことを示します。 |
4 | BUSY | R (3) | 値1は、記述子の処理が進行中であることを示します。
このビットは、RUNビットがアサートされた次のクロックサイクルで1に設定されます。また、次のイベントのいずれかが発生するまでクリアされません。
|
5 .. 31 | 予約済み | ||
注意
|