Customizing the DMA Controller

The core has parameters so you can customize its function. You set the parameters in the General tab of the core's IP Configuration window.

Table 1. DMA Controller Core Parameters (General Tab)
Parameter Options Description
Memory Interface Type Disable, Enable Disable: Use AXI-4 full duplex memory interface. (Default)
Enable: Use AXI-3 half duplex memory interface.
Memory Interface External Width 32, 64, 128, 256, 512 Memory interface width that connects externally.
Default: 64
Buffer Bank Words 128, 256, 512, 1024, 2048, 4096 Buffer depth.
Default: 512
Buffer Bank Width 16, 32, 64, 128, 256 Buffer data width in bits.
Default: 32
Buffer Bank Count 1, 2 Buffer bank configuration.
Default: 1
Total Buffer Bank Width Indicates the internal bank total width.
Total Allocated memory (Byte) Indicates the total memory allocated for DMA.
Available Memory for Channel Buffer Allocation (Byte) Indicates the memory available for channel buffer allocation.
Memory Write Queue Enable, Disable Enable hardware queue to improve overall write throughput.
Default: Disable
Memory Read Queue Enable, Disable Enable hardware queue to improve overall read throughput.
Default: Disable
CSR Interface Clock Mode Enable, Disable Enabling asynchronous makes the APB3 signals and interrupt to be on a separate clock domain.
Default: Disable
Custom Descriptor List Interface Enable, Disable Enable the interface for custom descriptor list.
Default: Disable
Priority-Weighted Round Robin Scheduler Priority encoder is enabled by default.
Table 2. DMA Controller Core Parameters (Channel Tab)
Parameter Options Description
Channel n Enable Enable, Disable Instantiate channel on the DMA controller.
Default: Disable for all except Channel 0 and Channel 1
Channel n Asynchronous Clock Mode Enable, Disable Run channel with asynchronous clock.
Default: Enable on CH0 and CH1. Disable for others.
Channel n Scatter Gather Mode Enable, Disable Enable scatter-gather mode.
Default: Enable on CH0 and CH1. Disable for others.
Channel n Circular Buffer Mode Enable, Disable Enable circular buffer or self-restart mode.
Default: Disable
Channel Memory Transfer Mode Enable, Disable Enable data transfer mode without passing through the streaming interface.
Channel n Output Port Enable, Disable Enable AXI4-stream output interface.
Default: Enable for CH0. Disable for others.
Channel n Input Port Enable, Disable Enable AXI4-stream input interface.
Default: Enable for CH1. Disable for others.
Channel n Data width 8, 16, 32, 64, 128, 256, 512 AXI4-stream interface width.
Default: 32
Channel n Buffer Size 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 Set the buffer size for channel 0. Any other enabled channel follows channel 0 buffer size. See Buffer Size Settings for more information.
Default: 1024
Channel n Max Burst Size 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384 Maximum number of bytes within a burst transfer.
Default: 128