- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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, -QuanLink Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page