cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
482 Views
Registered: ‎07-23-2019

DMA vs VDMA?

Jump to solution

VDMA is "optimized for video transfer". Video is just framed data, isn't? and all data is susceptible of being framed, so what's special in VDMA without buzzwords like "optimized", "performance" or "quality"?

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Explorer
Explorer
462 Views
Registered: ‎10-05-2010

When I first looked at AXI IP, I read through the DMA and VDMA product guides. VDMA acts like a simplified scatter/gather DMA controller.  Because image capture and processing is such a common FPGA use, it seems natural that it would have its own DMA for simplified programming. I think that the VDMA's genlock feature might not be possible to replicate easily with the AXI DMA, if so, that would be a good reason to have a standalone VDMA.

For users that can't quite get their needed functionality from either the DMA or VDMA, the AXI Datamover is a nice IP. It's the AXI Stream to AXI4 transport that has a separate port for an address and control stream. On a recent project I needed to do an image transpose, so I used the Datamover to read the image based on an address generator I wrote in RTL. To the user, it programs like a VDMA. 

 

---

Joe Samson

 

View solution in original post

Tags (1)
3 Replies
Highlighted
Explorer
Explorer
463 Views
Registered: ‎10-05-2010

When I first looked at AXI IP, I read through the DMA and VDMA product guides. VDMA acts like a simplified scatter/gather DMA controller.  Because image capture and processing is such a common FPGA use, it seems natural that it would have its own DMA for simplified programming. I think that the VDMA's genlock feature might not be possible to replicate easily with the AXI DMA, if so, that would be a good reason to have a standalone VDMA.

For users that can't quite get their needed functionality from either the DMA or VDMA, the AXI Datamover is a nice IP. It's the AXI Stream to AXI4 transport that has a separate port for an address and control stream. On a recent project I needed to do an image transpose, so I used the Datamover to read the image based on an address generator I wrote in RTL. To the user, it programs like a VDMA. 

 

---

Joe Samson

 

View solution in original post

Tags (1)
Highlighted
451 Views
Registered: ‎07-23-2019

 

Me too read product guides. The problem is, being an engineer, I cannot go further when I found those marketing buzzwords like "efficient" (pg 5). That's not for a datasheet, that's for a commercial brochure. Yes, I can read both, compare and get these conclusions, but, is that the right thing? Doesn't it make more sense whenever a provider has a variety of solutions to have a quick comparison to let the user choose quickly?

Thank you very much for your concise words.

0 Kudos
Highlighted
Moderator
Moderator
432 Views
Registered: ‎11-09-2015

Hi @archangel-lightworks 


@archangel-lightworks wrote:

Yes, I can read both, compare and get these conclusions, but, is that the right thing? Doesn't it make more sense whenever a provider has a variety of solutions to have a quick comparison to let the user choose quickly?


[Florent] - Well...here the comparison is about the content you are trying to do. If it is Video Xilinx recommends the VDMA (or Video frame buffer). Not only it a simplified version of the AXI DMA for the Video use case but also it is video aware. This means that it will understand and generate the video signals tlast (end of line) and tuser (start of frame).

The video frame buffer is even better because it is aware of the actual video content (color space / bpc)


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos