インテルのみ表示可能 — GUID: iga1401397705387
Ixiasoft
インテルのみ表示可能 — GUID: iga1401397705387
Ixiasoft
29.2. 機能の説明
送信元と送信先は、 Avalon® -MMスレーブ・ペリフェラル (例: 定数のアドレス) またはメモリー内のアドレス範囲のいずれかになります。DMAコントローラーはフロー制御とともにペリフェラルと組み合わせて使用できるため、データのトランザクションを固定長または可変長にすることが可能です。DMAコントローラーでは、DMAトランザクションが完了すると割り込み要求 (IRQ) を通知することができます。トランザクションは、DMAコントローラー・コアによって開始される1つもしくは複数の Avalon® 転送のシーケンスです。
下図に示されているように、DMAコントローラーには2つの Avalon® -MMマスターポート (マスター読み出しポートとマスター書き込みポート) があります。また、1つの Avalon® -MMスレーブポートでDMAを制御しています。
標準的なDMAトランザクションは次のように進行します。
- CPUは、制御ポートに書き込むことにより、DMAコントローラーをトランザクションに対して準備します。
- CPUはDMAコントローラーを有効にします。DMAコントローラーはその後、CPUからの追加介入なしにデータの転送を開始します。DMAのマスター読み出しポートでは、読み出しアドレス (メモリーまたはペリフェラル) からデータを読み出します。マスター書き込みポートでは、データを送信先のアドレスに書き込みます。送信先のアドレスもまた、メモリーまたはペリフェラルにすることができます。浅いFIFOにより、読み出しポートと書き込みポートの間でデータをバッファーします。
- DMAトランザクションは、指定されているバイト数が転送される (固定長トランザクション)、もしくは送信元または送信先でEnd-of-Packet信号がアサートされる (可変長トランザクション) と終了します。DMAコントローラーが割り込み要求 (IRQ) を生成するようにCPUによってコンフィグレーションされている場合は、トランザクションの終了時にDMAコントローラーは割り込み要求 (IRQ) を生成します。
- トランザクション中またはトランザクション後に、CPUでは、トランザクションが進行中であるか終了しているか (およびどのように終了したか) を特定することができます。これには、DMAコントローラーのstatusレジスターを確認します。