UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
5,901 Views
Registered: ‎09-08-2014

AXI VDMA

I have incorporated the VDMA into my Vivado 2013.3 design. I have validated it, generated the Bitstream & exported to the SDK.   It doesn't work so I've enabled the debug. I get the following:

 

AXI_VDMA - Partial Register Dump (uBaseAddr = 0x43000000):
PARKPTR = 0x00000000
----------------
S2MM_DMACR = 0x000101CA
S2MM_DMASR = 0x00004141
S2MM_STRD_FRMDLY = 0x00001E00
S2MM_START_ADDR0 = 0x10000000
S2MM_START_ADDR1 = 0x107E9000
S2MM_START_ADDR2 = 0x10FD2000
S2MM_HSIZE = 0x00001E00
S2MM_VSIZE = 0x00000438
----------------
MM2S_DMACR = 0x00010002
MM2S_DMASR = 0x00004041
MM2S_STRD_FRMDLY = 0x00001E00
MM2S_START_ADDR0 = 0x10000000
MM2S_START_ADDR1 = 0x107E9000
MM2S_START_ADDR2 = 0x10FD2000
MM2S_HSIZE = 0x00001E00
MM2S_VSIZE = 0x00000438
----------------
S2MM_HSIZE_STATUS= 0x00000000
S2MM_VSIZE_STATUS= 0x00000000
----------------
AXI_VDMA - Checking Error Flags
S2MM_DMASR - ErrIrq
S2MM_DMASR - EOLEarlyErr
S2MM_DMASR - DMADecErr
MM2S_DMASR - ErrIrq
MM2S_DMASR - DMADecErr
AXI_VDMA - Clearing Error Flags
AXI_VDMA - Partial Register Dump (uBaseAddr = 0x43000000):
PARKPTR = 0x00000000
----------------
S2MM_DMACR = 0x000101CA
S2MM_DMASR = 0x00000041
S2MM_STRD_FRMDLY = 0x00001E00
S2MM_START_ADDR0 = 0x10000000
S2MM_START_ADDR1 = 0x107E9000
S2MM_START_ADDR2 = 0x10FD2000
S2MM_HSIZE = 0x00001E00
S2MM_VSIZE = 0x00000438
----------------
MM2S_DMACR = 0x00010002
MM2S_DMASR = 0x00000041
MM2S_STRD_FRMDLY = 0x00001E00
MM2S_START_ADDR0 = 0x10000000
MM2S_START_ADDR1 = 0x107E9000
MM2S_START_ADDR2 = 0x10FD2000
MM2S_HSIZE = 0x00001E00
MM2S_VSIZE = 0x00000438
----------------
S2MM_HSIZE_STATUS= 0x00000000
S2MM_VSIZE_STATUS= 0x00000000
----------------

 

I have analysed all these registers & settings and I can see I'm getting all sort of errors. The difficulty I'm having is knowing how to fix them. Its interseting that the debug clears the errors and reruns it. When it reruns, the status reporrts that the S2MM and MM2S have both halted. Both of them are reporting a VDMA Decode error. This occurs if the address request is not a valid address. What does this mean and how can I fix it?

0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
5,888 Views
Registered: ‎08-02-2011

Re: AXI VDMA

EOLEarlyErr means your incoming line was smaller than what you programmed into hsize/stride.

I see you set HSIZE = 0x1E00 which is 7680. This seems to be 4 bytes per pixel at 1920.

Is this correct?
www.xilinx.com
0 Kudos
Explorer
Explorer
5,872 Views
Registered: ‎09-08-2014

Re: AXI VDMA

Yes, I'm using 1080p ie 1920x1080. 

0 Kudos
Xilinx Employee
Xilinx Employee
5,859 Views
Registered: ‎08-02-2011

Re: AXI VDMA

Right, but 4 bytes per pixel is a little odd. Are you using 10-bit per component or RGBA? What is your tdata width?

www.xilinx.com
0 Kudos