エンベデッド・ペリフェラル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.7.6. alt_avalon_sgdma_construct_stream_to_mem_desc()

プロトタイプ void alt_avalon_sgdma_construct_stream_to_mem_desc(alt_sgdma_descriptor *desc, alt_sgdma_descriptor *next, alt_u32 *write_addr, alt_u16 length_or_eop, int write_fixed)
スレッドセーフ はい
ISRから利用可能 はい
インクルード <altera_avalon_sgdma.h>、<altera_avalon_sgdma_descriptor.h><altera_avalon_sgdma_regs.h>
パラメーター *desc — 構築されている記述子へのポインター。

*next — 「next」記述子へのポインター。これは、完全な、または機能的な記述子である必要はありませんが、適切に割り当てられている必要があります。

*write_addr — SG-DMA転送の最初の書き込みアドレス。

length_or_eop — 転送のバイト数。0 (0x0) に設定されている場合、転送はEOP信号を Avalon® -STインターフェイスから受信するまで続きます。

write_fixed — 0以外の場合、SG-DMAは固定のアドレスに書き込みます。

戻り値 void
説明 この関数は、 Avalon® -ST to Avalon® -MM転送に向けた単一のSG-DMA記述子をalt_avalon_sgdma_descriptor *descで指定されているメモリーに構築します。転送のソース (読み出し) データは、SG-DMAコントローラーのストリーミング読み出しポートに接続されている Avalon® -STインターフェイスから送信されます。

この関数は、記述子のコントロール・フィールドでOWNED_BY_HWビットを設定し、完成した記述子を実行可能としてマークします。記述子は、SG-DMAコントローラーで記述子が受信され、RUNビットが1になると処理されます。

構築中の記述子のnextフィールドは、*nextのアドレスに設定されます。*nextの記述子のOWNED_BY_HWビットは明示的にクリアされます。SG-DMAは*descの処理を完了すると、OWNED_BY_HWビットが設定されるまで、*nextの記述子を処理しません。記述子チェーンを作成するには、*descパラメーターで前の呼び出しの*nextポインターを使用し、この関数を繰り返し呼び出すことができます。

構築中の記述子およびチェーン内の次の記述子の作成には、メモリーを適切に割り当てる必要があります。

記述子は、SG-DMAコントローラーのチェーン読み出しおよびチェーン書き込みの Avalon® マスターポートがマスターとなるメモリーデバイス内にある必要があります。*descと*nextがどちらも、コントローラーがマスターとなるメモリー領域を指していることに注意する必要があります。