Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

mutiple DMA instantiations

Altera_Forum
Honored Contributor II
1,082 Views

Hi, 

In my system I want to have DMA access between the following componenets 

1) SDRAM <-> Ethernet(LAN91C111) 

2) SDRAM <-> UART 

3) SDRAM <-> On-Chip Memory 

4) SDRAM <-> USB 

5) SDRAM <-> Flash 

6) SDRAM <-> Uart 

 

SDRAM, Ethernet, Uart, Onchip memory, Flash used in my project are SOPC builder ready modules. USB is user interface module. 

 

I have instantiated DMA module 6 times so that different DMA module is used between two peripherals. Please let me know whether my implementation is right? Or will this multiple instantiation of DMA causes some errors.What are the advantages and disadvantages of this kind of implementation.What is the best design practice?
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
232 Views

1) Will this cause problems --> no 

2) Does this have any advantages --> in your case no 

3) Best practices... see below 

 

Having multiple DMA engines in your design is beneficial if you expect to be able to run them in parallel. In your case you have everything transferring to/from SDRAM. Since that&#39;s a single Avalon-MM slave port, parallel accesses are not possible. 

 

Are you sure you don&#39;t want to use the DMA only between SDRAM and the onchip memory, Ethernet, and USB? Direct memory access engines typically have the most impact when connected to high throughput components (like the ones I just listed).
0 Kudos
Reply