エンベデッド・ペリフェラル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ジェネレーター・コア

31.3.1. 機能ブロックとコンフィグレーション

以降のセクションでは、各機能ブロックとコンフィグレーションについて説明します。

記述子プロセッサー

記述子プロセッサーは、 Avalon® Memory-Mapped (MM) 読み出しマスターポートを介して記述子リストから記述子を読み出し、DMA読み出しブロックおよびDMA書き込みブロックのコマンドFIFOにコマンドをプッシュします。各コマンドには次のフィールドが含まれ、転送を指定します。

  • 送信元アドレス
  • 送信先アドレス
  • 転送するバイト数
  • それぞれの転送後の読み出しアドレスのインクリメント
  • それぞれの転送後の書き込みアドレスのインクリメント
  • Start of Packet (SOP) およびEnd of Packet (EOP) の生成

    DMA読み出しブロックまたは書き込みブロックで各コマンドが処理されると、転送の情報 (実際に書き込まれたバイト数など) を含むステータストークンが記述子プロセッサーに返され、記述子の各フィールドに書き込まれます。

DMA読み出しブロック

DMA読み出しブロックは、Memory-to-MemoryおよびMemory-to-Streamのコンフィグレーションで使用されます。このブロックは、次の操作を実行します。

  • 入力コマンドFIFOからコマンドを読み出します。
  • それぞれのコマンドに対して、 Avalon® -MM読み出しマスターポートを介してメモリーブロックを読み出します。
  • データをデータFIFOにプッシュします。

    バースト転送が有効になっている場合は、最大読み出しバーストサイズの2倍の深さを備える内部読み出しFIFOがインスタンス化されます。DMA読み出しブロックは、読み出しFIFOに完全なバーストをバッファーする十分なスペースがある場合にのみバースト読み出しを開始します。

DMA書き込みブロック

DMA書き込みブロックは、Memory-to-MemoryおよびStream-to-Memoryのコンフィグレーションで使用されます。ブロックは、入力コマンドFIFOからコマンドを読み出します。それぞれのコマンドに対して、DMA書き込みブロックは Avalon® -STシンクポートからデータを読み出し、それを Avalon® -MMマスターポートに書き込みます。

バースト転送が有効になっている場合は、最大書き込みバーストサイズの2倍の深さを備える内部書き込みFIFOがインスタンス化されます。各バースト書き込みでは、最後のバーストを除いて、書き込みバーストサイズに等しい固定量のデータが転送されます。最後のバーストでは、データ量が書き込みバーストサイズに満たない場合でも、残りのデータが転送されます。

Memory-to-Memoryのコンフィグレーション

Memory-to-Memoryのコンフィグレーションには、記述子プロセッサー、DMA読み出し、DMA書き込みの3つのブロックがすべて含まれます。内部FIFOも含まれているため、DMA読み出しブロックと書き込みブロックの間で転送されるデータのバッファーとフロー制御が提供されます。

次の図は、内部 Nios® IIプロセッサーと記述子リストを備えるMemory-to-Memoryコンフィグレーションの1例を示しています。

図 93. Memory-to-Memoryのコンフィグレーション例

Memory-to-Streamのコンフィグレーション

Memory-to-Streamのコンフィグレーションには、記述子プロセッサー・ブロックとDMA読み出しブロックが含まれます。

この例では、 Nios® IIプロセッサーと記述子テーブルはFPGAにあります。外部DDR2 SDRAMからのデータはSG-DMAコントローラーによって読み出され、オンチップ・ストリーミング・ペリフェラルに書き込まれます。

図 94. Memory-to-Streamのコンフィグレーション例

Stream-to-Memoryのコンフィグレーション

Stream-to-Memoryのコンフィグレーションには、記述子プロセッサー・ブロックとDMA書き込みブロックが含まれます。次の図で表されているとおり、このコンフィグレーションはMemory-to-Streamのコンフィグレーションに類似しています。

図 95. Stream-to-Memoryのコンフィグレーション例