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++

DMA transferring question

Altera_Forum
Honored Contributor II
1,002 Views

Hello again, 

I have a question about the dma engine that came with the older Nios I.  

My dma transfer now needs to be able to read some data, then skip x amount of bytes and then start reading again and repeating this until the end. I don't remember what this technique was called as I have not used it much. Does anyone know how to make the nios I dma to perform this?  

My only other alternative right now is to manually alter the data prior to the dma transfers. This would seem like an easy task for a dma engine to perform, but I am not sure. any ideas? 

 

thanx, 

-Quan
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
306 Views

Quan, 

 

I'm sorry to say that the feature you require is not implemented in the DMA controller. 

 

It is possible to simulate the behavior you desire by using two DMA controllers: one to read from a memory containing transaction-records (just the complete set of register values needed for a transfer) and to write to the control port of the other DMA, which then does the requested transfer. This relies on some undocumented test features of the DMA controller. The technique may require too many hardware resources to be useful in your application. If you're interested in knowing more, let me know. 

 

-Aaron
0 Kudos
Altera_Forum
Honored Contributor II
306 Views

Hi Aaron, 

Thank you for your reply. I still would like to learn more about this undocumented technique, though i doubt I will use it in my design.  

Also I started to go through the verilog code for the dma module that sopc builder generates and it looks like I should be able to alter the "readaddress_inc" variable to whatever desired byte jumps I need for the next set of data read. I have not tried it yet, but it looks like it should be okay for this test. 

 

-Quan
0 Kudos
Reply