DMA Controller Example Design
You can choose to generate the example design when generating the core in the IP Manager Configuration window. Compile the example design project and download the .hex or .bit file to your board.
Note: The Efinity IP Manager will prompt a message
asking you to update the Sapphire SoC. For this example design, do not update the
Sapphire SoC.
Important: Efinix tested the example
design generated with the default parameter options only.
The example design settings are as shown in the following table.
| IP Manager Parameter | Setting |
|---|---|
| Memory Interface Type | Disable |
| Memory Interface External Width | 64 |
| Buffer Bank Words | 1024 |
| Buffer Bank Width | 32 |
| Buffer Bank Count | 1 |
| Memory Write Queue | Disable |
| Memory Read Queue | Disable |
| CSR Interface Clock Mode | Enable |
| Custom Descriptor List Mode | Enable |
| Priority-Weighted Round Robin Scheduler | – |
| Channel 0 and 1 Enable | Enable |
| Channel 0 and 1 Asynchronous Clock Mode | Enable |
| Channel 0 and 1 SG Mode | Enable |
| Channel 0 and 1 Circular Buffer Mode | Enable |
| Channel 0 and 1 Channel Memory Transfer Mode | Enable |
| Channel 0 and 1 Output Port | Channel 0: Enable Channel 1: Disable |
| Channel 0 and 1 Input Port | Channel 0: Disable Channel 1: Enable |
| Channel 0 and 1 Data width | 32 |
| Channel 0 and 1 Buffer Size | 1024 |
| Channel 0 and 1 Max Burst Size | 128 |
| Channel 2 and 3 Enable | Enable |
| Channel 2 and 3 Asynchronous Clock Mode | Enable |
| Channel 2 and 3 SG Mode | Disable |
| Channel 2 and 3 Circular Buffer Mode | Enable |
| Channel 2 and 3 Channel Memory Transfer Mode | Disable |
| Channel 2 and 3 Output Port | Channel 2: Enable Channel 3: Disable |
| Channel 2 and 3 Input Port | Channel 2: Disable Channel 3: Enable |
| Channel 2 and 3 Data width | 8 |
| Channel 2 and 3 Buffer Size | 1024 |
| Channel 2 and 3 Max Burst Size | 512 |
The example designs the target the Trion® T120 BGA576 Development Board. The example design consists of a RISC-V SoC and the DMA Controller core. The instantiated DMA Controller core has four channels, channel 0 and channel 2 with AXI4-stream output port and channel 1 with AXI4-stream input port. Each port is connected with a loopback tester which is a FIFO buffer, to fetch the data from the output of channel 0/2 to the input of channel 1/3.
| FPGA | Logic Elements (Logic, Adders, Flipflops, etc.) | Memory Blocks | DSP Block | fMAX (MHz)1 | Efinity® Version2 | |
|---|---|---|---|---|---|---|
| System Clock | DMA Clock | |||||
| T120 F576 C4 | 23,477/112,128 (21%) | 99/1056 (9%) | 8/320 (3%) | 86 | 71 | 2024.2 |
1 Using
default parameter settings.
2 Using
Verilog HDL.