エンベデッド・ペリフェラルIPユーザーガイド

ID 683130
日付 9/21/2020
Public
ドキュメント目次
1. 概要 2. Avalon® -ST Multi-Channel Shared Memory FIFOコア 3. Avalon® -STシングルクロックFIFOコアおよびデュアルクロックFIFOコア 4. Avalon® -STシリアル・ペリフェラル・インターフェイス・コア 5. SPIコア 6. SPI Slave to Avalon® Master Bridgeコア/JTAG to Avalon® Master Bridgeコア 7. インテル eSPIスレーブコア 8. eSPI to LPCブリッジコア 9. イーサネットMDIOコア 10. インテルFPGA 16550互換UARTコア 11. UARTコア 12. JTAG UARTコア 13. インテル FPGA Avalon® Mailboxコア 14. インテル FPGA Avalon® ミューテックス・コア 15. インテル FPGA Avalon® I2C (Master) コア 16. インテル FPGA I2C Slave to Avalon® -MM Master Bridgeコア 17. インテルFPGA Avalon® コンパクト・フラッシュ・コア 18. EPCS/EPCQAシリアル・フラッシュ・コントローラー・コア 19. インテルFPGAシリアル・フラッシュ・コントローラー・コア 20. インテルFPGAシリアル・フラッシュ・コントローラーIIコア 21. インテルFPGA汎用クアッドSPIコントローラー・コア 22. インテルFPGA汎用クアッドSPIコントローラーIIコア 23. インターバル・タイマー・コア 24. インテルFPGA Avalon FIFOメモリーコア 25. オンチップメモリー (RAMおよびROM) コア 26. Optrex 16207 LCDコントローラー・コア 27. PIOコア 28. PLLコア 29. DMAコントローラー・コア 30. Modular Scatter-Gather DMAコア 31. Scatter-Gather DMAコントローラー・コア 32. SDRAMコントローラー・コア 33. トライステートSDRAMコア 34. Video Sync GeneratorコアとPixel Converterコア 35. インテル FPGA Interrupt Latency Counterコア 36. パフォーマンス・カウンター・ユニット・コア 37. ベクトル割り込みコントローラー・コア 38. Avalon® -STデータ・パターン・ジェネレーター・コアとデータ・パターン・チェッカー・コア 39. Avalon® -STテスト・パターン・ジェネレーター・コアとテスト・パターン・チェッカー・コア 40. システムIDペリフェラル・コア 41. Avalon® Packets to Transactions Converterコア 42. Avalon® -STマルチプレクサー・コアとデマルチプレクサー・コア 43. Avalon® -ST Bytes to Packets ConverterコアとPackets to Bytes Converterコア 44. Avalon® -ST Delayコア 45. Avalon® -STラウンド・ロビン・スケジューラー・コア 46. Avalon® -ST Splitterコア 47. Avalon® -MM DDR Memory Half Rate Bridgeコア 48. インテル FPGA GMII to RGMIIコンバーター・コア 49. インテル FPGA MII to RMIIコンバーター・コア 50. インテルFPGA HPS GMII to TSE 1000BASE-X/SGMII PCSブリッジコア 51. インテル FPGA HPS EMAC to Multi-rate PHY GMIIアダプターコア 52. インテル FPGA MSI to GICジェネレーター・コア

29.2. 機能の説明

DMAコントローラーを使用し、送信元アドレス空間から送信先アドレス空間へのデータ転送を実行することができます。コントローラーにはエンディアンの概念がなく、ペイロードデータを解釈しません。エンディアンの概念は、ペイロードデータを解釈するマスターにのみ適用されます。

送信元と送信先は、 Avalon® -MMスレーブ・ペリフェラル (例: 定数のアドレス) またはメモリー内のアドレス範囲のいずれかになります。DMAコントローラーはフロー制御とともにペリフェラルと組み合わせて使用できるため、データのトランザクションを固定長または可変長にすることが可能です。DMAコントローラーでは、DMAトランザクションが完了すると割り込み要求 (IRQ) を通知することができます。トランザクションは、DMAコントローラー・コアによって開始される1つもしくは複数の Avalon® 転送のシーケンスです。

下図に示されているように、DMAコントローラーには2つの Avalon® -MMマスターポート (マスター読み出しポートとマスター書き込みポート) があります。また、1つの Avalon® -MMスレーブポートでDMAを制御しています。

図 83. DMAコントローラーのブロック図

標準的なDMAトランザクションは次のように進行します。

  1. CPUは、制御ポートに書き込むことにより、DMAコントローラーをトランザクションに対して準備します。
  2. CPUはDMAコントローラーを有効にします。DMAコントローラーはその後、CPUからの追加介入なしにデータの転送を開始します。DMAのマスター読み出しポートでは、読み出しアドレス (メモリーまたはペリフェラル) からデータを読み出します。マスター書き込みポートでは、データを送信先のアドレスに書き込みます。送信先のアドレスもまた、メモリーまたはペリフェラルにすることができます。浅いFIFOにより、読み出しポートと書き込みポートの間でデータをバッファーします。
  3. DMAトランザクションは、指定されているバイト数が転送される (固定長トランザクション)、もしくは送信元または送信先でEnd-of-Packet信号がアサートされる (可変長トランザクション) と終了します。DMAコントローラーが割り込み要求 (IRQ) を生成するようにCPUによってコンフィグレーションされている場合は、トランザクションの終了時にDMAコントローラーは割り込み要求 (IRQ) を生成します。
  4. トランザクション中またはトランザクション後に、CPUでは、トランザクションが進行中であるか終了しているか (およびどのように終了したか) を特定することができます。これには、DMAコントローラーのstatusレジスターを確認します。